| From 86c687d1379955d95f762b643ae5b23648e4b5b3 Mon Sep 17 00:00:00 2001 |
| From: Wu Hao <hao.wu@intel.com> |
| Date: Sat, 30 Jun 2018 08:53:11 +0800 |
| Subject: [PATCH 1705/1795] fpga: mgr: add compat_id support |
| |
| This patch introduces compat_id support to fpga manager, it adds |
| a fpga_compat_id pointer to fpga manager data structure to allow |
| fpga manager drivers to save the compatibility id. This compat_id |
| could be used for compatibility checking before doing partial |
| reconfiguration to associated fpga regions. |
| |
| Signed-off-by: Wu Hao <hao.wu@intel.com> |
| Acked-by: Alan Tull <atull@kernel.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| (cherry picked from commit 99a560bde313892f87ca81db568a829d3d205882) |
| Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> |
| --- |
| include/linux/fpga/fpga-mgr.h | 13 +++++++++++++ |
| 1 file changed, 13 insertions(+) |
| |
| diff --git a/include/linux/fpga/fpga-mgr.h b/include/linux/fpga/fpga-mgr.h |
| index e249b7250345..8942e61f0028 100644 |
| --- a/include/linux/fpga/fpga-mgr.h |
| +++ b/include/linux/fpga/fpga-mgr.h |
| @@ -135,12 +135,24 @@ struct fpga_manager_ops { |
| #define FPGA_MGR_STATUS_IP_PROTOCOL_ERR BIT(3) |
| #define FPGA_MGR_STATUS_FIFO_OVERFLOW_ERR BIT(4) |
| |
| +/** |
| + * struct fpga_compat_id - id for compatibility check |
| + * |
| + * @id_h: high 64bit of the compat_id |
| + * @id_l: low 64bit of the compat_id |
| + */ |
| +struct fpga_compat_id { |
| + u64 id_h; |
| + u64 id_l; |
| +}; |
| + |
| /** |
| * struct fpga_manager - fpga manager structure |
| * @name: name of low level fpga manager |
| * @dev: fpga manager device |
| * @ref_mutex: only allows one reference to fpga manager |
| * @state: state of fpga manager |
| + * @compat_id: FPGA manager id for compatibility check. |
| * @mops: pointer to struct of fpga manager ops |
| * @priv: low level driver private date |
| */ |
| @@ -149,6 +161,7 @@ struct fpga_manager { |
| struct device dev; |
| struct mutex ref_mutex; |
| enum fpga_mgr_states state; |
| + struct fpga_compat_id *compat_id; |
| const struct fpga_manager_ops *mops; |
| void *priv; |
| }; |
| -- |
| 2.19.0 |
| |