aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/lpfc/lpfc.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/lpfc/lpfc.h')
-rw-r--r--drivers/scsi/lpfc/lpfc.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/drivers/scsi/lpfc/lpfc.h b/drivers/scsi/lpfc/lpfc.h
index 1877d9811831..aa10f7951634 100644
--- a/drivers/scsi/lpfc/lpfc.h
+++ b/drivers/scsi/lpfc/lpfc.h
@@ -312,6 +312,7 @@ struct lpfc_vport {
312#define FC_BYPASSED_MODE 0x20000 /* NPort is in bypassed mode */ 312#define FC_BYPASSED_MODE 0x20000 /* NPort is in bypassed mode */
313#define FC_VPORT_NEEDS_REG_VPI 0x80000 /* Needs to have its vpi registered */ 313#define FC_VPORT_NEEDS_REG_VPI 0x80000 /* Needs to have its vpi registered */
314#define FC_RSCN_DEFERRED 0x100000 /* A deferred RSCN being processed */ 314#define FC_RSCN_DEFERRED 0x100000 /* A deferred RSCN being processed */
315#define FC_VPORT_NEEDS_INIT_VPI 0x200000 /* Need to INIT_VPI before FDISC */
315 316
316 uint32_t ct_flags; 317 uint32_t ct_flags;
317#define FC_CT_RFF_ID 0x1 /* RFF_ID accepted by switch */ 318#define FC_CT_RFF_ID 0x1 /* RFF_ID accepted by switch */
@@ -440,6 +441,12 @@ enum intr_type_t {
440 MSIX, 441 MSIX,
441}; 442};
442 443
444struct unsol_rcv_ct_ctx {
445 uint32_t ctxt_id;
446 uint32_t SID;
447 uint32_t oxid;
448};
449
443struct lpfc_hba { 450struct lpfc_hba {
444 /* SCSI interface function jump table entries */ 451 /* SCSI interface function jump table entries */
445 int (*lpfc_new_scsi_buf) 452 int (*lpfc_new_scsi_buf)
@@ -525,6 +532,8 @@ struct lpfc_hba {
525#define FCP_XRI_ABORT_EVENT 0x20 532#define FCP_XRI_ABORT_EVENT 0x20
526#define ELS_XRI_ABORT_EVENT 0x40 533#define ELS_XRI_ABORT_EVENT 0x40
527#define ASYNC_EVENT 0x80 534#define ASYNC_EVENT 0x80
535#define LINK_DISABLED 0x100 /* Link disabled by user */
536#define FCF_DISC_INPROGRESS 0x200 /* FCF discovery in progress */
528 struct lpfc_dmabuf slim2p; 537 struct lpfc_dmabuf slim2p;
529 538
530 MAILBOX_t *mbox; 539 MAILBOX_t *mbox;
@@ -616,6 +625,8 @@ struct lpfc_hba {
616 uint32_t hbq_count; /* Count of configured HBQs */ 625 uint32_t hbq_count; /* Count of configured HBQs */
617 struct hbq_s hbqs[LPFC_MAX_HBQS]; /* local copy of hbq indicies */ 626 struct hbq_s hbqs[LPFC_MAX_HBQS]; /* local copy of hbq indicies */
618 627
628 uint32_t fcp_qidx; /* next work queue to post work to */
629
619 unsigned long pci_bar0_map; /* Physical address for PCI BAR0 */ 630 unsigned long pci_bar0_map; /* Physical address for PCI BAR0 */
620 unsigned long pci_bar1_map; /* Physical address for PCI BAR1 */ 631 unsigned long pci_bar1_map; /* Physical address for PCI BAR1 */
621 unsigned long pci_bar2_map; /* Physical address for PCI BAR2 */ 632 unsigned long pci_bar2_map; /* Physical address for PCI BAR2 */
@@ -682,6 +693,7 @@ struct lpfc_hba {
682 struct pci_pool *lpfc_mbuf_pool; 693 struct pci_pool *lpfc_mbuf_pool;
683 struct pci_pool *lpfc_hrb_pool; /* header receive buffer pool */ 694 struct pci_pool *lpfc_hrb_pool; /* header receive buffer pool */
684 struct pci_pool *lpfc_drb_pool; /* data receive buffer pool */ 695 struct pci_pool *lpfc_drb_pool; /* data receive buffer pool */
696 struct pci_pool *lpfc_hbq_pool; /* SLI3 hbq buffer pool */
685 struct lpfc_dma_pool lpfc_mbuf_safety_pool; 697 struct lpfc_dma_pool lpfc_mbuf_safety_pool;
686 698
687 mempool_t *mbox_mem_pool; 699 mempool_t *mbox_mem_pool;
@@ -763,11 +775,18 @@ struct lpfc_hba {
763/* Maximum number of events that can be outstanding at any time*/ 775/* Maximum number of events that can be outstanding at any time*/
764#define LPFC_MAX_EVT_COUNT 512 776#define LPFC_MAX_EVT_COUNT 512
765 atomic_t fast_event_count; 777 atomic_t fast_event_count;
778 uint32_t fcoe_eventtag;
779 uint32_t fcoe_eventtag_at_fcf_scan;
766 struct lpfc_fcf fcf; 780 struct lpfc_fcf fcf;
767 uint8_t fc_map[3]; 781 uint8_t fc_map[3];
768 uint8_t valid_vlan; 782 uint8_t valid_vlan;
769 uint16_t vlan_id; 783 uint16_t vlan_id;
770 struct list_head fcf_conn_rec_list; 784 struct list_head fcf_conn_rec_list;
785
786 struct mutex ct_event_mutex; /* synchronize access to ct_ev_waiters */
787 struct list_head ct_ev_waiters;
788 struct unsol_rcv_ct_ctx ct_ctx[64];
789 uint32_t ctx_idx;
771}; 790};
772 791
773static inline struct Scsi_Host * 792static inline struct Scsi_Host *