diff options
author | Andrew Vasquez <andrew.vasquez@qlogic.com> | 2009-04-07 01:33:49 -0400 |
---|---|---|
committer | James Bottomley <James.Bottomley@HansenPartnership.com> | 2009-05-20 18:21:11 -0400 |
commit | e337d9070e5821e7c8e5973679bdd34376263bd1 (patch) | |
tree | 6c0ac2b24d6b8eca0fadc632f9f70c90cdcf4c31 | |
parent | b469a7cbe9bf68939c90f4ac6bc2bb99e47d7229 (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.h | 1 | ||||
-rw-r--r-- | drivers/scsi/qla2xxx/qla_init.c | 6 | ||||
-rw-r--r-- | drivers/scsi/qla2xxx/qla_os.c | 10 |
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; | |||
69 | extern int ql2xiidmaenable; | 69 | extern int ql2xiidmaenable; |
70 | extern int ql2xmaxqueues; | 70 | extern int ql2xmaxqueues; |
71 | extern int ql2xmultique_tag; | 71 | extern int ql2xmultique_tag; |
72 | extern int ql2xfwloadbin; | ||
72 | 73 | ||
73 | extern int qla2x00_loop_reset(scsi_qla_host_t *); | 74 | extern int qla2x00_loop_reset(scsi_qla_host_t *); |
74 | extern void qla2x00_abort_all_cmds(scsi_qla_host_t *, int); | 75 | 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 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 | |||
115 | int ql2xfwloadbin; | ||
116 | module_param(ql2xfwloadbin, int, S_IRUGO|S_IRUSR); | ||
117 | MODULE_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 | */ |