diff options
author | Andrew Vasquez <andrew.vasquez@qlogic.com> | 2009-06-03 12:55:22 -0400 |
---|---|---|
committer | James Bottomley <James.Bottomley@HansenPartnership.com> | 2009-06-08 15:46:49 -0400 |
commit | 9f8fddeef2264a0315032b0aa2ee0052dad90076 (patch) | |
tree | 4a110df2b3745638887dd0ddbbc2020c227c0035 /drivers/scsi | |
parent | f4658b6ccc9d54b28b89004accc989db185b6a2e (diff) |
[SCSI] qla2xxx: Add 10Gb iiDMA support.
Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Diffstat (limited to 'drivers/scsi')
-rw-r--r-- | drivers/scsi/qla2xxx/qla_gs.c | 3 | ||||
-rw-r--r-- | drivers/scsi/qla2xxx/qla_init.c | 10 |
2 files changed, 11 insertions, 2 deletions
diff --git a/drivers/scsi/qla2xxx/qla_gs.c b/drivers/scsi/qla2xxx/qla_gs.c index 3dbb9e73e80..917534b9f22 100644 --- a/drivers/scsi/qla2xxx/qla_gs.c +++ b/drivers/scsi/qla2xxx/qla_gs.c | |||
@@ -1879,6 +1879,9 @@ qla2x00_gpsc(scsi_qla_host_t *vha, sw_info_t *list) | |||
1879 | case BIT_13: | 1879 | case BIT_13: |
1880 | list[i].fp_speed = PORT_SPEED_4GB; | 1880 | list[i].fp_speed = PORT_SPEED_4GB; |
1881 | break; | 1881 | break; |
1882 | case BIT_12: | ||
1883 | list[i].fp_speed = PORT_SPEED_10GB; | ||
1884 | break; | ||
1882 | case BIT_11: | 1885 | case BIT_11: |
1883 | list[i].fp_speed = PORT_SPEED_8GB; | 1886 | list[i].fp_speed = PORT_SPEED_8GB; |
1884 | break; | 1887 | break; |
diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c index d145de0d2c2..cb4d9526363 100644 --- a/drivers/scsi/qla2xxx/qla_init.c +++ b/drivers/scsi/qla2xxx/qla_init.c | |||
@@ -2248,7 +2248,8 @@ static void | |||
2248 | qla2x00_iidma_fcport(scsi_qla_host_t *vha, fc_port_t *fcport) | 2248 | qla2x00_iidma_fcport(scsi_qla_host_t *vha, fc_port_t *fcport) |
2249 | { | 2249 | { |
2250 | #define LS_UNKNOWN 2 | 2250 | #define LS_UNKNOWN 2 |
2251 | static char *link_speeds[5] = { "1", "2", "?", "4", "8" }; | 2251 | static char *link_speeds[] = { "1", "2", "?", "4", "8", "10" }; |
2252 | char *link_speed; | ||
2252 | int rval; | 2253 | int rval; |
2253 | uint16_t mb[6]; | 2254 | uint16_t mb[6]; |
2254 | struct qla_hw_data *ha = vha->hw; | 2255 | struct qla_hw_data *ha = vha->hw; |
@@ -2271,10 +2272,15 @@ qla2x00_iidma_fcport(scsi_qla_host_t *vha, fc_port_t *fcport) | |||
2271 | fcport->port_name[6], fcport->port_name[7], rval, | 2272 | fcport->port_name[6], fcport->port_name[7], rval, |
2272 | fcport->fp_speed, mb[0], mb[1])); | 2273 | fcport->fp_speed, mb[0], mb[1])); |
2273 | } else { | 2274 | } else { |
2275 | link_speed = link_speeds[LS_UNKNOWN]; | ||
2276 | if (fcport->fp_speed < 5) | ||
2277 | link_speed = link_speeds[fcport->fp_speed]; | ||
2278 | else if (fcport->fp_speed == 0x13) | ||
2279 | link_speed = link_speeds[5]; | ||
2274 | DEBUG2(qla_printk(KERN_INFO, ha, | 2280 | DEBUG2(qla_printk(KERN_INFO, ha, |
2275 | "iIDMA adjusted to %s GB/s on " | 2281 | "iIDMA adjusted to %s GB/s on " |
2276 | "%02x%02x%02x%02x%02x%02x%02x%02x.\n", | 2282 | "%02x%02x%02x%02x%02x%02x%02x%02x.\n", |
2277 | link_speeds[fcport->fp_speed], fcport->port_name[0], | 2283 | link_speed, fcport->port_name[0], |
2278 | fcport->port_name[1], fcport->port_name[2], | 2284 | fcport->port_name[1], fcport->port_name[2], |
2279 | fcport->port_name[3], fcport->port_name[4], | 2285 | fcport->port_name[3], fcport->port_name[4], |
2280 | fcport->port_name[5], fcport->port_name[6], | 2286 | fcport->port_name[5], fcport->port_name[6], |