net/iavf: fix VLAN tag extraction handling
[dpdk.git] / drivers / net / ionic / ionic_dev.c
index 493dfa7..a9f9e2f 100644 (file)
@@ -87,9 +87,8 @@ void
 ionic_dev_cmd_comp(struct ionic_dev *idev, void *mem)
 {
        union ionic_dev_cmd_comp *comp = mem;
-       unsigned int i;
-       uint32_t comp_size = sizeof(comp->words) /
-               sizeof(comp->words[0]);
+       uint32_t comp_size = RTE_DIM(comp->words);
+       uint32_t i;
 
        for (i = 0; i < comp_size; i++)
                comp->words[i] = ioread32(&idev->dev_cmd->comp.words[i]);
@@ -98,9 +97,8 @@ ionic_dev_cmd_comp(struct ionic_dev *idev, void *mem)
 void
 ionic_dev_cmd_go(struct ionic_dev *idev, union ionic_dev_cmd *cmd)
 {
-       unsigned int i;
-       uint32_t cmd_size = sizeof(cmd->words) /
-               sizeof(cmd->words[0]);
+       uint32_t cmd_size = RTE_DIM(cmd->words);
+       uint32_t i;
 
        IONIC_PRINT(DEBUG, "Sending %s (%d) via dev_cmd",
                    ionic_opcode_to_str(cmd->cmd.opcode), cmd->cmd.opcode);
@@ -461,12 +459,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)
@@ -482,25 +474,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)
@@ -569,7 +542,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;
        }