net/mlx5: add macros for file name and path
[dpdk.git] / drivers / net / mlx5 / mlx5_txpp.c
index 2438bf1..726bdc6 100644 (file)
@@ -18,6 +18,9 @@
 #include "mlx5_rxtx.h"
 #include "mlx5_common_os.h"
 
+static_assert(sizeof(struct mlx5_cqe_ts) == sizeof(rte_int128_t),
+               "Wrong timestamp CQE part size");
+
 static const char * const mlx5_txpp_stat_names[] = {
        "tx_pp_missed_interrupt_errors", /* Missed service interrupt. */
        "tx_pp_rearm_queue_errors", /* Rearm Queue errors. */
@@ -34,7 +37,7 @@ static void
 mlx5_txpp_destroy_event_channel(struct mlx5_dev_ctx_shared *sh)
 {
        if (sh->txpp.echan) {
-               mlx5_glue->devx_destroy_event_channel(sh->txpp.echan);
+               mlx5_os_devx_destroy_event_channel(sh->txpp.echan);
                sh->txpp.echan = NULL;
        }
 }
@@ -44,7 +47,7 @@ static int
 mlx5_txpp_create_event_channel(struct mlx5_dev_ctx_shared *sh)
 {
        MLX5_ASSERT(!sh->txpp.echan);
-       sh->txpp.echan = mlx5_glue->devx_create_event_channel(sh->ctx,
+       sh->txpp.echan = mlx5_os_devx_create_event_channel(sh->ctx,
                        MLX5DV_DEVX_CREATE_EVENT_CHANNEL_FLAGS_OMIT_EV_DATA);
        if (!sh->txpp.echan) {
                rte_errno = errno;
@@ -57,11 +60,16 @@ mlx5_txpp_create_event_channel(struct mlx5_dev_ctx_shared *sh)
 static void
 mlx5_txpp_free_pp_index(struct mlx5_dev_ctx_shared *sh)
 {
+#ifdef HAVE_MLX5DV_PP_ALLOC
        if (sh->txpp.pp) {
                mlx5_glue->dv_free_pp(sh->txpp.pp);
                sh->txpp.pp = NULL;
                sh->txpp.pp_id = 0;
        }
+#else
+       RTE_SET_USED(sh);
+       DRV_LOG(ERR, "Freeing pacing index is not supported.");
+#endif
 }
 
 /* Allocate Packet Pacing index from kernel via mlx5dv call. */
@@ -123,13 +131,13 @@ mlx5_txpp_destroy_send_queue(struct mlx5_txpp_wq *wq)
        if (wq->sq)
                claim_zero(mlx5_devx_cmd_destroy(wq->sq));
        if (wq->sq_umem)
-               claim_zero(mlx5_glue->devx_umem_dereg(wq->sq_umem));
+               claim_zero(mlx5_os_umem_dereg(wq->sq_umem));
        if (wq->sq_buf)
                mlx5_free((void *)(uintptr_t)wq->sq_buf);
        if (wq->cq)
                claim_zero(mlx5_devx_cmd_destroy(wq->cq));
        if (wq->cq_umem)
-               claim_zero(mlx5_glue->devx_umem_dereg(wq->cq_umem));
+               claim_zero(mlx5_os_umem_dereg(wq->cq_umem));
        if (wq->cq_buf)
                mlx5_free((void *)(uintptr_t)wq->cq_buf);
        memset(wq, 0, sizeof(*wq));
@@ -260,7 +268,7 @@ mlx5_txpp_create_rearm_queue(struct mlx5_dev_ctx_shared *sh)
                return -ENOMEM;
        }
        /* Register allocated buffer in user space with DevX. */
-       wq->cq_umem = mlx5_glue->devx_umem_reg(sh->ctx,
+       wq->cq_umem = mlx5_os_umem_reg(sh->ctx,
                                               (void *)(uintptr_t)wq->cq_buf,
                                               umem_size,
                                               IBV_ACCESS_LOCAL_WRITE);
@@ -310,7 +318,7 @@ mlx5_txpp_create_rearm_queue(struct mlx5_dev_ctx_shared *sh)
                goto error;
        }
        /* Register allocated buffer in user space with DevX. */
-       wq->sq_umem = mlx5_glue->devx_umem_reg(sh->ctx,
+       wq->sq_umem = mlx5_os_umem_reg(sh->ctx,
                                               (void *)(uintptr_t)wq->sq_buf,
                                               umem_size,
                                               IBV_ACCESS_LOCAL_WRITE);
@@ -498,7 +506,7 @@ mlx5_txpp_create_clock_queue(struct mlx5_dev_ctx_shared *sh)
                return -ENOMEM;
        }
        /* Register allocated buffer in user space with DevX. */
-       wq->cq_umem = mlx5_glue->devx_umem_reg(sh->ctx,
+       wq->cq_umem = mlx5_os_umem_reg(sh->ctx,
                                               (void *)(uintptr_t)wq->cq_buf,
                                               umem_size,
                                               IBV_ACCESS_LOCAL_WRITE);
@@ -554,7 +562,7 @@ mlx5_txpp_create_clock_queue(struct mlx5_dev_ctx_shared *sh)
                goto error;
        }
        /* Register allocated buffer in user space with DevX. */
-       wq->sq_umem = mlx5_glue->devx_umem_reg(sh->ctx,
+       wq->sq_umem = mlx5_os_umem_reg(sh->ctx,
                                               (void *)(uintptr_t)wq->sq_buf,
                                               umem_size,
                                               IBV_ACCESS_LOCAL_WRITE);
@@ -736,8 +744,6 @@ mlx5_txpp_update_timestamp(struct mlx5_dev_ctx_shared *sh)
        uint64_t ts;
        uint16_t ci;
 
-       static_assert(sizeof(struct mlx5_cqe_ts) == sizeof(rte_int128_t),
-                     "Wrong timestamp CQE part size");
        mlx5_atomic_read_cqe((rte_int128_t *)&cqe->timestamp, &to.u128);
        if (to.cts.op_own >> 4) {
                DRV_LOG(DEBUG, "Clock Queue error sync lost.");
@@ -764,15 +770,11 @@ mlx5_txpp_init_timestamp(struct mlx5_dev_ctx_shared *sh)
        sh->txpp.ts_p = 0;
        sh->txpp.ts_n = 0;
        for (wait = 0; wait < MLX5_TXPP_WAIT_INIT_TS; wait++) {
-               struct timespec onems;
-
                mlx5_txpp_update_timestamp(sh);
                if (wq->sq_ci)
                        return;
                /* Wait one millisecond and try again. */
-               onems.tv_sec = 0;
-               onems.tv_nsec = NS_PER_S / MS_PER_S;
-               nanosleep(&onems, 0);
+               rte_delay_us_sleep(US_PER_S / MS_PER_S);
        }
        DRV_LOG(ERR, "Unable to initialize timestamp.");
        sh->txpp.sync_lost = 1;
@@ -935,7 +937,7 @@ mlx5_txpp_start_service(struct mlx5_dev_ctx_shared *sh)
                return -rte_errno;
        }
        /* Subscribe CQ event to the event channel controlled by the driver. */
-       ret = mlx5_glue->devx_subscribe_devx_event(sh->txpp.echan,
+       ret = mlx5_os_devx_subscribe_devx_event(sh->txpp.echan,
                                                   sh->txpp.rearm_queue.cq->obj,
                                                   sizeof(event_nums),
                                                   event_nums, 0);