aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/bnx2i/bnx2i.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/bnx2i/bnx2i.h')
-rw-r--r--drivers/scsi/bnx2i/bnx2i.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/scsi/bnx2i/bnx2i.h b/drivers/scsi/bnx2i/bnx2i.h
index 6b624e767d3b..00c033511cbf 100644
--- a/drivers/scsi/bnx2i/bnx2i.h
+++ b/drivers/scsi/bnx2i/bnx2i.h
@@ -295,16 +295,21 @@ struct iscsi_cid_queue {
295 * @max_cqes: CQ size 295 * @max_cqes: CQ size
296 * @num_ccell: number of command cells per connection 296 * @num_ccell: number of command cells per connection
297 * @ofld_conns_active: active connection list 297 * @ofld_conns_active: active connection list
298 * @eh_wait: wait queue for the endpoint to shutdown
298 * @max_active_conns: max offload connections supported by this device 299 * @max_active_conns: max offload connections supported by this device
299 * @cid_que: iscsi cid queue 300 * @cid_que: iscsi cid queue
300 * @ep_rdwr_lock: read / write lock to synchronize various ep lists 301 * @ep_rdwr_lock: read / write lock to synchronize various ep lists
301 * @ep_ofld_list: connection list for pending offload completion 302 * @ep_ofld_list: connection list for pending offload completion
303 * @ep_active_list: connection list for active offload endpoints
302 * @ep_destroy_list: connection list for pending offload completion 304 * @ep_destroy_list: connection list for pending offload completion
303 * @mp_bd_tbl: BD table to be used with middle path requests 305 * @mp_bd_tbl: BD table to be used with middle path requests
304 * @mp_bd_dma: DMA address of 'mp_bd_tbl' memory buffer 306 * @mp_bd_dma: DMA address of 'mp_bd_tbl' memory buffer
305 * @dummy_buffer: Dummy buffer to be used with zero length scsicmd reqs 307 * @dummy_buffer: Dummy buffer to be used with zero length scsicmd reqs
306 * @dummy_buf_dma: DMA address of 'dummy_buffer' memory buffer 308 * @dummy_buf_dma: DMA address of 'dummy_buffer' memory buffer
307 * @lock: lock to synchonize access to hba structure 309 * @lock: lock to synchonize access to hba structure
310 * @hba_shutdown_tmo: Timeout value to shutdown each connection
311 * @conn_teardown_tmo: Timeout value to tear down each connection
312 * @conn_ctx_destroy_tmo: Timeout value to destroy context of each connection
308 * @pci_did: PCI device ID 313 * @pci_did: PCI device ID
309 * @pci_vid: PCI vendor ID 314 * @pci_vid: PCI vendor ID
310 * @pci_sdid: PCI subsystem device ID 315 * @pci_sdid: PCI subsystem device ID
@@ -369,6 +374,7 @@ struct bnx2i_hba {
369 374
370 rwlock_t ep_rdwr_lock; 375 rwlock_t ep_rdwr_lock;
371 struct list_head ep_ofld_list; 376 struct list_head ep_ofld_list;
377 struct list_head ep_active_list;
372 struct list_head ep_destroy_list; 378 struct list_head ep_destroy_list;
373 379
374 /* 380 /*
@@ -383,6 +389,8 @@ struct bnx2i_hba {
383 struct mutex net_dev_lock;/* sync net device access */ 389 struct mutex net_dev_lock;/* sync net device access */
384 390
385 int hba_shutdown_tmo; 391 int hba_shutdown_tmo;
392 int conn_teardown_tmo;
393 int conn_ctx_destroy_tmo;
386 /* 394 /*
387 * PCI related info. 395 * PCI related info.
388 */ 396 */
@@ -631,6 +639,8 @@ enum {
631 EP_STATE_CLEANUP_CMPL = 0x800, 639 EP_STATE_CLEANUP_CMPL = 0x800,
632 EP_STATE_TCP_FIN_RCVD = 0x1000, 640 EP_STATE_TCP_FIN_RCVD = 0x1000,
633 EP_STATE_TCP_RST_RCVD = 0x2000, 641 EP_STATE_TCP_RST_RCVD = 0x2000,
642 EP_STATE_LOGOUT_SENT = 0x4000,
643 EP_STATE_LOGOUT_RESP_RCVD = 0x8000,
634 EP_STATE_PG_OFLD_FAILED = 0x1000000, 644 EP_STATE_PG_OFLD_FAILED = 0x1000000,
635 EP_STATE_ULP_UPDATE_FAILED = 0x2000000, 645 EP_STATE_ULP_UPDATE_FAILED = 0x2000000,
636 EP_STATE_CLEANUP_FAILED = 0x4000000, 646 EP_STATE_CLEANUP_FAILED = 0x4000000,
@@ -645,6 +655,7 @@ enum {
645 * @link: list head to link elements 655 * @link: list head to link elements
646 * @hba: adapter to which this connection belongs 656 * @hba: adapter to which this connection belongs
647 * @conn: iscsi connection this EP is linked to 657 * @conn: iscsi connection this EP is linked to
658 * @cls_ep: associated iSCSI endpoint pointer
648 * @sess: iscsi session this EP is linked to 659 * @sess: iscsi session this EP is linked to
649 * @cm_sk: cnic sock struct 660 * @cm_sk: cnic sock struct
650 * @hba_age: age to detect if 'iscsid' issues ep_disconnect() 661 * @hba_age: age to detect if 'iscsid' issues ep_disconnect()
@@ -664,6 +675,7 @@ struct bnx2i_endpoint {
664 struct list_head link; 675 struct list_head link;
665 struct bnx2i_hba *hba; 676 struct bnx2i_hba *hba;
666 struct bnx2i_conn *conn; 677 struct bnx2i_conn *conn;
678 struct iscsi_endpoint *cls_ep;
667 struct cnic_sock *cm_sk; 679 struct cnic_sock *cm_sk;
668 u32 hba_age; 680 u32 hba_age;
669 u32 state; 681 u32 state;
@@ -766,6 +778,8 @@ extern struct bnx2i_endpoint *bnx2i_find_ep_in_destroy_list(
766extern int bnx2i_map_ep_dbell_regs(struct bnx2i_endpoint *ep); 778extern int bnx2i_map_ep_dbell_regs(struct bnx2i_endpoint *ep);
767extern void bnx2i_arm_cq_event_coalescing(struct bnx2i_endpoint *ep, u8 action); 779extern void bnx2i_arm_cq_event_coalescing(struct bnx2i_endpoint *ep, u8 action);
768 780
781extern int bnx2i_hw_ep_disconnect(struct bnx2i_endpoint *bnx2i_ep);
782
769/* Debug related function prototypes */ 783/* Debug related function prototypes */
770extern void bnx2i_print_pend_cmd_queue(struct bnx2i_conn *conn); 784extern void bnx2i_print_pend_cmd_queue(struct bnx2i_conn *conn);
771extern void bnx2i_print_active_cmd_queue(struct bnx2i_conn *conn); 785extern void bnx2i_print_active_cmd_queue(struct bnx2i_conn *conn);