On 07/14/2017 03:22 PM, Suganath Prabu S wrote: > Ventura Series controller are Tri-mode. The controller and > firmware are capable of supporting NVMe devices and > PCIe switches to be connected with the controller. This > patch set adds driver level support for NVMe devices and > PCIe switches. > > Suganath Prabu S (13): > mpt3sas: Update MPI Header > mpt3sas: Add nvme device support in slave alloc, target alloc and > probe > mpt3sas: SGL to PRP Translation for I/Os to NVMe devices > mpt3sas: Added support for nvme encapsulated request message. > mpt3sas: API 's to support NVMe drive addition to SML > mpt3sas: API's to remove nvme drive from sml > mpt3sas: Handle NVMe PCIe device related events generated > from firmware. > mpt3sas: Set NVMe device queue depth as 128 > mpt3sas: scan and add nvme device after controller reset > mpt3as: Add-Task-management-debug-info-for-NVMe-drives. > mpt3sas: NVMe drive support for BTDHMAPPING ioctl command and log > info > mpt3sas: Fix nvme drives checking for tlr. > mpt3sas: Update mpt3sas driver version. > > drivers/scsi/mpt3sas/mpi/mpi2.h | 43 +- > drivers/scsi/mpt3sas/mpi/mpi2_cnfg.h | 647 ++++++++++- > drivers/scsi/mpt3sas/mpi/mpi2_init.h | 11 +- > drivers/scsi/mpt3sas/mpi/mpi2_ioc.h | 331 ++++++- > drivers/scsi/mpt3sas/mpi/mpi2_pci.h | 142 +++ > drivers/scsi/mpt3sas/mpi/mpi2_tool.h | 14 +- > drivers/scsi/mpt3sas/mpt3sas_base.c | 710 +++++++++++- > drivers/scsi/mpt3sas/mpt3sas_base.h | 171 +++- > drivers/scsi/mpt3sas/mpt3sas_config.c | 100 ++ > drivers/scsi/mpt3sas/mpt3sas_ctl.c | 158 ++- > drivers/scsi/mpt3sas/mpt3sas_scsih.c | 1874 ++++++++++++++++++++++++++++-- > drivers/scsi/mpt3sas/mpt3sas_warpdrive.c | 2 +- > 12 files changed, 4063 insertions(+), 140 deletions(-) > create mode 100644 drivers/scsi/mpt3sas/mpi/mpi2_pci.h > I'm not happy with this approach. NVMe devices should _not_ appear as SCSI devices; this will just confuse matters _and_ will be incompatible with 'normal' NVMe devices. Rather I would like to see the driver to hook into the existing NVMe framework (which essentially means to treat the mpt3sas as a weird NVMe-over-Fabrics HBA), and expose the NVMe devices like any other NVMe HBA. I'm sorry that you'll have to redo your patchset (again), but this is the only way I see how this patchset can be brought forward. I'd be happy to discuss implementation details with you. Cheers, Hannes -- Dr. Hannes Reinecke Teamlead Storage & Networking hare@xxxxxxx +49 911 74053 688 SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton HRB 21284 (AG Nürnberg)