diff options
Diffstat (limited to 'drivers/scsi/lpfc/lpfc.h')
-rw-r--r-- | drivers/scsi/lpfc/lpfc.h | 19 |
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 | ||
444 | struct unsol_rcv_ct_ctx { | ||
445 | uint32_t ctxt_id; | ||
446 | uint32_t SID; | ||
447 | uint32_t oxid; | ||
448 | }; | ||
449 | |||
443 | struct lpfc_hba { | 450 | struct 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 | ||
773 | static inline struct Scsi_Host * | 792 | static inline struct Scsi_Host * |