diff options
author | Andrew Vasquez <andrew.vasquez@qlogic.com> | 2010-02-18 13:07:28 -0500 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2010-02-19 11:47:05 -0500 |
commit | ae97c91eb1f139b19c1e7cbc5c1380dae8ad874e (patch) | |
tree | a2a4efad1c00a01fabd6bee230b49177d2581a5c /drivers/scsi/qla2xxx | |
parent | bb2d52b2fd8b19355957e34271f79917f69e4059 (diff) |
[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/qla2xxx')
-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 238f353b6b42..c41da402f607 100644 --- a/drivers/scsi/qla2xxx/qla_gbl.h +++ b/drivers/scsi/qla2xxx/qla_gbl.h | |||
@@ -78,6 +78,7 @@ extern int ql2xiidmaenable; | |||
78 | extern int ql2xmaxqueues; | 78 | extern int ql2xmaxqueues; |
79 | extern int ql2xmultique_tag; | 79 | extern int ql2xmultique_tag; |
80 | extern int ql2xfwloadbin; | 80 | extern int ql2xfwloadbin; |
81 | extern int ql2xetsenable; | ||
81 | 82 | ||
82 | extern int qla2x00_loop_reset(scsi_qla_host_t *); | 83 | extern int qla2x00_loop_reset(scsi_qla_host_t *); |
83 | extern void qla2x00_abort_all_cmds(scsi_qla_host_t *, int); | 84 | 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 96a609ba25fb..a67b2bafb882 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) | |||
4892 | } | 4892 | } |
4893 | 4893 | ||
4894 | void | 4894 | void |
4895 | qla81xx_update_fw_options(scsi_qla_host_t *ha) | 4895 | qla81xx_update_fw_options(scsi_qla_host_t *vha) |
4896 | { | 4896 | { |
4897 | struct qla_hw_data *ha = vha->hw; | ||
4898 | |||
4899 | if (!ql2xetsenable) | ||
4900 | return; | ||
4901 | |||
4902 | /* Enable ETS Burst. */ | ||
4903 | memset(ha->fw_options, 0, sizeof(ha->fw_options)); | ||
4904 | ha->fw_options[2] |= BIT_9; | ||
4905 | qla2x00_set_fw_options(vha, ha->fw_options); | ||
4897 | } | 4906 | } |
diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c index 7964a11cca26..a1aef661108b 100644 --- a/drivers/scsi/qla2xxx/qla_os.c +++ b/drivers/scsi/qla2xxx/qla_os.c | |||
@@ -107,6 +107,12 @@ MODULE_PARM_DESC(ql2xfwloadbin, | |||
107 | " 1 -- load firmware from flash.\n" | 107 | " 1 -- load firmware from flash.\n" |
108 | " 0 -- use default semantics.\n"); | 108 | " 0 -- use default semantics.\n"); |
109 | 109 | ||
110 | int ql2xetsenable; | ||
111 | module_param(ql2xetsenable, int, S_IRUGO|S_IRUSR); | ||
112 | MODULE_PARM_DESC(ql2xetsenable, | ||
113 | "Enables firmware ETS burst." | ||
114 | "Default is 0 - skip ETS enablement."); | ||
115 | |||
110 | /* | 116 | /* |
111 | * SCSI host template entry points | 117 | * SCSI host template entry points |
112 | */ | 118 | */ |