From bef60d87adf203b363efbffdd9c379480a8b2803 Mon Sep 17 00:00:00 2001 From: Andrew Boyer Date: Mon, 18 Jan 2021 12:35:02 -0800 Subject: [PATCH] net/ionic: inline queue flush function This is hot-path function. Signed-off-by: Andrew Boyer Signed-off-by: Neel Patel --- drivers/net/ionic/ionic_dev.c | 6 ------ drivers/net/ionic/ionic_dev.h | 9 ++++++++- drivers/net/ionic/ionic_osdep.h | 1 - 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/drivers/net/ionic/ionic_dev.c b/drivers/net/ionic/ionic_dev.c index 493dfa7932..a0a70644c3 100644 --- a/drivers/net/ionic/ionic_dev.c +++ b/drivers/net/ionic/ionic_dev.c @@ -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) diff --git a/drivers/net/ionic/ionic_dev.h b/drivers/net/ionic/ionic_dev.h index 6931930543..afaddb719f 100644 --- a/drivers/net/ionic/ionic_dev.h +++ b/drivers/net/ionic/ionic_dev.h @@ -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_ */ diff --git a/drivers/net/ionic/ionic_osdep.h b/drivers/net/ionic/ionic_osdep.h index a55d599184..a352849189 100644 --- a/drivers/net/ionic/ionic_osdep.h +++ b/drivers/net/ionic/ionic_osdep.h @@ -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 -- 2.20.1