Commit 2c5bbbb2 authored by Joe Carnuccio's avatar Joe Carnuccio Committed by Christoph Hellwig

qla2xxx: Add pci device id 0x2271.

Signed-off-by: default avatarJoe Carnuccio <joe.carnuccio@qlogic.com>
Signed-off-by: default avatarSaurav Kashyap <saurav.kashyap@qlogic.com>
Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
parent af13b700
...@@ -2907,6 +2907,8 @@ struct qla_hw_data { ...@@ -2907,6 +2907,8 @@ struct qla_hw_data {
#define PCI_DEVICE_ID_QLOGIC_ISP8031 0x8031 #define PCI_DEVICE_ID_QLOGIC_ISP8031 0x8031
#define PCI_DEVICE_ID_QLOGIC_ISP2031 0x2031 #define PCI_DEVICE_ID_QLOGIC_ISP2031 0x2031
#define PCI_DEVICE_ID_QLOGIC_ISP2071 0x2071 #define PCI_DEVICE_ID_QLOGIC_ISP2071 0x2071
#define PCI_DEVICE_ID_QLOGIC_ISP2271 0x2271
uint32_t device_type; uint32_t device_type;
#define DT_ISP2100 BIT_0 #define DT_ISP2100 BIT_0
#define DT_ISP2200 BIT_1 #define DT_ISP2200 BIT_1
...@@ -2928,7 +2930,8 @@ struct qla_hw_data { ...@@ -2928,7 +2930,8 @@ struct qla_hw_data {
#define DT_ISPFX00 BIT_17 #define DT_ISPFX00 BIT_17
#define DT_ISP8044 BIT_18 #define DT_ISP8044 BIT_18
#define DT_ISP2071 BIT_19 #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_T10_PI BIT_25
#define DT_IIDMA BIT_26 #define DT_IIDMA BIT_26
...@@ -2959,6 +2962,7 @@ struct qla_hw_data { ...@@ -2959,6 +2962,7 @@ struct qla_hw_data {
#define IS_QLA8031(ha) (DT_MASK(ha) & DT_ISP8031) #define IS_QLA8031(ha) (DT_MASK(ha) & DT_ISP8031)
#define IS_QLAFX00(ha) (DT_MASK(ha) & DT_ISPFX00) #define IS_QLAFX00(ha) (DT_MASK(ha) & DT_ISPFX00)
#define IS_QLA2071(ha) (DT_MASK(ha) & DT_ISP2071) #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) || \ #define IS_QLA23XX(ha) (IS_QLA2300(ha) || IS_QLA2312(ha) || IS_QLA2322(ha) || \
IS_QLA6312(ha) || IS_QLA6322(ha)) IS_QLA6312(ha) || IS_QLA6322(ha))
...@@ -2967,7 +2971,7 @@ struct qla_hw_data { ...@@ -2967,7 +2971,7 @@ struct qla_hw_data {
#define IS_QLA25XX(ha) (IS_QLA2532(ha)) #define IS_QLA25XX(ha) (IS_QLA2532(ha))
#define IS_QLA83XX(ha) (IS_QLA2031(ha) || IS_QLA8031(ha)) #define IS_QLA83XX(ha) (IS_QLA2031(ha) || IS_QLA8031(ha))
#define IS_QLA84XX(ha) (IS_QLA8432(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) || \ #define IS_QLA24XX_TYPE(ha) (IS_QLA24XX(ha) || IS_QLA54XX(ha) || \
IS_QLA84XX(ha)) IS_QLA84XX(ha))
#define IS_CNA_CAPABLE(ha) (IS_QLA81XX(ha) || IS_QLA82XX(ha) || \ #define IS_CNA_CAPABLE(ha) (IS_QLA81XX(ha) || IS_QLA82XX(ha) || \
......
...@@ -2270,6 +2270,13 @@ qla2x00_set_isp_flags(struct qla_hw_data *ha) ...@@ -2270,6 +2270,13 @@ qla2x00_set_isp_flags(struct qla_hw_data *ha)
ha->device_type |= DT_IIDMA; ha->device_type |= DT_IIDMA;
ha->fw_srisc_address = RISC_START_ADDRESS_2400; ha->fw_srisc_address = RISC_START_ADDRESS_2400;
break; 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)) if (IS_QLA82XX(ha))
...@@ -2346,7 +2353,8 @@ qla2x00_probe_one(struct pci_dev *pdev, const struct pci_device_id *id) ...@@ -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_ISP8031 ||
pdev->device == PCI_DEVICE_ID_QLOGIC_ISPF001 || pdev->device == PCI_DEVICE_ID_QLOGIC_ISPF001 ||
pdev->device == PCI_DEVICE_ID_QLOGIC_ISP8044 || 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); bars = pci_select_bars(pdev, IORESOURCE_MEM);
mem_only = 1; mem_only = 1;
ql_dbg_pci(ql_dbg_init, pdev, 0x0007, ql_dbg_pci(ql_dbg_init, pdev, 0x0007,
...@@ -5325,7 +5333,7 @@ qla2x00_timer(scsi_qla_host_t *vha) ...@@ -5325,7 +5333,7 @@ qla2x00_timer(scsi_qla_host_t *vha)
#define FW_ISP82XX 7 #define FW_ISP82XX 7
#define FW_ISP2031 8 #define FW_ISP2031 8
#define FW_ISP8031 9 #define FW_ISP8031 9
#define FW_ISP2071 10 #define FW_ISP27XX 10
#define FW_FILE_ISP21XX "ql2100_fw.bin" #define FW_FILE_ISP21XX "ql2100_fw.bin"
#define FW_FILE_ISP22XX "ql2200_fw.bin" #define FW_FILE_ISP22XX "ql2200_fw.bin"
...@@ -5337,7 +5345,7 @@ qla2x00_timer(scsi_qla_host_t *vha) ...@@ -5337,7 +5345,7 @@ qla2x00_timer(scsi_qla_host_t *vha)
#define FW_FILE_ISP82XX "ql8200_fw.bin" #define FW_FILE_ISP82XX "ql8200_fw.bin"
#define FW_FILE_ISP2031 "ql2600_fw.bin" #define FW_FILE_ISP2031 "ql2600_fw.bin"
#define FW_FILE_ISP8031 "ql8300_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); static DEFINE_MUTEX(qla_fw_lock);
...@@ -5353,7 +5361,7 @@ static struct fw_blob qla_fw_blobs[FW_BLOBS] = { ...@@ -5353,7 +5361,7 @@ static struct fw_blob qla_fw_blobs[FW_BLOBS] = {
{ .name = FW_FILE_ISP82XX, }, { .name = FW_FILE_ISP82XX, },
{ .name = FW_FILE_ISP2031, }, { .name = FW_FILE_ISP2031, },
{ .name = FW_FILE_ISP8031, }, { .name = FW_FILE_ISP8031, },
{ .name = FW_FILE_ISP2071, }, { .name = FW_FILE_ISP27XX, },
}; };
struct fw_blob * struct fw_blob *
...@@ -5382,8 +5390,8 @@ qla2x00_request_firmware(scsi_qla_host_t *vha) ...@@ -5382,8 +5390,8 @@ qla2x00_request_firmware(scsi_qla_host_t *vha)
blob = &qla_fw_blobs[FW_ISP2031]; blob = &qla_fw_blobs[FW_ISP2031];
} else if (IS_QLA8031(ha)) { } else if (IS_QLA8031(ha)) {
blob = &qla_fw_blobs[FW_ISP8031]; blob = &qla_fw_blobs[FW_ISP8031];
} else if (IS_QLA2071(ha)) { } else if (IS_QLA27XX(ha)) {
blob = &qla_fw_blobs[FW_ISP2071]; blob = &qla_fw_blobs[FW_ISP27XX];
} else { } else {
return NULL; return NULL;
} }
...@@ -5714,6 +5722,7 @@ static struct pci_device_id qla2xxx_pci_tbl[] = { ...@@ -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_ISPF001) },
{ PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP8044) }, { 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_ISP2071) },
{ PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2271) },
{ 0 }, { 0 },
}; };
MODULE_DEVICE_TABLE(pci, qla2xxx_pci_tbl); MODULE_DEVICE_TABLE(pci, qla2xxx_pci_tbl);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment