aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/lpfc/lpfc_sli.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_sli.h')
-rw-r--r--drivers/scsi/lpfc/lpfc_sli.h12
1 files changed, 5 insertions, 7 deletions
diff --git a/drivers/scsi/lpfc/lpfc_sli.h b/drivers/scsi/lpfc/lpfc_sli.h
index 51b2b6b949be..7249fd252cbb 100644
--- a/drivers/scsi/lpfc/lpfc_sli.h
+++ b/drivers/scsi/lpfc/lpfc_sli.h
@@ -33,6 +33,7 @@ typedef enum _lpfc_ctx_cmd {
33struct lpfc_iocbq { 33struct 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 struct list_head clist;
36 uint16_t iotag; /* pre-assigned IO tag */ 37 uint16_t iotag; /* pre-assigned IO tag */
37 uint16_t rsvd1; 38 uint16_t rsvd1;
38 39
@@ -44,6 +45,7 @@ struct lpfc_iocbq {
44#define LPFC_IO_FCP 4 /* FCP command -- iocbq in scsi_buf */ 45#define LPFC_IO_FCP 4 /* FCP command -- iocbq in scsi_buf */
45#define LPFC_DRIVER_ABORTED 8 /* driver aborted this request */ 46#define LPFC_DRIVER_ABORTED 8 /* driver aborted this request */
46#define LPFC_IO_FABRIC 0x10 /* Iocb send using fabric scheduler */ 47#define LPFC_IO_FABRIC 0x10 /* Iocb send using fabric scheduler */
48#define LPFC_DELAY_MEM_FREE 0x20 /* Defer free'ing of FC data */
47 49
48 uint8_t abort_count; 50 uint8_t abort_count;
49 uint8_t rsvd2; 51 uint8_t rsvd2;
@@ -92,8 +94,6 @@ typedef struct lpfcMboxq {
92#define MBX_POLL 1 /* poll mailbox till command done, then 94#define MBX_POLL 1 /* poll mailbox till command done, then
93 return */ 95 return */
94#define MBX_NOWAIT 2 /* issue command then return immediately */ 96#define MBX_NOWAIT 2 /* issue command then return immediately */
95#define MBX_STOP_IOCB 4 /* Stop iocb processing till mbox cmds
96 complete */
97 97
98#define LPFC_MAX_RING_MASK 4 /* max num of rctl/type masks allowed per 98#define LPFC_MAX_RING_MASK 4 /* max num of rctl/type masks allowed per
99 ring */ 99 ring */
@@ -129,9 +129,7 @@ struct lpfc_sli_ring {
129 uint16_t flag; /* ring flags */ 129 uint16_t flag; /* ring flags */
130#define LPFC_DEFERRED_RING_EVENT 0x001 /* Deferred processing a ring event */ 130#define LPFC_DEFERRED_RING_EVENT 0x001 /* Deferred processing a ring event */
131#define LPFC_CALL_RING_AVAILABLE 0x002 /* indicates cmd was full */ 131#define LPFC_CALL_RING_AVAILABLE 0x002 /* indicates cmd was full */
132#define LPFC_STOP_IOCB_MBX 0x010 /* Stop processing IOCB cmds mbox */
133#define LPFC_STOP_IOCB_EVENT 0x020 /* Stop processing IOCB cmds event */ 132#define LPFC_STOP_IOCB_EVENT 0x020 /* Stop processing IOCB cmds event */
134#define LPFC_STOP_IOCB_MASK 0x030 /* Stop processing IOCB cmds mask */
135 uint16_t abtsiotag; /* tracks next iotag to use for ABTS */ 133 uint16_t abtsiotag; /* tracks next iotag to use for ABTS */
136 134
137 uint32_t local_getidx; /* last available cmd index (from cmdGetInx) */ 135 uint32_t local_getidx; /* last available cmd index (from cmdGetInx) */
@@ -163,9 +161,12 @@ struct lpfc_sli_ring {
163 struct list_head iocb_continueq; 161 struct list_head iocb_continueq;
164 uint16_t iocb_continueq_cnt; /* current length of queue */ 162 uint16_t iocb_continueq_cnt; /* current length of queue */
165 uint16_t iocb_continueq_max; /* max length */ 163 uint16_t iocb_continueq_max; /* max length */
164 struct list_head iocb_continue_saveq;
166 165
167 struct lpfc_sli_ring_mask prt[LPFC_MAX_RING_MASK]; 166 struct lpfc_sli_ring_mask prt[LPFC_MAX_RING_MASK];
168 uint32_t num_mask; /* number of mask entries in prt array */ 167 uint32_t num_mask; /* number of mask entries in prt array */
168 void (*lpfc_sli_rcv_async_status) (struct lpfc_hba *,
169 struct lpfc_sli_ring *, struct lpfc_iocbq *);
169 170
170 struct lpfc_sli_ring_stat stats; /* SLI statistical info */ 171 struct lpfc_sli_ring_stat stats; /* SLI statistical info */
171 172
@@ -199,9 +200,6 @@ struct lpfc_hbq_init {
199 uint32_t add_count; /* number to allocate when starved */ 200 uint32_t add_count; /* number to allocate when starved */
200} ; 201} ;
201 202
202#define LPFC_MAX_HBQ 16
203
204
205/* Structure used to hold SLI statistical counters and info */ 203/* Structure used to hold SLI statistical counters and info */
206struct lpfc_sli_stat { 204struct lpfc_sli_stat {
207 uint64_t mbox_stat_err; /* Mbox cmds completed status error */ 205 uint64_t mbox_stat_err; /* Mbox cmds completed status error */