[PATCH v6] IBM CXL Flash Adapter

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This patch adds support for the IBM CXL flash (cxlflash) adapter. The device
is presented to the system as a SCSI adapter and may be accessed and used via
the normal filesystem paths.

Note that the patch is dependent on support that has not yet been merged in
with the mainline. The core cxl changes needed for this are in mpe's powerpc
next branch queued up for 4.2. They are in linux next-20150605. To compile
this you'll need to pull in mpe's powerpc tree from:

git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux.git next

v6 Changes:
- Incorporate review comments from Brian King
- Add udelay back in while trying to obtain room to send command
- Add an event to workq to MMIO read and atomically update AFU command room
- Post an event to workq when unable to obtain room and returning host busy

v5 Changes:
- Incorporate review comments from Mikey Neuling and Brian King
- Add PCI and SCSI dependencies
- Fix error code to -ENODEV when cxl_get_phys_dev() fails
- Revise TMF handling in queuecommand() to not sleep
- Revise afu->room atomic strategy to avoid possible race condition

v4 Changes:
- Incorporate followup comments from Brian King
- Re-introduce wait queue with serialization for TMF commands
- Revise updating of AFU room to limit MMIO reads
- Add proper cleanup in paths where send_cmd() fails
- Don't set DID_ERROR when sense data is valid

v3 Changes:
- Incorporate Brian King review comments
- Update to latest candidate upstream CXL APIs
- Add several clarification comments
- Use debug facilities in linux/bug.h
- Correct a potential command corruption bug
- Refine SCSI error handling/reporting
- Serialize TMF events
- Remove unnecessary debug prints, parenthesis, and volatile keywords
- Update afu->room where appropriate
- Sleep instead of busy-wait for command completion
- Serialize AFU sync events, ensure process context only
- Pack structures shared with hardware

v2 Changes:
- Incorporate Mikey Neuling review comments
- Update to candidate upstream CXL APIs
- Add several clarification comments
- Renamed some structures for clarity
- Removed the 'cxlflash' prefix from internal functions
- Address endianness concerns/issues
- Remove unused code
- Revert to using pr_*/dev_* print services
- Remove unneeded locking and barrier instructions

Matthew R. Ochs (1):
  cxlflash: Base support for IBM CXL Flash Adapter

 drivers/scsi/Kconfig            |    1 +
 drivers/scsi/Makefile           |    1 +
 drivers/scsi/cxlflash/Kconfig   |   11 +
 drivers/scsi/cxlflash/Makefile  |    2 +
 drivers/scsi/cxlflash/common.h  |  181 +++
 drivers/scsi/cxlflash/main.c    | 2294 +++++++++++++++++++++++++++++++++++++++
 drivers/scsi/cxlflash/main.h    |  104 ++
 drivers/scsi/cxlflash/sislite.h |  465 ++++++++
 8 files changed, 3059 insertions(+)
 create mode 100644 drivers/scsi/cxlflash/Kconfig
 create mode 100644 drivers/scsi/cxlflash/Makefile
 create mode 100644 drivers/scsi/cxlflash/common.h
 create mode 100644 drivers/scsi/cxlflash/main.c
 create mode 100644 drivers/scsi/cxlflash/main.h
 create mode 100755 drivers/scsi/cxlflash/sislite.h

-- 
2.1.0

--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux