mbox series

[v5,0/4] generalize fpga_mgr_load

Message ID 20210625195849.837976-1-trix@redhat.com (mailing list archive)
Headers show
Series generalize fpga_mgr_load | expand

Message

Tom Rix June 25, 2021, 7:58 p.m. UTC
From: Tom Rix <trix@redhat.com>

Depends on
https://lore.kernel.org/linux-fpga/20210625195148.837230-9-trix@redhat.com/

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@kernel.org/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.

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

Changes since v3
- refactor for wrapper ops patchset
- drop 0004 fpga: defer checking.., wrapper ops took care of that
- drop 0006 fpga: dfl stub in..., simplify the patchset
- add a wrapper for write_sg
- rearrange the passing of update ops to be last.
- simplify some wrapper checks, this should go in the wrapper ps.

Changes since v4
- refactor for wrapper ops patchset
- drop write_sg wrapper
- drop 'fpga: fpga-mgr: simplify mops check in wrappers'


Tom Rix (4):
  fpga: generalize updating the card
  fpga: add FPGA_MGR_REIMAGE flag
  fpga: pass fpga_manager_update_ops to the fpga_manager_write functions
  fpga: use reimage ops in fpga_mgr_load()

 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       |  8 +--
 drivers/fpga/fpga-mgr.c          | 95 +++++++++++++++++++-------------
 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     |  6 +-
 drivers/fpga/ts73xx-fpga.c       |  6 +-
 drivers/fpga/xilinx-spi.c        |  8 +--
 drivers/fpga/zynq-fpga.c         | 10 ++--
 drivers/fpga/zynqmp-fpga.c       |  6 +-
 include/linux/fpga/fpga-mgr.h    | 35 ++++++++----
 15 files changed, 132 insertions(+), 100 deletions(-)