* [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).