- Enhanced the driver to support SAS transport layer and expose SAS controller PHYs, ports, attached expander, expander PHYs, expander ports and SAS/SATA end devices to the kernel through SAS transport class. - The driver also provides call back handlers for get_linkerrors, get_enclosure_identifier, get_bay_identifier, phy_reset, phy_enable, set_phy_speed and smp_handler to the kernel as defined by the SAS transport layer. - The SAS transport layer support is enabled only when the controller multipath capability is not enabled. - The NVMe devices, VDs, vSES and PCIe Managed SES devices are not exposed through SAS transport. V2: - Accommodated the changes suggested by Himanshu Madhani Sreekanth Reddy (15): mpi3mr: Add config and transport related debug flags mpi3mr: Add framework to issue cnfg requests mpi3mr: Added helper functions to retrieve cnfg pages mpi3mr: Enable Enclosure device add event mpi3mr: Add framework to add phys to STL mpi3mr: Add helper functions to retrieve device objects mpi3mr: Add helper functions to manage device's port mpi3mr: Enable STL on HBAs where multipath is disabled mpi3mr: Add expander devices to STL mpi3mr: Get target object based on rphy mpi3mr: Add SAS SATA end devices to STL mpi3mr: Add framework to issue MPT transport cmds mpi3mr: Support sas transport class callbacks mpi3mr: Refresh sas ports during soft reset mpi3mr: Block IOs while refreshing target dev objects drivers/scsi/mpi3mr/Makefile | 1 + drivers/scsi/mpi3mr/mpi3mr.h | 240 +- drivers/scsi/mpi3mr/mpi3mr_debug.h | 27 + drivers/scsi/mpi3mr/mpi3mr_fw.c | 892 ++++++- drivers/scsi/mpi3mr/mpi3mr_os.c | 444 +++- drivers/scsi/mpi3mr/mpi3mr_transport.c | 3283 ++++++++++++++++++++++++ 6 files changed, 4835 insertions(+), 52 deletions(-) create mode 100644 drivers/scsi/mpi3mr/mpi3mr_transport.c -- 2.27.0
Attachment:
smime.p7s
Description: S/MIME Cryptographic Signature