diff options
Diffstat (limited to 'drivers/infiniband/ulp/iser/iscsi_iser.h')
-rw-r--r-- | drivers/infiniband/ulp/iser/iscsi_iser.h | 17 |
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 */ |
179 | struct iser_device; | 179 | struct iser_device; |
180 | struct iser_cq_desc; | ||
180 | struct iscsi_iser_conn; | 181 | struct iscsi_iser_conn; |
181 | struct iscsi_iser_task; | 182 | struct iscsi_iser_task; |
182 | struct iscsi_endpoint; | 183 | struct 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 | |||
229 | struct iser_device { | 232 | struct 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 | ||
241 | struct iser_conn { | 247 | struct iser_conn { |
@@ -287,6 +293,11 @@ struct iser_page_vec { | |||
287 | int data_size; | 293 | int data_size; |
288 | }; | 294 | }; |
289 | 295 | ||
296 | struct iser_cq_desc { | ||
297 | struct iser_device *device; | ||
298 | int cq_index; | ||
299 | }; | ||
300 | |||
290 | struct iser_global { | 301 | struct 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 */ |