diff options
author | James Bottomley <jejb@titanic.(none)> | 2005-11-04 23:29:52 -0500 |
---|---|---|
committer | James Bottomley <jejb@titanic.(none)> | 2005-11-04 23:29:52 -0500 |
commit | 849a8924a6740ecbf9711e015beca69425f0c429 (patch) | |
tree | 2bae44c5fb170a655696b7253eec7ee13c6fa437 /drivers/scsi/lpfc/lpfc_sli.h | |
parent | 7015faa7df829876a0f931cd18aa6d7c24a1b581 (diff) | |
parent | ee807c2d43b54183c16580857837dae8ccb2ed22 (diff) |
Merge by Hand
Conflicts in dec_esp.c (Thanks Bacchus), scsi_transport_iscsi.c and
scsi_transport_fc.h
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_sli.h')
-rw-r--r-- | drivers/scsi/lpfc/lpfc_sli.h | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/drivers/scsi/lpfc/lpfc_sli.h b/drivers/scsi/lpfc/lpfc_sli.h index 6c74f3c85ff7..b7a9f970f565 100644 --- a/drivers/scsi/lpfc/lpfc_sli.h +++ b/drivers/scsi/lpfc/lpfc_sli.h | |||
@@ -33,13 +33,15 @@ typedef enum _lpfc_ctx_cmd { | |||
33 | struct lpfc_iocbq { | 33 | struct lpfc_iocbq { |
34 | /* lpfc_iocbqs are used in double linked lists */ | 34 | /* lpfc_iocbqs are used in double linked lists */ |
35 | struct list_head list; | 35 | struct list_head list; |
36 | uint16_t iotag; /* pre-assigned IO tag */ | ||
37 | uint16_t rsvd1; | ||
38 | |||
36 | IOCB_t iocb; /* IOCB cmd */ | 39 | IOCB_t iocb; /* IOCB cmd */ |
37 | uint8_t retry; /* retry counter for IOCB cmd - if needed */ | 40 | uint8_t retry; /* retry counter for IOCB cmd - if needed */ |
38 | uint8_t iocb_flag; | 41 | uint8_t iocb_flag; |
39 | #define LPFC_IO_POLL 1 /* Polling mode iocb */ | 42 | #define LPFC_IO_LIBDFC 1 /* libdfc iocb */ |
40 | #define LPFC_IO_LIBDFC 2 /* libdfc iocb */ | 43 | #define LPFC_IO_WAKE 2 /* High Priority Queue signal flag */ |
41 | #define LPFC_IO_WAIT 4 | 44 | #define LPFC_IO_FCP 4 /* FCP command -- iocbq in scsi_buf */ |
42 | #define LPFC_IO_HIPRI 8 /* High Priority Queue signal flag */ | ||
43 | 45 | ||
44 | uint8_t abort_count; | 46 | uint8_t abort_count; |
45 | uint8_t rsvd2; | 47 | uint8_t rsvd2; |
@@ -48,8 +50,7 @@ struct lpfc_iocbq { | |||
48 | void *context2; /* caller context information */ | 50 | void *context2; /* caller context information */ |
49 | void *context3; /* caller context information */ | 51 | void *context3; /* caller context information */ |
50 | union { | 52 | union { |
51 | wait_queue_head_t *hipri_wait_queue; /* High Priority Queue wait | 53 | wait_queue_head_t *wait_queue; |
52 | queue */ | ||
53 | struct lpfc_iocbq *rsp_iocb; | 54 | struct lpfc_iocbq *rsp_iocb; |
54 | struct lpfcMboxq *mbox; | 55 | struct lpfcMboxq *mbox; |
55 | } context_un; | 56 | } context_un; |
@@ -125,10 +126,10 @@ struct lpfc_sli_ring { | |||
125 | 126 | ||
126 | uint32_t local_getidx; /* last available cmd index (from cmdGetInx) */ | 127 | uint32_t local_getidx; /* last available cmd index (from cmdGetInx) */ |
127 | uint32_t next_cmdidx; /* next_cmd index */ | 128 | uint32_t next_cmdidx; /* next_cmd index */ |
129 | uint32_t rspidx; /* current index in response ring */ | ||
130 | uint32_t cmdidx; /* current index in command ring */ | ||
128 | uint8_t rsvd; | 131 | uint8_t rsvd; |
129 | uint8_t ringno; /* ring number */ | 132 | uint8_t ringno; /* ring number */ |
130 | uint8_t rspidx; /* current index in response ring */ | ||
131 | uint8_t cmdidx; /* current index in command ring */ | ||
132 | uint16_t numCiocb; /* number of command iocb's per ring */ | 133 | uint16_t numCiocb; /* number of command iocb's per ring */ |
133 | uint16_t numRiocb; /* number of rsp iocb's per ring */ | 134 | uint16_t numRiocb; /* number of rsp iocb's per ring */ |
134 | 135 | ||
@@ -200,6 +201,11 @@ struct lpfc_sli { | |||
200 | cmd */ | 201 | cmd */ |
201 | 202 | ||
202 | uint32_t *MBhostaddr; /* virtual address for mbox cmds */ | 203 | uint32_t *MBhostaddr; /* virtual address for mbox cmds */ |
204 | |||
205 | #define LPFC_IOCBQ_LOOKUP_INCREMENT 1024 | ||
206 | struct lpfc_iocbq ** iocbq_lookup; /* array to lookup IOCB by IOTAG */ | ||
207 | size_t iocbq_lookup_len; /* current lengs of the array */ | ||
208 | uint16_t last_iotag; /* last allocated IOTAG */ | ||
203 | }; | 209 | }; |
204 | 210 | ||
205 | /* Given a pointer to the start of the ring, and the slot number of | 211 | /* Given a pointer to the start of the ring, and the slot number of |