aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Vasquez <andrew.vasquez@qlogic.com>2009-04-07 01:33:49 -0400
committerJames Bottomley <James.Bottomley@HansenPartnership.com>2009-05-20 18:21:11 -0400
commite337d9070e5821e7c8e5973679bdd34376263bd1 (patch)
tree6c0ac2b24d6b8eca0fadc632f9f70c90cdcf4c31
parentb469a7cbe9bf68939c90f4ac6bc2bb99e47d7229 (diff)
[SCSI] qla2xxx: Add an override option to specify ISP firmware load semantics.
As it may be useful during debugging to use a specific firmware image. Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
-rw-r--r--drivers/scsi/qla2xxx/qla_gbl.h1
-rw-r--r--drivers/scsi/qla2xxx/qla_init.c6
-rw-r--r--drivers/scsi/qla2xxx/qla_os.c10
3 files changed, 17 insertions, 0 deletions
diff --git a/drivers/scsi/qla2xxx/qla_gbl.h b/drivers/scsi/qla2xxx/qla_gbl.h
index 5347e35e7d61..f17d525897a0 100644
--- a/drivers/scsi/qla2xxx/qla_gbl.h
+++ b/drivers/scsi/qla2xxx/qla_gbl.h
@@ -69,6 +69,7 @@ extern int ql2xqfulltracking;
69extern int ql2xiidmaenable; 69extern int ql2xiidmaenable;
70extern int ql2xmaxqueues; 70extern int ql2xmaxqueues;
71extern int ql2xmultique_tag; 71extern int ql2xmultique_tag;
72extern int ql2xfwloadbin;
72 73
73extern int qla2x00_loop_reset(scsi_qla_host_t *); 74extern int qla2x00_loop_reset(scsi_qla_host_t *);
74extern void qla2x00_abort_all_cmds(scsi_qla_host_t *, int); 75extern 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 138ae88e9e4d..4952fc19aa20 100644
--- a/drivers/scsi/qla2xxx/qla_init.c
+++ b/drivers/scsi/qla2xxx/qla_init.c
@@ -4111,6 +4111,9 @@ qla24xx_load_risc(scsi_qla_host_t *vha, uint32_t *srisc_addr)
4111{ 4111{
4112 int rval; 4112 int rval;
4113 4113
4114 if (ql2xfwloadbin == 1)
4115 return qla81xx_load_risc(vha, srisc_addr);
4116
4114 /* 4117 /*
4115 * FW Load priority: 4118 * FW Load priority:
4116 * 1) Firmware via request-firmware interface (.bin file). 4119 * 1) Firmware via request-firmware interface (.bin file).
@@ -4128,6 +4131,9 @@ qla81xx_load_risc(scsi_qla_host_t *vha, uint32_t *srisc_addr)
4128{ 4131{
4129 int rval; 4132 int rval;
4130 4133
4134 if (ql2xfwloadbin == 2)
4135 return qla24xx_load_risc(vha, srisc_addr);
4136
4131 /* 4137 /*
4132 * FW Load priority: 4138 * FW Load priority:
4133 * 1) Firmware residing in flash. 4139 * 1) Firmware residing in flash.
diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c
index 155a204ed8e5..88a75d0a8d7e 100644
--- a/drivers/scsi/qla2xxx/qla_os.c
+++ b/drivers/scsi/qla2xxx/qla_os.c
@@ -111,6 +111,16 @@ MODULE_PARM_DESC(ql2xmultique_tag,
111 "Enables CPU affinity settings for the driver " 111 "Enables CPU affinity settings for the driver "
112 "Default is 0 for no affinity of request and response IO. " 112 "Default is 0 for no affinity of request and response IO. "
113 "Set it to 1 to turn on the cpu affinity."); 113 "Set it to 1 to turn on the cpu affinity.");
114
115int ql2xfwloadbin;
116module_param(ql2xfwloadbin, int, S_IRUGO|S_IRUSR);
117MODULE_PARM_DESC(ql2xfwloadbin,
118 "Option to specify location from which to load ISP firmware:\n"
119 " 2 -- load firmware via the request_firmware() (hotplug)\n"
120 " interface.\n"
121 " 1 -- load firmware from flash.\n"
122 " 0 -- use default semantics.\n");
123
114/* 124/*
115 * SCSI host template entry points 125 * SCSI host template entry points
116 */ 126 */