aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/qla2xxx/qla_dbg.h
diff options
context:
space:
mode:
authorAndrew Vasquez <andrew.vasquez@qlogic.com>2006-06-23 19:10:29 -0400
committerJames Bottomley <jejb@mulgrave.il.steeleye.com>2006-06-26 17:20:44 -0400
commita7a167bf7e2d196fc33f292e7b02e90fee03bc9a (patch)
tree1e62085065440e012a7cd2d48cd161bfac408adc /drivers/scsi/qla2xxx/qla_dbg.h
parent9ea7290902abcf22f796e9aeae4dc2e71d3f7e67 (diff)
[SCSI] qla2xxx: Rework firmware-trace facilities.
- Defer firmware dump-data raw-to-textual conversion to user-space. - Add module parameter (ql2xallocfwdump) to allow for per-HBA allocations of firmware dump memory. - Dump request and response queue data as per firmware group request. - Add extended firmware trace support for ISP24XX/ISP54XX chips. Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/scsi/qla2xxx/qla_dbg.h')
-rw-r--r--drivers/scsi/qla2xxx/qla_dbg.h41
1 files changed, 36 insertions, 5 deletions
diff --git a/drivers/scsi/qla2xxx/qla_dbg.h b/drivers/scsi/qla2xxx/qla_dbg.h
index ab6afeaa2f2c..ace6afdfe708 100644
--- a/drivers/scsi/qla2xxx/qla_dbg.h
+++ b/drivers/scsi/qla2xxx/qla_dbg.h
@@ -176,9 +176,6 @@
176/* 176/*
177 * Firmware Dump structure definition 177 * Firmware Dump structure definition
178 */ 178 */
179#define FW_DUMP_SIZE_128K 0xBC000
180#define FW_DUMP_SIZE_512K 0x2FC000
181#define FW_DUMP_SIZE_1M 0x5FC000
182 179
183struct qla2300_fw_dump { 180struct qla2300_fw_dump {
184 uint16_t hccr; 181 uint16_t hccr;
@@ -224,8 +221,6 @@ struct qla2100_fw_dump {
224 uint16_t risc_ram[0xf000]; 221 uint16_t risc_ram[0xf000];
225}; 222};
226 223
227#define FW_DUMP_SIZE_24XX 0x2B0000
228
229struct qla24xx_fw_dump { 224struct qla24xx_fw_dump {
230 uint32_t host_status; 225 uint32_t host_status;
231 uint32_t host_reg[32]; 226 uint32_t host_reg[32];
@@ -257,3 +252,39 @@ struct qla24xx_fw_dump {
257 uint32_t code_ram[0x2000]; 252 uint32_t code_ram[0x2000];
258 uint32_t ext_mem[1]; 253 uint32_t ext_mem[1];
259}; 254};
255
256#define EFT_NUM_BUFFERS 4
257#define EFT_BYTES_PER_BUFFER 0x4000
258#define EFT_SIZE ((EFT_BYTES_PER_BUFFER) * (EFT_NUM_BUFFERS))
259
260struct qla2xxx_fw_dump {
261 uint8_t signature[4];
262 uint32_t version;
263
264 uint32_t fw_major_version;
265 uint32_t fw_minor_version;
266 uint32_t fw_subminor_version;
267 uint32_t fw_attributes;
268
269 uint32_t vendor;
270 uint32_t device;
271 uint32_t subsystem_vendor;
272 uint32_t subsystem_device;
273
274 uint32_t fixed_size;
275 uint32_t mem_size;
276 uint32_t req_q_size;
277 uint32_t rsp_q_size;
278
279 uint32_t eft_size;
280 uint32_t eft_addr_l;
281 uint32_t eft_addr_h;
282
283 uint32_t header_size;
284
285 union {
286 struct qla2100_fw_dump isp21;
287 struct qla2300_fw_dump isp23;
288 struct qla24xx_fw_dump isp24;
289 } isp;
290};