mbox series

[v3,00/41] cxlflash: OCXL transport support and miscellaneous fixes

Message ID 1522081759-57431-1-git-send-email-ukrishn@linux.vnet.ibm.com (mailing list archive)
Headers show
Series cxlflash: OCXL transport support and miscellaneous fixes | expand

Message

Uma Krishnan March 26, 2018, 4:29 p.m. UTC
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.

v3 Changes:
- Addressed comments by Frederic Barrat
- Resolved IDR initialization bug
- Properly identify functions that do not have an AFU defined
- Added 3 new patches to the end of the series which resolve corner cases

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 (40):
  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
  cxlflash: Synchronize reset and remove ops
  cxlflash: Remove commmands from pending list on timeout
  cxlflash: Handle spurious interrupts

 drivers/scsi/cxlflash/Kconfig     |    2 +-
 drivers/scsi/cxlflash/Makefile    |    2 +-
 drivers/scsi/cxlflash/backend.h   |   50 +-
 drivers/scsi/cxlflash/common.h    |   11 +-
 drivers/scsi/cxlflash/cxl_hw.c    |   13 +
 drivers/scsi/cxlflash/main.c      |   86 ++-
 drivers/scsi/cxlflash/main.h      |    1 +
 drivers/scsi/cxlflash/ocxl_hw.c   | 1436 +++++++++++++++++++++++++++++++++++++
 drivers/scsi/cxlflash/ocxl_hw.h   |   77 ++
 drivers/scsi/cxlflash/sislite.h   |   41 +-
 drivers/scsi/cxlflash/superpipe.c |   14 +
 11 files changed, 1682 insertions(+), 51 deletions(-)
 create mode 100644 drivers/scsi/cxlflash/ocxl_hw.c
 create mode 100644 drivers/scsi/cxlflash/ocxl_hw.h

Comments

Martin K. Petersen March 28, 2018, 9:34 p.m. UTC | #1
Uma,

> 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.

Something this big really needs to be submitted around rc2/rc3. It's way
too late in the cycle to ensure proper zeroday coverage for all these
commits.

I have started a 4.18/scsi-queue branch to hold this series for now.
The 4.18 branch will be rebased once 4.17rc1 is out in a few weeks. Your
changes won't show up in for-next until then either.

Thanks!
Uma Krishnan March 29, 2018, 6:35 p.m. UTC | #2
> On Mar 28, 2018, at 4:34 PM, Martin K. Petersen <martin.petersen@oracle.com> wrote:
> 
> 
> Uma,
> 
>> 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.
> 
> Something this big really needs to be submitted around rc2/rc3. It's way
> too late in the cycle to ensure proper zeroday coverage for all these
> commits.
> 
> I have started a 4.18/scsi-queue branch to hold this series for now.
> The 4.18 branch will be rebased once 4.17rc1 is out in a few weeks. Your
> changes won't show up in for-next until then either.

I did send the first version of this series just after 4.16rc2 but the reviews took a while and the V3 is cutting close unless we do have an rc8 for 4.16 :)

I understand what you are saying and agree with you. Thanks for keeping me posted.