diff options
author | Harihara Kadayam <harihara.kadayam@qlogic.com> | 2008-04-03 16:13:26 -0400 |
---|---|---|
committer | James Bottomley <James.Bottomley@HansenPartnership.com> | 2008-04-07 13:19:15 -0400 |
commit | 4d4df1932b6b116aecc81039066fec27f2050762 (patch) | |
tree | ee02f449a0bb456e40fcdb5287609b98e8e8f62f /drivers/scsi/qla2xxx/qla_os.c | |
parent | b93480e319654b8921364b49528532dff4822a45 (diff) |
[SCSI] qla2xxx: Add ISP84XX support.
Signed-off-by: Ravi Anand <ravi.anand@qlogic.com>
Additional cleanups and
Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Diffstat (limited to 'drivers/scsi/qla2xxx/qla_os.c')
-rw-r--r-- | drivers/scsi/qla2xxx/qla_os.c | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c index 5cddc503bd2b..4c50b9b53d23 100644 --- a/drivers/scsi/qla2xxx/qla_os.c +++ b/drivers/scsi/qla2xxx/qla_os.c | |||
@@ -339,6 +339,8 @@ qla24xx_fw_version_str(struct scsi_qla_host *ha, char *str) | |||
339 | strcat(str, "[T10 CRC] "); | 339 | strcat(str, "[T10 CRC] "); |
340 | if (ha->fw_attributes & BIT_5) | 340 | if (ha->fw_attributes & BIT_5) |
341 | strcat(str, "[VI] "); | 341 | strcat(str, "[VI] "); |
342 | if (ha->fw_attributes & BIT_10) | ||
343 | strcat(str, "[84XX] "); | ||
342 | if (ha->fw_attributes & BIT_13) | 344 | if (ha->fw_attributes & BIT_13) |
343 | strcat(str, "[Experimental]"); | 345 | strcat(str, "[Experimental]"); |
344 | return str; | 346 | return str; |
@@ -1378,6 +1380,13 @@ qla2x00_set_isp_flags(scsi_qla_host_t *ha) | |||
1378 | ha->device_type |= DT_IIDMA; | 1380 | ha->device_type |= DT_IIDMA; |
1379 | ha->fw_srisc_address = RISC_START_ADDRESS_2400; | 1381 | ha->fw_srisc_address = RISC_START_ADDRESS_2400; |
1380 | break; | 1382 | break; |
1383 | case PCI_DEVICE_ID_QLOGIC_ISP8432: | ||
1384 | ha->device_type |= DT_ISP8432; | ||
1385 | ha->device_type |= DT_ZIO_SUPPORTED; | ||
1386 | ha->device_type |= DT_FWI2; | ||
1387 | ha->device_type |= DT_IIDMA; | ||
1388 | ha->fw_srisc_address = RISC_START_ADDRESS_2400; | ||
1389 | break; | ||
1381 | case PCI_DEVICE_ID_QLOGIC_ISP5422: | 1390 | case PCI_DEVICE_ID_QLOGIC_ISP5422: |
1382 | ha->device_type |= DT_ISP5422; | 1391 | ha->device_type |= DT_ISP5422; |
1383 | ha->device_type |= DT_FWI2; | 1392 | ha->device_type |= DT_FWI2; |
@@ -1501,6 +1510,7 @@ qla2x00_probe_one(struct pci_dev *pdev, const struct pci_device_id *id) | |||
1501 | sht = &qla2x00_driver_template; | 1510 | sht = &qla2x00_driver_template; |
1502 | if (pdev->device == PCI_DEVICE_ID_QLOGIC_ISP2422 || | 1511 | if (pdev->device == PCI_DEVICE_ID_QLOGIC_ISP2422 || |
1503 | pdev->device == PCI_DEVICE_ID_QLOGIC_ISP2432 || | 1512 | pdev->device == PCI_DEVICE_ID_QLOGIC_ISP2432 || |
1513 | pdev->device == PCI_DEVICE_ID_QLOGIC_ISP8432 || | ||
1504 | pdev->device == PCI_DEVICE_ID_QLOGIC_ISP5422 || | 1514 | pdev->device == PCI_DEVICE_ID_QLOGIC_ISP5422 || |
1505 | pdev->device == PCI_DEVICE_ID_QLOGIC_ISP5432 || | 1515 | pdev->device == PCI_DEVICE_ID_QLOGIC_ISP5432 || |
1506 | pdev->device == PCI_DEVICE_ID_QLOGIC_ISP2532) { | 1516 | pdev->device == PCI_DEVICE_ID_QLOGIC_ISP2532) { |
@@ -1591,7 +1601,7 @@ qla2x00_probe_one(struct pci_dev *pdev, const struct pci_device_id *id) | |||
1591 | if (IS_QLA2322(ha) || IS_QLA6322(ha)) | 1601 | if (IS_QLA2322(ha) || IS_QLA6322(ha)) |
1592 | ha->optrom_size = OPTROM_SIZE_2322; | 1602 | ha->optrom_size = OPTROM_SIZE_2322; |
1593 | ha->isp_ops = &qla2300_isp_ops; | 1603 | ha->isp_ops = &qla2300_isp_ops; |
1594 | } else if (IS_QLA24XX(ha) || IS_QLA54XX(ha)) { | 1604 | } else if (IS_QLA24XX_TYPE(ha)) { |
1595 | host->max_id = MAX_TARGETS_2200; | 1605 | host->max_id = MAX_TARGETS_2200; |
1596 | ha->mbx_count = MAILBOX_REGISTER_COUNT; | 1606 | ha->mbx_count = MAILBOX_REGISTER_COUNT; |
1597 | ha->request_q_length = REQUEST_ENTRY_CNT_24XX; | 1607 | ha->request_q_length = REQUEST_ENTRY_CNT_24XX; |
@@ -1736,6 +1746,8 @@ qla2x00_remove_one(struct pci_dev *pdev) | |||
1736 | 1746 | ||
1737 | qla2x00_dfs_remove(ha); | 1747 | qla2x00_dfs_remove(ha); |
1738 | 1748 | ||
1749 | qla84xx_put_chip(ha); | ||
1750 | |||
1739 | qla2x00_free_sysfs_attr(ha); | 1751 | qla2x00_free_sysfs_attr(ha); |
1740 | 1752 | ||
1741 | fc_remove_host(ha->host); | 1753 | fc_remove_host(ha->host); |
@@ -2642,7 +2654,7 @@ qla2x00_request_firmware(scsi_qla_host_t *ha) | |||
2642 | blob = &qla_fw_blobs[FW_ISP2300]; | 2654 | blob = &qla_fw_blobs[FW_ISP2300]; |
2643 | } else if (IS_QLA2322(ha) || IS_QLA6322(ha)) { | 2655 | } else if (IS_QLA2322(ha) || IS_QLA6322(ha)) { |
2644 | blob = &qla_fw_blobs[FW_ISP2322]; | 2656 | blob = &qla_fw_blobs[FW_ISP2322]; |
2645 | } else if (IS_QLA24XX(ha) || IS_QLA54XX(ha)) { | 2657 | } else if (IS_QLA24XX_TYPE(ha)) { |
2646 | blob = &qla_fw_blobs[FW_ISP24XX]; | 2658 | blob = &qla_fw_blobs[FW_ISP24XX]; |
2647 | } else if (IS_QLA25XX(ha)) { | 2659 | } else if (IS_QLA25XX(ha)) { |
2648 | blob = &qla_fw_blobs[FW_ISP25XX]; | 2660 | blob = &qla_fw_blobs[FW_ISP25XX]; |
@@ -2792,6 +2804,7 @@ static struct pci_device_id qla2xxx_pci_tbl[] = { | |||
2792 | { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP6322) }, | 2804 | { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP6322) }, |
2793 | { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2422) }, | 2805 | { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2422) }, |
2794 | { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2432) }, | 2806 | { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2432) }, |
2807 | { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP8432) }, | ||
2795 | { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP5422) }, | 2808 | { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP5422) }, |
2796 | { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP5432) }, | 2809 | { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP5432) }, |
2797 | { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2532) }, | 2810 | { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2532) }, |