net/ionic: inline queue flush function
authorAndrew Boyer <aboyer@pensando.io>
Mon, 18 Jan 2021 20:35:02 +0000 (12:35 -0800)
committerFerruh Yigit <ferruh.yigit@intel.com>
Fri, 29 Jan 2021 17:16:10 +0000 (18:16 +0100)
This is hot-path function.

Signed-off-by: Andrew Boyer <aboyer@pensando.io>
Signed-off-by: Neel Patel <neel@pensando.io>
drivers/net/ionic/ionic_dev.c
drivers/net/ionic/ionic_dev.h
drivers/net/ionic/ionic_osdep.h

index 493dfa7..a0a7064 100644 (file)
@@ -461,12 +461,6 @@ ionic_q_sg_map(struct ionic_queue *q, void *base, rte_iova_t base_pa)
        q->sg_base_pa = base_pa;
 }
 
-void
-ionic_q_flush(struct ionic_queue *q)
-{
-       writeq(IONIC_DBELL_QID(q->hw_index) | q->head_idx, q->db);
-}
-
 void
 ionic_q_post(struct ionic_queue *q, bool ring_doorbell, desc_cb cb,
             void *cb_arg)
index 6931930..afaddb7 100644 (file)
@@ -254,7 +254,6 @@ int ionic_q_init(struct ionic_lif *lif, struct ionic_dev *idev,
        size_t desc_size, size_t sg_desc_size);
 void ionic_q_map(struct ionic_queue *q, void *base, rte_iova_t base_pa);
 void ionic_q_sg_map(struct ionic_queue *q, void *base, rte_iova_t base_pa);
-void ionic_q_flush(struct ionic_queue *q);
 void ionic_q_post(struct ionic_queue *q, bool ring_doorbell, desc_cb cb,
        void *cb_arg);
 uint32_t ionic_q_space_avail(struct ionic_queue *q);
@@ -262,6 +261,14 @@ bool ionic_q_has_space(struct ionic_queue *q, uint32_t want);
 void ionic_q_service(struct ionic_queue *q, uint32_t cq_desc_index,
        uint32_t stop_index, void *service_cb_arg);
 
+static inline void
+ionic_q_flush(struct ionic_queue *q)
+{
+       uint64_t val = IONIC_DBELL_QID(q->hw_index) | q->head_idx;
+
+       rte_write64(val, q->db);
+}
+
 int ionic_adminq_post(struct ionic_lif *lif, struct ionic_admin_ctx *ctx);
 
 #endif /* _IONIC_DEV_H_ */
index a55d599..a352849 100644 (file)
@@ -43,6 +43,5 @@ typedef uint64_t __le64;
 #define ioread32(reg)          rte_read32(reg)
 #define iowrite8(value, reg)   rte_write8(value, reg)
 #define iowrite32(value, reg)  rte_write32(value, reg)
-#define writeq(value, reg)     rte_write64(value, reg)
 
 #endif