From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 114BCA034E for ; Mon, 17 Jan 2022 11:29:09 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id F034E411DB; Mon, 17 Jan 2022 11:29:08 +0100 (CET) Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2040.outbound.protection.outlook.com [40.107.237.40]) by mails.dpdk.org (Postfix) with ESMTP id C02B54067B; Mon, 17 Jan 2022 11:29:06 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=V+UiTQO6LJB/UMLIaseATrM8Jx4hMy+azRBXYdFUWloiLlRPaHBbmtQec19lKWkItX0rbczDN+oLQlqMxV3++fiXUWQ+NFeBUHXE3vf3AreyDiG8WvfRHr+qtJ4AwqD4074f4xbvy/eUUm1GPdudf+ktr+uQ9G4M4525qOZEffk2Fe5d30v5koUsY6g1UAMlUwVfEBiP9W4e/SRO51pdo8sFeTx6/pKuoEBhRwK2LZ40kWOPSP9pC+T7RDuo68btBAPhbUeQRFHlRMn8Sj1cJtd3ngF2fFiF+UBar3Dh+WxcyGhuG6xYwRowXOUizhFK80IPzGyZwZEEKeDrlfRGJQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=n4qNdKcb5E0mxMBMV8M6bmNDlz8WDC9VUHSepWoXOlE=; b=fdO9/eptsRQah+ZpeXH+7CiLY2hj24UkpxSLfWpDqXP0VfkOfnCftPLOYv2nnmSTS8lmaOffecmD0/hrNXJ0zRgi6PoP9Agq31zPwwxTL4eIY4DyRlhH8q8uKRabA9JbPZPuXgGSxVZDM/GBqjxQjVcdKB2ZN7/j18jTfes6zY0wc5l25SVklHFphLPzHWFuprVuzpxSs42QkoF6JgFcLmE0vQCIJoU56LqXf1vui+sDMStx2UOOHcIq9HSOzwTgbWSZZqEUfHlxoILgLC9YTIfwtAXlYR7BERPXLHUpvyX4+Eq5btaPZtJ2qD6296CAh9SavJnlVPRSNY5rnmcEEA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=n4qNdKcb5E0mxMBMV8M6bmNDlz8WDC9VUHSepWoXOlE=; b=x0izJZNq/WQLnJktuY2gotYSEyVBZNaL4kXr7TekAFklwtAKzIiJMNQVMghJm4isS+/yyogW+GcfnNSrV9uYHCYTgQdKzeNyoiaiWcCCPSkbfZZn89q/WK9O9o4xRfHwcqapaKpcRBI5uXvjaku+xMt1Eis9hjfxr9THvaaV5jQ= Received: from DM4PR12MB5055.namprd12.prod.outlook.com (2603:10b6:5:38a::5) by MW2PR12MB2540.namprd12.prod.outlook.com (2603:10b6:907:7::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.13; Mon, 17 Jan 2022 10:29:02 +0000 Received: from DM4PR12MB5055.namprd12.prod.outlook.com ([fe80::48fc:e36b:cc35:a3e0]) by DM4PR12MB5055.namprd12.prod.outlook.com ([fe80::48fc:e36b:cc35:a3e0%5]) with mapi id 15.20.4888.014; Mon, 17 Jan 2022 10:29:01 +0000 From: "Sebastian, Selwin" To: "Namburu, Chandu-babu" , "dev@dpdk.org" , "david.marchand@redhat.com" , "ferruh.yigit@intel.com" CC: "Arsalan_Awan@mentor.com" , "stable@dpdk.org" Subject: RE: [PATCH v2] net/axgbe: use PCI root complex device to distinguish AMD hardware Thread-Topic: [PATCH v2] net/axgbe: use PCI root complex device to distinguish AMD hardware Thread-Index: AQHX55c3uqHVHcc7dkC60l1luVPVyaw+XR4AgB2s/wCACu/EcIAAUNcw Date: Mon, 17 Jan 2022 10:29:01 +0000 Message-ID: References: <20211126102403.13223-1-chandu@amd.com> <20211202161034.519226-1-chandu@amd.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_d4243a53-6221-4f75-8154-e4b33a5707a1_Enabled=true; MSIP_Label_d4243a53-6221-4f75-8154-e4b33a5707a1_SetDate=2021-12-22T09:23:02Z; MSIP_Label_d4243a53-6221-4f75-8154-e4b33a5707a1_Method=Privileged; MSIP_Label_d4243a53-6221-4f75-8154-e4b33a5707a1_Name=Public-AIP 2.0; MSIP_Label_d4243a53-6221-4f75-8154-e4b33a5707a1_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d; MSIP_Label_d4243a53-6221-4f75-8154-e4b33a5707a1_ActionId=ab2a6fb5-a4a9-472b-8b26-ba52a3c4e30b; MSIP_Label_d4243a53-6221-4f75-8154-e4b33a5707a1_ContentBits=1 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: dc0884b3-a4b5-411e-fb3b-08d9d9a42e01 x-ms-traffictypediagnostic: MW2PR12MB2540:EE_ x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:1728; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: fq2eU00ErET9Bd74mHTM7A8TTXFcznMm3KfvXTZTL/MMOlzxUPNR/Iii3z4WK7+BcLrHGuv+ZUK9AY5UG5OrtplNt18oOm8RlbiM5/g0tZ2Fmu1iqBWZTJNhdIbLkClyCReLkQ5NimVbpO/IQjN22G5RPw7xSZx8oeRDDq64798gcyy8DOsG1oy/zcg9yVEPmfVxXYYnszQlvQOE9jMxpjpmc4bkAgTUpOZjR96n2Cz9W6Ji4AqWjCIPu9Qz5a0ZZVZU8AdRyWD6GyEFNxslHGSKBKeuF/I5y5hJaPxsx6zFlN/re+ooZGU7hlRltX85qoybLWjvUPiQ0zhyol+kL9KFCpAZQNGDrrHXlsA8mJq7wHdsubb0lpehksOJBzUKvmLczgzIU8eYWInn0NwxlEmnCAF64lUkEI0zhArwZ29MG+QY7L+aEEvazskDiznjubSk5eg7Mm/K3QxsBKlBZTR2klgNy2hy0vNESyhIqqPgLFkEBX42InU5Cc5WOEvr3ti1W61S1mSYJtM5hQv76NWYbRyXIr56KHbIzySEnhtATXN8KABRvyFkMDwdx6xn1SKOPMp75JSh9VIg62/FGCzgJpK7kZxos9h2kEZniDHSzqFlXTHn60Jk6K9Fd3lq+qyM3flqOCk1tsg63SkqgSI7YzwjtwC/0FtpNleFWKEvS+8Cj62x6lU6quHo1KqTiCbiuUfV87+Zfi2vNgIiRw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM4PR12MB5055.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(38100700002)(508600001)(64756008)(66446008)(8936002)(5660300002)(76116006)(54906003)(8676002)(2940100002)(38070700005)(52536014)(66946007)(66476007)(66556008)(316002)(33656002)(71200400001)(7696005)(110136005)(9686003)(6506007)(53546011)(86362001)(55016003)(122000001)(26005)(4326008)(83380400001)(2906002)(186003); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?TGsfV0il0h2PxFCcFMRcO94l5LjtHWxZczpI4q7Rd9W5pQDWKYTBIGXSDSij?= =?us-ascii?Q?+H0uCug+bJGoOQ3ux9k0JRHFzByXJQ3JFHQpPd5p2wummUppaLfWjr6fPC1d?= =?us-ascii?Q?zOfvi7mfyciIe0pJjidUoq0i1/suTK1T+AMI0aCzDQZzR9iwREZyvfD+hkcm?= =?us-ascii?Q?xS9VZgzCLEVR2XzJ1PrTBE6hMs2Q8O0uS/2B9Z8kNI8YBdwm8x0HNmRHVsDa?= =?us-ascii?Q?FGTQZ5rWbnMY2ukzs0yzSPfYJQvqAHStiEVPpfv2PTKW+oQKNLjw99pXOJTR?= =?us-ascii?Q?dLQ7MniOwg6IcXiCWB7FFIAHIg86x+Y9Fh9gFn9sFqVpf1xZzv8SSEtrKZ3D?= =?us-ascii?Q?IbNljXn6WiyIMMx0Xw+lrwfEvbYlGtxde7tIOyKLr1ljoVs6p29zyo293Uj7?= =?us-ascii?Q?/GlvcDSNDUoPsA193FUxuPiLtfCpRojsDFOBDMbyRUcotMlptjeE3zf38uOD?= =?us-ascii?Q?lapZsae+C/gu6bAKCW4HqPR6LxrkinP74/9Y0NHen4HOrWmfdPiuJ8TssqXa?= =?us-ascii?Q?VIwuy+45Q0QQdvt6SGgpkv3JoY0OVhl5qPJoHtAhkgyk6BW7HjrqmdcA/SWf?= =?us-ascii?Q?opYO5/W6zTGd7aSBIHNADrqifc2G1apaAO61F2E2Pg2y3K6yKQHUtk6k7HnR?= =?us-ascii?Q?zHkXwaaZJc7nnkNk/APOOhU0aq37NAI/vVjhNI97DXTZ92XeLG6uoeeq0f9t?= =?us-ascii?Q?QJsKEKDc6HBrxIC63u16zxR3/WQXdjH5LKg0NkxSoIcU1S+/fEZ9BmH9yvLL?= =?us-ascii?Q?Lsfkz9hVy+wqQfaIdtMcrhxSGTIKT6ZSXfOqTunR0t4VDk/Jq3nTnvrivvz/?= =?us-ascii?Q?K3kqLzGZCzpJPUTObfpO3wyvLaV/1sTazhLWIIK0sBL1GpFmLT/7Y5ZorIbf?= =?us-ascii?Q?laIIME9R8qIv+8m26E5LdnYwNyKY80sJhG8FdcXcYBc9V5J7G6ZAF1qrhAL4?= =?us-ascii?Q?7Zm9IHArE7MEL2W2inaFU39otvE/PXh/PtwH8V7uWuRqwLtOTzILjKzZYQgi?= =?us-ascii?Q?kbchPHw6UcO+Yfe1B/C/MAYDRybkB6z6TxPGTqqSL9XMFnJH4y47ORxkbzal?= =?us-ascii?Q?AsDUkEItrRm/B8lzECN9FVr/NoDuRxIcf1mZUk4hjOKAkSo8cPQv7MaAlCif?= =?us-ascii?Q?oczF2crxuzaeeBHWIm++uTa3RlgPX/+0O0zWElo6hw8Y5TQUNlEr+uteIQpC?= =?us-ascii?Q?F0BUf7ToxDrWPU1AZmFC622AG97thWXhjnjV1H78sUL8g47l2PcPJFBj5CZi?= =?us-ascii?Q?h8GTfiNroP6fTgteYugkG0sYxxE7Le+EvLkF/E9soQflyn8eBCZw32fse5Uk?= =?us-ascii?Q?YmhGnOJHJ1xGpAKzNdl2Lh8OKr3J310XBnXLLEvWQEboxB56lRc1edmQroyI?= =?us-ascii?Q?VO8k8FNGpU+tn1wQqc2o+E9hKinAO2X5j/ctJPha1F6KyPsYxG4j+HRRoD+b?= =?us-ascii?Q?oNo+3j+rTt5ld2mUx2JGuwgNJwya1ukZZDFjmue+8zQ+VgNsm4c0TA2U09Ss?= =?us-ascii?Q?78DymyXgWuje/aEvySdGb4SJIRSIlb7TEYV0/M3HTWMhOLqB1LK2xEz9PDzf?= =?us-ascii?Q?OinILXsxkTLfuj4JaMYmTeZiR7ez/AcrVGLTOrLwoNy+m6j9i33QiGjCwiL6?= =?us-ascii?Q?5TY6yIcUfs8GWadPPwGoCeU=3D?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM4PR12MB5055.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: dc0884b3-a4b5-411e-fb3b-08d9d9a42e01 X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Jan 2022 10:29:01.8912 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: ISB8cVxWBdJu+le/yWQhsxr+nwsKa1Bj5ua7TQr7o4BJcWJ8Ofs1WIfxZCCSNdOKG0DYaJACaE8U8gz44eNFCw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW2PR12MB2540 X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Acked-by: Selwin Sebastian -----Original Message----- From: Namburu, Chandu-babu Sent: Monday, January 10, 2022 12:08 PM To: dev@dpdk.org; david.marchand@redhat.com; ferruh.yigit@intel.com Cc: Sebastian, Selwin ; Arsalan_Awan@mentor.com; = stable@dpdk.org Subject: RE: [PATCH v2] net/axgbe: use PCI root complex device to distingui= sh AMD hardware [Public] Hi, Gentle reminder. This is patch is required to submit changes for new AMD products. Please re= view and let us know if any modification are required. Regards, Chandu -----Original Message----- From: Namburu, Chandu-babu Sent: Wednesday, December 22, 2021 2:58 PM To: dev@dpdk.org; david.marchand@redhat.com; ferruh.yigit@intel.com Cc: Sebastian, Selwin ; Arsalan_Awan@mentor.com; = stable@dpdk.org Subject: RE: [PATCH v2] net/axgbe: use PCI root complex device to distingui= sh AMD hardware [Public] Hi David Marchand, I have submitted v2 patch with your suggestion in git log. Please review ch= anges. Regards, Chandu -----Original Message----- From: Namburu, Chandu-babu Sent: Thursday, December 2, 2021 9:41 PM To: dev@dpdk.org; david.marchand@redhat.com Cc: Sebastian, Selwin ; Arsalan_Awan@mentor.com; = ferruh.yigit@intel.com; Namburu, Chandu-babu ; stable@dpdk.= org Subject: [PATCH v2] net/axgbe: use PCI root complex device to distinguish A= MD hardware "bus/pci: optimize bus scan" broke axgbe on V1000/R1000. RV root complex pci device does not have any kernel driver assigned so it i= s removed from pci scan list which is used in "net/axgbe: add a HW quirk for register definitions". Get root complex device id directly from pci sysfs instead of pci scan list= . Fixes: 991e0b1dbc4a (net/axgbe: add a HW quirk for register definitions) Cc: stable@dpdk.org Signed-off-by: Chandubabu Namburu --- drivers/net/axgbe/axgbe_ethdev.c | 39 ++++++++++++++++---------------- 1 file changed, 20 insertions(+), 19 deletions(-) diff --git a/drivers/net/axgbe/axgbe_ethdev.c b/drivers/net/axgbe/axgbe_eth= dev.c index 7d40c18a86..7b8d94ca3c 100644 --- a/drivers/net/axgbe/axgbe_ethdev.c +++ b/drivers/net/axgbe/axgbe_ethdev.c @@ -10,6 +10,8 @@ #include "axgbe_regs.h" #include "rte_time.h" =20 +#include "eal_filesystem.h" + static int eth_axgbe_dev_init(struct rte_eth_dev *eth_dev); static int a= xgbe_dev_configure(struct rte_eth_dev *dev); static int axgbe_dev_start(s= truct rte_eth_dev *dev); @@ -2117,28 +2119,27 @@ static void axgbe_default_= config(struct axgbe_port *pdata) pdata->power_down =3D 0; } =20 -static int -pci_device_cmp(const struct rte_device *dev, const void *_pci_id) +/* + * Return PCI root complex device id on success else 0 */ static=20 +uint16_t +get_pci_rc_devid(void) { - const struct rte_pci_device *pdev =3D RTE_DEV_TO_PCI_CONST(dev); - const struct rte_pci_id *pcid =3D _pci_id; + char pci_sysfs[PATH_MAX]; + const struct rte_pci_addr pci_rc_addr =3D {0, 0, 0, 0}; + unsigned long device_id; =20 - if (pdev->id.vendor_id =3D=3D AMD_PCI_VENDOR_ID && - pdev->id.device_id =3D=3D pcid->device_id) - return 0; - return 1; -} + snprintf(pci_sysfs, sizeof(pci_sysfs), "%s/" PCI_PRI_FMT "/device", + rte_pci_get_sysfs_path(), pci_rc_addr.domain, + pci_rc_addr.bus, pci_rc_addr.devid, pci_rc_addr.function); =20 -static bool -pci_search_device(int device_id) -{ - struct rte_bus *pci_bus; - struct rte_pci_id dev_id; + /* get device id */ + if (eal_parse_sysfs_value(pci_sysfs, &device_id) < 0) { + PMD_INIT_LOG(ERR, "Error in reading PCI sysfs\n"); + return 0; + } =20 - dev_id.device_id =3D device_id; - pci_bus =3D rte_bus_find_by_name("pci"); - return (pci_bus !=3D NULL) && - (pci_bus->find_device(NULL, pci_device_cmp, &dev_id) !=3D NULL); + return (uint16_t)device_id; } =20 /* @@ -2180,7 +2181,7 @@ eth_axgbe_dev_init(struct rte_eth_dev *eth_dev) /* * Use root complex device ID to differentiate RV AXGBE vs SNOWY AXGBE */ - if (pci_search_device(AMD_PCI_RV_ROOT_COMPLEX_ID)) { + if ((get_pci_rc_devid()) =3D=3D AMD_PCI_RV_ROOT_COMPLEX_ID) { pdata->xpcs_window_def_reg =3D PCS_V2_RV_WINDOW_DEF; pdata->xpcs_window_sel_reg =3D PCS_V2_RV_WINDOW_SELECT; } else { -- 2.25.1