eventdev: add tracepoints
[dpdk.git] / lib / librte_eventdev / rte_event_timer_adapter.c
index 459bc47..005459f 100644 (file)
@@ -22,6 +22,7 @@
 
 #include "rte_eventdev.h"
 #include "rte_eventdev_pmd.h"
+#include "rte_eventdev_trace.h"
 #include "rte_event_timer_adapter.h"
 #include "rte_event_timer_adapter_pmd.h"
 
@@ -192,17 +193,17 @@ rte_event_timer_adapter_create_ext(
                                                   &adapter->data->caps,
                                                   &adapter->ops);
        if (ret < 0) {
-               rte_errno = ret;
+               rte_errno = -ret;
                goto free_memzone;
        }
 
        if (!(adapter->data->caps &
              RTE_EVENT_TIMER_ADAPTER_CAP_INTERNAL_PORT)) {
-               FUNC_PTR_OR_NULL_RET_WITH_ERRNO(conf_cb, -EINVAL);
+               FUNC_PTR_OR_NULL_RET_WITH_ERRNO(conf_cb, EINVAL);
                ret = conf_cb(adapter->data->id, adapter->data->event_dev_id,
                              &adapter->data->event_port_id, conf_arg);
                if (ret < 0) {
-                       rte_errno = ret;
+                       rte_errno = -ret;
                        goto free_memzone;
                }
        }
@@ -214,10 +215,10 @@ rte_event_timer_adapter_create_ext(
                adapter->ops = &swtim_ops;
 
        /* Allow driver to do some setup */
-       FUNC_PTR_OR_NULL_RET_WITH_ERRNO(adapter->ops->init, -ENOTSUP);
+       FUNC_PTR_OR_NULL_RET_WITH_ERRNO(adapter->ops->init, ENOTSUP);
        ret = adapter->ops->init(adapter);
        if (ret < 0) {
-               rte_errno = ret;
+               rte_errno = -ret;
                goto free_memzone;
        }
 
@@ -228,6 +229,8 @@ rte_event_timer_adapter_create_ext(
 
        adapter->allocated = 1;
 
+       rte_eventdev_trace_timer_adapter_create(adapter_id, adapter, conf,
+               conf_cb);
        return adapter;
 
 free_memzone:
@@ -272,7 +275,7 @@ rte_event_timer_adapter_start(const struct rte_event_timer_adapter *adapter)
                return ret;
 
        adapter->data->started = 1;
-
+       rte_eventdev_trace_timer_adapter_start(adapter);
        return 0;
 }
 
@@ -295,7 +298,7 @@ rte_event_timer_adapter_stop(const struct rte_event_timer_adapter *adapter)
                return ret;
 
        adapter->data->started = 0;
-
+       rte_eventdev_trace_timer_adapter_stop(adapter);
        return 0;
 }
 
@@ -379,6 +382,7 @@ rte_event_timer_adapter_free(struct rte_event_timer_adapter *adapter)
        adapter->data = NULL;
        adapter->allocated = 0;
 
+       rte_eventdev_trace_timer_adapter_free(adapter);
        return 0;
 }
 
@@ -509,11 +513,11 @@ event_buffer_flush(struct event_buffer *bufp, uint8_t dev_id, uint8_t port_id,
        *nb_events_flushed = rte_event_enqueue_burst(dev_id, port_id,
                                                     &events[tail_idx], n);
        if (*nb_events_flushed != n) {
-               if (rte_errno == -EINVAL) {
+               if (rte_errno == EINVAL) {
                        EVTIM_LOG_ERR("failed to enqueue invalid event - "
                                      "dropping it");
                        (*nb_events_inv)++;
-               } else if (rte_errno == -ENOSPC)
+               } else if (rte_errno == ENOSPC)
                        rte_pause();
        }
 
@@ -706,11 +710,11 @@ check_destination_event_queue(struct rte_event_timer *evtim,
                                       RTE_EVENT_QUEUE_ATTR_SCHEDULE_TYPE,
                                       &sched_type);
 
-       if ((ret < 0 && ret != -EOVERFLOW) ||
-           evtim->ev.sched_type != sched_type)
-               return -1;
+       if ((ret == 0 && evtim->ev.sched_type == sched_type) ||
+           ret == -EOVERFLOW)
+               return 0;
 
-       return 0;
+       return -1;
 }
 
 static int
@@ -832,7 +836,7 @@ swtim_init(struct rte_event_timer_adapter *adapter)
        if (ret < 0) {
                if (ret != -EALREADY) {
                        EVTIM_LOG_ERR("failed to initialize timer subsystem");
-                       rte_errno = ret;
+                       rte_errno = -ret;
                        goto free_mempool;
                }
        }
@@ -840,7 +844,7 @@ swtim_init(struct rte_event_timer_adapter *adapter)
        ret = rte_timer_data_alloc(&sw->timer_data_id);
        if (ret < 0) {
                EVTIM_LOG_ERR("failed to allocate timer data instance");
-               rte_errno = ret;
+               rte_errno = -ret;
                goto free_mempool;
        }