| From 3871c39c6683965dbafdedc7b9f9b558cf620f0f Mon Sep 17 00:00:00 2001 |
| From: Alan Tull <atull@opensource.altera.com> |
| Date: Thu, 23 Mar 2017 19:34:27 -0500 |
| Subject: [PATCH 061/103] 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> |
| --- |
| drivers/fpga/fpga-region.c | 3 +++ |
| include/linux/fpga/fpga-mgr.h | 3 +++ |
| 2 files changed, 6 insertions(+) |
| |
| --- a/drivers/fpga/fpga-region.c |
| +++ b/drivers/fpga/fpga-region.c |
| @@ -385,6 +385,9 @@ static int fpga_region_notify_pre_apply( |
| of_property_read_u32(nd->overlay, "region-freeze-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 ((info->flags & FPGA_MGR_EXTERNAL_CONFIG) && firmware_name) { |
| pr_err("error: specified firmware and external-fpga-config"); |
| --- a/include/linux/fpga/fpga-mgr.h |
| +++ b/include/linux/fpga/fpga-mgr.h |
| @@ -77,11 +77,14 @@ enum fpga_mgr_states { |
| * @flags: boolean flags as defined above |
| * @enable_timeout_us: maximum time to enable 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 { |
| u32 flags; |
| u32 enable_timeout_us; |
| u32 disable_timeout_us; |
| + u32 config_complete_timeout_us; |
| }; |
| |
| /** |