All of lore.kernel.org
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH] ixgbe: Add runtime tx/rx queue setup for X550
@ 2021-05-24 11:53 Wu Jianyue
  0 siblings, 0 replies; 8+ messages in thread
From: Wu Jianyue @ 2021-05-24 11:53 UTC (permalink / raw)
  To: haiyue.wang; +Cc: dev

X550 NIC can support runtime tx/rx queue setup.
Add capacity in dev_capa and queue offload capacity.

Signed-off-by: Wu Jianyue <jianyue.wu@nokia-sbell.com>
---
 drivers/net/ixgbe/ixgbe_ethdev.c | 22 ++++++++++++++++++++++
 drivers/net/ixgbe/ixgbe_rxtx.c   | 21 +++++++++++++++++++--
 2 files changed, 41 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
index b5371568b..0839426b4 100644
--- a/drivers/net/ixgbe/ixgbe_ethdev.c
+++ b/drivers/net/ixgbe/ixgbe_ethdev.c
@@ -3915,6 +3915,17 @@ ixgbe_dev_info_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
 	dev_info->default_rxportconf.ring_size = 256;
 	dev_info->default_txportconf.ring_size = 256;
 
+	if (hw->mac.type == ixgbe_mac_X550 ||
+	    hw->mac.type == ixgbe_mac_X550EM_x ||
+	    hw->mac.type == ixgbe_mac_X550EM_a ||
+	    hw->mac.type == ixgbe_mac_X550_vf ||
+	    hw->mac.type == ixgbe_mac_X550EM_x_vf ||
+	    hw->mac.type == ixgbe_mac_X550EM_a_vf) {
+		dev_info->dev_capa =
+			RTE_ETH_DEV_CAPA_RUNTIME_RX_QUEUE_SETUP |
+			RTE_ETH_DEV_CAPA_RUNTIME_TX_QUEUE_SETUP;
+	}
+
 	return 0;
 }
 
@@ -4010,6 +4021,17 @@ ixgbevf_dev_info_get(struct rte_eth_dev *dev,
 	dev_info->rx_desc_lim = rx_desc_lim;
 	dev_info->tx_desc_lim = tx_desc_lim;
 
+	if (hw->mac.type == ixgbe_mac_X550 ||
+	    hw->mac.type == ixgbe_mac_X550EM_x ||
+	    hw->mac.type == ixgbe_mac_X550EM_a ||
+	    hw->mac.type == ixgbe_mac_X550_vf ||
+	    hw->mac.type == ixgbe_mac_X550EM_x_vf ||
+	    hw->mac.type == ixgbe_mac_X550EM_a_vf) {
+		dev_info->dev_capa =
+			RTE_ETH_DEV_CAPA_RUNTIME_RX_QUEUE_SETUP |
+			RTE_ETH_DEV_CAPA_RUNTIME_TX_QUEUE_SETUP;
+	}
+
 	return 0;
 }
 
diff --git a/drivers/net/ixgbe/ixgbe_rxtx.c b/drivers/net/ixgbe/ixgbe_rxtx.c
index d69f36e97..ea813aefe 100644
--- a/drivers/net/ixgbe/ixgbe_rxtx.c
+++ b/drivers/net/ixgbe/ixgbe_rxtx.c
@@ -2571,9 +2571,18 @@ ixgbe_set_tx_function(struct rte_eth_dev *dev, struct ixgbe_tx_queue *txq)
 uint64_t
 ixgbe_get_tx_queue_offloads(struct rte_eth_dev *dev)
 {
-	RTE_SET_USED(dev);
+	uint64_t offloads = 0;
+	struct ixgbe_hw *hw = IXGBE_DEV_PRIVATE_TO_HW(dev->data->dev_private);
 
-	return 0;
+	if (hw->mac.type == ixgbe_mac_X550 ||
+	    hw->mac.type == ixgbe_mac_X550EM_x ||
+	    hw->mac.type == ixgbe_mac_X550EM_a ||
+	    hw->mac.type == ixgbe_mac_X550_vf ||
+	    hw->mac.type == ixgbe_mac_X550EM_x_vf ||
+	    hw->mac.type == ixgbe_mac_X550EM_a_vf)
+		offloads |= RTE_ETH_DEV_CAPA_RUNTIME_TX_QUEUE_SETUP;
+
+	return offloads;
 }
 
 uint64_t
