DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH] net/axgbe: fix PCI ID to distinguish v1000 vs e3000
@ 2021-11-10 11:45 Arsalan H. Awan
  2021-11-12 14:48 ` Namburu, Chandu-babu
  0 siblings, 1 reply; 9+ messages in thread
From: Arsalan H. Awan @ 2021-11-10 11:45 UTC (permalink / raw)
  To: dev
  Cc: chandu, Amaranath.Somalapuram, Selwin.Sebastian,
	Maheshwaramurthy.Giriyapura, Arsalan H. Awan

The RV PCI Root Complex Device is not visible to DPDK on the PCI bus
via pci_search_device on some OSs including Ubuntu and Yocto. This
makes it impossible to determine which machine DPDK/axgbe is running
on. As a result, DPDK/axgbe does not work on v1000.

Let's use the Raven Internal PCIe GPP Bridge ID that DPDK can see on
the PCI bus that exists on the v1000 to differentiate between RV AXGBE
and SNOWY AXGBE, and set the registers accordingly. This fixes DPDK
not working on v1000 platform.

Signed-off-by: Arsalan H. Awan <Arsalan_Awan@mentor.com>
---
 drivers/net/axgbe/axgbe_ethdev.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/net/axgbe/axgbe_ethdev.c b/drivers/net/axgbe/axgbe_ethdev.c
index 7d40c18a86..7b1b46990f 100644
--- a/drivers/net/axgbe/axgbe_ethdev.c
+++ b/drivers/net/axgbe/axgbe_ethdev.c
@@ -170,7 +170,7 @@ static const struct axgbe_xstats axgbe_xstats_strings[] = {
 
 /* The set of PCI devices this driver supports */
 #define AMD_PCI_VENDOR_ID       0x1022
-#define AMD_PCI_RV_ROOT_COMPLEX_ID	0x15d0
+#define AMD_PCI_RV_INTERNAL_PCIE_GPP_BRIDGE_ID	0x15db
 #define AMD_PCI_AXGBE_DEVICE_V2A 0x1458
 #define AMD_PCI_AXGBE_DEVICE_V2B 0x1459
 
@@ -2178,9 +2178,9 @@ eth_axgbe_dev_init(struct rte_eth_dev *eth_dev)
 	pdata->pci_dev = pci_dev;
 
 	/*
-	 * Use root complex device ID to differentiate RV AXGBE vs SNOWY AXGBE
+	 * Use Raven Internal PCIe GPP Bridge device ID to differentiate RV AXGBE vs SNOWY AXGBE
 	 */
-	if (pci_search_device(AMD_PCI_RV_ROOT_COMPLEX_ID)) {
+	if (pci_search_device(AMD_PCI_RV_INTERNAL_PCIE_GPP_BRIDGE_ID)) {
 		pdata->xpcs_window_def_reg = PCS_V2_RV_WINDOW_DEF;
 		pdata->xpcs_window_sel_reg = PCS_V2_RV_WINDOW_SELECT;
 	} else {
-- 
2.17.1


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

* RE: [PATCH] net/axgbe: fix PCI ID to distinguish v1000 vs e3000
  2021-11-10 11:45 [dpdk-dev] [PATCH] net/axgbe: fix PCI ID to distinguish v1000 vs e3000 Arsalan H. Awan
@ 2021-11-12 14:48 ` Namburu, Chandu-babu
  2021-11-15 10:15   ` Awan, Arsalan
  0 siblings, 1 reply; 9+ messages in thread
From: Namburu, Chandu-babu @ 2021-11-12 14:48 UTC (permalink / raw)
  To: Arsalan H. Awan, dev
  Cc: Somalapuram, Amaranath, Sebastian, Selwin, Giriyapura, Maheshwaramurthy

[AMD Official Use Only]

Hi Arsalan Awan,

Thank you for sharing the patch. DPDK not working on V1000 is regression due to "bus/pci: optimize bus scan" patch. As RV Root Complex device does not have any Linux kernel driver assigned, this device is removed from PCI scan list and not found using pcie_search_device() routine.

Patch submitted is potential fix for the issue, but we are checking if this is the best way to fix regression. Will update you soon on the fix shared.

Regards,
Chandu

-----Original Message-----
From: Arsalan H. Awan <Arsalan_Awan@mentor.com>
Sent: Wednesday, November 10, 2021 5:15 PM
To: dev@dpdk.org
Cc: Namburu, Chandu-babu <chandu@amd.com>; Somalapuram, Amaranath <Amaranath.Somalapuram@amd.com>; Sebastian, Selwin <Selwin.Sebastian@amd.com>; Giriyapura, Maheshwaramurthy <Maheshwaramurthy.Giriyapura@amd.com>; Arsalan H. Awan <Arsalan_Awan@mentor.com>
Subject: [PATCH] net/axgbe: fix PCI ID to distinguish v1000 vs e3000

The RV PCI Root Complex Device is not visible to DPDK on the PCI bus via pci_search_device on some OSs including Ubuntu and Yocto. This makes it impossible to determine which machine DPDK/axgbe is running on. As a result, DPDK/axgbe does not work on v1000.

Let's use the Raven Internal PCIe GPP Bridge ID that DPDK can see on the PCI bus that exists on the v1000 to differentiate between RV AXGBE and SNOWY AXGBE, and set the registers accordingly. This fixes DPDK not working on v1000 platform.

Signed-off-by: Arsalan H. Awan <Arsalan_Awan@mentor.com>
---
 drivers/net/axgbe/axgbe_ethdev.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/net/axgbe/axgbe_ethdev.c b/drivers/net/axgbe/axgbe_ethdev.c
index 7d40c18a86..7b1b46990f 100644
--- a/drivers/net/axgbe/axgbe_ethdev.c
+++ b/drivers/net/axgbe/axgbe_ethdev.c
@@ -170,7 +170,7 @@ static const struct axgbe_xstats axgbe_xstats_strings[] = {

 /* The set of PCI devices this driver supports */
 #define AMD_PCI_VENDOR_ID       0x1022
-#define AMD_PCI_RV_ROOT_COMPLEX_ID     0x15d0
+#define AMD_PCI_RV_INTERNAL_PCIE_GPP_BRIDGE_ID 0x15db
 #define AMD_PCI_AXGBE_DEVICE_V2A 0x1458  #define AMD_PCI_AXGBE_DEVICE_V2B 0x1459

@@ -2178,9 +2178,9 @@ eth_axgbe_dev_init(struct rte_eth_dev *eth_dev)
        pdata->pci_dev = pci_dev;

        /*
-        * Use root complex device ID to differentiate RV AXGBE vs SNOWY AXGBE
+        * Use Raven Internal PCIe GPP Bridge device ID to differentiate RV
+AXGBE vs SNOWY AXGBE
         */
-       if (pci_search_device(AMD_PCI_RV_ROOT_COMPLEX_ID)) {
+       if (pci_search_device(AMD_PCI_RV_INTERNAL_PCIE_GPP_BRIDGE_ID)) {
                pdata->xpcs_window_def_reg = PCS_V2_RV_WINDOW_DEF;
                pdata->xpcs_window_sel_reg = PCS_V2_RV_WINDOW_SELECT;
        } else {
--
2.17.1


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

* Re: [PATCH] net/axgbe: fix PCI ID to distinguish v1000 vs e3000
  2021-11-12 14:48 ` Namburu, Chandu-babu
