* [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&data=04%7C01%7Cchandu%40amd.com%7C6355ab7462c44e390bcc08d9b4a75e16%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637739453199074315%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=I9m0teM9abhf21%2BHn90dJCLNKS28D%2BY%2BCya%2FADdS5nI%3D&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
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).