diff options
author | Andrew Vasquez <andrew.vasquez@qlogic.com> | 2006-06-23 19:10:29 -0400 |
---|---|---|
committer | James Bottomley <jejb@mulgrave.il.steeleye.com> | 2006-06-26 17:20:44 -0400 |
commit | a7a167bf7e2d196fc33f292e7b02e90fee03bc9a (patch) | |
tree | 1e62085065440e012a7cd2d48cd161bfac408adc /drivers/scsi/qla2xxx/qla_dbg.h | |
parent | 9ea7290902abcf22f796e9aeae4dc2e71d3f7e67 (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.h | 41 |
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 | ||
183 | struct qla2300_fw_dump { | 180 | struct 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 | |||
229 | struct qla24xx_fw_dump { | 224 | struct 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 | |||
260 | struct 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 | }; | ||