fpga: add config complete timeout

Adding timeout for maximum allowed time for FPGA to go to
operating mode after a FPGA region has been programmed.

Signed-off-by: Alan Tull <atull@opensource.altera.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Alan Tull 2017-03-23 19:34:27 -05:00 коммит произвёл Greg Kroah-Hartman
Родитель 061c97d13f
Коммит 42d5ec9547
2 изменённых файлов: 6 добавлений и 0 удалений

Просмотреть файл

@ -385,6 +385,9 @@ static int fpga_region_notify_pre_apply(struct fpga_region *region,
of_property_read_u32(nd->overlay, "region-freeze-timeout-us", of_property_read_u32(nd->overlay, "region-freeze-timeout-us",
&info->disable_timeout_us); &info->disable_timeout_us);
of_property_read_u32(nd->overlay, "config-complete-timeout-us",
&info->config_complete_timeout_us);
/* If FPGA was externally programmed, don't specify firmware */ /* If FPGA was externally programmed, don't specify firmware */
if ((info->flags & FPGA_MGR_EXTERNAL_CONFIG) && firmware_name) { if ((info->flags & FPGA_MGR_EXTERNAL_CONFIG) && firmware_name) {
pr_err("error: specified firmware and external-fpga-config"); pr_err("error: specified firmware and external-fpga-config");

Просмотреть файл

@ -77,11 +77,14 @@ enum fpga_mgr_states {
* @flags: boolean flags as defined above * @flags: boolean flags as defined above
* @enable_timeout_us: maximum time to enable traffic through bridge (uSec) * @enable_timeout_us: maximum time to enable traffic through bridge (uSec)
* @disable_timeout_us: maximum time to disable traffic through bridge (uSec) * @disable_timeout_us: maximum time to disable traffic through bridge (uSec)
* @config_complete_timeout_us: maximum time for FPGA to switch to operating
* status in the write_complete op.
*/ */
struct fpga_image_info { struct fpga_image_info {
u32 flags; u32 flags;
u32 enable_timeout_us; u32 enable_timeout_us;
u32 disable_timeout_us; u32 disable_timeout_us;
u32 config_complete_timeout_us;
}; };
/** /**