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

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

index a0a7064..aba1713 100644 (file)
@@ -476,25 +476,6 @@ ionic_q_post(struct ionic_queue *q, bool ring_doorbell, desc_cb cb,
                ionic_q_flush(q);
 }
 
-uint32_t
-ionic_q_space_avail(struct ionic_queue *q)
-{
-       uint32_t avail = q->tail_idx;
-
-       if (q->head_idx >= avail)
-               avail += q->num_descs - q->head_idx - 1;
-       else
-               avail -= q->head_idx + 1;
-
-       return avail;
-}
-
-bool
-ionic_q_has_space(struct ionic_queue *q, uint32_t want)
-{
-       return ionic_q_space_avail(q) >= want;
-}
-
 void
 ionic_q_service(struct ionic_queue *q, uint32_t cq_desc_index,
                uint32_t stop_index, void *service_cb_arg)
@@ -563,7 +544,7 @@ ionic_adminq_post(struct ionic_lif *lif, struct ionic_admin_ctx *ctx)
 
        rte_spinlock_lock(&lif->adminq_lock);
 
-       if (!ionic_q_has_space(adminq, 1)) {
+       if (ionic_q_space_avail(adminq) < 1) {
                err = -ENOSPC;
                goto err_out;
        }
index afaddb7..ef63ff7 100644 (file)
@@ -256,11 +256,22 @@ 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_post(struct ionic_queue *q, bool ring_doorbell, desc_cb cb,
        void *cb_arg);
-uint32_t ionic_q_space_avail(struct ionic_queue *q);
-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 uint32_t
+ionic_q_space_avail(struct ionic_queue *q)
+{
+       uint32_t avail = q->tail_idx;
+
+       if (q->head_idx >= avail)
+               avail += q->num_descs - q->head_idx - 1;
+       else
+               avail -= q->head_idx + 1;
+
+       return avail;
+}
+
 static inline void
 ionic_q_flush(struct ionic_queue *q)
 {