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 | |
| 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>
| -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 | */ |
