[PATCH v2 00/38] cxlflash: OCXL transport support

Uma Krishnan
2018-02-26T22:18:33Z

This patch series adds OCXL support to the cxlflash driver. With this
support, new devices using the OCXL transport will be supported by the
cxlflash driver along with the existing CXL devices. An effort is made
to keep this transport specific function independent of the existing
core driver that communicates with the AFU.

The first three patches contain a minor fix and staging improvements.

This series is intended for 4.17 and is bisectable.

v2 Changes:
- Replaced OpenCXL with OCXL in the commit messages and comments

Matthew R. Ochs (1):
cxlflash: Avoid clobbering context control register value

Uma Krishnan (37):
cxlflash: Preserve number of interrupts for master contexts
cxlflash: Add argument identifier names
cxlflash: Introduce OCXL backend
cxlflash: Hardware AFU for OCXL
cxlflash: Read host function configuration
cxlflash: Setup function acTag range
cxlflash: Read host AFU configuration
cxlflash: Setup AFU acTag range
cxlflash: Setup AFU PASID
cxlflash: Adapter context support for OCXL
cxlflash: Use IDR to manage adapter contexts
cxlflash: Support adapter file descriptors for OCXL
cxlflash: Support adapter context discovery
cxlflash: Support image reload policy modification
cxlflash: MMIO map the AFU
cxlflash: Support starting an adapter context
cxlflash: Support process specific mappings
cxlflash: Support AFU state toggling
cxlflash: Support reading adapter VPD data
cxlflash: Setup function OCXL link
cxlflash: Setup OCXL transaction layer
cxlflash: Support process element lifecycle
cxlflash: Support AFU interrupt management
cxlflash: Support AFU interrupt mapping and registration
cxlflash: Support starting user contexts
cxlflash: Support adapter context polling
cxlflash: Support adapter context reading
cxlflash: Support adapter context mmap and release
cxlflash: Support file descriptor mapping
cxlflash: Introduce object handle fop
cxlflash: Setup LISNs for user contexts
cxlflash: Setup LISNs for master contexts
cxlflash: Update synchronous interrupt status bits
cxlflash: Introduce OCXL context state machine
cxlflash: Register for translation errors
cxlflash: Support AFU reset
cxlflash: Enable OCXL operations

drivers/scsi/cxlflash/Kconfig | 2 +-
drivers/scsi/cxlflash/Makefile | 2 +-
drivers/scsi/cxlflash/backend.h | 50 +-
drivers/scsi/cxlflash/common.h | 10 +-
drivers/scsi/cxlflash/cxl_hw.c | 13 +
drivers/scsi/cxlflash/main.c | 55 +-
drivers/scsi/cxlflash/main.h | 1 +
drivers/scsi/cxlflash/ocxl_hw.c | 1428 +++++++++++++++++++++++++++++++++++++
drivers/scsi/cxlflash/ocxl_hw.h | 76 ++
drivers/scsi/cxlflash/sislite.h | 41 +-
drivers/scsi/cxlflash/superpipe.c | 14 +
11 files changed, 1644 insertions(+), 48 deletions(-)
create mode 100644 drivers/scsi/cxlflash/ocxl_hw.c
create mode 100644 drivers/scsi/cxlflash/ocxl_hw.h

--
2.1.0