From nobody Mon Jun 8 21:56:06 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A64A23E024D for ; Tue, 26 May 2026 11:32:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779795162; cv=none; b=gatQLaRFb/BQaVwx2RJDgaJljWnySxitSTK/MTihv88DKhu6iN1oVUmBIKgZ5wX9PBd64P9+Xfh48K+2PcC9XSYq4C9ZX+cZeAdvdqaqQavKjXhjY9LOEjMIZ0ZBEUku3OXeO2QDhLbCge22A4NrLpUyFOPF79LJ36JshdZ+y+g= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779795162; c=relaxed/simple; bh=sL90+oFBg4fpOkodMm1L902AyGzLN79lb95zijStvqI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:Cc; b=B+fV3sBXfCrVAIChnhJUmAumLo4ZFzkDVzJ5/HZCj0mc5X3nyy3VZzDjezEW2/4fDJ3joBEnuArTwXza+gIuHZO977fLd6E5weV/ddiHiIdN4uRtxMo/uq3LL0yeH7IkKfmVtzB4L58LuteX+6vQfu/Wm17xds7TloaanM+UIrs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=QnbNzXE9; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=X7KwX2yv; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="QnbNzXE9"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="X7KwX2yv" Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 64QB8UW82145983 for ; Tue, 26 May 2026 11:32:41 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:message-id :mime-version:subject:to; s=qcppdkim1; bh=iFvWnFuFpHGA5DuREJpxWS +xk7m8VENTxMWCnWvwfNU=; b=QnbNzXE9kdKgQpF9OSuhkm/74VAUQO857B5NVC lUuHrkiIKlI8Q6y9iTHn1NNFewrwO+dl1gSiFvYdYjZqyVB3dLNixoMdh3t+07Mz d1kQDF/JVv2qxJzdpw8depaiTk+/BdbZrCdlDSKxuoJ9QNST4lRz9k5s4dNLG/bq ri6aBySBdINUjAB78YNSx/twx5krjjYW1yZJO/dPrumUbVAfdN7rVnLol1vPo0a2 SswUJp+dH5Ilurxiu2w+j7i5I0UqyXDT8ptVs7sYtD8oKFGIHYVTE8C42umOI2Gv uxsFCLfiVKOPAufIU0QPwX8ipz5On02rdmNGl5NhTWBI/VXw== Received: from mail-pl1-f199.google.com (mail-pl1-f199.google.com [209.85.214.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ecmbv4fkn-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 26 May 2026 11:32:40 +0000 (GMT) Received: by mail-pl1-f199.google.com with SMTP id d9443c01a7336-2b4530a90fdso39956275ad.1 for ; Tue, 26 May 2026 04:32:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1779795160; x=1780399960; darn=vger.kernel.org; h=cc:to:message-id:content-transfer-encoding:mime-version:subject :date:from:from:to:cc:subject:date:message-id:reply-to; bh=iFvWnFuFpHGA5DuREJpxWS+xk7m8VENTxMWCnWvwfNU=; b=X7KwX2yvhkFMZcSRV+IR7T2cSNJ6d58vrR3oZlnjJavQj1nt3QBpMgJYjC61+WDlzr vCHiwNHrHJ+OB7s4xFg19olJ4fJl4gZ1Sw+qazzKxd0vnM+3iAgFEu9PE1QjNo7KR6WE HmyLxEc3kQ42qDYnvLm7s92xdTrJLXFrBHUCmJbHYorL5fU2YKehEUUH8zRiHvm5dQll 6mZ7n9zR+Lg232FFUn6KwBJReTFWf7ekTQ1H8NpoqnDgNPu5fpN9wP0io1FxQLAvnYVO VVWMJbXG6BPSQVo2YRcG7UXx8uN+G1Rxs5Jd0/KS3xTDj3wxGNf94t07ES6+RzEewTro hvwA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779795160; x=1780399960; h=cc:to:message-id:content-transfer-encoding:mime-version:subject :date:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=iFvWnFuFpHGA5DuREJpxWS+xk7m8VENTxMWCnWvwfNU=; b=VyIl748FmNTJsvbLJ3q/z6aA9LYRR00lQdIgcckKir3/jLZJu68KKEqiPff1fn9zuV tgCXf5bfBqq/8Rdg3T6JQTkpv/VQR83c2YTRFwk6e8nGcdyu8ks2SMNEFlIL+KkXhy4c hBi3tJdr+8T1S61HEWft7PrpRW+2RhYLWH5c7XJdkMEmdpJKs53uHXzAyAIBEkzvcVP2 95M73KpakzBf4eEJsLZYIbqidPCaOD78jPTOxJuwBfk/Nz9D/LQu8+V7cOioU6dEh9dY w+BLpKvUMLs9mXeDZTNZfz3sokXFCK2lSiGhhgPjFAZRJyAKq9z7nZdhzR/V8njCUrU7 Qzpw== X-Forwarded-Encrypted: i=1; AFNElJ87d4JFcJAp6CyNHhWAVG5KmS7Hu8Ws9MocsQQK5wCJpxdxMAEQMjWg0LDtDWEPOl3ToBn7Kj1BTsAy1QY=@vger.kernel.org X-Gm-Message-State: AOJu0YyF3nNFNpQ4fceMLR/XlMIUgfaPjnADoHsju/DSK4pI4crEtoz2 HoHjPB3icPdybLVAvXBtXRAmoCsYaPz7DKklKxDS0PIx2PC0XhEeu2GjlsCvrdq8Kt0yI5ryYnC w8/FQKtQEMfqzBPe241s96iuiB3DBqF5hVvyA/a9v6yWa8S07cuo53GVf7Tz3OxdXmRkaF2FOxf o= X-Gm-Gg: Acq92OFHKIu/jYpYij2KlDSQT+U2S1svt5gy3W+Sz/d7xscNnUwBcKhUllUX0Pj/8iZ LJt4JBQjnGZweTXXV6blrlaMd9S/LMkbDtnMuGroU7ymlOnxsnuXpw72d2V2Ha7sOQ1fYENZdVx 8mvLgOJoh7rQjqxQ0z24Giejh6pCfc7QoTjVBz7pT75RAd+YsBASkuA58RpPz0t47fYE7UnCIgy QGampvNLDkqVJZfAdQh48lRU/PdELCh4R3qWYIc7gdbeWn/cOh72AEFAYqfVs0DS4/SCimbffax u41hDcf4Rg0cirP9H/xDRcatBH3P4bRrIP8YdA+Bc+FEO4Yuo6dwhkhpjef/RfRH5BrGS3EKzN7 dGxMMiupRU114GKJZ8w/Lnu7JetW4+lqPGtvItPcrn+jyJkXadUeEc2pPWkMjXzv7TyIMakxZFe +HXoMcSqAbIgytLX9uiatlSRL2IJUnDA2rqYjxUbiOfaa+QnO/nvjzvSxB X-Received: by 2002:a17:903:24f:b0:2ba:4e84:966 with SMTP id d9443c01a7336-2beb06dc34dmr208466875ad.36.1779795160194; Tue, 26 May 2026 04:32:40 -0700 (PDT) X-Received: by 2002:a17:903:24f:b0:2ba:4e84:966 with SMTP id d9443c01a7336-2beb06dc34dmr208466435ad.36.1779795159593; Tue, 26 May 2026 04:32:39 -0700 (PDT) Received: from hu-kathirav-blr.qualcomm.com (blr-bdr-fw-01_GlobalNAT_AllZones-Outside.qualcomm.com. [103.229.18.19]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2beb58b386esm128432695ad.44.2026.05.26.04.32.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 May 2026 04:32:39 -0700 (PDT) From: Kathiravan Thirumoorthy Date: Tue, 26 May 2026 17:02:30 +0530 Subject: [PATCH] PCI: qcom: avoid duplicate PERST# GPIO acquisition in legacy path Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260526-fix_perst_gpio_handling-v1-1-9170507bb4e9@oss.qualcomm.com> X-B4-Tracking: v=1; b=H4sIAM2EFWoC/yWMUQrCMBAFr1L220BdjKhXEQm1eYkrkoZsFaH07 q76OTAzCymaQOnULdTwEpWpGGw3HY23oWQ4icbEPe97z94leYeKpnPIVaZgTnxIyc4PuwQcmQ8 pktW1wdTf+Xz5sz6vd4zzd0fr+gGaaopKewAAAA== X-Change-ID: 20260525-fix_perst_gpio_handling-5a4fee9228fd To: Manivannan Sadhasivam , Lorenzo Pieralisi , =?utf-8?q?Krzysztof_Wilczy=C5=84ski?= , Rob Herring , Bjorn Helgaas , Konrad Dybcio , Qiang Yu Cc: linux-pci@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, Kathiravan Thirumoorthy X-Mailer: b4 0.15.2 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTI2MDEwMCBTYWx0ZWRfX3Q4ixGqBnPBZ DhRpNkHSmdBlAW1xJaC7OVQPccA+d6yBiVQyUYziQIIxYF9iYCovVvAi5effQynwNVmYYWwld3a 9eKXsTJxbZI46ugywpfKBUEBKci3J7LVBXak1TbmKmYorDHwNdPUzWMWWiZIr2dtqMtoCW59yCk FWxONfM4gbmSvih9sacWBT22tjkJzKrHZsRcaZfsRVQRNYkO6zwxW6HBpWI6Z4dHqOYtFBX7ZV+ 9vMxLnA28X/BgAXHEUwxMmlUz1gHgwhlU8I1KvK5QU5pD61E6VmaUFBgKWjvSqIv/UsMzZtZ8kF mYUYRgjuqfPDKEIkGWsE3aZ67Lsf0/TFuCqszKO85zFg5Ri1D89vJmo26UOJQ/WHT9CVtDUKksj ADbfKKj9wsomoo+C5inrTCtAEdtvACLzceQHay3P60buk1qyEJF8cPTZTfWKRyPszjin6qE82Qn B079PTdjMB7PTDaJU7Q== X-Proofpoint-GUID: Y775tPLEcdIKpin8vE7BXbAVTI3WGDMf X-Proofpoint-ORIG-GUID: Y775tPLEcdIKpin8vE7BXbAVTI3WGDMf X-Authority-Analysis: v=2.4 cv=XqTK/1F9 c=1 sm=1 tr=0 ts=6a1584d8 cx=c_pps a=JL+w9abYAAE89/QcEU+0QA==:117 a=Ou0eQOY4+eZoSc0qltEV5Q==:17 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=YMgV9FUhrdKAYTUUvYB2:22 a=EUspDBNiAAAA:8 a=mtmqCDNuwk6juwfAGToA:9 a=QEXdDO2ut3YA:10 a=324X-CrmTo6CU4MGRt3R:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-05-26_02,2026-05-26_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 phishscore=0 priorityscore=1501 lowpriorityscore=0 suspectscore=0 spamscore=0 adultscore=0 clxscore=1015 bulkscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605260100 Commit deed8aec62dc ("PCI: qcom: Handle mixed PERST#/PHY DT configuration") handles the case where the PHY is moved to the Root Port node while PERST# remains in the RC node by acquiring the PERST# GPIO during Root Port parsing. However, on platforms such as IPQ5424, both PERST# and PHY are described under the RC node and are intended to be handled via the legacy binding path. Since PERST# is already acquired during Root Port parsing, attempting to acquire it again in the legacy path fails, resulting in probe failures as shown below: [ 1.571859] qcom-pcie 18000000.pcie: probe with driver qcom-pcie failed = with error -16 [ 1.571909] qcom-pcie 10000000.pcie: probe with driver qcom-pcie failed = with error -16 [ 1.571973] qcom-pcie 20000000.pcie: probe with driver qcom-pcie failed = with error -16 Fix this by removing the redundant GPIO acquisition from qcom_pcie_parse_legacy_binding() and reusing the PERST# descriptor obtained in qcom_pcie_parse_ports(). While at it, move the warning message to qcom_pcie_parse_perst() to avoid polluting dmesg when the legacy binding is used. Fixes: deed8aec62dc ("PCI: qcom: Handle mixed PERST#/PHY DT configuration") Signed-off-by: Kathiravan Thirumoorthy --- drivers/pci/controller/dwc/pcie-qcom.c | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/drivers/pci/controller/dwc/pcie-qcom.c b/drivers/pci/controlle= r/dwc/pcie-qcom.c index 11fc60489892..77cbd204ac5c 100644 --- a/drivers/pci/controller/dwc/pcie-qcom.c +++ b/drivers/pci/controller/dwc/pcie-qcom.c @@ -1824,6 +1824,7 @@ static int qcom_pcie_parse_perst(struct qcom_pcie *pc= ie, int ret; =20 if (pcie->reset) { + dev_warn(dev, "Reusing PERST# from Root Complex node. DT needs to be fix= ed!\n"); reset =3D pcie->reset; goto skip_perst_parsing; } @@ -1912,8 +1913,6 @@ static int qcom_pcie_parse_ports(struct qcom_pcie *pc= ie) GPIOD_OUT_HIGH); if (IS_ERR(pcie->reset)) return PTR_ERR(pcie->reset); - - dev_warn(dev, "Reusing PERST# from Root Complex node. DT needs to be fix= ed!\n"); } =20 for_each_available_child_of_node_scoped(dev->of_node, of_port) { @@ -1942,7 +1941,6 @@ static int qcom_pcie_parse_legacy_binding(struct qcom= _pcie *pcie) struct device *dev =3D pcie->pci->dev; struct qcom_pcie_perst *perst; struct qcom_pcie_port *port; - struct gpio_desc *reset; struct phy *phy; int ret; =20 @@ -1950,10 +1948,6 @@ static int qcom_pcie_parse_legacy_binding(struct qco= m_pcie *pcie) if (IS_ERR(phy)) return PTR_ERR(phy); =20 - reset =3D devm_gpiod_get_optional(dev, "perst", GPIOD_OUT_HIGH); - if (IS_ERR(reset)) - return PTR_ERR(reset); - ret =3D phy_init(phy); if (ret) return ret; @@ -1970,7 +1964,7 @@ static int qcom_pcie_parse_legacy_binding(struct qcom= _pcie *pcie) INIT_LIST_HEAD(&port->list); list_add_tail(&port->list, &pcie->ports); =20 - perst->desc =3D reset; + perst->desc =3D pcie->reset; INIT_LIST_HEAD(&port->perst); INIT_LIST_HEAD(&perst->list); list_add_tail(&perst->list, &port->perst); --- base-commit: d387b06f7c15b4639244ad66b4b0900c6a02b430 change-id: 20260525-fix_perst_gpio_handling-5a4fee9228fd Best regards, -- =20 Kathiravan Thirumoorthy