[SCSI] qla2xxx: Add an override option to specify ISP firmware load semantics.
authorAndrew Vasquez <andrew.vasquez@qlogic.com>
Tue, 7 Apr 2009 05:33:49 +0000 (22:33 -0700)
committerJames Bottomley <James.Bottomley@HansenPartnership.com>
Wed, 20 May 2009 22:21:11 +0000 (17:21 -0500)
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>
drivers/scsi/qla2xxx/qla_gbl.h
drivers/scsi/qla2xxx/qla_init.c
drivers/scsi/qla2xxx/qla_os.c

index 5347e35e7d6182295648515e2ddde11fb9b7e166..f17d525897a0b240399866ee08b6f33535514b3e 100644 (file)
@@ -69,6 +69,7 @@ extern int ql2xqfulltracking;
 extern int ql2xiidmaenable;
 extern int ql2xmaxqueues;
 extern int ql2xmultique_tag;
+extern int ql2xfwloadbin;
 
 extern int qla2x00_loop_reset(scsi_qla_host_t *);
 extern void qla2x00_abort_all_cmds(scsi_qla_host_t *, int);
index 138ae88e9e4df92a85f7f83bf32b5c58792e33be..4952fc19aa20c37e51cb82af6e00bd0b0169a425 100644 (file)
@@ -4111,6 +4111,9 @@ qla24xx_load_risc(scsi_qla_host_t *vha, uint32_t *srisc_addr)
 {
        int rval;
 
+       if (ql2xfwloadbin == 1)
+               return qla81xx_load_risc(vha, srisc_addr);
+
        /*
         * FW Load priority:
         * 1) Firmware via request-firmware interface (.bin file).
@@ -4128,6 +4131,9 @@ qla81xx_load_risc(scsi_qla_host_t *vha, uint32_t *srisc_addr)
 {
        int rval;
 
+       if (ql2xfwloadbin == 2)
+               return qla24xx_load_risc(vha, srisc_addr);
+
        /*
         * FW Load priority:
         * 1) Firmware residing in flash.
index 155a204ed8e5e71c45ba0d307e907155b5f1ec64..88a75d0a8d7e9c416c161b561332eb1b4fb9f85d 100644 (file)
@@ -111,6 +111,16 @@ MODULE_PARM_DESC(ql2xmultique_tag,
                "Enables CPU affinity settings for the driver "
                "Default is 0 for no affinity of request and response IO. "
                "Set it to 1 to turn on the cpu affinity.");
+
+int ql2xfwloadbin;
+module_param(ql2xfwloadbin, int, S_IRUGO|S_IRUSR);
+MODULE_PARM_DESC(ql2xfwloadbin,
+               "Option to specify location from which to load ISP firmware:\n"
+               " 2 -- load firmware via the request_firmware() (hotplug)\n"
+               "      interface.\n"
+               " 1 -- load firmware from flash.\n"
+               " 0 -- use default semantics.\n");
+
 /*
  * SCSI host template entry points
  */