{"id":2215521,"url":"http://patchwork.ozlabs.org/api/patches/2215521/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-pci/patch/20260324190755.1094879-2-mmaddireddy@nvidia.com/","project":{"id":28,"url":"http://patchwork.ozlabs.org/api/projects/28/?format=json","name":"Linux PCI development","link_name":"linux-pci","list_id":"linux-pci.vger.kernel.org","list_email":"linux-pci@vger.kernel.org","web_url":null,"scm_url":null,"webscm_url":null,"list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<20260324190755.1094879-2-mmaddireddy@nvidia.com>","list_archive_url":null,"date":"2026-03-24T19:07:42","name":"[v8,01/14] PCI: tegra194: Fix polling delay for L2 state","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"ffc2e0ccfeb1bae9b3afa2613fcdacfe44bf6b4b","submitter":{"id":72399,"url":"http://patchwork.ozlabs.org/api/people/72399/?format=json","name":"Manikanta Maddireddy","email":"mmaddireddy@nvidia.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/linux-pci/patch/20260324190755.1094879-2-mmaddireddy@nvidia.com/mbox/","series":[{"id":497331,"url":"http://patchwork.ozlabs.org/api/series/497331/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-pci/list/?series=497331","date":"2026-03-24T19:07:42","name":"Fixes to pcie-tegra194 driver","version":8,"mbox":"http://patchwork.ozlabs.org/series/497331/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2215521/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2215521/checks/","tags":{},"related":[],"headers":{"Return-Path":"\n <linux-pci+bounces-50950-incoming=patchwork.ozlabs.org@vger.kernel.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linux-pci@vger.kernel.org"],"Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=Nvidia.com header.i=@Nvidia.com header.a=rsa-sha256\n header.s=selector2 header.b=DeW+VwBg;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=172.105.105.114; helo=tor.lore.kernel.org;\n envelope-from=linux-pci+bounces-50950-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)","smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com\n header.b=\"DeW+VwBg\"","smtp.subspace.kernel.org;\n arc=fail smtp.client-ip=52.101.57.62","smtp.subspace.kernel.org;\n dmarc=pass (p=reject dis=none) header.from=nvidia.com","smtp.subspace.kernel.org;\n spf=fail smtp.mailfrom=nvidia.com"],"Received":["from tor.lore.kernel.org (tor.lore.kernel.org [172.105.105.114])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fgKMW62bbz1y1G\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 25 Mar 2026 06:08:55 +1100 (AEDT)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby tor.lore.kernel.org (Postfix) with ESMTP id E6FA730146BD\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 24 Mar 2026 19:08:49 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 9613B396D28;\n\tTue, 24 Mar 2026 19:08:49 +0000 (UTC)","from BN8PR05CU002.outbound.protection.outlook.com\n (mail-eastus2azon11011062.outbound.protection.outlook.com [52.101.57.62])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id 3C3C13A3805;\n\tTue, 24 Mar 2026 19:08:47 +0000 (UTC)","from BY3PR05CA0049.namprd05.prod.outlook.com (2603:10b6:a03:39b::24)\n by SA1PR12MB5616.namprd12.prod.outlook.com (2603:10b6:806:22a::11) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9745.20; Tue, 24 Mar\n 2026 19:08:41 +0000","from SJ5PEPF00000203.namprd05.prod.outlook.com\n (2603:10b6:a03:39b:cafe::d0) by BY3PR05CA0049.outlook.office365.com\n (2603:10b6:a03:39b::24) with Microsoft SMTP Server (version=TLS1_3,\n cipher=TLS_AES_256_GCM_SHA384) id 15.20.9723.31 via Frontend Transport; Tue,\n 24 Mar 2026 19:08:15 +0000","from mail.nvidia.com (216.228.117.161) by\n SJ5PEPF00000203.mail.protection.outlook.com (10.167.244.36) with Microsoft\n SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.20.9723.19 via Frontend Transport; Tue, 24 Mar 2026 19:08:41 +0000","from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com\n (10.129.200.67) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20; Tue, 24 Mar\n 2026 12:08:21 -0700","from mmaddireddy-ubuntu.nvidia.com (10.126.230.35) by\n rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server\n (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.2.2562.20; Tue, 24 Mar 2026 12:08:15 -0700"],"ARC-Seal":["i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1774379329; cv=fail;\n b=BPoJM2dpn+I0fN8N0BxVf1f8beedGvQtbaqFwHgk3RTKSBXHsKmc9FDMUS2SI2L53Ve9zPQc0RwLJK+hunE/FC++/tS1iTGC7yAnZRyYb3ECPXOc0/oYCatTzGnf9LOGamswMIr10/7JznlioPh38Oqlwv4K37gOeZ+AMtpqJag=","i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=C23VZFZRfVx9Mpp/UcL+52iyWTH+v1H/Bv9qdbsc6DeDjsamEkXYG0GjzSXMwYakDvXw/nLmqodDV+ytT1fLHVZukIqjXYWi1f7ieize64KN2qaU6f1fM+9+Ap6WD+1x3Vmc5J1z2jTsNqV8CAdQ5ucDXPDc1zDaO2KjFBYKhPPMKFRv6u+kuI3BSbewhzh5XrzW+w6tVWu8fJ5UHOd1bAb1iJLihsG15NLKKJbe4byp57aSOyCYr9x5OusxGMyOotMZv/+Vh2WRR5ePTjJlXprhzBs2DHNisnm0WKkNzmTqpREm5RmuScAlbGxvDVvZhnFUmZrjRK69Qhz4PbGAFg=="],"ARC-Message-Signature":["i=2; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1774379329; c=relaxed/simple;\n\tbh=0IvHflus+xzZVRUfw54gGL+ekSB1aS2ytOK/ihW7tLo=;\n\th=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References:\n\t MIME-Version:Content-Type;\n b=ipddmBrt+Qd2Wd6g42+C2UjjWsKSPRVfibp/71fy9gKWV7b7cGANrKT9SbfHGhUVsy743vpX2NB8o5JhQ6vUIHGhQc1oEMbgu89k4xjKnooedNxD/4Whg46hqLQMNKQAiVJvGwogXRduqMROfGr68sLL87wik/HIiyFHAxYHeTI=","i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector10001;\n 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;\n bh=NEX7P8bMTwQP3Opv/2iGc/ZjaWOFhF69nPKaNfpD9ic=;\n b=B7SpOeKoaWK3MLr2tXEBQN5KIe9AKn3mfHfgjlPpJNI9vvNOqFFgglr02shy6PMLV/Yacze+A9E7tyeBnkSFjYDaKRsEp7tXsEKKzBzZKWHepQdNdPC3w/I4Gqrh6J4nBwEsdbsFaKAh58mume3b/cWMs6NgXcIB7Jqku7kXASjVBmrSKYuBITDpEUyxwlvbKcCgedW6tt+GJPiGHLgl/a93R7Bs31/D6DGZCzcXEvCAwlYEFuXbIUX12pf4Ocr0EeX2aFBIUW6B+JCCBUYuoEzfWmPoFJpUIsH2qzeGx3PCTl1oTdI1ghb8sTp5ieTyO3bKhyK4Au6bptM4v29pCw=="],"ARC-Authentication-Results":["i=2; smtp.subspace.kernel.org;\n dmarc=pass (p=reject dis=none) header.from=nvidia.com;\n spf=fail smtp.mailfrom=nvidia.com;\n dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com\n header.b=DeW+VwBg; arc=fail smtp.client-ip=52.101.57.62","i=1; mx.microsoft.com 1; spf=pass (sender ip is\n 216.228.117.161) smtp.rcpttodomain=google.com smtp.mailfrom=nvidia.com;\n dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com;\n dkim=none (message not signed); arc=none (0)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com;\n s=selector2;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=NEX7P8bMTwQP3Opv/2iGc/ZjaWOFhF69nPKaNfpD9ic=;\n b=DeW+VwBgNO42tjqcWo1BjSZfmTLTdGg5H/FGtZgg9oeERAnFxEz7nOTZf8/nY21PW2If3UkW8Kl8e23vc3IuAOpHUWBsGNG6wmZd96JVe1Z3a/rC1PVomWmzIjjEPd/ce09EMG+pYfep4Zvw2bgquUKgMADV6DvX2p6qiuBuZTCAmiXSRUT5/D6v67IzFSwKcC/owssmzuz4PVIw8FrM7AooRl5942JMBvqP+ixU0y9FnIDdZWikh4eJqk/JGj094Qio3UAADJTnaWi6skzr6LWQu30lZI93tRl167f+WpTVv1E0zCNJT227yiVqX3DsVDdbOTkybi8rE1gpoCT7cw==","X-MS-Exchange-Authentication-Results":"spf=pass (sender IP is 216.228.117.161)\n smtp.mailfrom=nvidia.com; dkim=none (message not signed)\n header.d=none;dmarc=pass action=none header.from=nvidia.com;","Received-SPF":"Pass (protection.outlook.com: domain of nvidia.com designates\n 216.228.117.161 as permitted sender) receiver=protection.outlook.com;\n client-ip=216.228.117.161; helo=mail.nvidia.com; pr=C","From":"Manikanta Maddireddy <mmaddireddy@nvidia.com>","To":"<bhelgaas@google.com>, <lpieralisi@kernel.org>, <kwilczynski@kernel.org>,\n\t<mani@kernel.org>, <robh@kernel.org>, <krzk+dt@kernel.org>,\n\t<conor+dt@kernel.org>, <thierry.reding@gmail.com>, <jonathanh@nvidia.com>,\n\t<kishon@kernel.org>, <arnd@arndb.de>, <gregkh@linuxfoundation.org>,\n\t<Frank.Li@nxp.com>, <den@valinux.co.jp>, <hongxing.zhu@nxp.com>,\n\t<jingoohan1@gmail.com>, <vidyas@nvidia.com>, <cassel@kernel.org>,\n\t<18255117159@163.com>","CC":"<linux-pci@vger.kernel.org>, <linux-tegra@vger.kernel.org>,\n\t<linux-kernel@vger.kernel.org>, Manikanta Maddireddy <mmaddireddy@nvidia.com>","Subject":"[PATCH v8 01/14] PCI: tegra194: Fix polling delay for L2 state","Date":"Wed, 25 Mar 2026 00:37:42 +0530","Message-ID":"<20260324190755.1094879-2-mmaddireddy@nvidia.com>","X-Mailer":"git-send-email 2.34.1","In-Reply-To":"<20260324190755.1094879-1-mmaddireddy@nvidia.com>","References":"<20260324190755.1094879-1-mmaddireddy@nvidia.com>","Precedence":"bulk","X-Mailing-List":"linux-pci@vger.kernel.org","List-Id":"<linux-pci.vger.kernel.org>","List-Subscribe":"<mailto:linux-pci+subscribe@vger.kernel.org>","List-Unsubscribe":"<mailto:linux-pci+unsubscribe@vger.kernel.org>","MIME-Version":"1.0","X-NVConfidentiality":"public","Content-Transfer-Encoding":"8bit","Content-Type":"text/plain","X-ClientProxiedBy":"rnnvmail201.nvidia.com (10.129.68.8) To\n rnnvmail201.nvidia.com (10.129.68.8)","X-EOPAttributedMessage":"0","X-MS-PublicTrafficType":"Email","X-MS-TrafficTypeDiagnostic":"SJ5PEPF00000203:EE_|SA1PR12MB5616:EE_","X-MS-Office365-Filtering-Correlation-Id":"4282516a-f3c9-4513-83ac-08de89d8c331","X-MS-Exchange-SenderADCheck":"1","X-MS-Exchange-AntiSpam-Relay":"0","X-Microsoft-Antispam":"\n\tBCL:0;ARA:13230040|7416014|1800799024|82310400026|376014|36860700016|921020|22082099003|56012099003|18002099003;","X-Microsoft-Antispam-Message-Info":"\n\t4otOCOQiUaAc/kuVjbEhjjfwXGAztJadXURNadSsJhix6+4lTUTWSl38oqlEAzdTv0zTubb/aHcJWmjXm262RqZh+IoTkL60rjD5mIzi3+Eh45PBEv9PdzAoIlIQ1OSx2dmzM3a0tB7RsYdU+tQJX8O/295PGzImNGDpAtLEMdl/Sc7HB1AofJTw0AHuijBYQGXbk8PaONudH4G2CxmDKXkv584PKNGgfu782SXi+mdjXpSF7T1J5jhDlaWVZfJkJc3UW1ca56i11Knm5U34k4ZEtGrJnG1ZspLf3iUfTO4i5UYBehC626wUn/V5AapbgC+103dtATKj3pKfRVtckOE9U2EFHd4/7PnzAtG0nhvY1QI8NPc4SxJQ/EjH3QiUyTBp/MQQrlMRMMz4JF5RSFof9TY8Yhd4mEH1BhIeiAsqsmxkoO9gA9S7m/KoHdP7M/qWMpLerSzVqXm2dBp1T2CzjsSuba3CYjDHRc4IfH6sNVx1z0RgwSHlhoe+87nv2li6XsLGH1evTgJ1BCgMS7d+OkLlOS/oFLMT+OJsJDmRIGpulbCu3ZRNh4N8e5705xxk9X0o24J3y2RdKToOOu+N9v1QG8AOP97XAhXi3aKcyB8FK85bOb6zfkUr8vIaiigeR2hHp3mKxDhS5P/TB9X2YKm4ftRb6ocAKS4IdGgabq4eqGpAhgBo4qWnYLQ/1Yu7BOuCNhOufIIKzE3lNKrpFGxs/ZgFFs2nGTTAmVT9LAC2MMMT4vaZG05SrXQ2JbFNFmOakF0MiJ/TWON0WNd+eWwSIESj8IIk0JvQbcy5usgDHb/1GKB52y4r6guc","X-Forefront-Antispam-Report":"\n\tCIP:216.228.117.161;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc6edge2.nvidia.com;CAT:NONE;SFS:(13230040)(7416014)(1800799024)(82310400026)(376014)(36860700016)(921020)(22082099003)(56012099003)(18002099003);DIR:OUT;SFP:1101;","X-MS-Exchange-AntiSpam-MessageData-ChunkCount":"1","X-MS-Exchange-AntiSpam-MessageData-0":"\n\t/Apvqvv6aU5cNi13V5Qyu4n3w70oatXylXK2foZzXpb/plpY815SGwtN24I3fpvjmsrZeWmJj7ll52usdqkHENkW01qBVW2NZBIXQVMJya/d8xq2wisYrXFnC5QSs85fisplQw1KR6QRuBGqgMUDWDjsTszwKZELwu5ddEKu7ROlh/AsBBhwI8VU0nPPMpZDOUS/N7f+GdmfkNm7IKS8EsGD2ywi2aCXPN/Ck1fT7T2ZxckX8pApgj+vhsx8RHdHt2f97keDDi7MLxeMyxq6nDGYRVzI7ZfmnE+MVcWxPUaiWUfdd3c0DcI49heags27fM6LyWi8Cdn2J0AxK/DfkYzKhHQsgo5eTO/qgzghvi8dN3eANAJ8KyUJOUWkG4pvaHssUo2II9nkHSROYmGQ2CWFhwhCO522u4pgmhQFjyhNXCPBL4ViYi5q4qrY5TQN","X-OriginatorOrg":"Nvidia.com","X-MS-Exchange-CrossTenant-OriginalArrivalTime":"24 Mar 2026 19:08:41.3585\n (UTC)","X-MS-Exchange-CrossTenant-Network-Message-Id":"\n 4282516a-f3c9-4513-83ac-08de89d8c331","X-MS-Exchange-CrossTenant-Id":"43083d15-7273-40c1-b7db-39efd9ccc17a","X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp":"\n TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.117.161];Helo=[mail.nvidia.com]","X-MS-Exchange-CrossTenant-AuthSource":"\n\tSJ5PEPF00000203.namprd05.prod.outlook.com","X-MS-Exchange-CrossTenant-AuthAs":"Anonymous","X-MS-Exchange-CrossTenant-FromEntityHeader":"HybridOnPrem","X-MS-Exchange-Transport-CrossTenantHeadersStamped":"SA1PR12MB5616"},"content":"From: Vidya Sagar <vidyas@nvidia.com>\n\nAs per PCIe spec r7.0, sec 5.3.3.2.1, after sending PME_Turn_Off message,\nRoot Port should wait for 1~10 msec for PME_TO_Ack message. Currently,\ndriver is polling for 10 msec with 1 usec delay which is aggressive.\nUse existing macro PCIE_PME_TO_L2_TIMEOUT_US to poll for 10 msec with\n1 msec delay. Since this function is used in non-atomic context only,\nuse non-atomic poll function.\n\nFixes: 56e15a238d92 (\"PCI: tegra: Add Tegra194 PCIe support\")\nReviewed-by: Jon Hunter <jonathanh@nvidia.com>\nTested-by: Jon Hunter <jonathanh@nvidia.com>\nSigned-off-by: Vidya Sagar <vidyas@nvidia.com>\nSigned-off-by: Manikanta Maddireddy <mmaddireddy@nvidia.com>\n---\nChanges V8: None\nChanges V6 -> V7: Use PCIE_PME_TO_L2_TIMEOUT_US instead PME_ACK_TIMEOUT\nChanges V1 -> V6: None\n\n drivers/pci/controller/dwc/pcie-tegra194.c | 9 ++++-----\n 1 file changed, 4 insertions(+), 5 deletions(-)","diff":"diff --git a/drivers/pci/controller/dwc/pcie-tegra194.c b/drivers/pci/controller/dwc/pcie-tegra194.c\nindex 0ddeef70726d..d6c6bd512b51 100644\n--- a/drivers/pci/controller/dwc/pcie-tegra194.c\n+++ b/drivers/pci/controller/dwc/pcie-tegra194.c\n@@ -198,8 +198,6 @@\n #define CAP_SPCIE_CAP_OFF_USP_TX_PRESET0_MASK\tGENMASK(11, 8)\n #define CAP_SPCIE_CAP_OFF_USP_TX_PRESET0_SHIFT\t8\n \n-#define PME_ACK_TIMEOUT 10000\n-\n #define LTSSM_TIMEOUT 50000\t/* 50ms */\n \n #define GEN3_GEN4_EQ_PRESET_INIT\t5\n@@ -1553,9 +1551,10 @@ static int tegra_pcie_try_link_l2(struct tegra_pcie_dw *pcie)\n \tval |= APPL_PM_XMT_TURNOFF_STATE;\n \tappl_writel(pcie, val, APPL_RADM_STATUS);\n \n-\treturn readl_poll_timeout_atomic(pcie->appl_base + APPL_DEBUG, val,\n-\t\t\t\t val & APPL_DEBUG_PM_LINKST_IN_L2_LAT,\n-\t\t\t\t 1, PME_ACK_TIMEOUT);\n+\treturn readl_poll_timeout(pcie->appl_base + APPL_DEBUG, val,\n+\t\t\t\t  val & APPL_DEBUG_PM_LINKST_IN_L2_LAT,\n+\t\t\t\t  PCIE_PME_TO_L2_TIMEOUT_US/10,\n+\t\t\t\t  PCIE_PME_TO_L2_TIMEOUT_US);\n }\n \n static void tegra_pcie_dw_pme_turnoff(struct tegra_pcie_dw *pcie)\n","prefixes":["v8","01/14"]}