|
|
a2ca9b |
--- a/src/qla_os.c
|
|
|
a2ca9b |
+++ b/src/qla_os.c
|
|
|
a2ca9b |
@@ -2549,6 +2549,73 @@
|
|
|
a2ca9b |
{
|
|
|
a2ca9b |
ha->device_type = DT_EXTENDED_IDS;
|
|
|
a2ca9b |
switch (ha->pdev->device) {
|
|
|
a2ca9b |
+ case PCI_DEVICE_ID_QLOGIC_ISP2100:
|
|
|
a2ca9b |
+ ha->isp_type |= DT_ISP2100;
|
|
|
a2ca9b |
+ ha->device_type &= ~DT_EXTENDED_IDS;
|
|
|
a2ca9b |
+ ha->fw_srisc_address = RISC_START_ADDRESS_2100;
|
|
|
a2ca9b |
+ break;
|
|
|
a2ca9b |
+ case PCI_DEVICE_ID_QLOGIC_ISP2200:
|
|
|
a2ca9b |
+ ha->isp_type |= DT_ISP2200;
|
|
|
a2ca9b |
+ ha->device_type &= ~DT_EXTENDED_IDS;
|
|
|
a2ca9b |
+ ha->fw_srisc_address = RISC_START_ADDRESS_2100;
|
|
|
a2ca9b |
+ break;
|
|
|
a2ca9b |
+ case PCI_DEVICE_ID_QLOGIC_ISP2300:
|
|
|
a2ca9b |
+ ha->isp_type |= DT_ISP2300;
|
|
|
a2ca9b |
+ ha->device_type |= DT_ZIO_SUPPORTED;
|
|
|
a2ca9b |
+ ha->fw_srisc_address = RISC_START_ADDRESS_2300;
|
|
|
a2ca9b |
+ break;
|
|
|
a2ca9b |
+ case PCI_DEVICE_ID_QLOGIC_ISP2312:
|
|
|
a2ca9b |
+ ha->isp_type |= DT_ISP2312;
|
|
|
a2ca9b |
+ ha->device_type |= DT_ZIO_SUPPORTED;
|
|
|
a2ca9b |
+ ha->fw_srisc_address = RISC_START_ADDRESS_2300;
|
|
|
a2ca9b |
+ break;
|
|
|
a2ca9b |
+ case PCI_DEVICE_ID_QLOGIC_ISP2322:
|
|
|
a2ca9b |
+ ha->isp_type |= DT_ISP2322;
|
|
|
a2ca9b |
+ ha->device_type |= DT_ZIO_SUPPORTED;
|
|
|
a2ca9b |
+ if (ha->pdev->subsystem_vendor == 0x1028 &&
|
|
|
a2ca9b |
+ ha->pdev->subsystem_device == 0x0170)
|
|
|
a2ca9b |
+ ha->device_type |= DT_OEM_001;
|
|
|
a2ca9b |
+ ha->fw_srisc_address = RISC_START_ADDRESS_2300;
|
|
|
a2ca9b |
+ break;
|
|
|
a2ca9b |
+ case PCI_DEVICE_ID_QLOGIC_ISP6312:
|
|
|
a2ca9b |
+ ha->isp_type |= DT_ISP6312;
|
|
|
a2ca9b |
+ ha->fw_srisc_address = RISC_START_ADDRESS_2300;
|
|
|
a2ca9b |
+ break;
|
|
|
a2ca9b |
+ case PCI_DEVICE_ID_QLOGIC_ISP6322:
|
|
|
a2ca9b |
+ ha->isp_type |= DT_ISP6322;
|
|
|
a2ca9b |
+ ha->fw_srisc_address = RISC_START_ADDRESS_2300;
|
|
|
a2ca9b |
+ break;
|
|
|
a2ca9b |
+ case PCI_DEVICE_ID_QLOGIC_ISP2422:
|
|
|
a2ca9b |
+ ha->isp_type |= DT_ISP2422;
|
|
|
a2ca9b |
+ ha->device_type |= DT_ZIO_SUPPORTED;
|
|
|
a2ca9b |
+ ha->device_type |= DT_FWI2;
|
|
|
a2ca9b |
+ ha->device_type |= DT_IIDMA;
|
|
|
a2ca9b |
+ ha->fw_srisc_address = RISC_START_ADDRESS_2400;
|
|
|
a2ca9b |
+ break;
|
|
|
a2ca9b |
+ case PCI_DEVICE_ID_QLOGIC_ISP2432:
|
|
|
a2ca9b |
+ ha->isp_type |= DT_ISP2432;
|
|
|
a2ca9b |
+ ha->device_type |= DT_ZIO_SUPPORTED;
|
|
|
a2ca9b |
+ ha->device_type |= DT_FWI2;
|
|
|
a2ca9b |
+ ha->device_type |= DT_IIDMA;
|
|
|
a2ca9b |
+ ha->fw_srisc_address = RISC_START_ADDRESS_2400;
|
|
|
a2ca9b |
+ break;
|
|
|
a2ca9b |
+ case PCI_DEVICE_ID_QLOGIC_ISP8432:
|
|
|
a2ca9b |
+ ha->isp_type |= DT_ISP8432;
|
|
|
a2ca9b |
+ ha->device_type |= DT_ZIO_SUPPORTED;
|
|
|
a2ca9b |
+ ha->device_type |= DT_FWI2;
|
|
|
a2ca9b |
+ ha->device_type |= DT_IIDMA;
|
|
|
a2ca9b |
+ ha->fw_srisc_address = RISC_START_ADDRESS_2400;
|
|
|
a2ca9b |
+ break;
|
|
|
a2ca9b |
+ case PCI_DEVICE_ID_QLOGIC_ISP5422:
|
|
|
a2ca9b |
+ ha->isp_type |= DT_ISP5422;
|
|
|
a2ca9b |
+ ha->device_type |= DT_FWI2;
|
|
|
a2ca9b |
+ ha->fw_srisc_address = RISC_START_ADDRESS_2400;
|
|
|
a2ca9b |
+ break;
|
|
|
a2ca9b |
+ case PCI_DEVICE_ID_QLOGIC_ISP5432:
|
|
|
a2ca9b |
+ ha->isp_type |= DT_ISP5432;
|
|
|
a2ca9b |
+ ha->device_type |= DT_FWI2;
|
|
|
a2ca9b |
+ ha->fw_srisc_address = RISC_START_ADDRESS_2400;
|
|
|
a2ca9b |
+ break;
|
|
|
a2ca9b |
case PCI_DEVICE_ID_QLOGIC_ISP2532:
|
|
|
a2ca9b |
ha->isp_type |= DT_ISP2532;
|
|
|
a2ca9b |
ha->device_type |= DT_ZIO_SUPPORTED;
|
|
|
a2ca9b |
@@ -2556,6 +2623,29 @@
|
|
|
a2ca9b |
ha->device_type |= DT_IIDMA;
|
|
|
a2ca9b |
ha->fw_srisc_address = RISC_START_ADDRESS_2400;
|
|
|
a2ca9b |
break;
|
|
|
a2ca9b |
+ case PCI_DEVICE_ID_QLOGIC_ISP8001:
|
|
|
a2ca9b |
+ ha->isp_type |= DT_ISP8001;
|
|
|
a2ca9b |
+ ha->device_type |= DT_ZIO_SUPPORTED;
|
|
|
a2ca9b |
+ ha->device_type |= DT_FWI2;
|
|
|
a2ca9b |
+ ha->device_type |= DT_IIDMA;
|
|
|
a2ca9b |
+ ha->fw_srisc_address = RISC_START_ADDRESS_2400;
|
|
|
a2ca9b |
+ break;
|
|
|
a2ca9b |
+ case PCI_DEVICE_ID_QLOGIC_ISP8021:
|
|
|
a2ca9b |
+ ha->isp_type |= DT_ISP8021;
|
|
|
a2ca9b |
+ ha->device_type |= DT_ZIO_SUPPORTED;
|
|
|
a2ca9b |
+ ha->device_type |= DT_FWI2;
|
|
|
a2ca9b |
+ ha->fw_srisc_address = RISC_START_ADDRESS_2400;
|
|
|
a2ca9b |
+ /* Initialize 82XX ISP flags */
|
|
|
a2ca9b |
+ qla82xx_init_flags(ha);
|
|
|
a2ca9b |
+ break;
|
|
|
a2ca9b |
+ case PCI_DEVICE_ID_QLOGIC_ISP8044:
|
|
|
a2ca9b |
+ ha->isp_type |= DT_ISP8044;
|
|
|
a2ca9b |
+ ha->device_type |= DT_ZIO_SUPPORTED;
|
|
|
a2ca9b |
+ ha->device_type |= DT_FWI2;
|
|
|
a2ca9b |
+ ha->fw_srisc_address = RISC_START_ADDRESS_2400;
|
|
|
a2ca9b |
+ /* Initialize 82XX ISP flags */
|
|
|
a2ca9b |
+ qla82xx_init_flags(ha);
|
|
|
a2ca9b |
+ break;
|
|
|
a2ca9b |
case PCI_DEVICE_ID_QLOGIC_ISP2031:
|
|
|
a2ca9b |
ha->isp_type |= DT_ISP2031;
|
|
|
a2ca9b |
ha->device_type |= DT_ZIO_SUPPORTED;
|
|
|
a2ca9b |
@@ -2572,6 +2662,9 @@
|
|
|
a2ca9b |
ha->device_type |= DT_T10_PI;
|
|
|
a2ca9b |
ha->fw_srisc_address = RISC_START_ADDRESS_2400;
|
|
|
a2ca9b |
break;
|
|
|
a2ca9b |
+ case PCI_DEVICE_ID_QLOGIC_ISPF001:
|
|
|
a2ca9b |
+ ha->isp_type |= DT_ISPFX00;
|
|
|
a2ca9b |
+ break;
|
|
|
a2ca9b |
case PCI_DEVICE_ID_QLOGIC_ISP2071:
|
|
|
a2ca9b |
ha->isp_type |= DT_ISP2071;
|
|
|
a2ca9b |
ha->device_type |= DT_ZIO_SUPPORTED;
|
|
|
a2ca9b |
@@ -2705,9 +2798,18 @@
|
|
|
a2ca9b |
|
|
|
a2ca9b |
bars = pci_select_bars(pdev, IORESOURCE_MEM | IORESOURCE_IO);
|
|
|
a2ca9b |
sht = &qla2xxx_driver_template;
|
|
|
a2ca9b |
- if (pdev->device == PCI_DEVICE_ID_QLOGIC_ISP2532 ||
|
|
|
a2ca9b |
+ if (pdev->device == PCI_DEVICE_ID_QLOGIC_ISP2422 ||
|
|
|
a2ca9b |
+ pdev->device == PCI_DEVICE_ID_QLOGIC_ISP2432 ||
|
|
|
a2ca9b |
+ pdev->device == PCI_DEVICE_ID_QLOGIC_ISP8432 ||
|
|
|
a2ca9b |
+ pdev->device == PCI_DEVICE_ID_QLOGIC_ISP5422 ||
|
|
|
a2ca9b |
+ pdev->device == PCI_DEVICE_ID_QLOGIC_ISP5432 ||
|
|
|
a2ca9b |
+ pdev->device == PCI_DEVICE_ID_QLOGIC_ISP2532 ||
|
|
|
a2ca9b |
+ pdev->device == PCI_DEVICE_ID_QLOGIC_ISP8001 ||
|
|
|
a2ca9b |
+ pdev->device == PCI_DEVICE_ID_QLOGIC_ISP8021 ||
|
|
|
a2ca9b |
pdev->device == PCI_DEVICE_ID_QLOGIC_ISP2031 ||
|
|
|
a2ca9b |
pdev->device == PCI_DEVICE_ID_QLOGIC_ISP8031 ||
|
|
|
a2ca9b |
+ pdev->device == PCI_DEVICE_ID_QLOGIC_ISPF001 ||
|
|
|
a2ca9b |
+ pdev->device == PCI_DEVICE_ID_QLOGIC_ISP8044 ||
|
|
|
a2ca9b |
pdev->device == PCI_DEVICE_ID_QLOGIC_ISP2071 ||
|
|
|
a2ca9b |
pdev->device == PCI_DEVICE_ID_QLOGIC_ISP2271 ||
|
|
|
a2ca9b |
pdev->device == PCI_DEVICE_ID_QLOGIC_ISP2261 ||
|
|
|
a2ca9b |
@@ -7598,9 +7700,25 @@
|
|
|
a2ca9b |
};
|
|
|
a2ca9b |
|
|
|
a2ca9b |
static struct pci_device_id qla2xxx_pci_tbl[] = {
|
|
|
a2ca9b |
+ { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2100) },
|
|
|
a2ca9b |
+ { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2200) },
|
|
|
a2ca9b |
+ { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2300) },
|
|
|
a2ca9b |
+ { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2312) },
|
|
|
a2ca9b |
+ { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2322) },
|
|
|
a2ca9b |
+ { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP6312) },
|
|
|
a2ca9b |
+ { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP6322) },
|
|
|
a2ca9b |
+ { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2422) },
|
|
|
a2ca9b |
+ { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2432) },
|
|
|
a2ca9b |
+ { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP8432) },
|
|
|
a2ca9b |
+ { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP5422) },
|
|
|
a2ca9b |
+ { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP5432) },
|
|
|
a2ca9b |
{ PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2532) },
|
|
|
a2ca9b |
{ PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2031) },
|
|
|
a2ca9b |
+ { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP8001) },
|
|
|
a2ca9b |
+ { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP8021) },
|
|
|
a2ca9b |
{ PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP8031) },
|
|
|
a2ca9b |
+ { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISPF001) },
|
|
|
a2ca9b |
+ { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP8044) },
|
|
|
a2ca9b |
{ PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2071) },
|
|
|
a2ca9b |
{ PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2271) },
|
|
|
a2ca9b |
{ PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2261) },
|