@@ -3008,6 +3017,14 @@ ixgbe_get_rx_queue_offloads(struct rte_eth_dev *dev)
 	if (hw->mac.type != ixgbe_mac_82598EB)
 		offloads |= DEV_RX_OFFLOAD_VLAN_STRIP;
 
+	if (hw->mac.type == ixgbe_mac_X550 ||
+	    hw->mac.type == ixgbe_mac_X550EM_x ||
+	    hw->mac.type == ixgbe_mac_X550EM_a ||
+	    hw->mac.type == ixgbe_mac_X550_vf ||
+	    hw->mac.type == ixgbe_mac_X550EM_x_vf ||
+	    hw->mac.type == ixgbe_mac_X550EM_a_vf)
+		offloads |= RTE_ETH_DEV_CAPA_RUNTIME_RX_QUEUE_SETUP;
+
 	return offloads;
 }
 
-- 
2.24.1


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

* Re: [dpdk-dev] [PATCH] ixgbe: Add runtime tx/rx queue setup for X550
  2021-06-16  5:03   ` Wu, Jianyue (NSB - CN/Hangzhou)
@ 2021-06-16 12:59     ` Zhang, Qi Z
  0 siblings, 0 replies; 8+ messages in thread
From: Zhang, Qi Z @ 2021-06-16 12:59 UTC (permalink / raw)
  To: Wu, Jianyue (NSB - CN/Hangzhou); +Cc: dev

Comments inline.

From: Wu, Jianyue (NSB - CN/Hangzhou) <jianyue.wu@nokia-sbell.com>
Sent: Wednesday, June 16, 2021 1:04 PM
To: Zhang, Qi Z <qi.z.zhang@intel.com>
Cc: dev@dpdk.org
Subject: RE: [dpdk-dev] [PATCH] ixgbe: Add runtime tx/rx queue setup for X550

Hi, Qi,

OK, thanks indeed for the explanation, appreciated😊
BTW, I see patch is Superseded, does that mean it is not needed, or need update?

[Qi:] because I assume you are required to submit a new version base on previous comment anyway.

> 1.  why only enable this for x550, is it because you only need this or you already know other ixgbe device has the limitation?
I’m using this x550 device, but not sure if other device would have such limitation yet. But I’m sure that X550 can support it, because I had checked the doc, and also tested it in the ENV.

[Qi:]  I hope we can enable this for all the ixgbe family if we know there is no limitation, I think we need to check with ixgbe maintainer.

  >2 . As the patch expose the new feature of the driver, could you provide more test information?
I tested to create new Tx Queue after rte_eth_dev_start() done and use it in my code. But haven’t tested in DPDK code yet, like testpmd.
3.  You need to update document in your patch, these include
    1) doc/guides/nics/features/ixgbe.ini
    2) if only x550 support runtime queue configure, you’d better to explain this in doc/guides/nics/ixgbe.rst.
OK, thanks, will check the documents. BTW, I see that at least there is 82599, X540, X520 is 10GE, from http://doc.dpdk.org/guides/nics/ixgbe.html, I can check their documents, but better to have some further tests, is there any ENV I can use to test it? Thanks.

[Qi:], I don’t think we have any public environment for testing, anyways thanks for your contribution.

Best Regards,
Dave(Jianyue)

From: Zhang, Qi Z <qi.z.zhang@intel.com<mailto:qi.z.zhang@intel.com>>
Sent: 2021年6月16日 8:31
To: Wu, Jianyue (NSB - CN/Hangzhou) <jianyue.wu@nokia-sbell.com<mailto:jianyue.wu@nokia-sbell.com>>
Cc: dev@dpdk.org<mailto:dev@dpdk.org>
Subject: RE: [dpdk-dev] [PATCH] ixgbe: Add runtime tx/rx queue setup for X550

Hi Jianyue:

 I think you can ignore those warning.

 Below are couple questions for this patch:
 1.  why only enable this for x550, is it because you only need this or you already know other ixgbe device has the limitation?
