]> err.no Git - linux-2.6/blobdiff - drivers/scsi/lpfc/lpfc.h
[SCSI] lpfc 8.2.6 : Multiple discovery fixes
[linux-2.6] / drivers / scsi / lpfc / lpfc.h
index cbe07d79bd12f6bc84382a0b98af036ed2c71475..c66d8d19c5777495fe1a74324f760a5faf6c5c16 100644 (file)
@@ -268,7 +268,6 @@ struct lpfc_vport {
 #define FC_NLP_MORE             0x40    /* More node to process in node tbl */
 #define FC_OFFLINE_MODE         0x80    /* Interface is offline for diag */
 #define FC_FABRIC               0x100   /* We are fabric attached */
-#define FC_ESTABLISH_LINK       0x200   /* Reestablish Link */
 #define FC_RSCN_DISCOVERY       0x400   /* Auth all devices after RSCN */
 #define FC_SCSI_SCAN_TMO        0x4000  /* scsi scan timer running */
 #define FC_ABORT_DISCOVERY      0x8000  /* we want to abort discovery */
@@ -307,6 +306,7 @@ struct lpfc_vport {
 
        uint32_t fc_nlp_cnt;    /* outstanding NODELIST requests */
        uint32_t fc_rscn_id_cnt;        /* count of RSCNs payloads in list */
+       uint32_t fc_rscn_flush;         /* flag use of fc_rscn_id_list */
        struct lpfc_dmabuf *fc_rscn_id_list[FC_MAX_HOLD_RSCN];
        struct lpfc_name fc_nodename;   /* fc nodename */
        struct lpfc_name fc_portname;   /* fc portname */
@@ -392,6 +392,13 @@ enum hba_temp_state {
        HBA_OVER_TEMP
 };
 
+enum intr_type_t {
+       NONE = 0,
+       INTx,
+       MSI,
+       MSIX,
+};
+
 struct lpfc_hba {
        struct lpfc_sli sli;
        uint32_t sli_rev;               /* SLI2 or SLI3 */
@@ -425,8 +432,6 @@ struct lpfc_hba {
 
        uint32_t fc_eventTag;   /* event tag for link attention */
 
-
-       struct timer_list fc_estabtmo;  /* link establishment timer */
        /* These fields used to be binfo */
        uint32_t fc_pref_DID;   /* preferred D_ID */
        uint8_t  fc_pref_ALPA;  /* preferred AL_PA */
@@ -487,6 +492,8 @@ struct lpfc_hba {
        wait_queue_head_t    *work_wait;
        struct task_struct   *worker_thread;
 
+       uint32_t hbq_in_use;            /* HBQs in use flag */
+       struct list_head hbqbuf_in_list;  /* in-fly hbq buffer list */
        uint32_t hbq_count;             /* Count of configured HBQs */
        struct hbq_s hbqs[LPFC_MAX_HBQS]; /* local copy of hbq indicies  */
 
@@ -555,7 +562,8 @@ struct lpfc_hba {
        mempool_t *nlp_mem_pool;
 
        struct fc_host_statistics link_stats;
-       uint8_t using_msi;
+       enum intr_type_t intr_type;
+       struct msix_entry msix_entries[1];
 
        struct list_head port_list;
        struct lpfc_vport *pport;       /* physical lpfc_vport pointer */