[dpdk-dev] [PATCH 12/20] event/dpaa2: add configuration functions

Nipun Gupta nipun.gupta at nxp.com
Thu Jun 1 13:39:35 CEST 2017



> -----Original Message-----
> From: Jerin Jacob [mailto:jerin.jacob at caviumnetworks.com]
> Sent: Wednesday, May 31, 2017 20:59
> To: Nipun Gupta <nipun.gupta at nxp.com>
> Cc: dev at dpdk.org; Hemant Agrawal <hemant.agrawal at nxp.com>;
> harry.van.haaren at intel.com; bruce.richardson at intel.com;
> gage.eads at intel.com; Shreyansh Jain <shreyansh.jain at nxp.com>
> Subject: Re: [PATCH 12/20] event/dpaa2: add configuration functions
> 
> -----Original Message-----
> > Date: Thu, 25 May 2017 23:37:43 +0530
> > From: Nipun Gupta <nipun.gupta at nxp.com>
> > To: dev at dpdk.org
> > CC: hemant.agrawal at nxp.com, jerin.jacob at caviumnetworks.com,
> >  harry.van.haaren at intel.com, bruce.richardson at intel.com,
> >  gage.eads at intel.com, shreyansh.jain at nxp.com, Nipun Gupta
> >  <nipun.gupta at nxp.com>
> > Subject: [PATCH 12/20] event/dpaa2: add configuration functions
> > X-Mailer: git-send-email 1.9.1
> >
> > This patch adds all the configuration API's for DPAA2 eventdev
> > including device config, start, stop & port and queue
> > related API's
> >
> > Signed-off-by: Nipun Gupta <nipun.gupta at nxp.com>
> > ---
> >  drivers/event/dpaa2/dpaa2_eventdev.c | 283
> ++++++++++++++++++++++++++++++++++-
> >  drivers/event/dpaa2/dpaa2_eventdev.h |  22 +++
> >  2 files changed, 304 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/event/dpaa2/dpaa2_eventdev.c
> b/drivers/event/dpaa2/dpaa2_eventdev.c
> > index 7fa17f2..cfb52bb 100644
> > --- a/drivers/event/dpaa2/dpaa2_eventdev.c
> > +++ b/drivers/event/dpaa2/dpaa2_eventdev.c
> > @@ -106,7 +106,288 @@
> >  	return dpaa2_eventdev_dequeue_burst(port, ev, 1, timeout_ticks);
> >  }
> >
> > +static int
> > +dpaa2_eventdev_queue_setup(struct rte_eventdev *dev, uint8_t queue_id,
> > +			   const struct rte_event_queue_conf *queue_conf)
> > +{
> > +	struct dpaa2_eventdev *priv = dev->data->dev_private;
> > +	struct evq_info_t *evq_info =
> > +		&priv->evq_info[queue_id];
> > +
> > +	PMD_DRV_FUNC_TRACE();
> > +
> > +	evq_info->event_queue_cfg = queue_conf->event_queue_cfg;
> 
> Based on the documentation, it looks like ORDERED sched type is not
> supported. If so, return an error when queue config request is
> RTE_EVENT_QUEUE_CFG_ORDERED_ONLY.
> 
> On the same lines, default_queue_setup() returns
> RTE_EVENT_QUEUE_CFG_ALL_TYPES as default value. If ORDERED sched type
> is not supported then I think, RTE_EVENT_QUEUE_CFG_ALL_TYPES
> can not be used as default or configured.

Yes, Right now we are supporting only parallel and atomic queues and waiting
for our MC firmware to have support for ordered queues in case of enqueue
from software. I need to update my code with this. Ill update this in v2.

Thanks

> 
> > +
> > +	return 0;
> > +}
> > +
> > +static void
> > +dpaa2_eventdev_port_release(void *port)
> > +{
> > +	PMD_DRV_FUNC_TRACE();
> > +
> > +	RTE_SET_USED(port);
> > +}
> > +
> > +static int
> > +dpaa2_eventdev_port_setup(struct rte_eventdev *dev, uint8_t port_id,
> > +			  const struct rte_event_port_conf *port_conf)
> > +{
> > +	PMD_DRV_FUNC_TRACE();
> > +
> > +	RTE_SET_USED(port_conf);
> > +
> > +	if (!dpaa2_io_portal[port_id].dpio_dev) {
> > +		dpaa2_io_portal[port_id].dpio_dev =
> > +				dpaa2_get_qbman_swp(port_id);
> > +		rte_atomic16_inc(&dpaa2_io_portal[port_id].dpio_dev-
> >ref_count);
> > +		if (!dpaa2_io_portal[port_id].dpio_dev)
> > +			return -1;
> > +	}
> > +
> > +	dpaa2_io_portal[port_id].eventdev = dev;
> > +	dev->data->ports[port_id] = &dpaa2_io_portal[port_id];
> > +	return 0;
> > +}
> > +


More information about the dev mailing list