From mboxrd@z Thu Jan 1 00:00:00 1970 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 8CF963C3C01 for ; Thu, 19 Mar 2026 10:59: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=1773917982; cv=none; b=jAAYvBHnxa1er5AErni5XIkyPuYKDM9IQPEaQgB6JBxtozmHsdIFqHq4pHXtRB/0lvtclK2cJNQHCE1pl9VuJ1pZLCtTQWGX8SEBlo4oraCwjZogocEknt9x8dvwM9rK8PuZJnQjispzMF7AfDY8fCCAia5f7k3gzendecG13J4= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773917982; c=relaxed/simple; bh=pzszq0HkOw6sfYVi3tVEkP+MTEocAtB93KCgrcheo8w=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=PleOUMdGuiEWTuZnDVRKmcs4F9fkGUf0cnAfIPTxMXx3AJ7cRmqpGa5k1QAxQ6OV9Ob0RMi7CmhmnjeOTIRQ5jEmfpAlswH/ZA9Z/o/JVpAkcQsrL0U73XJALkH8qyC9iToST2Zu3OWPRe0nrwiujwFObs1hcYtFC6YEDNUdIaQ= 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=IsiYArv8; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=eEIKbcNs; 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="IsiYArv8"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="eEIKbcNs" 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 62J740Hv770562 for ; Thu, 19 Mar 2026 10:59:39 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= X/cavrXHuPLA85bpbOfu7XbzKNw0TWykcRtdU9+1QI0=; b=IsiYArv8Q5wCOWcn aNPzLyYKAYTH2FWy7LAWhYJCKCPLLXUUg0qBzUl1yrYCNs/QRcFn9Nhb1xB7CBdD KRry92ay+r6is7rb6gSO+XJj3Y2P+FqtD3H+9IumvnYKdRR64JznEMjjvko3Ycbw Q8rwt8BuKxqkyCs4GY46XdRczNQzg+fLpDj8pAE+hhwo8tQbJJ9yZHtTphkdfPQG tU94rbHXXHjm5xO6eXa9IwHu8U4qRfPBbPYhv5p0GpcaWJrM9JRlsDdLwG6+wMX1 Xba9rrMr0BNxoiyff7TpTBIlprb06A3G8vu4MClzUBSI2rxDIbhmB8piiKshcYuc GPRh3A== Received: from mail-qt1-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4d00egavw7-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 19 Mar 2026 10:59:39 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-5093245c2d4so2678361cf.0 for ; Thu, 19 Mar 2026 03:59:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1773917978; x=1774522778; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=X/cavrXHuPLA85bpbOfu7XbzKNw0TWykcRtdU9+1QI0=; b=eEIKbcNszULI/5Elzc6Z0dBPQlcSG7tekejxckm+02+VMk+jxyaZ+dPYxU6Ar6eRbP TCueVbHF/zkH8RZTkJTquC9NEl7Mlm/SkTqoxGyT+RaaCt1JuqmZ0Oa9VbaFYOB4Qh4d ghbgKEYRByy5trXZaf7lEp96y4USw8nZo9IpfWygsCHOrpyX/YUobWfJ3aLvrG9NXwf8 siyZ6TReY8JRualZc0irm2Yshpx9MVgvbF8ExVTm+WDgNX85BYU/wtknIZpDjJxNMgU5 3NCClbazwd4Q9TI02mQJcTvmh/8UHOma20rmBXp44zhxBU7RczWeBsqpeXbG+RbVIx+J tpEA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773917978; x=1774522778; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=X/cavrXHuPLA85bpbOfu7XbzKNw0TWykcRtdU9+1QI0=; b=W17VVjMmam0JXyXMdCnywg880t2s8+mDTdpPPIdd+bj2/b7JtIm8RgZ8Jg/CxRQ5ge 1cELiT66w3oAdcCCKs68Rm9MSGEZR55ZIeoQmoGdxFNvSOFCVeDdifKn/qug/T/o1dxa bLz43PNAKDmyfLlUU5n8QfS7gD7TR4hcgMgYGtKo41A9MdsVw9NNjBmJzJxQ0ChLUwNO eTYMYtPjWkABLml1LMPgE83cG3PcmoDn1FShBqTBnFt5gbYn+iGjocG0M/ZxcWytNFJy hCLe+IiLGZG/OKLcJA3FJ/smMcFx4PRuTIISA7w0koCHTfDpF9caP0V2g+nnLL20Colw cDcQ== X-Forwarded-Encrypted: i=1; AJvYcCVOflja0/XaMEodJYGq/RiN45SZtgNK29wwuJc0+7Gd7kP7YQNw0YSU9JbUvF1aBEmNEIDnGppnikAEr34=@vger.kernel.org X-Gm-Message-State: AOJu0YzXvqCAVtrWhQC+JkapeIIOY9V7SwI4lwqoLu/QtQLZFC9gNfuw I8XC3dbhoHUV7MFHr8zFCDV/jTqU8QjY+65u0w7yMfxqxrbvsJQUtJ+dwdxRu0JKNFCXCS+BFHy Lmc22Lo5aPtm0VG7JXSaphmt4q+NDr84s10dUJI9N72bLZwdnZDZu8eNDIlrBKQ3/RmY= X-Gm-Gg: ATEYQzwUOdHNSzeWdelFkzr6pL87hNkOx5tB0v5hLqPxQ3Ii5X0ybPTFG+0vuprVTTO Vs0+OGhS+FmAENSDxi2f/20GqFFK4rLcL2O4QIHcAbFubzshFYU2Sic1hcGq3qTqEPeVlNlMTHC OR1y24gpNGNMPcBEwNuf/hNRCjqKVXSU5xaySVRwTX3s3An25TsgKLWa8ltRs0byc0DgQX+AiGD K85/QicizcrtBbU5DyKWGYPHXnmTvUxxZyy//QVf4d1TaV0RPaHm4qDs139Q7VzGyS1nYZzs4iD 0Q7/DCLE9kt7hxnfIwdiqC8Ip+dwALYf/yWMw9w/Cm+JbgXo+2UCmjFTE0DIDKMzW0CkLANVA4q CTgr8iYHM+4hDGdrJzoBnJjINyHUxuvyDdwytNd6OsN4uc+SdloC7IHnFjoRMCyA06n3GvuikNO GHV+I= X-Received: by 2002:a05:622a:1899:b0:509:2a92:809f with SMTP id d75a77b69052e-50b1474847emr69797611cf.1.1773917978075; Thu, 19 Mar 2026 03:59:38 -0700 (PDT) X-Received: by 2002:a05:622a:1899:b0:509:2a92:809f with SMTP id d75a77b69052e-50b1474847emr69797441cf.1.1773917977651; Thu, 19 Mar 2026 03:59:37 -0700 (PDT) Received: from [192.168.119.254] (078088045245.garwolin.vectranet.pl. [78.88.45.245]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-667af38d891sm3516621a12.9.2026.03.19.03.59.35 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 19 Mar 2026 03:59:36 -0700 (PDT) Message-ID: Date: Thu, 19 Mar 2026 11:59:35 +0100 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] PCI: qcom: Advertise hotplug with no command completion support To: Krishna Chaitanya Chundru , Manivannan Sadhasivam Cc: Lorenzo Pieralisi , =?UTF-8?Q?Krzysztof_Wilczy=C5=84ski?= , Rob Herring , Bjorn Helgaas , linux-arm-msm@vger.kernel.org, linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org References: <20260314-hotplug-v1-1-96ac87d93867@oss.qualcomm.com> <015d00db-9ed5-45a7-83f8-1b10bc2ee457@oss.qualcomm.com> Content-Language: en-US From: Konrad Dybcio In-Reply-To: <015d00db-9ed5-45a7-83f8-1b10bc2ee457@oss.qualcomm.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Authority-Analysis: v=2.4 cv=MMNtWcZl c=1 sm=1 tr=0 ts=69bbd71b cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=FpWmc02/iXfjRdCD7H54yg==:17 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=YMgV9FUhrdKAYTUUvYB2:22 a=EUspDBNiAAAA:8 a=quftkqsqjel3xXnbUM8A:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 X-Proofpoint-ORIG-GUID: RuwHP6jhET3l3FA1y6a7kfH9JDbc4Bm9 X-Proofpoint-GUID: RuwHP6jhET3l3FA1y6a7kfH9JDbc4Bm9 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzE5MDA4NyBTYWx0ZWRfX/TjWbAQY52w1 NeSoPxwQSy2OCNeMOsd/7eC2kjX4bgsUQJ2JPJvn7NM+RrhSefDbGW0Pi4dcjl8ObI+yBNv/uko Evk40rYYoZXCm1VRLZQdQLW2y855wl34C8aAc1MVK4n7vV5a3YzxcQIDljFZyL/t7otfgXj7Zlr rW+B94ETfSxCfKNyLxLr8LRPp+VHd9Rp3KxSu/UbI3Nfpd6JWpF8KFZl8AKlfL3GeokDQRDwaLi VU8MSZWXYhKienbjSeqKSpd/s+AU+4FL3lcL56qr8A4HwmznTyL51VzmldM5p3aAnkgO4/5oxPP 24yozYcgse9A6WvVWuUO/krL/lz/Lla1VYMSmcINVTsXNRtH8Omf/pkCa3JTIWrq3apHiCu1PSE b45eEl/IDByEl6y3L7iXl345pSj0HX3bmwtIg2iGCqnVqe5m6R/ItSTxGLwZFTSwJClhFSjfGE/ mHHOrmQ4WysVX1TkFFw== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-19_01,2026-03-17_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 bulkscore=0 clxscore=1015 impostorscore=0 lowpriorityscore=0 malwarescore=0 adultscore=0 phishscore=0 priorityscore=1501 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2603190087 On 3/16/26 1:22 PM, Krishna Chaitanya Chundru wrote: > > > On 3/15/2026 3:39 PM, Manivannan Sadhasivam wrote: >> On Sat, Mar 14, 2026 at 07:26:34AM +0530, Krishna Chaitanya Chundru wrote: >>> QCOM PCIe controller advertise hotplug capability in hardware but do not >>> support hotplug command completion. As a result, the PCI core registers >>> the pciehp service and issues hotplug commands that never gets completions, >>> leading to repeated timeout warnings and multi-second delays during boot >>> and suspend/resume. >>> >>> Commit a54db86ddc153 ("PCI: qcom: Do not advertise hotplug capability for >>> IPs v2.7.0 and v1.9.0") avoided these timeouts by clearing the Hot-Plug >>> Capability bit entirely, which also disabled all hotplug functionality. >>> >> Just some background: I added commit a54db86ddc153 to disable hotplug for Qcom >> PCIe Root Ports since we were seeing completion timeouts for hotplug commands >> and also the PRSNT# signal was not exposed on any of our SoCs. After checking >> with some internal folks I learned that hotplug functionality was not exercised >> in Linux. So these facts made me believe that hotplug was not suppored at all. >> >> But it turned out that the Qcom Root Ports support "Data Link Layer State >> Changed Events" such as DL_Up/Down events. >> >>> Instead of disabling hotplug, mark these controllers as not supporting >>> command completion by setting the No Command Completed Support (NCCS) bit >>> in the Slot Capabilities register. This prevents the PCI hotplug driver >>> from waiting for commands completion while still allowing hotplug-related >>> functionality such as Data Link Layer state change events. >>> >>> Signed-off-by: Krishna Chaitanya Chundru >>> --- >>>   drivers/pci/controller/dwc/pcie-qcom.c | 2 +- >>>   1 file changed, 1 insertion(+), 1 deletion(-) >>> >>> diff --git a/drivers/pci/controller/dwc/pcie-qcom.c b/drivers/pci/controller/dwc/pcie-qcom.c >>> index 67a16af69ddc75fca1b123e70715e692a91a9135..a2924610f3625f2456a491473c135840e31bafb9 100644 >>> --- a/drivers/pci/controller/dwc/pcie-qcom.c >>> +++ b/drivers/pci/controller/dwc/pcie-qcom.c >>> @@ -358,7 +358,7 @@ static void qcom_pcie_clear_hpc(struct dw_pcie *pci) >>>       dw_pcie_dbi_ro_wr_en(pci); >>>         val = readl(pci->dbi_base + offset + PCI_EXP_SLTCAP); >>> -    val &= ~PCI_EXP_SLTCAP_HPC; >>> +    val |= PCI_EXP_SLTCAP_NCCS; >> Are you sure that this is the only non-supported capability? What about >> Attention, Presence, Power Fault, MRL etc...? > Even though there no signals required for attention, presence etc in the hardware > there is a way to generate these MSI's with these bits set through parf, so technically > so other co-processor in the system can trigger interrupts. Are you saying that the RC itself will not generate them based on what happens on the bus, but they can be triggered artificially? Konrad