diff options
Diffstat (limited to 'drivers/scsi/bnx2i/bnx2i.h')
-rw-r--r-- | drivers/scsi/bnx2i/bnx2i.h | 14 |
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( | |||
766 | extern int bnx2i_map_ep_dbell_regs(struct bnx2i_endpoint *ep); | 778 | extern int bnx2i_map_ep_dbell_regs(struct bnx2i_endpoint *ep); |
767 | extern void bnx2i_arm_cq_event_coalescing(struct bnx2i_endpoint *ep, u8 action); | 779 | extern void bnx2i_arm_cq_event_coalescing(struct bnx2i_endpoint *ep, u8 action); |
768 | 780 | ||
781 | extern int bnx2i_hw_ep_disconnect(struct bnx2i_endpoint *bnx2i_ep); | ||
782 | |||
769 | /* Debug related function prototypes */ | 783 | /* Debug related function prototypes */ |
770 | extern void bnx2i_print_pend_cmd_queue(struct bnx2i_conn *conn); | 784 | extern void bnx2i_print_pend_cmd_queue(struct bnx2i_conn *conn); |
771 | extern void bnx2i_print_active_cmd_queue(struct bnx2i_conn *conn); | 785 | extern void bnx2i_print_active_cmd_queue(struct bnx2i_conn *conn); |