mbox series

[v2,00/15] mpi3mr: Added Support for SAS Transport

Message ID 20220804131226.16653-1-sreekanth.reddy@broadcom.com
Headers show
Series mpi3mr: Added Support for SAS Transport | expand

Message

Sreekanth Reddy Aug. 4, 2022, 1:12 p.m. UTC
- 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

Comments

Martin K. Petersen Aug. 23, 2022, 3:35 a.m. UTC | #1
Sreekanth,

> 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

Applied to 6.1/scsi-staging, thanks!
Martin K. Petersen Sept. 1, 2022, 5:12 a.m. UTC | #2
On Thu, 4 Aug 2022 18:42:11 +0530, Sreekanth Reddy wrote:

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

Applied to 6.1/scsi-queue, thanks!
John Garry Sept. 15, 2022, 12:03 p.m. UTC | #3
On 04/08/2022 14:12, Sreekanth Reddy wrote:
> - 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.

Out of curiosity, are there any plans to add SCSI transport SAS support 
for megaraid sas?

Thanks,
John
Sumit Saxena Sept. 15, 2022, 5:35 p.m. UTC | #4
On Thu, Sep 15, 2022 at 5:33 PM John Garry <john.garry@huawei.com> wrote:
>
> On 04/08/2022 14:12, Sreekanth Reddy wrote:
> > - 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.
>
> Out of curiosity, are there any plans to add SCSI transport SAS support
> for megaraid sas?
No plan to add SAS transport support for megaraid_sas.

Thanks,
Sumit
>
> Thanks,
> John