aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/ibmvscsi/ibmvfc.h
diff options
context:
space:
mode:
authorBrian King <brking@linux.vnet.ibm.com>2009-05-28 17:17:30 -0400
committerJames Bottomley <James.Bottomley@HansenPartnership.com>2009-06-08 14:07:45 -0400
commit497f9c504f76e7a751cd370604e1c8521743746d (patch)
treeba7c6a0bb9044d1d6b723c99c028b5d8121344e9 /drivers/scsi/ibmvscsi/ibmvfc.h
parent79111d0899a122fa3cf0a2921292c3e6a25452d0 (diff)
[SCSI] ibmvfc: Add flush on halt support
The virtual I/O server controlling the NPIV adapter associated with a virtual fibre channel adapter can send a HALT event to the client. When this occurs, the client can no longer send commands until a RESUME is received. By adding support for flush on halt, we will get all of our outstanding commands flushed back before the Virtual I/O server enters the halt state, eliminating potential command timeouts for outstanding commands which might occur if we did not support this feature. Signed-off-by: Brian King <brking@linux.vnet.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Diffstat (limited to 'drivers/scsi/ibmvscsi/ibmvfc.h')
-rw-r--r--drivers/scsi/ibmvscsi/ibmvfc.h13
1 files changed, 11 insertions, 2 deletions
diff --git a/drivers/scsi/ibmvscsi/ibmvfc.h b/drivers/scsi/ibmvscsi/ibmvfc.h
index 6adaad80565d..cf26380820fb 100644
--- a/drivers/scsi/ibmvscsi/ibmvfc.h
+++ b/drivers/scsi/ibmvscsi/ibmvfc.h
@@ -207,7 +207,8 @@ struct ibmvfc_npiv_login_resp {
207#define IBMVFC_NATIVE_FC 0x01 207#define IBMVFC_NATIVE_FC 0x01
208#define IBMVFC_CAN_FLUSH_ON_HALT 0x08 208#define IBMVFC_CAN_FLUSH_ON_HALT 0x08
209 u32 reserved; 209 u32 reserved;
210 u64 capabilites; 210 u64 capabilities;
211#define IBMVFC_CAN_FLUSH_ON_HALT 0x08
211 u32 max_cmds; 212 u32 max_cmds;
212 u32 scsi_id_sz; 213 u32 scsi_id_sz;
213 u64 max_dma_len; 214 u64 max_dma_len;
@@ -547,9 +548,17 @@ struct ibmvfc_crq_queue {
547 dma_addr_t msg_token; 548 dma_addr_t msg_token;
548}; 549};
549 550
551enum ibmvfc_ae_link_state {
552 IBMVFC_AE_LS_LINK_UP = 0x01,
553 IBMVFC_AE_LS_LINK_BOUNCED = 0x02,
554 IBMVFC_AE_LS_LINK_DOWN = 0x04,
555 IBMVFC_AE_LS_LINK_DEAD = 0x08,
556};
557
550struct ibmvfc_async_crq { 558struct ibmvfc_async_crq {
551 volatile u8 valid; 559 volatile u8 valid;
552 u8 pad[3]; 560 u8 link_state;
561 u8 pad[2];
553 u32 pad2; 562 u32 pad2;
554 volatile u64 event; 563 volatile u64 event;
555 volatile u64 scsi_id; 564 volatile u64 scsi_id;