From: Sunil Kumar Kori <sunil.kori@nxp.com>
To: <jerin.jacob@caviumnetworks.com>
Cc: <dev@dpdk.org>, <hemant.agrawal@nxp.com>
Subject: [dpdk-dev] [PATCH v2 09/12] event/dpaa: add eth rx adapter queue config support
Date: Fri, 22 Dec 2017 20:47:22 +0530 [thread overview]
Message-ID: <20171222151725.11273-9-sunil.kori@nxp.com> (raw)
In-Reply-To: <20171222151725.11273-1-sunil.kori@nxp.com>
Signed-off-by: Sunil Kumar Kori <sunil.kori@nxp.com>
---
drivers/event/dpaa/dpaa_eventdev.c | 117 +++++++++++++++++++++++++++++++++++++
1 file changed, 117 insertions(+)
diff --git a/drivers/event/dpaa/dpaa_eventdev.c b/drivers/event/dpaa/dpaa_eventdev.c
index 7b3d8fb..13345da 100644
--- a/drivers/event/dpaa/dpaa_eventdev.c
+++ b/drivers/event/dpaa/dpaa_eventdev.c
@@ -345,6 +345,118 @@ dpaa_event_port_unlink(struct rte_eventdev *dev, void *port,
return (int)i;
}
+static int
+dpaa_event_eth_rx_adapter_caps_get(const struct rte_eventdev *dev,
+ const struct rte_eth_dev *eth_dev,
+ uint32_t *caps)
+{
+ const char *ethdev_driver = eth_dev->device->driver->name;
+
+ EVENTDEV_DRV_FUNC_TRACE();
+
+ RTE_SET_USED(dev);
+
+ if (!strcmp(ethdev_driver, "net_dpaa"))
+ *caps = RTE_EVENT_ETH_RX_ADAPTER_DPAA_CAP;
+ else
+ *caps = RTE_EVENT_ETH_RX_ADAPTER_SW_CAP;
+
+ return 0;
+}
+
+static int
+dpaa_event_eth_rx_adapter_queue_add(
+ const struct rte_eventdev *dev,
+ const struct rte_eth_dev *eth_dev,
+ int32_t rx_queue_id,
+ const struct rte_event_eth_rx_adapter_queue_conf *queue_conf)
+{
+ struct dpaa_eventdev *eventdev = dev->data->dev_private;
+ uint8_t ev_qid = queue_conf->ev.queue_id;
+ u16 ch_id = eventdev->evq_info[ev_qid].ch_id;
+ struct dpaa_if *dpaa_intf = eth_dev->data->dev_private;
+ int ret, i;
+
+ EVENTDEV_DRV_FUNC_TRACE();
+
+ if (rx_queue_id == -1) {
+ for (i = 0; i < dpaa_intf->nb_rx_queues; i++) {
+ ret = dpaa_eth_eventq_attach(eth_dev, i, ch_id,
+ queue_conf);
+ if (ret) {
+ EVENTDEV_DRV_ERR(
+ "Event Queue attach failed:%d\n", ret);
+ goto detach_configured_queues;
+ }
+ }
+ return 0;
+ }
+
+ ret = dpaa_eth_eventq_attach(eth_dev, rx_queue_id, ch_id, queue_conf);
+ if (ret)
+ EVENTDEV_DRV_ERR("dpaa_eth_eventq_attach failed:%d\n", ret);
+ return ret;
+
+detach_configured_queues:
+
+ for (i = (i - 1); i >= 0 ; i--)
+ dpaa_eth_eventq_detach(eth_dev, i);
+
+ return ret;
+}
+
+static int
+dpaa_event_eth_rx_adapter_queue_del(const struct rte_eventdev *dev,
+ const struct rte_eth_dev *eth_dev,
+ int32_t rx_queue_id)
+{
+ int ret, i;
+ struct dpaa_if *dpaa_intf = eth_dev->data->dev_private;
+
+ EVENTDEV_DRV_FUNC_TRACE();
+
+ RTE_SET_USED(dev);
+ if (rx_queue_id == -1) {
+ for (i = 0; i < dpaa_intf->nb_rx_queues; i++) {
+ ret = dpaa_eth_eventq_detach(eth_dev, i);
+ if (ret)
+ EVENTDEV_DRV_ERR(
+ "Event Queue detach failed:%d\n", ret);
+ }
+
+ return 0;
+ }
+
+ ret = dpaa_eth_eventq_detach(eth_dev, rx_queue_id);
+ if (ret)
+ EVENTDEV_DRV_ERR("dpaa_eth_eventq_detach failed:%d\n", ret);
+ return ret;
+}
+
+static int
+dpaa_event_eth_rx_adapter_start(const struct rte_eventdev *dev,
+ const struct rte_eth_dev *eth_dev)
+{
+ EVENTDEV_DRV_FUNC_TRACE();
+
+ RTE_SET_USED(dev);
+ RTE_SET_USED(eth_dev);
+
+ return 0;
+}
+
+static int
+dpaa_event_eth_rx_adapter_stop(const struct rte_eventdev *dev,
+ const struct rte_eth_dev *eth_dev)
+{
+ EVENTDEV_DRV_FUNC_TRACE();
+
+ RTE_SET_USED(dev);
+ RTE_SET_USED(eth_dev);
+
+ return 0;
+}
+
static const struct rte_eventdev_ops dpaa_eventdev_ops = {
.dev_infos_get = dpaa_event_dev_info_get,
.dev_configure = dpaa_event_dev_configure,
@@ -360,6 +472,11 @@ static const struct rte_eventdev_ops dpaa_eventdev_ops = {
.port_link = dpaa_event_port_link,
.port_unlink = dpaa_event_port_unlink,
.timeout_ticks = dpaa_event_dequeue_timeout_ticks,
+ .eth_rx_adapter_caps_get = dpaa_event_eth_rx_adapter_caps_get,
+ .eth_rx_adapter_queue_add = dpaa_event_eth_rx_adapter_queue_add,
+ .eth_rx_adapter_queue_del = dpaa_event_eth_rx_adapter_queue_del,
+ .eth_rx_adapter_start = dpaa_event_eth_rx_adapter_start,
+ .eth_rx_adapter_stop = dpaa_event_eth_rx_adapter_stop,
};
static int
--
2.9.3
next prev parent reply other threads:[~2017-12-22 15:17 UTC|newest]
Thread overview: 62+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-12-15 13:08 [dpdk-dev] [PATCH 0/6] event/dpaa: Support for eventdev Sunil Kumar Kori
2017-12-15 13:08 ` [dpdk-dev] [PATCH 1/6] bus/dpaa: added event dequeue and consumption support Sunil Kumar Kori
2017-12-16 12:34 ` Jerin Jacob
2017-12-15 13:08 ` [dpdk-dev] [PATCH 2/6] bus/dpaa: add dpaa eventdev dynamic log support Sunil Kumar Kori
2017-12-15 13:08 ` [dpdk-dev] [PATCH 3/6] net/dpaa: ethdev Rx queue configurations with eventdev Sunil Kumar Kori
2017-12-15 13:08 ` [dpdk-dev] [PATCH 4/6] event/dpaa: add eventdev PMD Sunil Kumar Kori
2017-12-16 12:37 ` Jerin Jacob
2017-12-19 7:08 ` Sunil Kumar Kori
2017-12-15 13:08 ` [dpdk-dev] [PATCH 5/6] config: enabling compilation of DPAA " Sunil Kumar Kori
2017-12-16 12:39 ` Jerin Jacob
2017-12-15 13:08 ` [dpdk-dev] [PATCH 6/6] doc: add DPAA eventdev guide Sunil Kumar Kori
2017-12-22 15:17 ` [dpdk-dev] [PATCH v2 01/12] config: enabling compilation of DPAA eventdev PMD Sunil Kumar Kori
2017-12-22 15:17 ` [dpdk-dev] [PATCH v2 02/12] bus/dpaa: add event dequeue and consumption support Sunil Kumar Kori
2017-12-22 15:17 ` [dpdk-dev] [PATCH v2 03/12] bus/dpaa: add dpaa eventdev dynamic log support Sunil Kumar Kori
2017-12-22 15:17 ` [dpdk-dev] [PATCH v2 04/12] net/dpaa: ethdev Rx queue configurations with eventdev Sunil Kumar Kori
2017-12-22 15:17 ` [dpdk-dev] [PATCH v2 05/12] event/dpaa: add eventdev PMD Sunil Kumar Kori
2017-12-22 15:17 ` [dpdk-dev] [PATCH v2 06/12] event/dpaa: add event queue config get/set support Sunil Kumar Kori
2017-12-22 15:17 ` [dpdk-dev] [PATCH v2 07/12] event/dpaa: add event port " Sunil Kumar Kori
2017-12-22 15:17 ` [dpdk-dev] [PATCH v2 08/12] event/dpaa: add dequeue timeout conversion support Sunil Kumar Kori
2017-12-22 15:17 ` Sunil Kumar Kori [this message]
2017-12-22 15:17 ` [dpdk-dev] [PATCH v2 10/12] event/dpaa: add eventdev enqueue/dequeue support Sunil Kumar Kori
2017-12-22 15:17 ` [dpdk-dev] [PATCH v2 11/12] config: add eventdev library to application Sunil Kumar Kori
2017-12-22 15:17 ` [dpdk-dev] [PATCH v2 12/12] doc: add DPAA eventdev guide Sunil Kumar Kori
2018-01-08 11:29 ` Jerin Jacob
2018-01-08 14:13 ` Hemant Agrawal
2018-01-10 12:10 ` Hemant Agrawal
2018-01-10 18:23 ` Jerin Jacob
2018-01-15 17:25 ` Jerin Jacob
2017-12-16 12:31 ` [dpdk-dev] [PATCH 0/6] event/dpaa: Support for eventdev Jerin Jacob
2018-01-16 17:57 ` [dpdk-dev] [PATCH 00/12 v3] " Nipun Gupta
2018-01-16 17:57 ` [dpdk-dev] [PATCH 01/12 v3] config: enabling compilation of DPAA eventdev PMD Nipun Gupta
2018-01-16 17:57 ` [dpdk-dev] [PATCH 02/12 v3] bus/dpaa: add event dequeue and consumption support Nipun Gupta
2018-01-16 17:57 ` [dpdk-dev] [PATCH 03/12 v3] bus/dpaa: add dpaa eventdev dynamic log support Nipun Gupta
2018-01-16 17:57 ` [dpdk-dev] [PATCH 04/12 v3] net/dpaa: ethdev Rx queue configurations with eventdev Nipun Gupta
2018-01-16 17:57 ` [dpdk-dev] [PATCH 05/12 v3] event/dpaa: add eventdev PMD Nipun Gupta
2018-01-16 17:57 ` [dpdk-dev] [PATCH 06/12 v3] event/dpaa: add event queue config get/set support Nipun Gupta
2018-01-16 17:58 ` [dpdk-dev] [PATCH 07/12 v3] event/dpaa: add event port " Nipun Gupta
2018-01-16 17:58 ` [dpdk-dev] [PATCH 08/12 v3] event/dpaa: add dequeue timeout conversion support Nipun Gupta
2018-01-16 11:50 ` Jerin Jacob
2018-01-16 13:35 ` Nipun Gupta
2018-01-16 17:58 ` [dpdk-dev] [PATCH 09/12 v3] event/dpaa: add eth rx adapter queue config support Nipun Gupta
2018-01-16 17:58 ` [dpdk-dev] [PATCH 10/12 v3] event/dpaa: add eventdev enqueue/dequeue support Nipun Gupta
2018-01-16 17:58 ` [dpdk-dev] [PATCH 11/12 v3] config: add eventdev library to application Nipun Gupta
2018-01-16 11:52 ` Jerin Jacob
2018-01-16 17:58 ` [dpdk-dev] [PATCH 12/12 v3] doc: add DPAA eventdev guide Nipun Gupta
2018-01-16 11:49 ` Jerin Jacob
2018-01-16 15:32 ` Kovacevic, Marko
2018-01-17 3:28 ` Nipun Gupta
2018-01-16 20:43 ` [dpdk-dev] [PATCH 00/10 v4] event/dpaa: Support for eventdev Nipun Gupta
2018-01-16 15:04 ` Jerin Jacob
2018-01-16 20:43 ` [dpdk-dev] [PATCH 01/10 v4] config: enabling compilation of DPAA eventdev PMD Nipun Gupta
2018-01-16 20:43 ` [dpdk-dev] [PATCH 02/10 v4] bus/dpaa: add event dequeue and consumption support Nipun Gupta
2018-01-16 20:43 ` [dpdk-dev] [PATCH 03/10 v4] bus/dpaa: add dpaa eventdev dynamic log support Nipun Gupta
2018-01-16 20:43 ` [dpdk-dev] [PATCH 04/10 v4] net/dpaa: ethdev Rx queue configurations with eventdev Nipun Gupta
2018-01-16 20:43 ` [dpdk-dev] [PATCH 05/10 v4] event/dpaa: add eventdev PMD Nipun Gupta
2018-01-16 20:43 ` [dpdk-dev] [PATCH 06/10 v4] event/dpaa: add event queue config get/set support Nipun Gupta
2018-01-16 20:44 ` [dpdk-dev] [PATCH 07/10 v4] event/dpaa: add event port " Nipun Gupta
2018-01-16 20:44 ` [dpdk-dev] [PATCH 08/10 v4] event/dpaa: add eth rx adapter queue config support Nipun Gupta
2018-01-16 20:44 ` [dpdk-dev] [PATCH 09/10 v4] event/dpaa: add eventdev enqueue/dequeue support Nipun Gupta
2018-01-16 20:44 ` [dpdk-dev] [PATCH 10/10 v4] doc: add DPAA eventdev guide Nipun Gupta
2018-01-17 16:54 ` Mcnamara, John
2018-01-18 6:56 ` [dpdk-dev] [PATCH 00/10 v4] event/dpaa: Support for eventdev Jerin Jacob
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20171222151725.11273-9-sunil.kori@nxp.com \
--to=sunil.kori@nxp.com \
--cc=dev@dpdk.org \
--cc=hemant.agrawal@nxp.com \
--cc=jerin.jacob@caviumnetworks.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).