megaraid_sas: Support for Cutlass (12 Gbps) controller
authorsumit.saxena@avagotech.com <sumit.saxena@avagotech.com>
Thu, 15 Oct 2015 08:09:54 +0000 (13:39 +0530)
committerMartin K. Petersen <martin.petersen@oracle.com>
Thu, 29 Oct 2015 07:18:07 +0000 (03:18 -0400)
Signed-off-by: Sumit Saxena <sumit.saxena@avagotech.com>
Signed-off-by: Kashyap Desai <kashyap.desai@avagotech.com>
Reviewed-by: Tomas Henzl <thenzl@redhat.com>
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/megaraid/megaraid_sas.h
drivers/scsi/megaraid/megaraid_sas_base.c
drivers/scsi/megaraid/megaraid_sas_fusion.c

index 11b5a96..6985e81 100644 (file)
@@ -54,6 +54,8 @@
 #define PCI_DEVICE_ID_LSI_FURY                 0x005f
 #define PCI_DEVICE_ID_LSI_INTRUDER             0x00ce
 #define PCI_DEVICE_ID_LSI_INTRUDER_24          0x00cf
+#define PCI_DEVICE_ID_LSI_CUTLASS_52           0x0052
+#define PCI_DEVICE_ID_LSI_CUTLASS_53           0x0053
 
 /*
  * Intel HBA SSDIDs
@@ -64,6 +66,7 @@
 #define MEGARAID_INTEL_RS3MC044_SSDID          0x9381
 #define MEGARAID_INTEL_RS3WC080_SSDID          0x9341
 #define MEGARAID_INTEL_RS3WC040_SSDID          0x9343
+#define MEGARAID_INTEL_RMS3BC160_SSDID         0x352B
 
 /*
  * Intruder HBA SSDIDs
@@ -87,6 +90,8 @@
        "Intel(R) RAID Controller RS3WC080"
 #define MEGARAID_INTEL_RS3WC040_BRANDING       \
        "Intel(R) RAID Controller RS3WC040"
+#define MEGARAID_INTEL_RMS3BC160_BRANDING      \
+       "Intel(R) Integrated RAID Module RMS3BC160"
 
 /*
  * =====================================
index 85532ee..b9a0da7 100644 (file)
@@ -139,6 +139,8 @@ static struct pci_device_id megasas_pci_table[] = {
        /* Intruder */
        {PCI_DEVICE(PCI_VENDOR_ID_LSI_LOGIC, PCI_DEVICE_ID_LSI_INTRUDER_24)},
        /* Intruder 24 port*/
+       {PCI_DEVICE(PCI_VENDOR_ID_LSI_LOGIC, PCI_DEVICE_ID_LSI_CUTLASS_52)},
+       {PCI_DEVICE(PCI_VENDOR_ID_LSI_LOGIC, PCI_DEVICE_ID_LSI_CUTLASS_53)},
        {}
 };
 
@@ -4635,6 +4637,8 @@ static int megasas_init_fw(struct megasas_instance *instance)
        case PCI_DEVICE_ID_LSI_FURY:
        case PCI_DEVICE_ID_LSI_INTRUDER:
        case PCI_DEVICE_ID_LSI_INTRUDER_24:
+       case PCI_DEVICE_ID_LSI_CUTLASS_52:
+       case PCI_DEVICE_ID_LSI_CUTLASS_53:
                instance->instancet = &megasas_instance_template_fusion;
                break;
        case PCI_DEVICE_ID_LSI_SAS1078R:
@@ -5332,6 +5336,8 @@ static int megasas_probe_one(struct pci_dev *pdev,
        case PCI_DEVICE_ID_LSI_FURY:
        case PCI_DEVICE_ID_LSI_INTRUDER:
        case PCI_DEVICE_ID_LSI_INTRUDER_24:
+       case PCI_DEVICE_ID_LSI_CUTLASS_52:
+       case PCI_DEVICE_ID_LSI_CUTLASS_53:
        {
                instance->ctrl_context_pages =
                        get_order(sizeof(struct fusion_context));
index bed7fb1..4450bae 100644 (file)
@@ -1037,6 +1037,18 @@ megasas_display_intel_branding(struct megasas_instance *instance)
                        break;
                }
                break;
+       case PCI_DEVICE_ID_LSI_CUTLASS_52:
+       case PCI_DEVICE_ID_LSI_CUTLASS_53:
+               switch (instance->pdev->subsystem_device) {
+               case MEGARAID_INTEL_RMS3BC160_SSDID:
+                       dev_info(&instance->pdev->dev, "scsi host %d: %s\n",
+                               instance->host->host_no,
+                               MEGARAID_INTEL_RMS3BC160_BRANDING);
+                       break;
+               default:
+                       break;
+               }
+               break;
        default:
                break;
        }