2 . As the patch expose the new feature of the driver, could you provide more test information?
3.  You need to update document in your patch, these include
    1) doc/guides/nics/features/ixgbe.ini
    2) if only x550 support runtime queue configure, you’d better to explain this in doc/guides/nics/ixgbe.rst.

Thanks
Qi

From: Wu, Jianyue (NSB - CN/Hangzhou) <jianyue.wu@nokia-sbell.com<mailto:jianyue.wu@nokia-sbell.com>>
Sent: Wednesday, May 26, 2021 1:30 PM
To: Zhang, Qi Z <qi.z.zhang@intel.com<mailto:qi.z.zhang@intel.com>>
Cc: dev@dpdk.org<mailto:dev@dpdk.org>
Subject: [dpdk-dev] [PATCH] ixgbe: Add runtime tx/rx queue setup for X550


Hello, Zhang, qi,



May I ask a question?

I see this patch is delegate to you.

It seems some cases are failed in this link, but are i40e cases, can we ignore them? Because seems not related with this patch. Thanks😊

http://patches.dpdk.org/project/dpdk/patch/20210524115329.40525-1-jianyue.wu@nokia-sbell.com/

https://lab.dpdk.org/results/dashboard/patchsets/17199/



Thanks,

Best regards,

Dave

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

* Re: [dpdk-dev] [PATCH] ixgbe: Add runtime tx/rx queue setup for X550
  2021-06-16  0:31 ` Zhang, Qi Z
@ 2021-06-16  5:03   ` Wu, Jianyue (NSB - CN/Hangzhou)
  2021-06-16 12:59     ` Zhang, Qi Z
  0 siblings, 1 reply; 8+ messages in thread
From: Wu, Jianyue (NSB - CN/Hangzhou) @ 2021-06-16  5:03 UTC (permalink / raw)
  To: Zhang, Qi Z; +Cc: dev

Hi, Qi,

OK, thanks indeed for the explanation, appreciated😊
BTW, I see patch is Superseded, does that mean it is not needed, or need update?

> 1.  why only enable this for x550, is it because you only need this or you already know other ixgbe device has the limitation?
I’m using this x550 device, but not sure if other device would have such limitation yet. But I’m sure that X550 can support it, because I had checked the doc, and also tested it in the ENV.
  >2 . As the patch expose the new feature of the driver, could you provide more test information?
I tested to create new Tx Queue after rte_eth_dev_start() done and use it in my code. But haven’t tested in DPDK code yet, like testpmd.
3.  You need to update document in your patch, these include
    1) doc/guides/nics/features/ixgbe.ini
    2) if only x550 support runtime queue configure, you’d better to explain this in doc/guides/nics/ixgbe.rst.
OK, thanks, will check the documents. BTW, I see that at least there is 82599, X540, X520 is 10GE, from http://doc.dpdk.org/guides/nics/ixgbe.html, I can check their documents, but better to have some further tests, is there any ENV I can use to test it? Thanks.

Best Regards,
Dave(Jianyue)

From: Zhang, Qi Z <qi.z.zhang@intel.com>
Sent: 2021年6月16日 8:31
To: Wu, Jianyue (NSB - CN/Hangzhou) <jianyue.wu@nokia-sbell.com>
Cc: dev@dpdk.org
Subject: RE: [dpdk-dev] [PATCH] ixgbe: Add runtime tx/rx queue setup for X550

Hi Jianyue:

 I think you can ignore those warning.

 Below are couple questions for this patch:
 1.  why only enable this for x550, is it because you only need this or you already know other ixgbe device has the limitation?
2 . As the patch expose the new feature of the driver, could you provide more test information?
3.  You need to update document in your patch, these include
    1) doc/guides/nics/features/ixgbe.ini
    2) if only x550 support runtime queue configure, you’d better to explain this in doc/guides/nics/ixgbe.rst.

Thanks
Qi

From: Wu, Jianyue (NSB - CN/Hangzhou) <jianyue.wu@nokia-sbell.com<mailto:jianyue.wu@nokia-sbell.com>>
Sent: Wednesday, May 26, 2021 1:30 PM
To: Zhang, Qi Z <qi.z.zhang@intel.com<mailto:qi.z.zhang@intel.com>>
Cc: dev@dpdk.org<mailto:dev@dpdk.org>
Subject: [dpdk-dev] [PATCH] ixgbe: Add runtime tx/rx queue setup for X550


Hello, Zhang, qi,



May I ask a question?

I see this patch is delegate to you.

It seems some cases are failed in this link, but are i40e cases, can we ignore them? Because seems not related with this patch. Thanks😊

http://patches.dpdk.org/project/dpdk/patch/20210524115329.40525-1-jianyue.wu@nokia-sbell.com/

https://lab.dpdk.org/results/dashboard/patchsets/17199/



Thanks,

Best regards,

Dave

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

* Re: [dpdk-dev] [PATCH] ixgbe: Add runtime tx/rx queue setup for X550
  2021-05-26  5:29 Wu, Jianyue (NSB - CN/Hangzhou)
@ 2021-06-16  0:31 ` Zhang, Qi Z
  2021-06-16  5:03   ` Wu, Jianyue (NSB - CN/Hangzhou)
  0 siblings, 1 reply; 8+ messages in thread
From: Zhang, Qi Z @ 2021-06-16  0:31 UTC (permalink / raw)
  To: Wu, Jianyue (NSB - CN/Hangzhou); +Cc: dev

Hi Jianyue:

 I think you can ignore those warning.

 Below are couple questions for this patch:
 1.  why only enable this for x550, is it because you only need this or you already know other ixgbe device has the limitation?
2 . As the patch expose the new feature of the driver, could you provide more test information?
3.  You need to update document in your patch, these include
    1) doc/guides/nics/features/ixgbe.ini
    2) if only x550 support runtime queue configure, you’d better to explain this in doc/guides/nics/ixgbe.rst.

Thanks
Qi

From: Wu, Jianyue (NSB - CN/Hangzhou) <jianyue.wu@nokia-sbell.com>
Sent: Wednesday, May 26, 2021 1:30 PM
To: Zhang, Qi Z <qi.z.zhang@intel.com>
Cc: dev@dpdk.org
Subject: [dpdk-dev] [PATCH] ixgbe: Add runtime tx/rx queue setup for X550


Hello, Zhang, qi,



May I ask a question?

I see this patch is delegate to you.

It seems some cases are failed in this link, but are i40e cases, can we ignore them? Because seems not related with this patch. Thanks😊

http://patches.dpdk.org/project/dpdk/patch/20210524115329.40525-1-jianyue.wu@nokia-sbell.com/

https://lab.dpdk.org/results/dashboard/patchsets/17199/



Thanks,

Best regards,

Dave

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

* [dpdk-dev] [PATCH] ixgbe: Add runtime tx/rx queue setup for X550
@ 2021-05-26  5:29 Wu, Jianyue (NSB - CN/Hangzhou)
  2021-06-16  0:31 ` Zhang, Qi Z
  0 siblings, 1 reply; 8+ messages in thread
