From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from dpdk.org (dpdk.org [92.243.14.124])
	by inbox.dpdk.org (Postfix) with ESMTP id 4FD4CA04E6;
	Sat, 31 Oct 2020 03:08:09 +0100 (CET)
Received: from [92.243.14.124] (localhost [127.0.0.1])
	by dpdk.org (Postfix) with ESMTP id 2C3C2CAE3;
	Sat, 31 Oct 2020 03:00:56 +0100 (CET)
Received: from mga07.intel.com (mga07.intel.com [134.134.136.100])
 by dpdk.org (Postfix) with ESMTP id DCDB1C98C
 for <dev@dpdk.org>; Sat, 31 Oct 2020 03:00:22 +0100 (CET)
IronPort-SDR: 5WE/1LJY99F4bQndn/YZxVwITX6j1g8JfiQy3hKH9Ow5XUW6HlrrcZdew18t+U3PAw66j2FmG+
 +y+ld+sxvJUg==
X-IronPort-AV: E=McAfee;i="6000,8403,9790"; a="232867058"
X-IronPort-AV: E=Sophos;i="5.77,435,1596524400"; d="scan'208";a="232867058"
X-Amp-Result: SKIPPED(no attachment in message)
X-Amp-File-Uploaded: False
Received: from orsmga004.jf.intel.com ([10.7.209.38])
 by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 30 Oct 2020 19:00:22 -0700
IronPort-SDR: psB9qwuCa9Kb5FC4plSAI6+NDn42WEbVO/g78cAeLw8NPLFmNqQdE3NU9DenqFvXPNNPASUQ0h
 /tIzEg9iJnEw==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="5.77,435,1596524400"; d="scan'208";a="469704694"
Received: from txasoft-yocto.an.intel.com ([10.123.72.192])
 by orsmga004.jf.intel.com with ESMTP; 30 Oct 2020 19:00:22 -0700
From: Timothy McDaniel <timothy.mcdaniel@intel.com>
To: 
Cc: dev@dpdk.org, erik.g.carrillo@intel.com, gage.eads@intel.com,
 harry.van.haaren@intel.com, jerinj@marvell.com, thomas@monjalon.net
Date: Fri, 30 Oct 2020 21:01:49 -0500
Message-Id: <1604109710-31624-23-git-send-email-timothy.mcdaniel@intel.com>
X-Mailer: git-send-email 1.7.10
In-Reply-To: <1604109710-31624-1-git-send-email-timothy.mcdaniel@intel.com>
References: <1602958879-8558-2-git-send-email-timothy.mcdaniel@intel.com>
 <1604109710-31624-1-git-send-email-timothy.mcdaniel@intel.com>
Subject: [dpdk-dev] [PATCH v8 22/23] event/dlb2: add queue and port release
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org
Sender: "dev" <dev-bounces@dpdk.org>

DLB does not support reconfiguring individual queues
or ports on the fly. The entire device must be reconfigured.
Previously allocated port QE and memzone memory
is freed in this patch.

Signed-off-by: Timothy McDaniel <timothy.mcdaniel@intel.com>
Reviewed-by: Gage Eads <gage.eads@intel.com>
---
 drivers/event/dlb2/dlb2.c | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/drivers/event/dlb2/dlb2.c b/drivers/event/dlb2/dlb2.c
index 99a22e6..d9b13a1 100644
--- a/drivers/event/dlb2/dlb2.c
+++ b/drivers/event/dlb2/dlb2.c
@@ -3668,6 +3668,28 @@ dlb2_eventdev_close(struct rte_eventdev *dev)
 }
 
 static void
+dlb2_eventdev_queue_release(struct rte_eventdev *dev, uint8_t id)
+{
+	RTE_SET_USED(dev);
+	RTE_SET_USED(id);
+
+	/* This function intentionally left blank. */
+}
+
+static void
+dlb2_eventdev_port_release(void *port)
+{
+	struct dlb2_eventdev_port *ev_port = port;
+	struct dlb2_port *qm_port;
+
+	if (ev_port) {
+		qm_port = &ev_port->qm_port;
+		if (qm_port->config_state == DLB2_CONFIGURED)
+			dlb2_free_qe_mem(qm_port);
+	}
+}
+
+static void
 dlb2_entry_points_init(struct rte_eventdev *dev)
 {
 	struct dlb2_eventdev *dlb2;
@@ -3681,8 +3703,10 @@ dlb2_entry_points_init(struct rte_eventdev *dev)
 		.dev_close        = dlb2_eventdev_close,
 		.queue_def_conf   = dlb2_eventdev_queue_default_conf_get,
 		.queue_setup      = dlb2_eventdev_queue_setup,
+		.queue_release    = dlb2_eventdev_queue_release,
 		.port_def_conf    = dlb2_eventdev_port_default_conf_get,
 		.port_setup       = dlb2_eventdev_port_setup,
+		.port_release     = dlb2_eventdev_port_release,
 		.port_link        = dlb2_eventdev_port_link,
 		.port_unlink      = dlb2_eventdev_port_unlink,
 		.port_unlinks_in_progress =
-- 
2.6.4