scsi: mpt3sas: Add support for ATLAS PCIe switch
authorSuganath Prabu S <suganath-prabu.subramani@broadcom.com>
Tue, 29 Jan 2019 12:14:42 +0000 (07:14 -0500)
committerMartin K. Petersen <martin.petersen@oracle.com>
Tue, 5 Feb 2019 03:52:21 +0000 (22:52 -0500)
Add Atlas PCIe Switch Management Port device PNPID,
Vendor Id: 0x1000
device Id: 0x00B2

This device is based on MPI 2.6 spec and it exposes one SES device to
accept management commands for the PCIe switch.

Signed-off-by: Suganath Prabu S <suganath-prabu.subramani@broadcom.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/mpt3sas/mpt3sas_base.h
drivers/scsi/mpt3sas/mpt3sas_scsih.c

index 800351932cc327d3eedabded83d41dfa0dc5959d..db12c1b2738c999c2344a343bc92aad2322ee50e 100644 (file)
@@ -193,6 +193,9 @@ struct mpt3sas_nvme_cmd {
 #define SAS2_PCI_DEVICE_B0_REVISION    (0x01)
 #define SAS3_PCI_DEVICE_C0_REVISION    (0x02)
 
+/* Atlas PCIe Switch Management Port */
+#define MPI26_ATLAS_PCIe_SWITCH_DEVID  (0x00B2)
+
 /*
  * Intel HBA branding
  */
index 4a73753dbb9b3e990e8bf6262b95d39022a7c6a5..8bb5b8f9f4d2cdbbc127c73cda4d9672b4adcf77 100644 (file)
@@ -10283,6 +10283,7 @@ _scsih_determine_hba_mpi_version(struct pci_dev *pdev)
        case MPI26_MFGPAGE_DEVID_SAS3516_1:
        case MPI26_MFGPAGE_DEVID_SAS3416:
        case MPI26_MFGPAGE_DEVID_SAS3616:
+       case MPI26_ATLAS_PCIe_SWITCH_DEVID:
        case MPI26_MFGPAGE_DEVID_CFG_SEC_3916:
        case MPI26_MFGPAGE_DEVID_HARD_SEC_3916:
        case MPI26_MFGPAGE_DEVID_CFG_SEC_3816:
@@ -10373,6 +10374,7 @@ _scsih_probe(struct pci_dev *pdev, const struct pci_device_id *id)
                case MPI26_MFGPAGE_DEVID_SAS3516_1:
                case MPI26_MFGPAGE_DEVID_SAS3416:
                case MPI26_MFGPAGE_DEVID_SAS3616:
+               case MPI26_ATLAS_PCIe_SWITCH_DEVID:
                        ioc->is_gen35_ioc = 1;
                        break;
                case MPI26_MFGPAGE_DEVID_CFG_SEC_3816:
@@ -10853,6 +10855,10 @@ static const struct pci_device_id mpt3sas_pci_table[] = {
        { MPI2_MFGPAGE_VENDORID_LSI, MPI26_MFGPAGE_DEVID_HARD_SEC_3916,
                PCI_ANY_ID, PCI_ANY_ID },
 
+       /* Atlas PCIe Switch Management Port */
+       { MPI2_MFGPAGE_VENDORID_LSI, MPI26_ATLAS_PCIe_SWITCH_DEVID,
+               PCI_ANY_ID, PCI_ANY_ID },
+
        /* Sea SI 0x00E5 Configurable Secure
         * 0x00E6 Hard Secure
         */