[PATCH v3 0/6] generalize fpga_mgr_load

From: trix
Date: Mon May 24 2021 - 12:29:24 EST


From: Tom Rix <trix@xxxxxxxxxx>

A refactor of the fpga-manager to make space for the
functionality of the secure update in this thread.
https://lore.kernel.org/linux-fpga/20210517023200.52707-1-mdf@xxxxxxxxxx/T/#mf3a1951d429a973c863eee079ed990c55056827c

Splits the reconfig write ops into its own ops structure and
then has an instance for the existing loading (reconfig) and the
secure update (reimage)

fpga_mgr_load uses a new bit, FPGA_MGR_REIMAGE, in fpga_info_info
to use either the reconfig or the reimage ops.

valid write op checking has moved to make the reimage path option.

Since fpga_image_info_alloc zalloc's the fpga_info_struct, the
reimage path will not be taken.

Stub in remimage support for dfl

Changes since v1:
- update op names changed from
partial_update to reconfig
full_update to reimage
- dropped the cancel() and get_error() ops.
- add FPGA_MGR_REIMAGE bit
- refactor fpga_mgr_load to use either update ops

Changes since v2:
- Fix a missed write op change
- Stub in dfl reimage

Tom Rix (6):
fpga: generalize updating the card
fpga: add FPGA_MGR_REIMAGE flag
fpga: pass fpga_manager_update_ops to the fpga_manager_write functions
fpga: defer checking for update ops until they are used
fpga: use reimage ops in fpga_mgr_load()
fpga: dfl: stub in reimaging

drivers/fpga/altera-cvp.c | 8 ++--
drivers/fpga/altera-pr-ip-core.c | 8 ++--
drivers/fpga/altera-ps-spi.c | 8 ++--
drivers/fpga/dfl-fme-mgr.c | 38 ++++++++++++++---
drivers/fpga/dfl-fme-pr.c | 40 +++++++++++-------
drivers/fpga/fpga-mgr.c | 72 ++++++++++++++++++++------------
drivers/fpga/ice40-spi.c | 8 ++--
drivers/fpga/machxo2-spi.c | 8 ++--
drivers/fpga/socfpga-a10.c | 10 ++---
drivers/fpga/socfpga.c | 8 ++--
drivers/fpga/stratix10-soc.c | 8 ++--
drivers/fpga/ts73xx-fpga.c | 8 ++--
drivers/fpga/xilinx-spi.c | 8 ++--
drivers/fpga/zynq-fpga.c | 10 ++---
drivers/fpga/zynqmp-fpga.c | 8 ++--
include/linux/fpga/fpga-mgr.h | 35 +++++++++++-----
include/uapi/linux/fpga-dfl.h | 18 ++++++--
17 files changed, 192 insertions(+), 111 deletions(-)

--
2.26.3