diff options
author | Wayne Boyer <wayneb@linux.vnet.ibm.com> | 2009-06-16 18:13:28 -0400 |
---|---|---|
committer | James Bottomley <James.Bottomley@HansenPartnership.com> | 2009-06-21 11:52:46 -0400 |
commit | 95fecd90397ec1f85eb31ede955d846a86d2077b (patch) | |
tree | 979cfdf24378c63203e3a0430d93f7da6f03db82 /drivers/scsi/ipr.h | |
parent | a9e0edb687151617fe89cc5ab0086ebfc73ffccb (diff) |
ipr: add test for MSI interrupt support
The return value from pci_enable_msi() can not always be trusted. This patch
adds code to generate an interrupt after MSI has been enabled and tests
whether or not we can receive and process it. If the tests fails, then fall
back to LSI.
Signed-off-by: Wayne Boyer <wayneb@linux.vnet.ibm.com>
Acked-by: Brian King <brking@linux.vnet.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Diffstat (limited to 'drivers/scsi/ipr.h')
-rw-r--r-- | drivers/scsi/ipr.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/scsi/ipr.h b/drivers/scsi/ipr.h index 79a3ae4fb2c7..2d9269b26f88 100644 --- a/drivers/scsi/ipr.h +++ b/drivers/scsi/ipr.h | |||
@@ -37,8 +37,8 @@ | |||
37 | /* | 37 | /* |
38 | * Literals | 38 | * Literals |
39 | */ | 39 | */ |
40 | #define IPR_DRIVER_VERSION "2.4.2" | 40 | #define IPR_DRIVER_VERSION "2.4.3" |
41 | #define IPR_DRIVER_DATE "(January 21, 2009)" | 41 | #define IPR_DRIVER_DATE "(June 10, 2009)" |
42 | 42 | ||
43 | /* | 43 | /* |
44 | * IPR_MAX_CMD_PER_LUN: This defines the maximum number of outstanding | 44 | * IPR_MAX_CMD_PER_LUN: This defines the maximum number of outstanding |
@@ -1094,6 +1094,7 @@ struct ipr_ioa_cfg { | |||
1094 | u8 needs_hard_reset:1; | 1094 | u8 needs_hard_reset:1; |
1095 | u8 dual_raid:1; | 1095 | u8 dual_raid:1; |
1096 | u8 needs_warm_reset:1; | 1096 | u8 needs_warm_reset:1; |
1097 | u8 msi_received:1; | ||
1097 | 1098 | ||
1098 | u8 revid; | 1099 | u8 revid; |
1099 | 1100 | ||
@@ -1179,6 +1180,7 @@ struct ipr_ioa_cfg { | |||
1179 | struct work_struct work_q; | 1180 | struct work_struct work_q; |
1180 | 1181 | ||
1181 | wait_queue_head_t reset_wait_q; | 1182 | wait_queue_head_t reset_wait_q; |
1183 | wait_queue_head_t msi_wait_q; | ||
1182 | 1184 | ||
1183 | struct ipr_dump *dump; | 1185 | struct ipr_dump *dump; |
1184 | enum ipr_sdt_state sdt_state; | 1186 | enum ipr_sdt_state sdt_state; |