aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/ipr.h
diff options
context:
space:
mode:
authorKleber Sacilotto de Souza <klebers@linux.vnet.ibm.com>2011-04-26 18:23:29 -0400
committerJames Bottomley <James.Bottomley@suse.de>2011-05-01 13:09:20 -0400
commit4d4dd7065572225bf6d97e5eb9915d94f9d53548 (patch)
tree5c73ad19f4f39a76251db0fae2ea3e04e9391a71 /drivers/scsi/ipr.h
parent0b15fb1fdfd403726542cb6111bc916b7a9f7fad (diff)
[SCSI] ipr: increase the dump size for 64 bit adapters
Currently the size of the dump generated by the driver is limited in 4MB, which is insufficient to gather much useful data from the new 64 bit adapters. This patch makes the needed changes to increase the dump limit for the 64 bit adapters to 32MB, or even to a bigger value in the future, but keeping the current limitations for the legacy 32 bit adapters. Signed-off-by: Kleber Sacilotto de Souza <klebers@linux.vnet.ibm.com> Acked-by: Brian King <brking@linux.vnet.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/scsi/ipr.h')
-rw-r--r--drivers/scsi/ipr.h16
1 files changed, 10 insertions, 6 deletions
diff --git a/drivers/scsi/ipr.h b/drivers/scsi/ipr.h
index 11b2dac71ab3..4e9701ee599d 100644
--- a/drivers/scsi/ipr.h
+++ b/drivers/scsi/ipr.h
@@ -217,7 +217,8 @@
217#define IPR_CHECK_FOR_RESET_TIMEOUT (HZ / 10) 217#define IPR_CHECK_FOR_RESET_TIMEOUT (HZ / 10)
218#define IPR_WAIT_FOR_BIST_TIMEOUT (2 * HZ) 218#define IPR_WAIT_FOR_BIST_TIMEOUT (2 * HZ)
219#define IPR_PCI_RESET_TIMEOUT (HZ / 2) 219#define IPR_PCI_RESET_TIMEOUT (HZ / 2)
220#define IPR_DUMP_TIMEOUT (15 * HZ) 220#define IPR_SIS32_DUMP_TIMEOUT (15 * HZ)
221#define IPR_SIS64_DUMP_TIMEOUT (40 * HZ)
221#define IPR_DUMP_DELAY_SECONDS 4 222#define IPR_DUMP_DELAY_SECONDS 4
222#define IPR_DUMP_DELAY_TIMEOUT (IPR_DUMP_DELAY_SECONDS * HZ) 223#define IPR_DUMP_DELAY_TIMEOUT (IPR_DUMP_DELAY_SECONDS * HZ)
223 224
@@ -285,9 +286,12 @@ IPR_PCII_NO_HOST_RRQ | IPR_PCII_IOARRIN_LOST | IPR_PCII_MMIO_ERROR)
285/* 286/*
286 * Dump literals 287 * Dump literals
287 */ 288 */
288#define IPR_MAX_IOA_DUMP_SIZE (4 * 1024 * 1024) 289#define IPR_FMT2_MAX_IOA_DUMP_SIZE (4 * 1024 * 1024)
289#define IPR_NUM_SDT_ENTRIES 511 290#define IPR_FMT3_MAX_IOA_DUMP_SIZE (32 * 1024 * 1024)
290#define IPR_MAX_NUM_DUMP_PAGES ((IPR_MAX_IOA_DUMP_SIZE / PAGE_SIZE) + 1) 291#define IPR_FMT2_NUM_SDT_ENTRIES 511
292#define IPR_FMT3_NUM_SDT_ENTRIES 0xFFF
293#define IPR_FMT2_MAX_NUM_DUMP_PAGES ((IPR_FMT2_MAX_IOA_DUMP_SIZE / PAGE_SIZE) + 1)
294#define IPR_FMT3_MAX_NUM_DUMP_PAGES ((IPR_FMT3_MAX_IOA_DUMP_SIZE / PAGE_SIZE) + 1)
291 295
292/* 296/*
293 * Misc literals 297 * Misc literals
@@ -1164,7 +1168,7 @@ struct ipr_sdt_header {
1164 1168
1165struct ipr_sdt { 1169struct ipr_sdt {
1166 struct ipr_sdt_header hdr; 1170 struct ipr_sdt_header hdr;
1167 struct ipr_sdt_entry entry[IPR_NUM_SDT_ENTRIES]; 1171 struct ipr_sdt_entry entry[IPR_FMT3_NUM_SDT_ENTRIES];
1168}__attribute__((packed, aligned (4))); 1172}__attribute__((packed, aligned (4)));
1169 1173
1170struct ipr_uc_sdt { 1174struct ipr_uc_sdt {
@@ -1608,7 +1612,7 @@ struct ipr_driver_dump {
1608struct ipr_ioa_dump { 1612struct ipr_ioa_dump {
1609 struct ipr_dump_entry_header hdr; 1613 struct ipr_dump_entry_header hdr;
1610 struct ipr_sdt sdt; 1614 struct ipr_sdt sdt;
1611 __be32 *ioa_data[IPR_MAX_NUM_DUMP_PAGES]; 1615 __be32 **ioa_data;
1612 u32 reserved; 1616 u32 reserved;
1613 u32 next_page_index; 1617 u32 next_page_index;
1614 u32 page_offset; 1618 u32 page_offset;