From: Wu, Jianyue (NSB - CN/Hangzhou) @ 2021-05-26  5:29 UTC (permalink / raw)
  To: Qi Zhang; +Cc: dev

Hello, Zhang, qi,



May I ask a question?

I see this patch is delegate to you.

It seems some cases are failed in this link, but are i40e cases, can we ignore them? Because seems not related with this patch. Thanks😊

http://patches.dpdk.org/project/dpdk/patch/20210524115329.40525-1-jianyue.wu@nokia-sbell.com/

https://lab.dpdk.org/results/dashboard/patchsets/17199/



Thanks,

Best regards,

Dave

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

* [dpdk-dev] [PATCH] ixgbe: Add runtime tx/rx queue setup for X550
       [not found] <20210522071304.981-1-jianyue.wu@nokia-sbell.com>
@ 2021-05-22  7:17 ` Wu, Jianyue (NSB - CN/Hangzhou)
  0 siblings, 0 replies; 8+ messages in thread
From: Wu, Jianyue (NSB - CN/Hangzhou) @ 2021-05-22  7:17 UTC (permalink / raw)
  To: haiyue.wang; +Cc: dev


X550 NIC can support runtime tx/rx queue setup.
Add capacity in dev_capa and queue offload capacity.

Signed-off-by: Wu, Jianyue (NSB - CN/Hangzhou) <jianyue.wu@nokia-sbell.com>
---
 drivers/net/ixgbe/ixgbe_ethdev.c | 22 ++++++++++++++++++++++
 drivers/net/ixgbe/ixgbe_rxtx.c   | 21 +++++++++++++++++++--
 2 files changed, 41 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
index b5371568b..0839426b4 100644
--- a/drivers/net/ixgbe/ixgbe_ethdev.c
+++ b/drivers/net/ixgbe/ixgbe_ethdev.c
@@ -3915,6 +3915,17 @@ ixgbe_dev_info_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
 	dev_info->default_rxportconf.ring_size = 256;
 	dev_info->default_txportconf.ring_size = 256;
 
+	if (hw->mac.type == ixgbe_mac_X550 ||
+	    hw->mac.type == ixgbe_mac_X550EM_x ||
+	    hw->mac.type == ixgbe_mac_X550EM_a ||
+	    hw->mac.type == ixgbe_mac_X550_vf ||
+	    hw->mac.type == ixgbe_mac_X550EM_x_vf ||
+	    hw->mac.type == ixgbe_mac_X550EM_a_vf) {
+		dev_info->dev_capa =
+			RTE_ETH_DEV_CAPA_RUNTIME_RX_QUEUE_SETUP |
+			RTE_ETH_DEV_CAPA_RUNTIME_TX_QUEUE_SETUP;
+	}
+
 	return 0;
 }
 
@@ -4010,6 +4021,17 @@ ixgbevf_dev_info_get(struct rte_eth_dev *dev,
 	dev_info->rx_desc_lim = rx_desc_lim;
 	dev_info->tx_desc_lim = tx_desc_lim;
 
+	if (hw->mac.type == ixgbe_mac_X550 ||
+	    hw->mac.type == ixgbe_mac_X550EM_x ||
+	    hw->mac.type == ixgbe_mac_X550EM_a ||
+	    hw->mac.type == ixgbe_mac_X550_vf ||
+	    hw->mac.type == ixgbe_mac_X550EM_x_vf ||
+	    hw->mac.type == ixgbe_mac_X550EM_a_vf) {
+		dev_info->dev_capa =
+			RTE_ETH_DEV_CAPA_RUNTIME_RX_QUEUE_SETUP |
+			RTE_ETH_DEV_CAPA_RUNTIME_TX_QUEUE_SETUP;
+	}
+
 	return 0;
 }
 
diff --git a/drivers/net/ixgbe/ixgbe_rxtx.c b/drivers/net/ixgbe/ixgbe_rxtx.c index d69f36e97..ea813aefe 100644
--- a/drivers/net/ixgbe/ixgbe_rxtx.c
+++ b/drivers/net/ixgbe/ixgbe_rxtx.c
@@ -2571,9 +2571,18 @@ ixgbe_set_tx_function(struct rte_eth_dev *dev, struct ixgbe_tx_queue *txq)  uint64_t  ixgbe_get_tx_queue_offloads(struct rte_eth_dev *dev)  {
-	RTE_SET_USED(dev);
+	uint64_t offloads = 0;
+	struct ixgbe_hw *hw = IXGBE_DEV_PRIVATE_TO_HW(dev->data->dev_private);
 
-	return 0;
+	if (hw->mac.type == ixgbe_mac_X550 ||
+	    hw->mac.type == ixgbe_mac_X550EM_x ||
+	    hw->mac.type == ixgbe_mac_X550EM_a ||
+	    hw->mac.type == ixgbe_mac_X550_vf ||
+	    hw->mac.type == ixgbe_mac_X550EM_x_vf ||
+	    hw->mac.type == ixgbe_mac_X550EM_a_vf)
+		offloads |= RTE_ETH_DEV_CAPA_RUNTIME_TX_QUEUE_SETUP;
+
+	return offloads;
 }
 
 uint64_t
@@ -3008,6 +3017,14 @@ ixgbe_get_rx_queue_offloads(struct rte_eth_dev *dev)
 	if (hw->mac.type != ixgbe_mac_82598EB)
 		offloads |= DEV_RX_OFFLOAD_VLAN_STRIP;
 
+	if (hw->mac.type == ixgbe_mac_X550 ||
+	    hw->mac.type == ixgbe_mac_X550EM_x ||
+	    hw->mac.type == ixgbe_mac_X550EM_a ||
+	    hw->mac.type == ixgbe_mac_X550_vf ||
+	    hw->mac.type == ixgbe_mac_X550EM_x_vf ||
+	    hw->mac.type == ixgbe_mac_X550EM_a_vf)
+		offloads |= RTE_ETH_DEV_CAPA_RUNTIME_RX_QUEUE_SETUP;
+
 	return offloads;
 }
 
--
2.24.1


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

* [dpdk-dev] [PATCH] ixgbe: Add runtime tx/rx queue setup for X550
  2021-05-21  0:53 ` Wu, Jianyue (NSB - CN/Hangzhou)
