aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/ulp/iser/iscsi_iser.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/infiniband/ulp/iser/iscsi_iser.h')
-rw-r--r--drivers/infiniband/ulp/iser/iscsi_iser.h17
1 files changed, 14 insertions, 3 deletions
diff --git a/drivers/infiniband/ulp/iser/iscsi_iser.h b/drivers/infiniband/ulp/iser/iscsi_iser.h
index 296be431a0e9..ef7d3be46c31 100644
--- a/drivers/infiniband/ulp/iser/iscsi_iser.h
+++ b/drivers/infiniband/ulp/iser/iscsi_iser.h
@@ -177,6 +177,7 @@ struct iser_data_buf {
177 177
178/* fwd declarations */ 178/* fwd declarations */
179struct iser_device; 179struct iser_device;
180struct iser_cq_desc;
180struct iscsi_iser_conn; 181struct iscsi_iser_conn;
181struct iscsi_iser_task; 182struct iscsi_iser_task;
182struct iscsi_endpoint; 183struct iscsi_endpoint;
@@ -226,16 +227,21 @@ struct iser_rx_desc {
226 char pad[ISER_RX_PAD_SIZE]; 227 char pad[ISER_RX_PAD_SIZE];
227} __attribute__((packed)); 228} __attribute__((packed));
228 229
230#define ISER_MAX_CQ 4
231
229struct iser_device { 232struct iser_device {
230 struct ib_device *ib_device; 233 struct ib_device *ib_device;
231 struct ib_pd *pd; 234 struct ib_pd *pd;
232 struct ib_cq *rx_cq; 235 struct ib_cq *rx_cq[ISER_MAX_CQ];
233 struct ib_cq *tx_cq; 236 struct ib_cq *tx_cq[ISER_MAX_CQ];
234 struct ib_mr *mr; 237 struct ib_mr *mr;
235 struct tasklet_struct cq_tasklet; 238 struct tasklet_struct cq_tasklet[ISER_MAX_CQ];
236 struct ib_event_handler event_handler; 239 struct ib_event_handler event_handler;
237 struct list_head ig_list; /* entry in ig devices list */ 240 struct list_head ig_list; /* entry in ig devices list */
238 int refcount; 241 int refcount;
242 int cq_active_qps[ISER_MAX_CQ];
243 int cqs_used;
244 struct iser_cq_desc *cq_desc;
239}; 245};
240 246
241struct iser_conn { 247struct iser_conn {
@@ -287,6 +293,11 @@ struct iser_page_vec {
287 int data_size; 293 int data_size;
288}; 294};
289 295
296struct iser_cq_desc {
297 struct iser_device *device;
298 int cq_index;
299};
300
290struct iser_global { 301struct iser_global {
291 struct mutex device_list_mutex;/* */ 302 struct mutex device_list_mutex;/* */
292 struct list_head device_list; /* all iSER devices */ 303 struct list_head device_list; /* all iSER devices */