ionic: dynamic interrupt moderation
[linux-2.6-microblaze.git] / drivers / net / ethernet / pensando / ionic / ionic_lif.h
index 11ea9e0..c65a5e6 100644 (file)
@@ -4,6 +4,7 @@
 #ifndef _IONIC_LIF_H_
 #define _IONIC_LIF_H_
 
+#include <linux/dim.h>
 #include <linux/pci.h>
 #include "ionic_rx_filter.h"
 
@@ -66,6 +67,7 @@ struct ionic_qcq {
        void *sg_base;
        dma_addr_t sg_base_pa;
        u32 sg_size;
+       struct dim dim;
        struct ionic_queue q;
        struct ionic_cq cq;
        struct ionic_intr_info intr;
@@ -131,6 +133,8 @@ enum ionic_lif_state_flags {
        IONIC_LIF_F_LINK_CHECK_REQUESTED,
        IONIC_LIF_F_FW_RESET,
        IONIC_LIF_F_SPLIT_INTR,
+       IONIC_LIF_F_TX_DIM_INTR,
+       IONIC_LIF_F_RX_DIM_INTR,
 
        /* leave this as last */
        IONIC_LIF_F_STATE_SIZE
@@ -288,7 +292,6 @@ static inline void debug_stats_napi_poll(struct ionic_qcq *qcq,
 
 #define DEBUG_STATS_CQE_CNT(cq)                ((cq)->compl_count++)
 #define DEBUG_STATS_RX_BUFF_CNT(q)     ((q)->lif->rxqstats[q->index].buffers_posted++)
-#define DEBUG_STATS_INTR_REARM(intr)   ((intr)->rearm_count++)
 #define DEBUG_STATS_TXQ_POST(q, dbell)  debug_stats_txq_post(q, dbell)
 #define DEBUG_STATS_NAPI_POLL(qcq, work_done) \
        debug_stats_napi_poll(qcq, work_done)