DPDK patches and discussions
 help / color / mirror / Atom feed
From: "Awan, Arsalan" <Arsalan_Awan@mentor.com>
To: "Namburu, Chandu-babu" <chandu@amd.com>, "dev@dpdk.org" <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
Date: Thu, 25 Nov 2021 09:06:41 +0000	[thread overview]
Message-ID: <1637831201071.84716@mentor.com> (raw)
In-Reply-To: <DM4PR12MB53449EB9CE9EA70F229E71ACC8629@DM4PR12MB5344.namprd12.prod.outlook.com>

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


  reply	other threads:[~2021-11-25  9:06 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-10 11:45 [dpdk-dev] " 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 [this message]
2021-11-26 10:35           ` Namburu, Chandu-babu
2021-12-01  8:48             ` Awan, Arsalan
2021-12-02  5:52               ` Namburu, Chandu-babu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1637831201071.84716@mentor.com \
    --to=arsalan_awan@mentor.com \
    --cc=Amaranath.Somalapuram@amd.com \
    --cc=Maheshwaramurthy.Giriyapura@amd.com \
    --cc=Selwin.Sebastian@amd.com \
    --cc=chandu@amd.com \
    --cc=dev@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).