aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/ipr.h
diff options
context:
space:
mode:
authorbrking@us.ibm.com <brking@us.ibm.com>2005-11-01 18:01:47 -0500
committerJames Bottomley <jejb@mulgrave.(none)>2005-11-06 14:05:27 -0500
commitb0df54bb4c9df6c1b1633a9f990b718059cda394 (patch)
tree9aea5bce33708f67428bccb84df41db6cd517d2d /drivers/scsi/ipr.h
parentf37eb54b48159f7384ad0e7e70e0f67d1317aac7 (diff)
[SCSI] ipr: handle new adapter errors
Add support for handling some new errors that may be returned by ipr adapters. Signed-off-by: Brian King <brking@us.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/scsi/ipr.h')
-rw-r--r--drivers/scsi/ipr.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/scsi/ipr.h b/drivers/scsi/ipr.h
index 414aa07e20f9..57d55b284caf 100644
--- a/drivers/scsi/ipr.h
+++ b/drivers/scsi/ipr.h
@@ -81,6 +81,8 @@
81#define IPR_IOASC_IOASC_MASK 0xFFFFFF00 81#define IPR_IOASC_IOASC_MASK 0xFFFFFF00
82#define IPR_IOASC_SCSI_STATUS_MASK 0x000000FF 82#define IPR_IOASC_SCSI_STATUS_MASK 0x000000FF
83#define IPR_IOASC_IR_RESOURCE_HANDLE 0x05250000 83#define IPR_IOASC_IR_RESOURCE_HANDLE 0x05250000
84#define IPR_IOASC_IR_NO_CMDS_TO_2ND_IOA 0x05258100
85#define IPR_IOASA_IR_DUAL_IOA_DISABLED 0x052C8000
84#define IPR_IOASC_BUS_WAS_RESET 0x06290000 86#define IPR_IOASC_BUS_WAS_RESET 0x06290000
85#define IPR_IOASC_BUS_WAS_RESET_BY_OTHER 0x06298000 87#define IPR_IOASC_BUS_WAS_RESET_BY_OTHER 0x06298000
86#define IPR_IOASC_ABORTED_CMD_TERM_BY_HOST 0x0B5A0000 88#define IPR_IOASC_ABORTED_CMD_TERM_BY_HOST 0x0B5A0000
@@ -593,6 +595,12 @@ struct ipr_hostrcb_type_04_error {
593 u8 protection_level[8]; 595 u8 protection_level[8];
594}__attribute__((packed, aligned (4))); 596}__attribute__((packed, aligned (4)));
595 597
598struct ipr_hostrcb_type_07_error {
599 u8 failure_reason[64];
600 struct ipr_vpd vpd;
601 u32 data[222];
602}__attribute__((packed, aligned (4)));
603
596struct ipr_hostrcb_error { 604struct ipr_hostrcb_error {
597 __be32 failing_dev_ioasc; 605 __be32 failing_dev_ioasc;
598 struct ipr_res_addr failing_dev_res_addr; 606 struct ipr_res_addr failing_dev_res_addr;
@@ -604,6 +612,7 @@ struct ipr_hostrcb_error {
604 struct ipr_hostrcb_type_02_error type_02_error; 612 struct ipr_hostrcb_type_02_error type_02_error;
605 struct ipr_hostrcb_type_03_error type_03_error; 613 struct ipr_hostrcb_type_03_error type_03_error;
606 struct ipr_hostrcb_type_04_error type_04_error; 614 struct ipr_hostrcb_type_04_error type_04_error;
615 struct ipr_hostrcb_type_07_error type_07_error;
607 } u; 616 } u;
608}__attribute__((packed, aligned (4))); 617}__attribute__((packed, aligned (4)));
609 618
@@ -637,6 +646,7 @@ struct ipr_hcam {
637#define IPR_HOST_RCB_OVERLAY_ID_3 0x03 646#define IPR_HOST_RCB_OVERLAY_ID_3 0x03
638#define IPR_HOST_RCB_OVERLAY_ID_4 0x04 647#define IPR_HOST_RCB_OVERLAY_ID_4 0x04
639#define IPR_HOST_RCB_OVERLAY_ID_6 0x06 648#define IPR_HOST_RCB_OVERLAY_ID_6 0x06
649#define IPR_HOST_RCB_OVERLAY_ID_7 0x07
640#define IPR_HOST_RCB_OVERLAY_ID_DEFAULT 0xFF 650#define IPR_HOST_RCB_OVERLAY_ID_DEFAULT 0xFF
641 651
642 u8 reserved1[3]; 652 u8 reserved1[3];