> -----Original Message----- > From: Hemant Agrawal <hemant.agra...@nxp.com> > Sent: Saturday, September 7, 2019 12:12 PM > To: dev@dpdk.org > Cc: Jerin Jacob Kollanukkaran <jer...@marvell.com>; Hemant Agrawal > <hemant.agra...@nxp.com> > Subject: [EXT] [PATCH v2 3/5] event/dpaa2: add destroy support > > Signed-off-by: Hemant Agrawal <hemant.agra...@nxp.com>
Please fix http://mails.dpdk.org/archives/test-report/2019-September/096506.html > --- > drivers/event/dpaa2/dpaa2_eventdev.c | 35 > ++++++++++++++++++++++++++++ > 1 file changed, 35 insertions(+) > > diff --git a/drivers/event/dpaa2/dpaa2_eventdev.c > b/drivers/event/dpaa2/dpaa2_eventdev.c > index 98b487603..9255de16f 100644 > --- a/drivers/event/dpaa2/dpaa2_eventdev.c > +++ b/drivers/event/dpaa2/dpaa2_eventdev.c > @@ -1059,6 +1059,39 @@ dpaa2_eventdev_create(const char *name) > return -EFAULT; > } > > +static int > +dpaa2_eventdev_destroy(const char *name) { > + struct rte_eventdev *eventdev; > + struct dpaa2_eventdev *priv; > + int i; > + > + eventdev = rte_event_pmd_get_named_dev(name); > + if (eventdev == NULL) { > + RTE_EDEV_LOG_ERR("eventdev with name %s not > allocated", name); > + return -1; > + } > + > + /* For secondary processes, the primary has done all the work */ > + if (rte_eal_process_type() != RTE_PROC_PRIMARY) > + return 0; > + > + priv = eventdev->data->dev_private; > + for (i = 0; i < priv->max_event_queues; i++) { > + if (priv->evq_info[i].dpcon) > + rte_dpaa2_free_dpcon_dev(priv- > >evq_info[i].dpcon); > + > + if (priv->evq_info[i].dpci) > + rte_dpaa2_free_dpci_dev(priv->evq_info[i].dpci); > + > + } > + priv->max_event_queues = 0; > + > + RTE_LOG(INFO, PMD, "%s eventdev cleaned\n", name); > + return 0; > +} > + > + > static int > dpaa2_eventdev_probe(struct rte_vdev_device *vdev) { @@ -1077,6 > +1110,8 @@ dpaa2_eventdev_remove(struct rte_vdev_device *vdev) > name = rte_vdev_device_name(vdev); > DPAA2_EVENTDEV_INFO("Closing %s", name); > > + dpaa2_eventdev_destroy(name); > + > return rte_event_pmd_vdev_uninit(name); } > > -- > 2.17.1