aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/qla2xxx
diff options
context:
space:
mode:
authorAndrew Vasquez <andrew.vasquez@qlogic.com>2007-07-19 18:05:57 -0400
committerJames Bottomley <jejb@mulgrave.localdomain>2007-07-20 10:02:04 -0400
commitc76f2c013f7fce83d54acd9d414af7e989e0a1dd (patch)
treea6ad292a7afce772d848354a11d8f3794b82ef2a /drivers/scsi/qla2xxx
parente428924ccdf4644c58e23c2314ab970ff3afc607 (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/qla2xxx')
-rw-r--r--drivers/scsi/qla2xxx/qla_def.h2
-rw-r--r--drivers/scsi/qla2xxx/qla_gs.c4
-rw-r--r--drivers/scsi/qla2xxx/qla_init.c2
-rw-r--r--drivers/scsi/qla2xxx/qla_mbx.c4
-rw-r--r--drivers/scsi/qla2xxx/qla_os.c2
5 files changed, 9 insertions, 5 deletions
diff --git a/drivers/scsi/qla2xxx/qla_def.h b/drivers/scsi/qla2xxx/qla_def.h
index b818c43e2f9..d505c0456de 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 16de9173719..9be312331bc 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 7e53814daaa..dbf64bb1f3d 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 321acc2c98c..d3746ec80a8 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 e246f944957..d19fd7978f8 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: