All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: [dpdk-dev] [PATCH v2 3/5] event/dpaa2: add destroy support
@ 2019-09-10  5:16 Jerin Jacob Kollanukkaran
  0 siblings, 0 replies; 2+ messages in thread
From: Jerin Jacob Kollanukkaran @ 2019-09-10  5:16 UTC (permalink / raw)
  To: Hemant Agrawal, dev

> -----Original Message-----
> From: Hemant Agrawal <hemant.agrawal@nxp.com>
> Sent: Saturday, September 7, 2019 12:12 PM
> To: dev@dpdk.org
> Cc: Jerin Jacob Kollanukkaran <jerinj@marvell.com>; Hemant Agrawal
> <hemant.agrawal@nxp.com>
> Subject: [EXT] [PATCH v2 3/5] event/dpaa2: add destroy support
> 
> Signed-off-by: Hemant Agrawal <hemant.agrawal@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


^ permalink raw reply	[flat|nested] 2+ messages in thread

* [dpdk-dev] [PATCH v2 3/5] event/dpaa2: add destroy support
  2019-09-07  6:42 ` [dpdk-dev] [PATCH v2 " Hemant Agrawal
@ 2019-09-07  6:42   ` Hemant Agrawal
  0 siblings, 0 replies; 2+ messages in thread
From: Hemant Agrawal @ 2019-09-07  6:42 UTC (permalink / raw)
  To: dev; +Cc: jerinj, Hemant Agrawal

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
 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


^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2019-09-10  5:16 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-09-10  5:16 [dpdk-dev] [PATCH v2 3/5] event/dpaa2: add destroy support Jerin Jacob Kollanukkaran
  -- strict thread matches above, loose matches on Subject: below --
2019-09-06 10:34 [dpdk-dev] [PATCH 0/5] NXP DPAA2 EVENTDEV enhancements Hemant Agrawal
2019-09-07  6:42 ` [dpdk-dev] [PATCH v2 " Hemant Agrawal
2019-09-07  6:42   ` [dpdk-dev] [PATCH v2 3/5] event/dpaa2: add destroy support Hemant Agrawal

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.