Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi
[linux-2.6-microblaze.git] / drivers / scsi / lpfc / lpfc.h
index bade2e0..691acbd 100644 (file)
@@ -51,6 +51,8 @@ struct lpfc_sli2_slim;
                cmnd for menlo needs nearly twice as for firmware
                downloads using bsg */
 
+#define LPFC_DEFAULT_XPSGL_SIZE        256
+#define LPFC_MAX_SG_TABLESIZE  0xffff
 #define LPFC_MIN_SG_SLI4_BUF_SZ        0x800   /* based on LPFC_DEFAULT_SG_SEG_CNT */
 #define LPFC_MAX_BG_SLI4_SEG_CNT_DIF 128 /* sg element count for BlockGuard */
 #define LPFC_MAX_SG_SEG_CNT_DIF 512    /* sg element count per scsi cmnd  */
@@ -732,14 +734,13 @@ struct lpfc_hba {
 #define HBA_AER_ENABLED                0x1000 /* AER enabled with HBA */
 #define HBA_DEVLOSS_TMO         0x2000 /* HBA in devloss timeout */
 #define HBA_RRQ_ACTIVE         0x4000 /* process the rrq active list */
-#define HBA_FCP_IOQ_FLUSH      0x8000 /* FCP I/O queues being flushed */
+#define HBA_IOQ_FLUSH          0x8000 /* FCP/NVME I/O queues being flushed */
 #define HBA_FW_DUMP_OP         0x10000 /* Skips fn reset before FW dump */
 #define HBA_RECOVERABLE_UE     0x20000 /* Firmware supports recoverable UE */
 #define HBA_FORCED_LINK_SPEED  0x40000 /*
                                         * Firmware supports Forced Link Speed
                                         * capability
                                         */
-#define HBA_NVME_IOQ_FLUSH      0x80000 /* NVME IO queues flushed. */
 #define HBA_FLOGI_ISSUED       0x100000 /* FLOGI was issued */
 
        uint32_t fcp_ring_in_use; /* When polling test if intr-hndlr active*/
@@ -795,10 +796,12 @@ struct lpfc_hba {
        uint8_t  mds_diags_support;
        uint8_t  bbcredit_support;
        uint8_t  enab_exp_wqcq_pages;
+       u8       nsler; /* Firmware supports FC-NVMe-2 SLER */
 
        /* HBA Config Parameters */
        uint32_t cfg_ack0;
        uint32_t cfg_xri_rebalancing;
+       uint32_t cfg_xpsgl;
        uint32_t cfg_enable_npiv;
        uint32_t cfg_enable_rrq;
        uint32_t cfg_topology;
@@ -905,6 +908,7 @@ struct lpfc_hba {
        wait_queue_head_t    work_waitq;
        struct task_struct   *worker_thread;
        unsigned long data_flags;
+       uint32_t border_sge_num;
 
        uint32_t hbq_in_use;            /* HBQs in use flag */
        uint32_t hbq_count;             /* Count of configured HBQs */
@@ -987,6 +991,7 @@ struct lpfc_hba {
        struct dma_pool *lpfc_nvmet_drb_pool; /* data receive buffer pool */
        struct dma_pool *lpfc_hbq_pool; /* SLI3 hbq buffer pool */
        struct dma_pool *txrdy_payload_pool;
+       struct dma_pool *lpfc_cmd_rsp_buf_pool;
        struct lpfc_dma_pool lpfc_mbuf_safety_pool;
 
        mempool_t *mbox_mem_pool;
@@ -1034,8 +1039,6 @@ struct lpfc_hba {
        struct dentry *debug_hbqinfo;
        struct dentry *debug_dumpHostSlim;
        struct dentry *debug_dumpHBASlim;
-       struct dentry *debug_dumpData;   /* BlockGuard BPL */
-       struct dentry *debug_dumpDif;    /* BlockGuard BPL */
        struct dentry *debug_InjErrLBA;  /* LBA to inject errors at */
        struct dentry *debug_InjErrNPortID;  /* NPortID to inject errors at */
        struct dentry *debug_InjErrWWPN;  /* WWPN to inject errors at */