On Tue, Aug 1, 2023 at 12:30 PM Srikanth Yalavarthi <syalavar...@marvell.com> wrote: > > Introduce event ML adapter APIs. This patch provides information > on adapter modes and usage. Application can use this event adapter > interface to transfer packets between ML device and event device. > > Signed-off-by: Srikanth Yalavarthi <syalavar...@marvell.com>
Adding other eventdev maintainers Found a doc build issue /export/dpdk-next-eventdev/lib/eventdev/rte_eventdev.h:1489: error: argument 'id' of command @param is not found in the argument list of rte_event_ml_adapter_caps_get(uint8_t dev_id, int16_t mldev_id, uint32_t *caps) (warning treated as err or, aborting now) > --- > diff --git a/MAINTAINERS b/MAINTAINERS > index 18bc05fccd..3f9d4d2c43 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -544,6 +544,12 @@ F: drivers/raw/skeleton/ > F: app/test/test_rawdev.c > F: doc/guides/prog_guide/rawdev.rst > > +Eventdev ML Adapter API > +M: Srikanth Yalavarthi <syalavar...@marvell.com> > +T: git://dpdk.org/next/dpdk-next-eventdev > +F: lib/eventdev/*ml_adapter* > +F: doc/guides/prog_guide/event_ml_adapter.rst Keep next to "Eventdev Crypto Adapter API". > + > +/** > + * Enqueue a burst of ML operations as event objects supplied in *rte_event* > structure on an event > + * ML adapter designated by its event *evdev_id* through the event port > specified by *port_id*. This > + * function is supported if the eventdev PMD has the > #RTE_EVENT_ML_ADAPTER_CAP_INTERNAL_PORT_OP_FWD > + * capability flag set. > + * > + * The *nb_events* parameter is the number of event objects to enqueue that > are supplied in the > + * *ev* array of *rte_event* structure. > + * > + * The rte_event_ml_adapter_enqueue() function returns the number of event > objects it actually > + * enqueued. A return value equal to *nb_events* means that all event > objects have been enqueued. > + * > + * @param evdev_id > + * The identifier of the device. > + * @param port_id > + * The identifier of the event port. > + * @param ev > + * Points to an array of *nb_events* objects of type *rte_event* > structure which contain the > + * event object enqueue operations to be processed. > + * @param nb_events > + * The number of event objects to enqueue, typically number of > + * rte_event_port_attr_get(...RTE_EVENT_PORT_ATTR_ENQ_DEPTH...) available > for this port. > + * > + * @return > + * The number of event objects actually enqueued on the event device. > The return value can be > + * less than the value of the *nb_events* parameter when the event devices > queue is full or if > + * invalid parameters are specified in a *rte_event*. If the return value is > less than *nb_events*, > + * the remaining events at the end of ev[] are not consumed and the caller > has to take care of them, > + * and rte_errno is set accordingly. Possible errno values include: > + * Error code is not rendering properly in html doc > + * - EINVAL: The port ID is invalid, device ID is invalid, an event's > queue ID is invalid, or an > + * event's sched type doesn't match the capabilities of the destination > queue. > + * - ENOSPC: The event port was backpressured and unable to enqueue one > or more events. This > + * error code is only applicable to closed systems. > + */ > +uint16_t > +rte_event_ml_adapter_enqueue(uint8_t evdev_id, uint8_t port_id, struct > rte_event ev[], > + uint16_t nb_events); > diff --git a/lib/mldev/rte_mldev.h b/lib/mldev/rte_mldev.h > index 222ecbdbe1..a14437eb72 100644 > --- a/lib/mldev/rte_mldev.h > +++ b/lib/mldev/rte_mldev.h > @@ -449,6 +449,12 @@ struct rte_ml_op { > * dequeue and enqueue operation. > * The application should not modify this field. > */ > + uint32_t private_data_offset; > + /**< Offset to indicate start of private data (if any). > + * The offset is counted from the start of the rte_ml_op. > + * The offset provides an offset to locate the request / > + * response information in the rte_ml_op. Could you move this change out of event adapter changes.i.e merged through main tree. > + */ > } __rte_cache_aligned; Since it is similar to crypto adapter, no more review comments. If there are further review comments in mailing list, please work on v1 with test application and driver changes.