[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <f80e3d42-31dc-d9eb-90ec-8e740e2e4237@silicom.dk>
Date: Mon, 28 Jun 2021 09:42:30 +0200
From: Martin Hundebøll <mhu@...icom.dk>
To: trix@...hat.com, mdf@...nel.org, hao.wu@...el.com,
michal.simek@...inx.com
Cc: linux-fpga@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org
Subject: Re: [PATCH v5 3/4] fpga: pass fpga_manager_update_ops to the
fpga_manager_write functions
On 25/06/2021 21.58, trix@...hat.com wrote:
> From: Tom Rix <trix@...hat.com>
>
> Refactor fpga_manager_write* functions for reimaging, pass
> the update_ops as a parameter. Continue the passing of the update_ops
> to the write wrapper functions. Only do the reconfig ops.
>
> Signed-off-by: Tom Rix <trix@...hat.com>
> ---
> drivers/fpga/fpga-mgr.c | 90 ++++++++++++++++++++++++-----------------
> 1 file changed, 53 insertions(+), 37 deletions(-)
>
> diff --git a/drivers/fpga/fpga-mgr.c b/drivers/fpga/fpga-mgr.c
> index 31c51d7e07cc8..c8a6bfa037933 100644
> --- a/drivers/fpga/fpga-mgr.c
> +++ b/drivers/fpga/fpga-mgr.c
> @@ -45,10 +45,12 @@ static inline u64 fpga_mgr_status(struct fpga_manager *mgr)
> return 0;
> }
>
> -static inline int fpga_mgr_write(struct fpga_manager *mgr, const char *buf, size_t count)
> +static inline int fpga_mgr_write(struct fpga_manager *mgr,
> + const char *buf, size_t count,
> + const struct fpga_manager_update_ops *uops)
> {
> if (mgr->mops->reconfig.write)
Shouldn't this check be
if (uops->write)
return ...
?
> - return mgr->mops->reconfig.write(mgr, buf, count);
> + return uops->write(mgr, buf, count);
> return -EOPNOTSUPP;
> }
>
<snip>
> @@ -208,6 +215,7 @@ static int fpga_mgr_write_init_sg(struct fpga_manager *mgr,
> * @mgr: fpga manager
> * @info: fpga image specific information
> * @sgt: scatterlist table
> + * @uops: which update ops to use
Tabs vs. spaces.
> *
> * Step the low level fpga manager through the device-specific steps of getting
> * an FPGA ready to be configured, writing the image to it, then doing whatever
<snip>
> @@ -285,6 +295,7 @@ static int fpga_mgr_buf_load_mapped(struct fpga_manager *mgr,
> * @info: fpga image info
> * @buf: buffer contain fpga image
> * @count: byte count of buf
> + * @uops: which update ops to use
Tabs vs. spaces.
> *
> * Step the low level fpga manager through the device-specific steps of getting
> * an FPGA ready to be configured, writing the image to it, then doing whatever
<snip>
> @@ -356,6 +368,7 @@ static int fpga_mgr_buf_load(struct fpga_manager *mgr,
> * @mgr: fpga manager
> * @info: fpga image specific information
> * @image_name: name of image file on the firmware search path
> + * @uops: which update ops to use
Tabs vs. spaces.
> *
> * Request an FPGA image using the firmware class, then write out to the FPGA.
> * Update the state before each step to provide info on what step failed if
// Martin
Powered by blists - more mailing lists