qla2xxx: Add pci device id 0x2271.
authorJoe Carnuccio <joe.carnuccio@qlogic.com>
Fri, 11 Apr 2014 20:54:13 +0000 (16:54 -0400)
committerChristoph Hellwig <hch@lst.de>
Mon, 19 May 2014 11:31:00 +0000 (13:31 +0200)
Signed-off-by: Joe Carnuccio <joe.carnuccio@qlogic.com>
Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
drivers/scsi/qla2xxx/qla_def.h
drivers/scsi/qla2xxx/qla_os.c

index 6a106136716c7e91e0ed545e1758ca94a37d945d..89bece72ef664ef01a18dde714c6e121b99c062b 100644 (file)
@@ -2907,6 +2907,8 @@ struct qla_hw_data {
 #define PCI_DEVICE_ID_QLOGIC_ISP8031   0x8031
 #define PCI_DEVICE_ID_QLOGIC_ISP2031   0x2031
 #define PCI_DEVICE_ID_QLOGIC_ISP2071   0x2071
+#define PCI_DEVICE_ID_QLOGIC_ISP2271   0x2271
+
        uint32_t        device_type;
 #define DT_ISP2100                      BIT_0
 #define DT_ISP2200                      BIT_1
@@ -2928,7 +2930,8 @@ struct qla_hw_data {
 #define DT_ISPFX00                     BIT_17
 #define DT_ISP8044                     BIT_18
 #define DT_ISP2071                     BIT_19
-#define DT_ISP_LAST                    (DT_ISP2071 << 1)
+#define DT_ISP2271                     BIT_20
+#define DT_ISP_LAST                    (DT_ISP2271 << 1)
 
 #define DT_T10_PI                       BIT_25
 #define DT_IIDMA                        BIT_26
@@ -2959,6 +2962,7 @@ struct qla_hw_data {
 #define IS_QLA8031(ha) (DT_MASK(ha) & DT_ISP8031)
 #define IS_QLAFX00(ha) (DT_MASK(ha) & DT_ISPFX00)
 #define IS_QLA2071(ha) (DT_MASK(ha) & DT_ISP2071)
+#define IS_QLA2271(ha) (DT_MASK(ha) & DT_ISP2271)
 
 #define IS_QLA23XX(ha)  (IS_QLA2300(ha) || IS_QLA2312(ha) || IS_QLA2322(ha) || \
                        IS_QLA6312(ha) || IS_QLA6322(ha))
@@ -2967,7 +2971,7 @@ struct qla_hw_data {
 #define IS_QLA25XX(ha)  (IS_QLA2532(ha))
 #define IS_QLA83XX(ha) (IS_QLA2031(ha) || IS_QLA8031(ha))
 #define IS_QLA84XX(ha)  (IS_QLA8432(ha))
-#define IS_QLA27XX(ha)  (IS_QLA2071(ha))
+#define IS_QLA27XX(ha)  (IS_QLA2071(ha) || IS_QLA2271(ha))
 #define IS_QLA24XX_TYPE(ha)     (IS_QLA24XX(ha) || IS_QLA54XX(ha) || \
                                IS_QLA84XX(ha))
 #define IS_CNA_CAPABLE(ha)     (IS_QLA81XX(ha) || IS_QLA82XX(ha) || \
index 19e99cc33724c526f30de23d0e98d0757cf2f99d..1b1cd75a7aa044d436362faeda31e8a5647ed210 100644 (file)
@@ -2270,6 +2270,13 @@ qla2x00_set_isp_flags(struct qla_hw_data *ha)
                ha->device_type |= DT_IIDMA;
                ha->fw_srisc_address = RISC_START_ADDRESS_2400;
                break;
+       case PCI_DEVICE_ID_QLOGIC_ISP2271:
+               ha->device_type |= DT_ISP2271;
+               ha->device_type |= DT_ZIO_SUPPORTED;
+               ha->device_type |= DT_FWI2;
+               ha->device_type |= DT_IIDMA;
+               ha->fw_srisc_address = RISC_START_ADDRESS_2400;
+               break;
        }
 
        if (IS_QLA82XX(ha))
@@ -2346,7 +2353,8 @@ qla2x00_probe_one(struct pci_dev *pdev, const struct pci_device_id *id)
            pdev->device == PCI_DEVICE_ID_QLOGIC_ISP8031 ||
            pdev->device == PCI_DEVICE_ID_QLOGIC_ISPF001 ||
            pdev->device == PCI_DEVICE_ID_QLOGIC_ISP8044 ||
-           pdev->device == PCI_DEVICE_ID_QLOGIC_ISP2071) {
+           pdev->device == PCI_DEVICE_ID_QLOGIC_ISP2071 ||
+           pdev->device == PCI_DEVICE_ID_QLOGIC_ISP2271) {
                bars = pci_select_bars(pdev, IORESOURCE_MEM);
                mem_only = 1;
                ql_dbg_pci(ql_dbg_init, pdev, 0x0007,
@@ -5325,7 +5333,7 @@ qla2x00_timer(scsi_qla_host_t *vha)
 #define FW_ISP82XX     7
 #define FW_ISP2031     8
 #define FW_ISP8031     9
-#define FW_ISP2071     10
+#define FW_ISP27XX     10
 
 #define FW_FILE_ISP21XX        "ql2100_fw.bin"
 #define FW_FILE_ISP22XX        "ql2200_fw.bin"
@@ -5337,7 +5345,7 @@ qla2x00_timer(scsi_qla_host_t *vha)
 #define FW_FILE_ISP82XX        "ql8200_fw.bin"
 #define FW_FILE_ISP2031        "ql2600_fw.bin"
 #define FW_FILE_ISP8031        "ql8300_fw.bin"
-#define FW_FILE_ISP2071        "ql2700_fw.bin"
+#define FW_FILE_ISP27XX        "ql2700_fw.bin"
 
 
 static DEFINE_MUTEX(qla_fw_lock);
@@ -5353,7 +5361,7 @@ static struct fw_blob qla_fw_blobs[FW_BLOBS] = {
        { .name = FW_FILE_ISP82XX, },
        { .name = FW_FILE_ISP2031, },
        { .name = FW_FILE_ISP8031, },
-       { .name = FW_FILE_ISP2071, },
+       { .name = FW_FILE_ISP27XX, },
 };
 
 struct fw_blob *
@@ -5382,8 +5390,8 @@ qla2x00_request_firmware(scsi_qla_host_t *vha)
                blob = &qla_fw_blobs[FW_ISP2031];
        } else if (IS_QLA8031(ha)) {
                blob = &qla_fw_blobs[FW_ISP8031];
-       } else if (IS_QLA2071(ha)) {
-               blob = &qla_fw_blobs[FW_ISP2071];
+       } else if (IS_QLA27XX(ha)) {
+               blob = &qla_fw_blobs[FW_ISP27XX];
        } else {
                return NULL;
        }
@@ -5714,6 +5722,7 @@ static struct pci_device_id qla2xxx_pci_tbl[] = {
        { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISPF001) },
        { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP8044) },
        { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2071) },
+       { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2271) },
        { 0 },
 };
 MODULE_DEVICE_TABLE(pci, qla2xxx_pci_tbl);