[dpdk-dev,v5,3/7] eventdev: add eth Rx adapter caps function to SW PMD

Message ID 1507324201-3517-4-git-send-email-nikhil.rao@intel.com (mailing list archive)
State Superseded, archived
Delegated to: Jerin Jacob
Headers

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation fail Compilation issues

Commit Message

Rao, Nikhil Oct. 6, 2017, 9:09 p.m. UTC
  Signed-off-by: Nikhil Rao <nikhil.rao@intel.com>
---
 lib/librte_eventdev/rte_eventdev_pmd.h |  8 ++++++++
 drivers/event/sw/sw_evdev.c            | 15 +++++++++++++++
 2 files changed, 23 insertions(+)
  

Comments

Jerin Jacob Oct. 9, 2017, 12:06 p.m. UTC | #1
-----Original Message-----
> Date: Sat, 7 Oct 2017 02:39:57 +0530
> From: Nikhil Rao <nikhil.rao@intel.com>
> To: jerin.jacob@caviumnetworks.com, bruce.richardson@intel.com
> CC: dev@dpdk.org
> Subject: [PATCH v5 3/7] eventdev: add eth Rx adapter caps function to SW PMD
> X-Mailer: git-send-email 2.7.4
> 
> Signed-off-by: Nikhil Rao <nikhil.rao@intel.com>

Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>

> ---
>  lib/librte_eventdev/rte_eventdev_pmd.h |  8 ++++++++
>  drivers/event/sw/sw_evdev.c            | 15 +++++++++++++++
>  2 files changed, 23 insertions(+)
> 
> diff --git a/lib/librte_eventdev/rte_eventdev_pmd.h b/lib/librte_eventdev/rte_eventdev_pmd.h
> index 9f3188fc8..4369d9b8c 100644
> --- a/lib/librte_eventdev/rte_eventdev_pmd.h
> +++ b/lib/librte_eventdev/rte_eventdev_pmd.h
> @@ -83,6 +83,14 @@ extern "C" {
>  	} \
>  } while (0)
>  
> +#define RTE_EVENT_ETH_RX_ADAPTER_SW_CAP \
> +		((RTE_EVENT_ETH_RX_ADAPTER_CAP_OVERRIDE_FLOW_ID) | \
> +			(RTE_EVENT_ETH_RX_ADAPTER_CAP_MULTI_EVENTQ))
> +
> +/**< Ethernet Rx adapter cap to return If the packet transfers from
> + * the ethdev to eventdev use a SW service function
> + */
> +
>  #define RTE_EVENTDEV_DETACHED  (0)
>  #define RTE_EVENTDEV_ATTACHED  (1)
>  
> diff --git a/drivers/event/sw/sw_evdev.c b/drivers/event/sw/sw_evdev.c
> index da6ac30f4..aed8b728f 100644
> --- a/drivers/event/sw/sw_evdev.c
> +++ b/drivers/event/sw/sw_evdev.c
> @@ -437,6 +437,19 @@ sw_dev_configure(const struct rte_eventdev *dev)
>  	return 0;
>  }
>  
> +struct rte_eth_dev;
> +
> +static int
> +sw_eth_rx_adapter_caps_get(const struct rte_eventdev *dev,
> +			const struct rte_eth_dev *eth_dev,
> +			uint32_t *caps)
> +{
> +	RTE_SET_USED(dev);
> +	RTE_SET_USED(eth_dev);
> +	*caps = RTE_EVENT_ETH_RX_ADAPTER_SW_CAP;
> +	return 0;
> +}
> +
>  static void
>  sw_info_get(struct rte_eventdev *dev, struct rte_event_dev_info *info)
>  {
> @@ -751,6 +764,8 @@ sw_probe(struct rte_vdev_device *vdev)
>  			.port_link = sw_port_link,
>  			.port_unlink = sw_port_unlink,
>  
> +			.eth_rx_adapter_caps_get = sw_eth_rx_adapter_caps_get,
> +
>  			.xstats_get = sw_xstats_get,
>  			.xstats_get_names = sw_xstats_get_names,
>  			.xstats_get_by_name = sw_xstats_get_by_name,
> -- 
> 2.14.1.145.gb3622a4
>
  

Patch

diff --git a/lib/librte_eventdev/rte_eventdev_pmd.h b/lib/librte_eventdev/rte_eventdev_pmd.h
index 9f3188fc8..4369d9b8c 100644
--- a/lib/librte_eventdev/rte_eventdev_pmd.h
+++ b/lib/librte_eventdev/rte_eventdev_pmd.h
@@ -83,6 +83,14 @@  extern "C" {
 	} \
 } while (0)
 
+#define RTE_EVENT_ETH_RX_ADAPTER_SW_CAP \
+		((RTE_EVENT_ETH_RX_ADAPTER_CAP_OVERRIDE_FLOW_ID) | \
+			(RTE_EVENT_ETH_RX_ADAPTER_CAP_MULTI_EVENTQ))
+
+/**< Ethernet Rx adapter cap to return If the packet transfers from
+ * the ethdev to eventdev use a SW service function
+ */
+
 #define RTE_EVENTDEV_DETACHED  (0)
 #define RTE_EVENTDEV_ATTACHED  (1)
 
diff --git a/drivers/event/sw/sw_evdev.c b/drivers/event/sw/sw_evdev.c
index da6ac30f4..aed8b728f 100644
--- a/drivers/event/sw/sw_evdev.c
+++ b/drivers/event/sw/sw_evdev.c
@@ -437,6 +437,19 @@  sw_dev_configure(const struct rte_eventdev *dev)
 	return 0;
 }
 
+struct rte_eth_dev;
+
+static int
+sw_eth_rx_adapter_caps_get(const struct rte_eventdev *dev,
+			const struct rte_eth_dev *eth_dev,
+			uint32_t *caps)
+{
+	RTE_SET_USED(dev);
+	RTE_SET_USED(eth_dev);
+	*caps = RTE_EVENT_ETH_RX_ADAPTER_SW_CAP;
+	return 0;
+}
+
 static void
 sw_info_get(struct rte_eventdev *dev, struct rte_event_dev_info *info)
 {
@@ -751,6 +764,8 @@  sw_probe(struct rte_vdev_device *vdev)
 			.port_link = sw_port_link,
 			.port_unlink = sw_port_unlink,
 
+			.eth_rx_adapter_caps_get = sw_eth_rx_adapter_caps_get,
+
 			.xstats_get = sw_xstats_get,
 			.xstats_get_names = sw_xstats_get_names,
 			.xstats_get_by_name = sw_xstats_get_by_name,