diff options
author | Andrew Vasquez <andrew.vasquez@qlogic.com> | 2010-02-18 10:07:28 -0800 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2010-02-19 10:47:05 -0600 |
commit | ae97c91eb1f139b19c1e7cbc5c1380dae8ad874e (patch) | |
tree | a2a4efad1c00a01fabd6bee230b49177d2581a5c /drivers/scsi | |
parent | bb2d52b2fd8b19355957e34271f79917f69e4059 (diff) | |
download | op-kernel-dev-ae97c91eb1f139b19c1e7cbc5c1380dae8ad874e.zip op-kernel-dev-ae97c91eb1f139b19c1e7cbc5c1380dae8ad874e.tar.gz |
[SCSI] qla2xxx: Add firmware ETS burst support.
Can be used to balance NIC/FCoE traffic distribution.
Cc: stable@kernel.org
Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: Giridhar Malavali <giridhar.malavali@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/scsi')
-rw-r--r-- | drivers/scsi/qla2xxx/qla_gbl.h | 1 | ||||
-rw-r--r-- | drivers/scsi/qla2xxx/qla_init.c | 11 | ||||
-rw-r--r-- | drivers/scsi/qla2xxx/qla_os.c | 6 |
3 files changed, 17 insertions, 1 deletions
diff --git a/drivers/scsi/qla2xxx/qla_gbl.h b/drivers/scsi/qla2xxx/qla_gbl.h index 238f353..c41da40 100644 --- a/drivers/scsi/qla2xxx/qla_gbl.h +++ b/drivers/scsi/qla2xxx/qla_gbl.h @@ -78,6 +78,7 @@ extern int ql2xiidmaenable; extern int ql2xmaxqueues; extern int ql2xmultique_tag; extern int ql2xfwloadbin; +extern int ql2xetsenable; extern int qla2x00_loop_reset(scsi_qla_host_t *); extern void qla2x00_abort_all_cmds(scsi_qla_host_t *, int); diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c index 96a609b..a67b2ba 100644 --- a/drivers/scsi/qla2xxx/qla_init.c +++ b/drivers/scsi/qla2xxx/qla_init.c @@ -4892,6 +4892,15 @@ qla81xx_nvram_config(scsi_qla_host_t *vha) } void -qla81xx_update_fw_options(scsi_qla_host_t *ha) +qla81xx_update_fw_options(scsi_qla_host_t *vha) { + struct qla_hw_data *ha = vha->hw; + + if (!ql2xetsenable) + return; + + /* Enable ETS Burst. */ + memset(ha->fw_options, 0, sizeof(ha->fw_options)); + ha->fw_options[2] |= BIT_9; + qla2x00_set_fw_options(vha, ha->fw_options); } diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c index 7964a11..a1aef66 100644 --- a/drivers/scsi/qla2xxx/qla_os.c +++ b/drivers/scsi/qla2xxx/qla_os.c @@ -107,6 +107,12 @@ MODULE_PARM_DESC(ql2xfwloadbin, " 1 -- load firmware from flash.\n" " 0 -- use default semantics.\n"); +int ql2xetsenable; +module_param(ql2xetsenable, int, S_IRUGO|S_IRUSR); +MODULE_PARM_DESC(ql2xetsenable, + "Enables firmware ETS burst." + "Default is 0 - skip ETS enablement."); + /* * SCSI host template entry points */ |