> -----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

Reply via email to