diff options
author | Andrew Vasquez <andrew.vasquez@qlogic.com> | 2007-07-19 18:05:57 -0400 |
---|---|---|
committer | James Bottomley <jejb@mulgrave.localdomain> | 2007-07-20 10:02:04 -0400 |
commit | c76f2c013f7fce83d54acd9d414af7e989e0a1dd (patch) | |
tree | a6ad292a7afce772d848354a11d8f3794b82ef2a /drivers/scsi | |
parent | e428924ccdf4644c58e23c2314ab970ff3afc607 (diff) |
[SCSI] qla2xxx: Generalize iIDMA support.
In preparation for new ISP types.
Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/scsi')
-rw-r--r-- | drivers/scsi/qla2xxx/qla_def.h | 2 | ||||
-rw-r--r-- | drivers/scsi/qla2xxx/qla_gs.c | 4 | ||||
-rw-r--r-- | drivers/scsi/qla2xxx/qla_init.c | 2 | ||||
-rw-r--r-- | drivers/scsi/qla2xxx/qla_mbx.c | 4 | ||||
-rw-r--r-- | drivers/scsi/qla2xxx/qla_os.c | 2 |
5 files changed, 9 insertions, 5 deletions
diff --git a/drivers/scsi/qla2xxx/qla_def.h b/drivers/scsi/qla2xxx/qla_def.h index b818c43e2f9e..d505c0456de3 100644 --- a/drivers/scsi/qla2xxx/qla_def.h +++ b/drivers/scsi/qla2xxx/qla_def.h | |||
@@ -2215,6 +2215,7 @@ typedef struct scsi_qla_host { | |||
2215 | #define DT_ISP5432 BIT_10 | 2215 | #define DT_ISP5432 BIT_10 |
2216 | #define DT_ISP_LAST (DT_ISP5432 << 1) | 2216 | #define DT_ISP_LAST (DT_ISP5432 << 1) |
2217 | 2217 | ||
2218 | #define DT_IIDMA BIT_26 | ||
2218 | #define DT_FWI2 BIT_27 | 2219 | #define DT_FWI2 BIT_27 |
2219 | #define DT_ZIO_SUPPORTED BIT_28 | 2220 | #define DT_ZIO_SUPPORTED BIT_28 |
2220 | #define DT_OEM_001 BIT_29 | 2221 | #define DT_OEM_001 BIT_29 |
@@ -2239,6 +2240,7 @@ typedef struct scsi_qla_host { | |||
2239 | #define IS_QLA24XX(ha) (IS_QLA2422(ha) || IS_QLA2432(ha)) | 2240 | #define IS_QLA24XX(ha) (IS_QLA2422(ha) || IS_QLA2432(ha)) |
2240 | #define IS_QLA54XX(ha) (IS_QLA5422(ha) || IS_QLA5432(ha)) | 2241 | #define IS_QLA54XX(ha) (IS_QLA5422(ha) || IS_QLA5432(ha)) |
2241 | 2242 | ||
2243 | #define IS_IIDMA_CAPABLE(ha) ((ha)->device_type & DT_IIDMA) | ||
2242 | #define IS_FWI2_CAPABLE(ha) ((ha)->device_type & DT_FWI2) | 2244 | #define IS_FWI2_CAPABLE(ha) ((ha)->device_type & DT_FWI2) |
2243 | #define IS_ZIO_SUPPORTED(ha) ((ha)->device_type & DT_ZIO_SUPPORTED) | 2245 | #define IS_ZIO_SUPPORTED(ha) ((ha)->device_type & DT_ZIO_SUPPORTED) |
2244 | #define IS_OEM_001(ha) ((ha)->device_type & DT_OEM_001) | 2246 | #define IS_OEM_001(ha) ((ha)->device_type & DT_OEM_001) |
diff --git a/drivers/scsi/qla2xxx/qla_gs.c b/drivers/scsi/qla2xxx/qla_gs.c index 16de9173719e..9be312331bcc 100644 --- a/drivers/scsi/qla2xxx/qla_gs.c +++ b/drivers/scsi/qla2xxx/qla_gs.c | |||
@@ -1678,7 +1678,7 @@ qla2x00_gfpn_id(scsi_qla_host_t *ha, sw_info_t *list) | |||
1678 | struct ct_sns_req *ct_req; | 1678 | struct ct_sns_req *ct_req; |
1679 | struct ct_sns_rsp *ct_rsp; | 1679 | struct ct_sns_rsp *ct_rsp; |
1680 | 1680 | ||
1681 | if (!IS_FWI2_CAPABLE(ha)) | 1681 | if (!IS_IIDMA_CAPABLE(ha)) |
1682 | return QLA_FUNCTION_FAILED; | 1682 | return QLA_FUNCTION_FAILED; |
1683 | 1683 | ||
1684 | for (i = 0; i < MAX_FIBRE_DEVICES; i++) { | 1684 | for (i = 0; i < MAX_FIBRE_DEVICES; i++) { |
@@ -1786,7 +1786,7 @@ qla2x00_gpsc(scsi_qla_host_t *ha, sw_info_t *list) | |||
1786 | struct ct_sns_req *ct_req; | 1786 | struct ct_sns_req *ct_req; |
1787 | struct ct_sns_rsp *ct_rsp; | 1787 | struct ct_sns_rsp *ct_rsp; |
1788 | 1788 | ||
1789 | if (!IS_FWI2_CAPABLE(ha)) | 1789 | if (!IS_IIDMA_CAPABLE(ha)) |
1790 | return QLA_FUNCTION_FAILED; | 1790 | return QLA_FUNCTION_FAILED; |
1791 | if (!ha->flags.gpsc_supported) | 1791 | if (!ha->flags.gpsc_supported) |
1792 | return QLA_FUNCTION_FAILED; | 1792 | return QLA_FUNCTION_FAILED; |
diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c index 7e53814daaa5..dbf64bb1f3db 100644 --- a/drivers/scsi/qla2xxx/qla_init.c +++ b/drivers/scsi/qla2xxx/qla_init.c | |||
@@ -2119,7 +2119,7 @@ qla2x00_iidma_fcport(scsi_qla_host_t *ha, fc_port_t *fcport) | |||
2119 | int rval; | 2119 | int rval; |
2120 | uint16_t port_speed, mb[6]; | 2120 | uint16_t port_speed, mb[6]; |
2121 | 2121 | ||
2122 | if (!IS_QLA24XX(ha)) | 2122 | if (!IS_IIDMA_CAPABLE(ha)) |
2123 | return; | 2123 | return; |
2124 | 2124 | ||
2125 | switch (be16_to_cpu(fcport->fp_speed)) { | 2125 | switch (be16_to_cpu(fcport->fp_speed)) { |
diff --git a/drivers/scsi/qla2xxx/qla_mbx.c b/drivers/scsi/qla2xxx/qla_mbx.c index 321acc2c98c6..d3746ec80a85 100644 --- a/drivers/scsi/qla2xxx/qla_mbx.c +++ b/drivers/scsi/qla2xxx/qla_mbx.c | |||
@@ -2552,7 +2552,7 @@ qla2x00_get_idma_speed(scsi_qla_host_t *ha, uint16_t loop_id, | |||
2552 | mbx_cmd_t mc; | 2552 | mbx_cmd_t mc; |
2553 | mbx_cmd_t *mcp = &mc; | 2553 | mbx_cmd_t *mcp = &mc; |
2554 | 2554 | ||
2555 | if (!IS_QLA24XX(ha)) | 2555 | if (!IS_IIDMA_CAPABLE(ha)) |
2556 | return QLA_FUNCTION_FAILED; | 2556 | return QLA_FUNCTION_FAILED; |
2557 | 2557 | ||
2558 | DEBUG11(printk("%s(%ld): entered.\n", __func__, ha->host_no)); | 2558 | DEBUG11(printk("%s(%ld): entered.\n", __func__, ha->host_no)); |
@@ -2595,7 +2595,7 @@ qla2x00_set_idma_speed(scsi_qla_host_t *ha, uint16_t loop_id, | |||
2595 | mbx_cmd_t mc; | 2595 | mbx_cmd_t mc; |
2596 | mbx_cmd_t *mcp = &mc; | 2596 | mbx_cmd_t *mcp = &mc; |
2597 | 2597 | ||
2598 | if (!IS_QLA24XX(ha)) | 2598 | if (!IS_IIDMA_CAPABLE(ha)) |
2599 | return QLA_FUNCTION_FAILED; | 2599 | return QLA_FUNCTION_FAILED; |
2600 | 2600 | ||
2601 | DEBUG11(printk("%s(%ld): entered.\n", __func__, ha->host_no)); | 2601 | DEBUG11(printk("%s(%ld): entered.\n", __func__, ha->host_no)); |
diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c index e246f944957d..d19fd7978f83 100644 --- a/drivers/scsi/qla2xxx/qla_os.c +++ b/drivers/scsi/qla2xxx/qla_os.c | |||
@@ -1239,12 +1239,14 @@ qla2x00_set_isp_flags(scsi_qla_host_t *ha) | |||
1239 | ha->device_type |= DT_ISP2422; | 1239 | ha->device_type |= DT_ISP2422; |
1240 | ha->device_type |= DT_ZIO_SUPPORTED; | 1240 | ha->device_type |= DT_ZIO_SUPPORTED; |
1241 | ha->device_type |= DT_FWI2; | 1241 | ha->device_type |= DT_FWI2; |
1242 | ha->device_type |= DT_IIDMA; | ||
1242 | ha->fw_srisc_address = RISC_START_ADDRESS_2400; | 1243 | ha->fw_srisc_address = RISC_START_ADDRESS_2400; |
1243 | break; | 1244 | break; |
1244 | case PCI_DEVICE_ID_QLOGIC_ISP2432: | 1245 | case PCI_DEVICE_ID_QLOGIC_ISP2432: |
1245 | ha->device_type |= DT_ISP2432; | 1246 | ha->device_type |= DT_ISP2432; |
1246 | ha->device_type |= DT_ZIO_SUPPORTED; | 1247 | ha->device_type |= DT_ZIO_SUPPORTED; |
1247 | ha->device_type |= DT_FWI2; | 1248 | ha->device_type |= DT_FWI2; |
1249 | ha->device_type |= DT_IIDMA; | ||
1248 | ha->fw_srisc_address = RISC_START_ADDRESS_2400; | 1250 | ha->fw_srisc_address = RISC_START_ADDRESS_2400; |
1249 | break; | 1251 | break; |
1250 | case PCI_DEVICE_ID_QLOGIC_ISP5422: | 1252 | case PCI_DEVICE_ID_QLOGIC_ISP5422: |