]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
cxgb4: DB Drop Recovery for RDMA and LLD queues
[karo-tx-linux.git] / drivers / net / ethernet / chelsio / cxgb4 / cxgb4.h
index 5f3c0a728e186d346a23fe776a1acfbf0230008c..ec2dafe8ae5bbb15b0bfaad2be9c5cd4bd2bf2a7 100644 (file)
@@ -51,6 +51,8 @@
 #define FW_VERSION_MINOR 1
 #define FW_VERSION_MICRO 0
 
+#define CH_WARN(adap, fmt, ...) dev_warn(adap->pdev_dev, fmt, ## __VA_ARGS__)
+
 enum {
        MAX_NPORTS = 4,     /* max # of ports */
        SERNUM_LEN = 24,    /* Serial # length */
@@ -64,6 +66,15 @@ enum {
        MEM_MC
 };
 
+enum {
+       MEMWIN0_APERTURE = 65536,
+       MEMWIN0_BASE     = 0x30000,
+       MEMWIN1_APERTURE = 32768,
+       MEMWIN1_BASE     = 0x28000,
+       MEMWIN2_APERTURE = 2048,
+       MEMWIN2_BASE     = 0x1b800,
+};
+
 enum dev_master {
        MASTER_CANT,
        MASTER_MAY,
@@ -403,6 +414,9 @@ struct sge_txq {
        struct tx_sw_desc *sdesc;   /* address of SW Tx descriptor ring */
        struct sge_qstat *stat;     /* queue status entry */
        dma_addr_t    phys_addr;    /* physical address of the ring */
+       spinlock_t db_lock;
+       int db_disabled;
+       unsigned short db_pidx;
 };
 
 struct sge_eth_txq {                /* state for an SGE Ethernet Tx queue */
@@ -475,6 +489,7 @@ struct adapter {
        void __iomem *regs;
        struct pci_dev *pdev;
        struct device *pdev_dev;
+       unsigned int mbox;
        unsigned int fn;
        unsigned int flags;
 
@@ -607,6 +622,7 @@ irqreturn_t t4_sge_intr_msix(int irq, void *cookie);
 void t4_sge_init(struct adapter *adap);
 void t4_sge_start(struct adapter *adap);
 void t4_sge_stop(struct adapter *adap);
+extern int dbfifo_int_thresh;
 
 #define for_each_port(adapter, iter) \
        for (iter = 0; iter < (adapter)->params.nports; ++iter)