aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/be2iscsi/be.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/be2iscsi/be.h')
-rw-r--r--drivers/scsi/be2iscsi/be.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/scsi/be2iscsi/be.h b/drivers/scsi/be2iscsi/be.h
index 2e28f6c419fe..1bfb0bd01198 100644
--- a/drivers/scsi/be2iscsi/be.h
+++ b/drivers/scsi/be2iscsi/be.h
@@ -98,6 +98,14 @@ struct be_mcc_obj {
98 struct be_queue_info cq; 98 struct be_queue_info cq;
99}; 99};
100 100
101struct beiscsi_mcc_tag_state {
102#define MCC_TAG_STATE_COMPLETED 0x00
103#define MCC_TAG_STATE_RUNNING 0x01
104#define MCC_TAG_STATE_TIMEOUT 0x02
105 uint8_t tag_state;
106 struct be_dma_mem tag_mem_state;
107};
108
101struct be_ctrl_info { 109struct be_ctrl_info {
102 u8 __iomem *csr; 110 u8 __iomem *csr;
103 u8 __iomem *db; /* Door Bell */ 111 u8 __iomem *db; /* Door Bell */
@@ -122,6 +130,8 @@ struct be_ctrl_info {
122 unsigned short mcc_alloc_index; 130 unsigned short mcc_alloc_index;
123 unsigned short mcc_free_index; 131 unsigned short mcc_free_index;
124 unsigned int mcc_tag_available; 132 unsigned int mcc_tag_available;
133
134 struct beiscsi_mcc_tag_state ptag_state[MAX_MCC_CMD + 1];
125}; 135};
126 136
127#include "be_cmds.h" 137#include "be_cmds.h"
@@ -129,6 +139,7 @@ struct be_ctrl_info {
129#define PAGE_SHIFT_4K 12 139#define PAGE_SHIFT_4K 12
130#define PAGE_SIZE_4K (1 << PAGE_SHIFT_4K) 140#define PAGE_SIZE_4K (1 << PAGE_SHIFT_4K)
131#define mcc_timeout 120000 /* 12s timeout */ 141#define mcc_timeout 120000 /* 12s timeout */
142#define BEISCSI_LOGOUT_SYNC_DELAY 250
132 143
133/* Returns number of pages spanned by the data starting at the given addr */ 144/* Returns number of pages spanned by the data starting at the given addr */
134#define PAGES_4K_SPANNED(_address, size) \ 145#define PAGES_4K_SPANNED(_address, size) \