@ 2021-11-15 10:15   ` Awan, Arsalan
  2021-11-25  8:11     ` Awan, Arsalan
  0 siblings, 1 reply; 9+ messages in thread
From: Awan, Arsalan @ 2021-11-15 10:15 UTC (permalink / raw)
  To: Namburu, Chandu-babu, dev
  Cc: Somalapuram, Amaranath, Sebastian, Selwin, Giriyapura, Maheshwaramurthy

Thanks, Chandu!

Appreciate you guys looking into this!

Looking forward to hear from you soon.

Thanks and regards,
Arsalan
________________________________________
From: Namburu, Chandu-babu <chandu@amd.com>
Sent: Friday, November 12, 2021 7:48 PM
To: Awan, Arsalan; dev@dpdk.org
Cc: Somalapuram, Amaranath; Sebastian, Selwin; Giriyapura, Maheshwaramurthy
Subject: RE: [PATCH] net/axgbe: fix PCI ID to distinguish v1000 vs e3000

[AMD Official Use Only]

Hi Arsalan Awan,

Thank you for sharing the patch. DPDK not working on V1000 is regression due to "bus/pci: optimize bus scan" patch. As RV Root Complex device does not have any Linux kernel driver assigned, this device is removed from PCI scan list and not found using pcie_search_device() routine.

Patch submitted is potential fix for the issue, but we are checking if this is the best way to fix regression. Will update you soon on the fix shared.

Regards,
Chandu

-----Original Message-----
From: Arsalan H. Awan <Arsalan_Awan@mentor.com>
Sent: Wednesday, November 10, 2021 5:15 PM
To: dev@dpdk.org
Cc: Namburu, Chandu-babu <chandu@amd.com>; Somalapuram, Amaranath <Amaranath.Somalapuram@amd.com>; Sebastian, Selwin <Selwin.Sebastian@amd.com>; Giriyapura, Maheshwaramurthy <Maheshwaramurthy.Giriyapura@amd.com>; Arsalan H. Awan <Arsalan_Awan@mentor.com>
Subject: [PATCH] net/axgbe: fix PCI ID to distinguish v1000 vs e3000

The RV PCI Root Complex Device is not visible to DPDK on the PCI bus via pci_search_device on some OSs including Ubuntu and Yocto. This makes it impossible to determine which machine DPDK/axgbe is running on. As a result, DPDK/axgbe does not work on v1000.

Let's use the Raven Internal PCIe GPP Bridge ID that DPDK can see on the PCI bus that exists on the v1000 to differentiate between RV AXGBE and SNOWY AXGBE, and set the registers accordingly. This fixes DPDK not working on v1000 platform.

Signed-off-by: Arsalan H. Awan <Arsalan_Awan@mentor.com>
---
 drivers/net/axgbe/axgbe_ethdev.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/net/axgbe/axgbe_ethdev.c b/drivers/net/axgbe/axgbe_ethdev.c
