aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/ipr.h
diff options
context:
space:
mode:
authorWayne Boyer <wayneb@linux.vnet.ibm.com>2010-02-19 16:24:14 -0500
committerJames Bottomley <James.Bottomley@suse.de>2010-03-03 05:35:00 -0500
commitdcbad00e6b403089b1846e788bc1a0c67b2bfd2d (patch)
tree75b7d0408cd07eb3d4c863ade52dfda1510f9e8a /drivers/scsi/ipr.h
parent4565e3706329f65b5e64328b5369c53b6ab2715c (diff)
[SCSI] ipr: add hardware assisted smart dump functionality
This patch adds the hardware assisted smart dump functionality for the next generation IOA PCI interface chip. Signea-off-by: Wayne Boyer <wayneb@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 e6e90179e45e..4f2f1d2e9875 100644
--- a/drivers/scsi/ipr.h
+++ b/drivers/scsi/ipr.h
@@ -228,6 +228,7 @@
228#define IPR_SDT_FMT2_BAR5_SEL 0x5 228#define IPR_SDT_FMT2_BAR5_SEL 0x5
229#define IPR_SDT_FMT2_EXP_ROM_SEL 0x8 229#define IPR_SDT_FMT2_EXP_ROM_SEL 0x8
230#define IPR_FMT2_SDT_READY_TO_USE 0xC4D4E3F2 230#define IPR_FMT2_SDT_READY_TO_USE 0xC4D4E3F2
231#define IPR_FMT3_SDT_READY_TO_USE 0xC4D4E3F3
231#define IPR_DOORBELL 0x82800000 232#define IPR_DOORBELL 0x82800000
232#define IPR_RUNTIME_RESET 0x40000000 233#define IPR_RUNTIME_RESET 0x40000000
233 234
@@ -1093,10 +1094,9 @@ struct ipr_hostrcb {
1093 1094
1094/* IPR smart dump table structures */ 1095/* IPR smart dump table structures */
1095struct ipr_sdt_entry { 1096struct ipr_sdt_entry {
1096 __be32 bar_str_offset; 1097 __be32 start_token;
1097 __be32 end_offset; 1098 __be32 end_token;
1098 u8 entry_byte; 1099 u8 reserved[4];
1099 u8 reserved[3];
1100 1100
1101 u8 flags; 1101 u8 flags;
1102#define IPR_SDT_ENDIAN 0x80 1102#define IPR_SDT_ENDIAN 0x80
@@ -1204,6 +1204,9 @@ struct ipr_interrupt_offsets {
1204 unsigned long sense_uproc_interrupt_reg; 1204 unsigned long sense_uproc_interrupt_reg;
1205 unsigned long set_uproc_interrupt_reg; 1205 unsigned long set_uproc_interrupt_reg;
1206 unsigned long clr_uproc_interrupt_reg; 1206 unsigned long clr_uproc_interrupt_reg;
1207
1208 unsigned long dump_addr_reg;
1209 unsigned long dump_data_reg;
1207}; 1210};
1208 1211
1209struct ipr_interrupts { 1212struct ipr_interrupts {
@@ -1217,6 +1220,9 @@ struct ipr_interrupts {
1217 void __iomem *sense_uproc_interrupt_reg; 1220 void __iomem *sense_uproc_interrupt_reg;
1218 void __iomem *set_uproc_interrupt_reg; 1221 void __iomem *set_uproc_interrupt_reg;
1219 void __iomem *clr_uproc_interrupt_reg; 1222 void __iomem *clr_uproc_interrupt_reg;
1223
1224 void __iomem *dump_addr_reg;
1225 void __iomem *dump_data_reg;
1220}; 1226};
1221 1227
1222struct ipr_chip_cfg_t { 1228struct ipr_chip_cfg_t {
@@ -1536,8 +1542,6 @@ struct ipr_ioa_dump {
1536 u32 next_page_index; 1542 u32 next_page_index;
1537 u32 page_offset; 1543 u32 page_offset;
1538 u32 format; 1544 u32 format;
1539#define IPR_SDT_FMT2 2
1540#define IPR_SDT_UNKNOWN 3
1541}__attribute__((packed, aligned (4))); 1545}__attribute__((packed, aligned (4)));
1542 1546
1543struct ipr_dump { 1547struct ipr_dump {