[SCSI] qla2xxx: Add firmware ETS burst support.
authorAndrew Vasquez <andrew.vasquez@qlogic.com>
Thu, 18 Feb 2010 18:07:28 +0000 (10:07 -0800)
committerJames Bottomley <James.Bottomley@suse.de>
Fri, 19 Feb 2010 16:47:05 +0000 (10:47 -0600)
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>
drivers/scsi/qla2xxx/qla_gbl.h
drivers/scsi/qla2xxx/qla_init.c
drivers/scsi/qla2xxx/qla_os.c

index 238f353..c41da40 100644 (file)
@@ -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);
index 96a609b..a67b2ba 100644 (file)
@@ -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);
 }
index 7964a11..a1aef66 100644 (file)
@@ -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
  */