@ 2021-05-21  0:59   ` Wu, Jianyue (NSB - CN/Hangzhou)
  0 siblings, 0 replies; 8+ messages in thread
From: Wu, Jianyue (NSB - CN/Hangzhou) @ 2021-05-21  0:59 UTC (permalink / raw)
  To: haiyue.wang; +Cc: dev


X550 eth card support runtime tx/rx queue setup,
so add capacity in dev_capa and queue offload capacity.

Signed-off-by: Wu Jianyue <jianyue.wu@nokia-sbell.com>
---
 drivers/net/ixgbe/ixgbe_ethdev.c | 22 ++++++++++++++++++++++
 drivers/net/ixgbe/ixgbe_rxtx.c   | 21 +++++++++++++++++++--
 2 files changed, 41 insertions(+), 2 deletions(-)

diff --git drivers/net/ixgbe/ixgbe_ethdev.c drivers/net/ixgbe/ixgbe_ethdev.c index b5371568b..0839426b4 100644
--- drivers/net/ixgbe/ixgbe_ethdev.c
+++ drivers/net/ixgbe/ixgbe_ethdev.c
@@ -3915,6 +3915,17 @@ ixgbe_dev_info_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
 	dev_info->default_rxportconf.ring_size = 256;
 	dev_info->default_txportconf.ring_size = 256;
 
+	if (hw->mac.type == ixgbe_mac_X550 ||
+	    hw->mac.type == ixgbe_mac_X550EM_x ||
+	    hw->mac.type == ixgbe_mac_X550EM_a ||
+	    hw->mac.type == ixgbe_mac_X550_vf ||
+	    hw->mac.type == ixgbe_mac_X550EM_x_vf ||
+	    hw->mac.type == ixgbe_mac_X550EM_a_vf) {
+		dev_info->dev_capa =
+			RTE_ETH_DEV_CAPA_RUNTIME_RX_QUEUE_SETUP |
+			RTE_ETH_DEV_CAPA_RUNTIME_TX_QUEUE_SETUP;
+	}
+
 	return 0;
 }
 
@@ -4010,6 +4021,17 @@ ixgbevf_dev_info_get(struct rte_eth_dev *dev,
 	dev_info->rx_desc_lim = rx_desc_lim;
 	dev_info->tx_desc_lim = tx_desc_lim;
 
+	if (hw->mac.type == ixgbe_mac_X550 ||
+	    hw->mac.type == ixgbe_mac_X550EM_x ||
+	    hw->mac.type == ixgbe_mac_X550EM_a ||
+	    hw->mac.type == ixgbe_mac_X550_vf ||
+	    hw->mac.type == ixgbe_mac_X550EM_x_vf ||
+	    hw->mac.type == ixgbe_mac_X550EM_a_vf) {
+		dev_info->dev_capa =
+			RTE_ETH_DEV_CAPA_RUNTIME_RX_QUEUE_SETUP |
+			RTE_ETH_DEV_CAPA_RUNTIME_TX_QUEUE_SETUP;
+	}
+
 	return 0;
 }
 
diff --git drivers/net/ixgbe/ixgbe_rxtx.c drivers/net/ixgbe/ixgbe_rxtx.c index d69f36e97..ea813aefe 100644
--- drivers/net/ixgbe/ixgbe_rxtx.c
+++ drivers/net/ixgbe/ixgbe_rxtx.c
@@ -2571,9 +2571,18 @@ ixgbe_set_tx_function(struct rte_eth_dev *dev, struct ixgbe_tx_queue *txq)  uint64_t  ixgbe_get_tx_queue_offloads(struct rte_eth_dev *dev)  {
-	RTE_SET_USED(dev);
+	uint64_t offloads = 0;
+	struct ixgbe_hw *hw = IXGBE_DEV_PRIVATE_TO_HW(dev->data->dev_private);
 
-	return 0;
+	if (hw->mac.type == ixgbe_mac_X550 ||
+	    hw->mac.type == ixgbe_mac_X550EM_x ||
+	    hw->mac.type == ixgbe_mac_X550EM_a ||
+	    hw->mac.type == ixgbe_mac_X550_vf ||
+	    hw->mac.type == ixgbe_mac_X550EM_x_vf ||
+	    hw->mac.type == ixgbe_mac_X550EM_a_vf)
+		offloads |= RTE_ETH_DEV_CAPA_RUNTIME_TX_QUEUE_SETUP;
+
+	return offloads;
 }
 
 uint64_t
@@ -3008,6 +3017,14 @@ ixgbe_get_rx_queue_offloads(struct rte_eth_dev *dev)
 	if (hw->mac.type != ixgbe_mac_82598EB)
 		offloads |= DEV_RX_OFFLOAD_VLAN_STRIP;
 
+	if (hw->mac.type == ixgbe_mac_X550 ||
+	    hw->mac.type == ixgbe_mac_X550EM_x ||
+	    hw->mac.type == ixgbe_mac_X550EM_a ||
+	    hw->mac.type == ixgbe_mac_X550_vf ||
+	    hw->mac.type == ixgbe_mac_X550EM_x_vf ||
+	    hw->mac.type == ixgbe_mac_X550EM_a_vf)
+		offloads |= RTE_ETH_DEV_CAPA_RUNTIME_RX_QUEUE_SETUP;
+
 	return offloads;
 }
 
--
2.17.1


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

* [dpdk-dev] [PATCH] ixgbe: Add runtime tx/rx queue setup for X550
       [not found] <20210521004041.159-1-jianyue.wu@nokia-sbell.com>
@ 2021-05-21  0:53 ` Wu, Jianyue (NSB - CN/Hangzhou)
  2021-05-21  0:59   ` Wu, Jianyue (NSB - CN/Hangzhou)
  0 siblings, 1 reply; 8+ messages in thread
From: Wu, Jianyue (NSB - CN/Hangzhou) @ 2021-05-21  0:53 UTC (permalink / raw)
  To: haiyue.wang; +Cc: dev


X550 eth card support runtime tx/rx queue setup, so add capacity in dev_capa and queue offload capacity.

Signed-off-by: Wu Jianyue <jianyue.wu@nokia-sbell.com>
---
 drivers/net/ixgbe/ixgbe_ethdev.c | 22 ++++++++++++++++++++++
 drivers/net/ixgbe/ixgbe_rxtx.c   | 21 +++++++++++++++++++--
 2 files changed, 41 insertions(+), 2 deletions(-)

diff --git drivers/net/ixgbe/ixgbe_ethdev.c drivers/net/ixgbe/ixgbe_ethdev.c index b5371568b..0839426b4 100644
--- drivers/net/ixgbe/ixgbe_ethdev.c
+++ drivers/net/ixgbe/ixgbe_ethdev.c
@@ -3915,6 +3915,17 @@ ixgbe_dev_info_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
 	dev_info->default_rxportconf.ring_size = 256;
 	dev_info->default_txportconf.ring_size = 256;
 
+	if (hw->mac.type == ixgbe_mac_X550 ||
+	    hw->mac.type == ixgbe_mac_X550EM_x ||
+	    hw->mac.type == ixgbe_mac_X550EM_a ||
+	    hw->mac.type == ixgbe_mac_X550_vf ||
+	    hw->mac.type == ixgbe_mac_X550EM_x_vf ||
+	    hw->mac.type == ixgbe_mac_X550EM_a_vf) {
+		dev_info->dev_capa =
+			RTE_ETH_DEV_CAPA_RUNTIME_RX_QUEUE_SETUP |
+			RTE_ETH_DEV_CAPA_RUNTIME_TX_QUEUE_SETUP;
+	}
+
 	return 0;
 }
 
@@ -4010,6 +4021,17 @@ ixgbevf_dev_info_get(struct rte_eth_dev *dev,
 	dev_info->rx_desc_lim = rx_desc_lim;
 	dev_info->tx_desc_lim = tx_desc_lim;
 
+	if (hw->mac.type == ixgbe_mac_X550 ||
+	    hw->mac.type == ixgbe_mac_X550EM_x ||
+	    hw->mac.type == ixgbe_mac_X550EM_a ||
+	    hw->mac.type == ixgbe_mac_X550_vf ||
+	    hw->mac.type == ixgbe_mac_X550EM_x_vf ||
+	    hw->mac.type == ixgbe_mac_X550EM_a_vf) {
+		dev_info->dev_capa =
+			RTE_ETH_DEV_CAPA_RUNTIME_RX_QUEUE_SETUP |
+			RTE_ETH_DEV_CAPA_RUNTIME_TX_QUEUE_SETUP;
+	}
+
 	return 0;
 }
 
diff --git drivers/net/ixgbe/ixgbe_rxtx.c drivers/net/ixgbe/ixgbe_rxtx.c index d69f36e97..ea813aefe 100644
--- drivers/net/ixgbe/ixgbe_rxtx.c
+++ drivers/net/ixgbe/ixgbe_rxtx.c
@@ -2571,9 +2571,18 @@ ixgbe_set_tx_function(struct rte_eth_dev *dev, struct ixgbe_tx_queue *txq)  uint64_t  ixgbe_get_tx_queue_offloads(struct rte_eth_dev *dev)  {
-	RTE_SET_USED(dev);
+	uint64_t offloads = 0;
+	struct ixgbe_hw *hw = IXGBE_DEV_PRIVATE_TO_HW(dev->data->dev_private);
 
-	return 0;
+	if (hw->mac.type == ixgbe_mac_X550 ||
+	    hw->mac.type == ixgbe_mac_X550EM_x ||
+	    hw->mac.type == ixgbe_mac_X550EM_a ||
+	    hw->mac.type == ixgbe_mac_X550_vf ||
+	    hw->mac.type == ixgbe_mac_X550EM_x_vf ||
+	    hw->mac.type == ixgbe_mac_X550EM_a_vf)
+		offloads |= RTE_ETH_DEV_CAPA_RUNTIME_TX_QUEUE_SETUP;
+
+	return offloads;
 }
 
 uint64_t
@@ -3008,6 +3017,14 @@ ixgbe_get_rx_queue_offloads(struct rte_eth_dev *dev)
 	if (hw->mac.type != ixgbe_mac_82598EB)
 		offloads |= DEV_RX_OFFLOAD_VLAN_STRIP;
 
+	if (hw->mac.type == ixgbe_mac_X550 ||
+	    hw->mac.type == ixgbe_mac_X550EM_x ||
+	    hw->mac.type == ixgbe_mac_X550EM_a ||
+	    hw->mac.type == ixgbe_mac_X550_vf ||
+	    hw->mac.type == ixgbe_mac_X550EM_x_vf ||
+	    hw->mac.type == ixgbe_mac_X550EM_a_vf)
+		offloads |= RTE_ETH_DEV_CAPA_RUNTIME_RX_QUEUE_SETUP;
+
 	return offloads;
 }
 
--
2.17.1


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

end of thread, other threads:[~2021-06-16 12:59 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-24 11:53 [dpdk-dev] [PATCH] ixgbe: Add runtime tx/rx queue setup for X550 Wu Jianyue
  -- strict thread matches above, loose matches on Subject: below --
2021-05-26  5:29 Wu, Jianyue (NSB - CN/Hangzhou)
2021-06-16  0:31 ` Zhang, Qi Z
2021-06-16  5:03   ` Wu, Jianyue (NSB - CN/Hangzhou)
2021-06-16 12:59     ` Zhang, Qi Z
     [not found] <20210522071304.981-1-jianyue.wu@nokia-sbell.com>
2021-05-22  7:17 ` Wu, Jianyue (NSB - CN/Hangzhou)
     [not found] <20210521004041.159-1-jianyue.wu@nokia-sbell.com>
2021-05-21  0:53 ` Wu, Jianyue (NSB - CN/Hangzhou)
2021-05-21  0:59   ` Wu, Jianyue (NSB - CN/Hangzhou)

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.