index 7d40c18a86..7b1b46990f 100644
--- a/drivers/net/axgbe/axgbe_ethdev.c
+++ b/drivers/net/axgbe/axgbe_ethdev.c
@@ -170,7 +170,7 @@ static const struct axgbe_xstats axgbe_xstats_strings[] = {

 /* The set of PCI devices this driver supports */
 #define AMD_PCI_VENDOR_ID       0x1022
-#define AMD_PCI_RV_ROOT_COMPLEX_ID     0x15d0
+#define AMD_PCI_RV_INTERNAL_PCIE_GPP_BRIDGE_ID 0x15db
 #define AMD_PCI_AXGBE_DEVICE_V2A 0x1458  #define AMD_PCI_AXGBE_DEVICE_V2B 0x1459

@@ -2178,9 +2178,9 @@ eth_axgbe_dev_init(struct rte_eth_dev *eth_dev)
        pdata->pci_dev = pci_dev;

        /*
-        * Use root complex device ID to differentiate RV AXGBE vs SNOWY AXGBE
+        * Use Raven Internal PCIe GPP Bridge device ID to differentiate RV
+AXGBE vs SNOWY AXGBE
         */
-       if (pci_search_device(AMD_PCI_RV_ROOT_COMPLEX_ID)) {
+       if (pci_search_device(AMD_PCI_RV_INTERNAL_PCIE_GPP_BRIDGE_ID)) {
                pdata->xpcs_window_def_reg = PCS_V2_RV_WINDOW_DEF;
                pdata->xpcs_window_sel_reg = PCS_V2_RV_WINDOW_SELECT;
        } else {
--
2.17.1


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

* Re: [PATCH] net/axgbe: fix PCI ID to distinguish v1000 vs e3000
  2021-11-15 10:15   ` Awan, Arsalan
@ 2021-11-25  8:11     ` Awan, Arsalan
  2021-11-25  8:23       ` Namburu, Chandu-babu
  0 siblings, 1 reply; 9+ messages in thread
From: Awan, Arsalan @ 2021-11-25  8:11 UTC (permalink / raw)
  To: Namburu, Chandu-babu, dev
  Cc: Somalapuram, Amaranath, Sebastian, Selwin, Giriyapura, Maheshwaramurthy

Hi Chandu,

Do we have an update on this?

Can we go ahead with this patch for now as it does not break anything else, but fixes the problem.

DPDK will be working fine as is on the e3000.

This patch only adjusts the code for the v1000 and it works fine and there isn't a difference in the approach of fixing the problem compared to that being done currently to distinguish between the two platforms i.e. e3000 & v1000.

Hoping to hear from you soon.

Thanks,
Arsalan
________________________________________
From: Awan, Arsalan
Sent: Monday, November 15, 2021 3:15 PM
To: Namburu, Chandu-babu; dev@dpdk.org
Cc: Somalapuram, Amaranath; Sebastian, Selwin; Giriyapura, Maheshwaramurthy
Subject: Re: [PATCH] net/axgbe: fix PCI ID to distinguish v1000 vs e3000

Thanks, Chandu!

Appreciate you guys looking into this!

Looking forward to hear from you soon.

Thanks and regards,
Arsalan
________________________________________
From: Namburu, Chandu-babu <chandu@amd.com>
Sent: Friday, November 12, 2021 7:48 PM
To: Awan, Arsalan; dev@dpdk.org
Cc: Somalapuram, Amaranath; Sebastian, Selwin; Giriyapura, Maheshwaramurthy
Subject: RE: [PATCH] net/axgbe: fix PCI ID to distinguish v1000 vs e3000

[AMD Official Use Only]

Hi Arsalan Awan,

Thank you for sharing the patch. DPDK not working on V1000 is regression due to "bus/pci: optimize bus scan" patch. As RV Root Complex device does not have any Linux kernel driver assigned, this device is removed from PCI scan list and not found using pcie_search_device() routine.

Patch submitted is potential fix for the issue, but we are checking if this is the best way to fix regression. Will update you soon on the fix shared.

Regards,
Chandu

-----Original Message-----
From: Arsalan H. Awan <Arsalan_Awan@mentor.com>
Sent: Wednesday, November 10, 2021 5:15 PM
To: dev@dpdk.org
Cc: Namburu, Chandu-babu <chandu@amd.com>; Somalapuram, Amaranath <Amaranath.Somalapuram@amd.com>; Sebastian, Selwin <Selwin.Sebastian@amd.com>; Giriyapura, Maheshwaramurthy <Maheshwaramurthy.Giriyapura@amd.com>; Arsalan H. Awan <Arsalan_Awan@mentor.com>
Subject: [PATCH] net/axgbe: fix PCI ID to distinguish v1000 vs e3000

The RV PCI Root Complex Device is not visible to DPDK on the PCI bus via pci_search_device on some OSs including Ubuntu and Yocto. This makes it impossible to determine which machine DPDK/axgbe is running on. As a result, DPDK/axgbe does not work on v1000.

Let's use the Raven Internal PCIe GPP Bridge ID that DPDK can see on the PCI bus that exists on the v1000 to differentiate between RV AXGBE and SNOWY AXGBE, and set the registers accordingly. This fixes DPDK not working on v1000 platform.

Signed-off-by: Arsalan H. Awan <Arsalan_Awan@mentor.com>
---
 drivers/net/axgbe/axgbe_ethdev.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/net/axgbe/axgbe_ethdev.c b/drivers/net/axgbe/axgbe_ethdev.c
index 7d40c18a86..7b1b46990f 100644
--- a/drivers/net/axgbe/axgbe_ethdev.c
+++ b/drivers/net/axgbe/axgbe_ethdev.c
@@ -170,7 +170,7 @@ static const struct axgbe_xstats axgbe_xstats_strings[] = {

 /* The set of PCI devices this driver supports */
 #define AMD_PCI_VENDOR_ID       0x1022
-#define AMD_PCI_RV_ROOT_COMPLEX_ID     0x15d0
+#define AMD_PCI_RV_INTERNAL_PCIE_GPP_BRIDGE_ID 0x15db
 #define AMD_PCI_AXGBE_DEVICE_V2A 0x1458  #define AMD_PCI_AXGBE_DEVICE_V2B 0x1459

@@ -2178,9 +2178,9 @@ eth_axgbe_dev_init(struct rte_eth_dev *eth_dev)
        pdata->pci_dev = pci_dev;

        /*
-        * Use root complex device ID to differentiate RV AXGBE vs SNOWY AXGBE
+        * Use Raven Internal PCIe GPP Bridge device ID to differentiate RV
+AXGBE vs SNOWY AXGBE
         */
-       if (pci_search_device(AMD_PCI_RV_ROOT_COMPLEX_ID)) {
+       if (pci_search_device(AMD_PCI_RV_INTERNAL_PCIE_GPP_BRIDGE_ID)) {
                pdata->xpcs_window_def_reg = PCS_V2_RV_WINDOW_DEF;
                pdata->xpcs_window_sel_reg = PCS_V2_RV_WINDOW_SELECT;
        } else {
--
2.17.1


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

* RE: [PATCH] net/axgbe: fix PCI ID to distinguish v1000 vs e3000
  2021-11-25  8:11     ` Awan, Arsalan
@ 2021-11-25  8:23       ` Namburu, Chandu-babu
  2021-11-25  9:06         ` Awan, Arsalan
  0 siblings, 1 reply; 9+ messages in thread
From: Namburu, Chandu-babu @ 2021-11-25  8:23 UTC (permalink / raw)
  To: Awan, Arsalan, dev
  Cc: Somalapuram, Amaranath, Sebastian, Selwin, Giriyapura, Maheshwaramurthy

[Public]

Hi Arsalan,

We have identified fix for this issue and will submit the patch for community review asap.

Thanks,
Chandu

-----Original Message-----
From: Awan, Arsalan <Arsalan_Awan@mentor.com>
Sent: Thursday, November 25, 2021 1:42 PM
To: Namburu, Chandu-babu <chandu@amd.com>; dev@dpdk.org
Cc: Somalapuram, Amaranath <Amaranath.Somalapuram@amd.com>; Sebastian, Selwin <Selwin.Sebastian@amd.com>; Giriyapura, Maheshwaramurthy <Maheshwaramurthy.Giriyapura@amd.com>
Subject: Re: [PATCH] net/axgbe: fix PCI ID to distinguish v1000 vs e3000

Hi Chandu,

Do we have an update on this?

Can we go ahead with this patch for now as it does not break anything else, but fixes the problem.

DPDK will be working fine as is on the e3000.

This patch only adjusts the code for the v1000 and it works fine and there isn't a difference in the approach of fixing the problem compared to that being done currently to distinguish between the two platforms i.e. e3000 & v1000.

Hoping to hear from you soon.

Thanks,
Arsalan
________________________________________
From: Awan, Arsalan
Sent: Monday, November 15, 2021 3:15 PM
To: Namburu, Chandu-babu; dev@dpdk.org
Cc: Somalapuram, Amaranath; Sebastian, Selwin; Giriyapura, Maheshwaramurthy
Subject: Re: [PATCH] net/axgbe: fix PCI ID to distinguish v1000 vs e3000

Thanks, Chandu!

Appreciate you guys looking into this!

Looking forward to hear from you soon.

Thanks and regards,
Arsalan
________________________________________
From: Namburu, Chandu-babu <chandu@amd.com>
Sent: Friday, November 12, 2021 7:48 PM
To: Awan, Arsalan; dev@dpdk.org
Cc: Somalapuram, Amaranath; Sebastian, Selwin; Giriyapura, Maheshwaramurthy
Subject: RE: [PATCH] net/axgbe: fix PCI ID to distinguish v1000 vs e3000

[AMD Official Use Only]

Hi Arsalan Awan,

Thank you for sharing the patch. DPDK not working on V1000 is regression due to "bus/pci: optimize bus scan" patch. As RV Root Complex device does not have any Linux kernel driver assigned, this device is removed from PCI scan list and not found using pcie_search_device() routine.

Patch submitted is potential fix for the issue, but we are checking if this is the best way to fix regression. Will update you soon on the fix shared.

Regards,
Chandu

-----Original Message-----
From: Arsalan H. Awan <Arsalan_Awan@mentor.com>
Sent: Wednesday, November 10, 2021 5:15 PM
To: dev@dpdk.org
Cc: Namburu, Chandu-babu <chandu@amd.com>; Somalapuram, Amaranath <Amaranath.Somalapuram@amd.com>; Sebastian, Selwin <Selwin.Sebastian@amd.com>; Giriyapura, Maheshwaramurthy <Maheshwaramurthy.Giriyapura@amd.com>; Arsalan H. Awan <Arsalan_Awan@mentor.com>
Subject: [PATCH] net/axgbe: fix PCI ID to distinguish v1000 vs e3000

The RV PCI Root Complex Device is not visible to DPDK on the PCI bus via pci_search_device on some OSs including Ubuntu and Yocto. This makes it impossible to determine which machine DPDK/axgbe is running on. As a result, DPDK/axgbe does not work on v1000.

Let's use the Raven Internal PCIe GPP Bridge ID that DPDK can see on the PCI bus that exists on the v1000 to differentiate between RV AXGBE and SNOWY AXGBE, and set the registers accordingly. This fixes DPDK not working on v1000 platform.

Signed-off-by: Arsalan H. Awan <Arsalan_Awan@mentor.com>
---
 drivers/net/axgbe/axgbe_ethdev.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/net/axgbe/axgbe_ethdev.c b/drivers/net/axgbe/axgbe_ethdev.c
index 7d40c18a86..7b1b46990f 100644
--- a/drivers/net/axgbe/axgbe_ethdev.c
+++ b/drivers/net/axgbe/axgbe_ethdev.c
@@ -170,7 +170,7 @@ static const struct axgbe_xstats axgbe_xstats_strings[] = {

 /* The set of PCI devices this driver supports */
 #define AMD_PCI_VENDOR_ID       0x1022
-#define AMD_PCI_RV_ROOT_COMPLEX_ID     0x15d0
+#define AMD_PCI_RV_INTERNAL_PCIE_GPP_BRIDGE_ID 0x15db
 #define AMD_PCI_AXGBE_DEVICE_V2A 0x1458  #define AMD_PCI_AXGBE_DEVICE_V2B 0x1459

@@ -2178,9 +2178,9 @@ eth_axgbe_dev_init(struct rte_eth_dev *eth_dev)
        pdata->pci_dev = pci_dev;

        /*
-        * Use root complex device ID to differentiate RV AXGBE vs SNOWY AXGBE
+        * Use Raven Internal PCIe GPP Bridge device ID to differentiate
+RV AXGBE vs SNOWY AXGBE
         */
-       if (pci_search_device(AMD_PCI_RV_ROOT_COMPLEX_ID)) {
+       if (pci_search_device(AMD_PCI_RV_INTERNAL_PCIE_GPP_BRIDGE_ID)) {
                pdata->xpcs_window_def_reg = PCS_V2_RV_WINDOW_DEF;
                pdata->xpcs_window_sel_reg = PCS_V2_RV_WINDOW_SELECT;
        } else {
--
2.17.1


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

* Re: [PATCH] net/axgbe: fix PCI ID to distinguish v1000 vs e3000
  2021-11-25  8:23       ` Namburu, Chandu-babu
@ 2021-11-25  9:06         ` Awan, Arsalan
  2021-11-26 10:35           ` Namburu, Chandu-babu
  0 siblings, 1 reply; 9+ messages in thread
From: Awan, Arsalan @ 2021-11-25  9:06 UTC (permalink / raw)
  To: Namburu, Chandu-babu, dev
  Cc: Somalapuram, Amaranath, Sebastian, Selwin, Giriyapura, Maheshwaramurthy

Thanks, Chandu!

This will help a lot!

Regards,
Arsalan
________________________________________
From: Namburu, Chandu-babu <chandu@amd.com>
Sent: Thursday, November 25, 2021 1:23 PM
To: Awan, Arsalan; dev@dpdk.org
Cc: Somalapuram, Amaranath; Sebastian, Selwin; Giriyapura, Maheshwaramurthy
Subject: RE: [PATCH] net/axgbe: fix PCI ID to distinguish v1000 vs e3000

[Public]

Hi Arsalan,

We have identified fix for this issue and will submit the patch for community review asap.

Thanks,
Chandu

-----Original Message-----
From: Awan, Arsalan <Arsalan_Awan@mentor.com>
Sent: Thursday, November 25, 2021 1:42 PM
To: Namburu, Chandu-babu <chandu@amd.com>; dev@dpdk.org
Cc: Somalapuram, Amaranath <Amaranath.Somalapuram@amd.com>; Sebastian, Selwin <Selwin.Sebastian@amd.com>; Giriyapura, Maheshwaramurthy <Maheshwaramurthy.Giriyapura@amd.com>
Subject: Re: [PATCH] net/axgbe: fix PCI ID to distinguish v1000 vs e3000

Hi Chandu,

Do we have an update on this?

Can we go ahead with this patch for now as it does not break anything else, but fixes the problem.

DPDK will be working fine as is on the e3000.

This patch only adjusts the code for the v1000 and it works fine and there isn't a difference in the approach of fixing the problem compared to that being done currently to distinguish between the two platforms i.e. e3000 & v1000.

Hoping to hear from you soon.

Thanks,
Arsalan
________________________________________
From: Awan, Arsalan
Sent: Monday, November 15, 2021 3:15 PM
To: Namburu, Chandu-babu; dev@dpdk.org
Cc: Somalapuram, Amaranath; Sebastian, Selwin; Giriyapura, Maheshwaramurthy
Subject: Re: [PATCH] net/axgbe: fix PCI ID to distinguish v1000 vs e3000

Thanks, Chandu!

Appreciate you guys looking into this!

Looking forward to hear from you soon.

Thanks and regards,
Arsalan
________________________________________
From: Namburu, Chandu-babu <chandu@amd.com>
Sent: Friday, November 12, 2021 7:48 PM
To: Awan, Arsalan; dev@dpdk.org
Cc: Somalapuram, Amaranath; Sebastian, Selwin; Giriyapura, Maheshwaramurthy
Subject: RE: [PATCH] net/axgbe: fix PCI ID to distinguish v1000 vs e3000

[AMD Official Use Only]

Hi Arsalan Awan,

Thank you for sharing the patch. DPDK not working on V1000 is regression due to "bus/pci: optimize bus scan" patch. As RV Root Complex device does not have any Linux kernel driver assigned, this device is removed from PCI scan list and not found using pcie_search_device() routine.

Patch submitted is potential fix for the issue, but we are checking if this is the best way to fix regression. Will update you soon on the fix shared.

Regards,
Chandu

-----Original Message-----
From: Arsalan H. Awan <Arsalan_Awan@mentor.com>
Sent: Wednesday, November 10, 2021 5:15 PM
To: dev@dpdk.org
Cc: Namburu, Chandu-babu <chandu@amd.com>; Somalapuram, Amaranath <Amaranath.Somalapuram@amd.com>; Sebastian, Selwin <Selwin.Sebastian@amd.com>; Giriyapura, Maheshwaramurthy <Maheshwaramurthy.Giriyapura@amd.com>; Arsalan H. Awan <Arsalan_Awan@mentor.com>
Subject: [PATCH] net/axgbe: fix PCI ID to distinguish v1000 vs e3000

The RV PCI Root Complex Device is not visible to DPDK on the PCI bus via pci_search_device on some OSs including Ubuntu and Yocto. This makes it impossible to determine which machine DPDK/axgbe is running on. As a result, DPDK/axgbe does not work on v1000.

Let's use the Raven Internal PCIe GPP Bridge ID that DPDK can see on the PCI bus that exists on the v1000 to differentiate between RV AXGBE and SNOWY AXGBE, and set the registers accordingly. This fixes DPDK not working on v1000 platform.

Signed-off-by: Arsalan H. Awan <Arsalan_Awan@mentor.com>
---
 drivers/net/axgbe/axgbe_ethdev.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/net/axgbe/axgbe_ethdev.c b/drivers/net/axgbe/axgbe_ethdev.c
index 7d40c18a86..7b1b46990f 100644
--- a/drivers/net/axgbe/axgbe_ethdev.c
+++ b/drivers/net/axgbe/axgbe_ethdev.c
@@ -170,7 +170,7 @@ static const struct axgbe_xstats axgbe_xstats_strings[] = {

 /* The set of PCI devices this driver supports */
 #define AMD_PCI_VENDOR_ID       0x1022
-#define AMD_PCI_RV_ROOT_COMPLEX_ID     0x15d0
+#define AMD_PCI_RV_INTERNAL_PCIE_GPP_BRIDGE_ID 0x15db
 #define AMD_PCI_AXGBE_DEVICE_V2A 0x1458  #define AMD_PCI_AXGBE_DEVICE_V2B 0x1459

@@ -2178,9 +2178,9 @@ eth_axgbe_dev_init(struct rte_eth_dev *eth_dev)
        pdata->pci_dev = pci_dev;

        /*
-        * Use root complex device ID to differentiate RV AXGBE vs SNOWY AXGBE
+        * Use Raven Internal PCIe GPP Bridge device ID to differentiate
+RV AXGBE vs SNOWY AXGBE
         */
-       if (pci_search_device(AMD_PCI_RV_ROOT_COMPLEX_ID)) {
+       if (pci_search_device(AMD_PCI_RV_INTERNAL_PCIE_GPP_BRIDGE_ID)) {
                pdata->xpcs_window_def_reg = PCS_V2_RV_WINDOW_DEF;
                pdata->xpcs_window_sel_reg = PCS_V2_RV_WINDOW_SELECT;
        } else {
--
2.17.1


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

* RE: [PATCH] net/axgbe: fix PCI ID to distinguish v1000 vs e3000
  2021-11-25  9:06         ` Awan, Arsalan
@ 2021-11-26 10:35           ` Namburu, Chandu-babu
  2021-12-01  8:48             ` Awan, Arsalan
  0 siblings, 1 reply; 9+ messages in thread
From: Namburu, Chandu-babu @ 2021-11-26 10:35 UTC (permalink / raw)
  To: Awan, Arsalan, dev
  Cc: Somalapuram, Amaranath, Sebastian, Selwin, Giriyapura, Maheshwaramurthy

[Public]

Hi Arsalan,

I have submitted new patch to community review and looped you in. Please share your comments.

https://patches.dpdk.org/project/dpdk/list/?series=20788

Regards,
Chandu

-----Original Message-----
From: Awan, Arsalan <Arsalan_Awan@mentor.com>
Sent: Thursday, November 25, 2021 2:37 PM
To: Namburu, Chandu-babu <chandu@amd.com>; dev@dpdk.org
Cc: Somalapuram, Amaranath <Amaranath.Somalapuram@amd.com>; Sebastian, Selwin <Selwin.Sebastian@amd.com>; Giriyapura, Maheshwaramurthy <Maheshwaramurthy.Giriyapura@amd.com>
Subject: Re: [PATCH] net/axgbe: fix PCI ID to distinguish v1000 vs e3000

Thanks, Chandu!

This will help a lot!

Regards,
Arsalan
________________________________________
From: Namburu, Chandu-babu <chandu@amd.com>
Sent: Thursday, November 25, 2021 1:23 PM
To: Awan, Arsalan; dev@dpdk.org
Cc: Somalapuram, Amaranath; Sebastian, Selwin; Giriyapura, Maheshwaramurthy
Subject: RE: [PATCH] net/axgbe: fix PCI ID to distinguish v1000 vs e3000

[Public]

Hi Arsalan,

We have identified fix for this issue and will submit the patch for community review asap.

Thanks,
Chandu

-----Original Message-----
From: Awan, Arsalan <Arsalan_Awan@mentor.com>
Sent: Thursday, November 25, 2021 1:42 PM
To: Namburu, Chandu-babu <chandu@amd.com>; dev@dpdk.org
Cc: Somalapuram, Amaranath <Amaranath.Somalapuram@amd.com>; Sebastian, Selwin <Selwin.Sebastian@amd.com>; Giriyapura, Maheshwaramurthy <Maheshwaramurthy.Giriyapura@amd.com>
Subject: Re: [PATCH] net/axgbe: fix PCI ID to distinguish v1000 vs e3000

Hi Chandu,

Do we have an update on this?

Can we go ahead with this patch for now as it does not break anything else, but fixes the problem.

DPDK will be working fine as is on the e3000.

This patch only adjusts the code for the v1000 and it works fine and there isn't a difference in the approach of fixing the problem compared to that being done currently to distinguish between the two platforms i.e. e3000 & v1000.

Hoping to hear from you soon.

Thanks,
Arsalan
________________________________________
From: Awan, Arsalan
Sent: Monday, November 15, 2021 3:15 PM
To: Namburu, Chandu-babu; dev@dpdk.org
Cc: Somalapuram, Amaranath; Sebastian, Selwin; Giriyapura, Maheshwaramurthy
Subject: Re: [PATCH] net/axgbe: fix PCI ID to distinguish v1000 vs e3000

Thanks, Chandu!

Appreciate you guys looking into this!

Looking forward to hear from you soon.

Thanks and regards,
Arsalan
________________________________________
From: Namburu, Chandu-babu <chandu@amd.com>
Sent: Friday, November 12, 2021 7:48 PM
To: Awan, Arsalan; dev@dpdk.org
Cc: Somalapuram, Amaranath; Sebastian, Selwin; Giriyapura, Maheshwaramurthy
Subject: RE: [PATCH] net/axgbe: fix PCI ID to distinguish v1000 vs e3000

[AMD Official Use Only]

Hi Arsalan Awan,

Thank you for sharing the patch. DPDK not working on V1000 is regression due to "bus/pci: optimize bus scan" patch. As RV Root Complex device does not have any Linux kernel driver assigned, this device is removed from PCI scan list and not found using pcie_search_device() routine.

Patch submitted is potential fix for the issue, but we are checking if this is the best way to fix regression. Will update you soon on the fix shared.

Regards,
Chandu

-----Original Message-----
From: Arsalan H. Awan <Arsalan_Awan@mentor.com>
Sent: Wednesday, November 10, 2021 5:15 PM
To: dev@dpdk.org
Cc: Namburu, Chandu-babu <chandu@amd.com>; Somalapuram, Amaranath <Amaranath.Somalapuram@amd.com>; Sebastian, Selwin <Selwin.Sebastian@amd.com>; Giriyapura, Maheshwaramurthy <Maheshwaramurthy.Giriyapura@amd.com>; Arsalan H. Awan <Arsalan_Awan@mentor.com>
Subject: [PATCH] net/axgbe: fix PCI ID to distinguish v1000 vs e3000

The RV PCI Root Complex Device is not visible to DPDK on the PCI bus via pci_search_device on some OSs including Ubuntu and Yocto. This makes it impossible to determine which machine DPDK/axgbe is running on. As a result, DPDK/axgbe does not work on v1000.

Let's use the Raven Internal PCIe GPP Bridge ID that DPDK can see on the PCI bus that exists on the v1000 to differentiate between RV AXGBE and SNOWY AXGBE, and set the registers accordingly. This fixes DPDK not working on v1000 platform.

Signed-off-by: Arsalan H. Awan <Arsalan_Awan@mentor.com>
---
 drivers/net/axgbe/axgbe_ethdev.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/net/axgbe/axgbe_ethdev.c b/drivers/net/axgbe/axgbe_ethdev.c
index 7d40c18a86..7b1b46990f 100644
--- a/drivers/net/axgbe/axgbe_ethdev.c
+++ b/drivers/net/axgbe/axgbe_ethdev.c
@@ -170,7 +170,7 @@ static const struct axgbe_xstats axgbe_xstats_strings[] = {

 /* The set of PCI devices this driver supports */
 #define AMD_PCI_VENDOR_ID       0x1022
-#define AMD_PCI_RV_ROOT_COMPLEX_ID     0x15d0
+#define AMD_PCI_RV_INTERNAL_PCIE_GPP_BRIDGE_ID 0x15db
 #define AMD_PCI_AXGBE_DEVICE_V2A 0x1458  #define AMD_PCI_AXGBE_DEVICE_V2B 0x1459

@@ -2178,9 +2178,9 @@ eth_axgbe_dev_init(struct rte_eth_dev *eth_dev)
        pdata->pci_dev = pci_dev;

        /*
-        * Use root complex device ID to differentiate RV AXGBE vs SNOWY AXGBE
+        * Use Raven Internal PCIe GPP Bridge device ID to differentiate
+RV AXGBE vs SNOWY AXGBE
         */
-       if (pci_search_device(AMD_PCI_RV_ROOT_COMPLEX_ID)) {
+       if (pci_search_device(AMD_PCI_RV_INTERNAL_PCIE_GPP_BRIDGE_ID)) {
                pdata->xpcs_window_def_reg = PCS_V2_RV_WINDOW_DEF;
                pdata->xpcs_window_sel_reg = PCS_V2_RV_WINDOW_SELECT;
        } else {
--
2.17.1


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

* Re: [PATCH] net/axgbe: fix PCI ID to distinguish v1000 vs e3000
  2021-11-26 10:35           ` Namburu, Chandu-babu
@ 2021-12-01  8:48             ` Awan, Arsalan
  2021-12-02  5:52               ` Namburu, Chandu-babu
  0 siblings, 1 reply; 9+ messages in thread
From: Awan, Arsalan @ 2021-12-01  8:48 UTC (permalink / raw)
  To: Namburu, Chandu-babu, dev
  Cc: Somalapuram, Amaranath, Sebastian, Selwin, Giriyapura, Maheshwaramurthy

Hi Chandu,

I have provided my comments on your patch acknowledging your solution as a better approach than this one.

Thanks and regards,
Arsalan
________________________________________
From: Namburu, Chandu-babu <chandu@amd.com>
Sent: Friday, November 26, 2021 3:35 PM
To: Awan, Arsalan; dev@dpdk.org
Cc: Somalapuram, Amaranath; Sebastian, Selwin; Giriyapura, Maheshwaramurthy
Subject: RE: [PATCH] net/axgbe: fix PCI ID to distinguish v1000 vs e3000

[Public]

Hi Arsalan,

I have submitted new patch to community review and looped you in. Please share your comments.

https://patches.dpdk.org/project/dpdk/list/?series=20788

Regards,
Chandu

-----Original Message-----
From: Awan, Arsalan <Arsalan_Awan@mentor.com>
Sent: Thursday, November 25, 2021 2:37 PM
To: Namburu, Chandu-babu <chandu@amd.com>; dev@dpdk.org
Cc: Somalapuram, Amaranath <Amaranath.Somalapuram@amd.com>; Sebastian, Selwin <Selwin.Sebastian@amd.com>; Giriyapura, Maheshwaramurthy <Maheshwaramurthy.Giriyapura@amd.com>
Subject: Re: [PATCH] net/axgbe: fix PCI ID to distinguish v1000 vs e3000

Thanks, Chandu!

This will help a lot!

Regards,
Arsalan
________________________________________
From: Namburu, Chandu-babu <chandu@amd.com>
Sent: Thursday, November 25, 2021 1:23 PM
To: Awan, Arsalan; dev@dpdk.org
Cc: Somalapuram, Amaranath; Sebastian, Selwin; Giriyapura, Maheshwaramurthy
Subject: RE: [PATCH] net/axgbe: fix PCI ID to distinguish v1000 vs e3000

[Public]

Hi Arsalan,

We have identified fix for this issue and will submit the patch for community review asap.

Thanks,
Chandu

-----Original Message-----
From: Awan, Arsalan <Arsalan_Awan@mentor.com>
Sent: Thursday, November 25, 2021 1:42 PM
To: Namburu, Chandu-babu <chandu@amd.com>; dev@dpdk.org
Cc: Somalapuram, Amaranath <Amaranath.Somalapuram@amd.com>; Sebastian, Selwin <Selwin.Sebastian@amd.com>; Giriyapura, Maheshwaramurthy <Maheshwaramurthy.Giriyapura@amd.com>
Subject: Re: [PATCH] net/axgbe: fix PCI ID to distinguish v1000 vs e3000

Hi Chandu,

Do we have an update on this?

Can we go ahead with this patch for now as it does not break anything else, but fixes the problem.

DPDK will be working fine as is on the e3000.

This patch only adjusts the code for the v1000 and it works fine and there isn't a difference in the approach of fixing the problem compared to that being done currently to distinguish between the two platforms i.e. e3000 & v1000.

Hoping to hear from you soon.

Thanks,
Arsalan
________________________________________
From: Awan, Arsalan
Sent: Monday, November 15, 2021 3:15 PM
To: Namburu, Chandu-babu; dev@dpdk.org
Cc: Somalapuram, Amaranath; Sebastian, Selwin; Giriyapura, Maheshwaramurthy
Subject: Re: [PATCH] net/axgbe: fix PCI ID to distinguish v1000 vs e3000

Thanks, Chandu!

Appreciate you guys looking into this!

Looking forward to hear from you soon.

Thanks and regards,
Arsalan
________________________________________
From: Namburu, Chandu-babu <chandu@amd.com>
Sent: Friday, November 12, 2021 7:48 PM
To: Awan, Arsalan; dev@dpdk.org
Cc: Somalapuram, Amaranath; Sebastian, Selwin; Giriyapura, Maheshwaramurthy
Subject: RE: [PATCH] net/axgbe: fix PCI ID to distinguish v1000 vs e3000

[AMD Official Use Only]

Hi Arsalan Awan,

Thank you for sharing the patch. DPDK not working on V1000 is regression due to "bus/pci: optimize bus scan" patch. As RV Root Complex device does not have any Linux kernel driver assigned, this device is removed from PCI scan list and not found using pcie_search_device() routine.

Patch submitted is potential fix for the issue, but we are checking if this is the best way to fix regression. Will update you soon on the fix shared.

Regards,
Chandu

-----Original Message-----
From: Arsalan H. Awan <Arsalan_Awan@mentor.com>
Sent: Wednesday, November 10, 2021 5:15 PM
To: dev@dpdk.org
Cc: Namburu, Chandu-babu <chandu@amd.com>; Somalapuram, Amaranath <Amaranath.Somalapuram@amd.com>; Sebastian, Selwin <Selwin.Sebastian@amd.com>; Giriyapura, Maheshwaramurthy <Maheshwaramurthy.Giriyapura@amd.com>; Arsalan H. Awan <Arsalan_Awan@mentor.com>
Subject: [PATCH] net/axgbe: fix PCI ID to distinguish v1000 vs e3000

The RV PCI Root Complex Device is not visible to DPDK on the PCI bus via pci_search_device on some OSs including Ubuntu and Yocto. This makes it impossible to determine which machine DPDK/axgbe is running on. As a result, DPDK/axgbe does not work on v1000.

Let's use the Raven Internal PCIe GPP Bridge ID that DPDK can see on the PCI bus that exists on the v1000 to differentiate between RV AXGBE and SNOWY AXGBE, and set the registers accordingly. This fixes DPDK not working on v1000 platform.

Signed-off-by: Arsalan H. Awan <Arsalan_Awan@mentor.com>
---
 drivers/net/axgbe/axgbe_ethdev.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/net/axgbe/axgbe_ethdev.c b/drivers/net/axgbe/axgbe_ethdev.c
index 7d40c18a86..7b1b46990f 100644
--- a/drivers/net/axgbe/axgbe_ethdev.c
+++ b/drivers/net/axgbe/axgbe_ethdev.c
@@ -170,7 +170,7 @@ static const struct axgbe_xstats axgbe_xstats_strings[] = {

 /* The set of PCI devices this driver supports */
 #define AMD_PCI_VENDOR_ID       0x1022
-#define AMD_PCI_RV_ROOT_COMPLEX_ID     0x15d0
+#define AMD_PCI_RV_INTERNAL_PCIE_GPP_BRIDGE_ID 0x15db
 #define AMD_PCI_AXGBE_DEVICE_V2A 0x1458  #define AMD_PCI_AXGBE_DEVICE_V2B 0x1459

@@ -2178,9 +2178,9 @@ eth_axgbe_dev_init(struct rte_eth_dev *eth_dev)
        pdata->pci_dev = pci_dev;

        /*
-        * Use root complex device ID to differentiate RV AXGBE vs SNOWY AXGBE
+        * Use Raven Internal PCIe GPP Bridge device ID to differentiate
+RV AXGBE vs SNOWY AXGBE
         */
-       if (pci_search_device(AMD_PCI_RV_ROOT_COMPLEX_ID)) {
+       if (pci_search_device(AMD_PCI_RV_INTERNAL_PCIE_GPP_BRIDGE_ID)) {
                pdata->xpcs_window_def_reg = PCS_V2_RV_WINDOW_DEF;
                pdata->xpcs_window_sel_reg = PCS_V2_RV_WINDOW_SELECT;
        } else {
--
2.17.1


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

* RE: [PATCH] net/axgbe: fix PCI ID to distinguish v1000 vs e3000
  2021-12-01  8:48             ` Awan, Arsalan
@ 2021-12-02  5:52               ` Namburu, Chandu-babu
  0 siblings, 0 replies; 9+ messages in thread
From: Namburu, Chandu-babu @ 2021-12-02  5:52 UTC (permalink / raw)
  To: Awan, Arsalan, dev
  Cc: Somalapuram, Amaranath, Sebastian, Selwin, Giriyapura, Maheshwaramurthy

[Public]

Hi Arsalan,

Thank you for your comments. 

Regards,
Chandu
-----Original Message-----
From: Awan, Arsalan <Arsalan_Awan@mentor.com> 
Sent: Wednesday, December 1, 2021 2:19 PM
To: Namburu, Chandu-babu <chandu@amd.com>; dev@dpdk.org
Cc: Somalapuram, Amaranath <Amaranath.Somalapuram@amd.com>; Sebastian, Selwin <Selwin.Sebastian@amd.com>; Giriyapura, Maheshwaramurthy <Maheshwaramurthy.Giriyapura@amd.com>
Subject: Re: [PATCH] net/axgbe: fix PCI ID to distinguish v1000 vs e3000

Hi Chandu,

I have provided my comments on your patch acknowledging your solution as a better approach than this one.

Thanks and regards,
Arsalan
________________________________________
From: Namburu, Chandu-babu <chandu@amd.com>
Sent: Friday, November 26, 2021 3:35 PM
To: Awan, Arsalan; dev@dpdk.org
Cc: Somalapuram, Amaranath; Sebastian, Selwin; Giriyapura, Maheshwaramurthy
Subject: RE: [PATCH] net/axgbe: fix PCI ID to distinguish v1000 vs e3000

[Public]

Hi Arsalan,

I have submitted new patch to community review and looped you in. Please share your comments.

https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpatches.dpdk.org%2Fproject%2Fdpdk%2Flist%2F%3Fseries%3D20788&amp;data=04%7C01%7Cchandu%40amd.com%7C6355ab7462c44e390bcc08d9b4a75e16%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637739453199074315%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&amp;sdata=I9m0teM9abhf21%2BHn90dJCLNKS28D%2BY%2BCya%2FADdS5nI%3D&amp;reserved=0

Regards,
Chandu

-----Original Message-----
From: Awan, Arsalan <Arsalan_Awan@mentor.com>
Sent: Thursday, November 25, 2021 2:37 PM
To: Namburu, Chandu-babu <chandu@amd.com>; dev@dpdk.org
Cc: Somalapuram, Amaranath <Amaranath.Somalapuram@amd.com>; Sebastian, Selwin <Selwin.Sebastian@amd.com>; Giriyapura, Maheshwaramurthy <Maheshwaramurthy.Giriyapura@amd.com>
Subject: Re: [PATCH] net/axgbe: fix PCI ID to distinguish v1000 vs e3000

Thanks, Chandu!

This will help a lot!

Regards,
Arsalan
________________________________________
From: Namburu, Chandu-babu <chandu@amd.com>
Sent: Thursday, November 25, 2021 1:23 PM
To: Awan, Arsalan; dev@dpdk.org
Cc: Somalapuram, Amaranath; Sebastian, Selwin; Giriyapura, Maheshwaramurthy
Subject: RE: [PATCH] net/axgbe: fix PCI ID to distinguish v1000 vs e3000

[Public]

Hi Arsalan,

We have identified fix for this issue and will submit the patch for community review asap.

Thanks,
Chandu

-----Original Message-----
From: Awan, Arsalan <Arsalan_Awan@mentor.com>
Sent: Thursday, November 25, 2021 1:42 PM
To: Namburu, Chandu-babu <chandu@amd.com>; dev@dpdk.org
Cc: Somalapuram, Amaranath <Amaranath.Somalapuram@amd.com>; Sebastian, Selwin <Selwin.Sebastian@amd.com>; Giriyapura, Maheshwaramurthy <Maheshwaramurthy.Giriyapura@amd.com>
Subject: Re: [PATCH] net/axgbe: fix PCI ID to distinguish v1000 vs e3000

Hi Chandu,

Do we have an update on this?

Can we go ahead with this patch for now as it does not break anything else, but fixes the problem.

DPDK will be working fine as is on the e3000.

This patch only adjusts the code for the v1000 and it works fine and there isn't a difference in the approach of fixing the problem compared to that being done currently to distinguish between the two platforms i.e. e3000 & v1000.

Hoping to hear from you soon.

Thanks,
Arsalan
________________________________________
From: Awan, Arsalan
Sent: Monday, November 15, 2021 3:15 PM
To: Namburu, Chandu-babu; dev@dpdk.org
Cc: Somalapuram, Amaranath; Sebastian, Selwin; Giriyapura, Maheshwaramurthy
Subject: Re: [PATCH] net/axgbe: fix PCI ID to distinguish v1000 vs e3000

Thanks, Chandu!

Appreciate you guys looking into this!

Looking forward to hear from you soon.

Thanks and regards,
Arsalan
________________________________________
From: Namburu, Chandu-babu <chandu@amd.com>
Sent: Friday, November 12, 2021 7:48 PM
To: Awan, Arsalan; dev@dpdk.org
Cc: Somalapuram, Amaranath; Sebastian, Selwin; Giriyapura, Maheshwaramurthy
Subject: RE: [PATCH] net/axgbe: fix PCI ID to distinguish v1000 vs e3000

[AMD Official Use Only]

Hi Arsalan Awan,

Thank you for sharing the patch. DPDK not working on V1000 is regression due to "bus/pci: optimize bus scan" patch. As RV Root Complex device does not have any Linux kernel driver assigned, this device is removed from PCI scan list and not found using pcie_search_device() routine.

Patch submitted is potential fix for the issue, but we are checking if this is the best way to fix regression. Will update you soon on the fix shared.

Regards,
Chandu

-----Original Message-----
From: Arsalan H. Awan <Arsalan_Awan@mentor.com>
Sent: Wednesday, November 10, 2021 5:15 PM
To: dev@dpdk.org
Cc: Namburu, Chandu-babu <chandu@amd.com>; Somalapuram, Amaranath <Amaranath.Somalapuram@amd.com>; Sebastian, Selwin <Selwin.Sebastian@amd.com>; Giriyapura, Maheshwaramurthy <Maheshwaramurthy.Giriyapura@amd.com>; Arsalan H. Awan <Arsalan_Awan@mentor.com>
Subject: [PATCH] net/axgbe: fix PCI ID to distinguish v1000 vs e3000

The RV PCI Root Complex Device is not visible to DPDK on the PCI bus via pci_search_device on some OSs including Ubuntu and Yocto. This makes it impossible to determine which machine DPDK/axgbe is running on. As a result, DPDK/axgbe does not work on v1000.

Let's use the Raven Internal PCIe GPP Bridge ID that DPDK can see on the PCI bus that exists on the v1000 to differentiate between RV AXGBE and SNOWY AXGBE, and set the registers accordingly. This fixes DPDK not working on v1000 platform.

Signed-off-by: Arsalan H. Awan <Arsalan_Awan@mentor.com>
---
 drivers/net/axgbe/axgbe_ethdev.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/net/axgbe/axgbe_ethdev.c b/drivers/net/axgbe/axgbe_ethdev.c
index 7d40c18a86..7b1b46990f 100644
--- a/drivers/net/axgbe/axgbe_ethdev.c
+++ b/drivers/net/axgbe/axgbe_ethdev.c
@@ -170,7 +170,7 @@ static const struct axgbe_xstats axgbe_xstats_strings[] = {

 /* The set of PCI devices this driver supports */
 #define AMD_PCI_VENDOR_ID       0x1022
-#define AMD_PCI_RV_ROOT_COMPLEX_ID     0x15d0
+#define AMD_PCI_RV_INTERNAL_PCIE_GPP_BRIDGE_ID 0x15db
 #define AMD_PCI_AXGBE_DEVICE_V2A 0x1458  #define AMD_PCI_AXGBE_DEVICE_V2B 0x1459

@@ -2178,9 +2178,9 @@ eth_axgbe_dev_init(struct rte_eth_dev *eth_dev)
        pdata->pci_dev = pci_dev;

        /*
-        * Use root complex device ID to differentiate RV AXGBE vs SNOWY AXGBE
+        * Use Raven Internal PCIe GPP Bridge device ID to differentiate 
+RV AXGBE vs SNOWY AXGBE
         */
-       if (pci_search_device(AMD_PCI_RV_ROOT_COMPLEX_ID)) {
+       if (pci_search_device(AMD_PCI_RV_INTERNAL_PCIE_GPP_BRIDGE_ID)) {
                pdata->xpcs_window_def_reg = PCS_V2_RV_WINDOW_DEF;
                pdata->xpcs_window_sel_reg = PCS_V2_RV_WINDOW_SELECT;
        } else {
--
2.17.1

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

end of thread, other threads:[~2021-12-02  5:52 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-11-10 11:45 [dpdk-dev] [PATCH] net/axgbe: fix PCI ID to distinguish v1000 vs e3000 Arsalan H. Awan
2021-11-12 14:48 ` Namburu, Chandu-babu
2021-11-15 10:15   ` Awan, Arsalan
2021-11-25  8:11     ` Awan, Arsalan
2021-11-25  8:23       ` Namburu, Chandu-babu
2021-11-25  9:06         ` Awan, Arsalan
2021-11-26 10:35           ` Namburu, Chandu-babu
2021-12-01  8:48             ` Awan, Arsalan
2021-12-02  5:52               ` Namburu, Chandu-babu

DPDK patches and discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://inbox.dpdk.org/dev/0 dev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 dev dev/ http://inbox.dpdk.org/dev \
		dev@dpdk.org
	public-inbox-index dev

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.dev


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git