scsi: mpt3sas: Add PCI device ID for Andromeda.
authorSuganath Prabu Subramani <suganath-prabu.subramani@broadcom.com>
Wed, 7 Feb 2018 10:51:45 +0000 (02:51 -0800)
committerMartin K. Petersen <martin.petersen@oracle.com>
Wed, 28 Feb 2018 03:26:12 +0000 (22:26 -0500)
Add device ID and flag for Andromeda/MPI Endpoint.

[mkp: typo]

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

index ee117106d0f7e2c7cdd4159e981fe8ce65aebc9b..0ad88deb31768f7180206357aec4548f210dd7f6 100644 (file)
@@ -524,6 +524,7 @@ typedef struct _MPI2_CONFIG_REPLY {
 #define MPI2_MFGPAGE_DEVID_SAS2308_1                (0x0086)
 #define MPI2_MFGPAGE_DEVID_SAS2308_2                (0x0087)
 #define MPI2_MFGPAGE_DEVID_SAS2308_3                (0x006E)
+#define MPI2_MFGPAGE_DEVID_SAS2308_MPI_EP           (0x02B0)
 
 /*MPI v2.5 SAS products */
 #define MPI25_MFGPAGE_DEVID_SAS3004                 (0x0096)
index 789bc421424bcf5ba7de5904e9fef073843e312d..897394dc8c6238f9555d9b7bb2fc7f5d1a8996a1 100644 (file)
@@ -1336,6 +1336,7 @@ struct MPT3SAS_ADAPTER {
        u32             ring_buffer_offset;
        u32             ring_buffer_sz;
        u8              is_warpdrive;
+       u8              is_mcpu_endpoint;
        u8              hide_ir_msg;
        u8              mfg_pg10_hide_flag;
        u8              hide_drives;
index 74fca184dba9830acd9b812b7b27f71cd32bf724..bde3c6fc8ee310b54b2916e7932f1a3a748cfdbc 100644 (file)
@@ -10335,6 +10335,7 @@ _scsih_determine_hba_mpi_version(struct pci_dev *pdev)
        case MPI2_MFGPAGE_DEVID_SAS2308_1:
        case MPI2_MFGPAGE_DEVID_SAS2308_2:
        case MPI2_MFGPAGE_DEVID_SAS2308_3:
+       case MPI2_MFGPAGE_DEVID_SAS2308_MPI_EP:
                return MPI2_VERSION;
        case MPI25_MFGPAGE_DEVID_SAS3004:
        case MPI25_MFGPAGE_DEVID_SAS3008:
@@ -10412,11 +10413,18 @@ _scsih_probe(struct pci_dev *pdev, const struct pci_device_id *id)
                ioc->hba_mpi_version_belonged = hba_mpi_version;
                ioc->id = mpt2_ids++;
                sprintf(ioc->driver_name, "%s", MPT2SAS_DRIVER_NAME);
-               if (pdev->device == MPI2_MFGPAGE_DEVID_SSS6200) {
+               switch (pdev->device) {
+               case MPI2_MFGPAGE_DEVID_SSS6200:
                        ioc->is_warpdrive = 1;
                        ioc->hide_ir_msg = 1;
-               } else
+                       break;
+               case MPI2_MFGPAGE_DEVID_SAS2308_MPI_EP:
+                       ioc->is_mcpu_endpoint = 1;
+                       break;
+               default:
                        ioc->mfg_pg10_hide_flag = MFG_PAGE10_EXPOSE_ALL_DISKS;
+                       break;
+               }
                break;
        case MPI25_VERSION:
        case MPI26_VERSION:
@@ -10845,6 +10853,8 @@ static const struct pci_device_id mpt3sas_pci_table[] = {
                PCI_ANY_ID, PCI_ANY_ID },
        { MPI2_MFGPAGE_VENDORID_LSI, MPI2_MFGPAGE_DEVID_SAS2308_3,
                PCI_ANY_ID, PCI_ANY_ID },
+       { MPI2_MFGPAGE_VENDORID_LSI, MPI2_MFGPAGE_DEVID_SAS2308_MPI_EP,
+               PCI_ANY_ID, PCI_ANY_ID },
        /* SSS6200 */
        { MPI2_MFGPAGE_VENDORID_LSI, MPI2_MFGPAGE_DEVID_SSS6200,
                PCI_ANY_ID, PCI_ANY_ID },