X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=lib%2Flibrte_eventdev%2Frte_eventdev.h;h=b21c27179e971d0248bc2ac8846f28eb89a724dc;hb=4deefb6f7107dd6a40900be4f1d6a6844a702505;hp=84ac47d5439035dcd463420928a95dae69fb6b0a;hpb=ec36d881f56de787b59ec545372c351ecee6179a;p=dpdk.git diff --git a/lib/librte_eventdev/rte_eventdev.h b/lib/librte_eventdev/rte_eventdev.h index 84ac47d543..b21c27179e 100644 --- a/lib/librte_eventdev/rte_eventdev.h +++ b/lib/librte_eventdev/rte_eventdev.h @@ -294,6 +294,28 @@ struct rte_mbuf; /* we just use mbuf pointers; no need to include rte_mbuf.h */ * @see rte_event_dequeue_burst() rte_event_enqueue_burst() */ +#define RTE_EVENT_DEV_CAP_NONSEQ_MODE (1ULL << 6) +/**< Event device is capable of operating in none sequential mode. The path + * of the event is not necessary to be sequential. Application can change + * the path of event at runtime. If the flag is not set, then event each event + * will follow a path from queue 0 to queue 1 to queue 2 etc. If the flag is + * set, events may be sent to queues in any order. If the flag is not set, the + * eventdev will return an error when the application enqueues an event for a + * qid which is not the next in the sequence. + */ + +#define RTE_EVENT_DEV_CAP_RUNTIME_PORT_LINK (1ULL << 7) +/**< Event device is capable of configuring the queue/port link at runtime. + * If the flag is not set, the eventdev queue/port link is only can be + * configured during initialization. + */ + +#define RTE_EVENT_DEV_CAP_MULTIPLE_QUEUE_PORT (1ULL << 8) +/**< Event device is capable of setting up the link between multiple queue + * with single port. If the flag is not set, the eventdev can only map a + * single queue to each port or map a single queue to many port. + */ + /* Event device priority levels */ #define RTE_EVENT_DEV_PRIORITY_HIGHEST 0 /**< Highest priority expressed across eventdev subsystem @@ -431,9 +453,9 @@ rte_event_dev_info_get(uint8_t dev_id, struct rte_event_dev_info *dev_info); * @param[out] attr_value A pointer that will be filled in with the attribute * value if successful. * - * @retval 0 Successfully retrieved attribute value - * -EINVAL Invalid device or *attr_id* provided, or *attr_value* - * is NULL + * @return + * - 0: Successfully retrieved attribute value + * - -EINVAL: Invalid device or *attr_id* provided, or *attr_value* is NULL */ int rte_event_dev_attr_get(uint8_t dev_id, uint32_t attr_id, @@ -651,18 +673,22 @@ rte_event_queue_setup(uint8_t dev_id, uint8_t queue_id, /** * Get an attribute from a queue. * - * @param dev_id Eventdev id - * @param queue_id Eventdev queue id - * @param attr_id The attribute ID to retrieve - * @param[out] attr_value A pointer that will be filled in with the attribute - * value if successful + * @param dev_id + * Eventdev id + * @param queue_id + * Eventdev queue id + * @param attr_id + * The attribute ID to retrieve + * @param[out] attr_value + * A pointer that will be filled in with the attribute value if successful * - * @retval 0 Successfully returned value - * -EINVAL invalid device, queue or attr_id provided, or attr_value - * was NULL - * -EOVERFLOW returned when attr_id is set to - * RTE_EVENT_QUEUE_ATTR_SCHEDULE_TYPE and event_queue_cfg is set to - * RTE_EVENT_QUEUE_CFG_ALL_TYPES + * @return + * - 0: Successfully returned value + * - -EINVAL: invalid device, queue or attr_id provided, or attr_value was + * NULL + * - -EOVERFLOW: returned when attr_id is set to + * RTE_EVENT_QUEUE_ATTR_SCHEDULE_TYPE and event_queue_cfg is set to + * RTE_EVENT_QUEUE_CFG_ALL_TYPES */ int rte_event_queue_attr_get(uint8_t dev_id, uint8_t queue_id, uint32_t attr_id, @@ -772,14 +798,18 @@ rte_event_port_setup(uint8_t dev_id, uint8_t port_id, /** * Get an attribute from a port. * - * @param dev_id Eventdev id - * @param port_id Eventdev port id - * @param attr_id The attribute ID to retrieve - * @param[out] attr_value A pointer that will be filled in with the attribute - * value if successful + * @param dev_id + * Eventdev id + * @param port_id + * Eventdev port id + * @param attr_id + * The attribute ID to retrieve + * @param[out] attr_value + * A pointer that will be filled in with the attribute value if successful * - * @retval 0 Successfully returned value - * -EINVAL Invalid device, port or attr_id, or attr_value was NULL + * @return + * - 0: Successfully returned value + * - (-EINVAL) Invalid device, port or attr_id, or attr_value was NULL */ int rte_event_port_attr_get(uint8_t dev_id, uint8_t port_id, uint32_t attr_id, @@ -1780,6 +1810,18 @@ rte_event_dev_xstats_reset(uint8_t dev_id, const uint32_t ids[], uint32_t nb_ids); +/** + * Trigger the eventdev self test. + * + * @param dev_id + * The identifier of the device + * @return + * - 0: Selftest successful + * - -ENOTSUP if the device doesn't support selftest + * - other values < 0 on failure. + */ +int rte_event_dev_selftest(uint8_t dev_id); + #ifdef __cplusplus } #endif