From nobody Fri Apr 17 06:18:29 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.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 7648635DD1C for ; Mon, 23 Feb 2026 11:20:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771845649; cv=none; b=OCu6vQPJgdLTvAX2f5a0uhjggHpQi9WbG4sOrJyI710vlX3hIkC9qFO1+kv46+WBegVpOcVHhm9JfsmXAXy/Qu9YkGE57a6pTOh+mqXRQl1rVuMelXl9pBv65Gw0Q16+m314poxkWHGxNu3Az3pfnIuNMYMLequkaeejrH7qD6A= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771845649; c=relaxed/simple; bh=aUnWFihU3Y3aaf4I60mFWgmBMoso3itjJCRkw9uXtOI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=JlNtpPEXNSQrYtIPGGE+w7bcFYTQ1+2L6Jm8jpkxYs1MBFC2TcVTA9NSYeQspHzKX4d5GiKIU6oDPwocKi/jXh34KVvavYUai5fzXvw2t6QcazZIz4fNWwt3hhBDH/pyks1STlhmqUh+cCC9npdTQAa+8KZmIonryuFC8eMe6RY= 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=m+i+N5+7; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=J5UUzfD7; arc=none smtp.client-ip=205.220.180.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="m+i+N5+7"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="J5UUzfD7" Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 61N8AVVZ1036553 for ; Mon, 23 Feb 2026 11:20:47 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= xyb6+L4tlMbV6pYUJLmd6awL6PVi9mww3PT0E/Ez/ec=; b=m+i+N5+7h3vYLA+G B7lx60TwPCoaWPCyZkfDR0P9ERdHSGEI4PMw2bIdfbh87FPhEYjAqPEwa+H+jfp4 y3KIciYSvaKximHf0uoeCYn5QsTxQ3tk8kKQjrh0LgWEDMf5v5Bw87QJc9QkJW0M jjyYOr2mIGquYjWK6VWftr6p8d0fPGVtDmNZEorfeQDRlbDGOZ+em9526oPI7eav XoDmmiHx56rHp9+xHvUCJ1US+MuAzhMg3O8MU4AvtR+lXfHlGn4ADuv9uTLUPB8L 8JAzxqxPqeqAEH/kdy2qid95UG4F1Yixkhy35NeL1myu2bYFYkNu6w/mSYngROiq +R7Dvw== Received: from mail-pf1-f197.google.com (mail-pf1-f197.google.com [209.85.210.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cf5u9vgpx-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 23 Feb 2026 11:20:47 +0000 (GMT) Received: by mail-pf1-f197.google.com with SMTP id d2e1a72fcca58-824a1d441e7so1655488b3a.0 for ; Mon, 23 Feb 2026 03:20:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1771845646; x=1772450446; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=xyb6+L4tlMbV6pYUJLmd6awL6PVi9mww3PT0E/Ez/ec=; b=J5UUzfD7Uhz9QGiTPK1RpcEpn9rQ++iMT5ZyUsgcm3w3XHAMr5gl26DiO3C8kMqSIv 4G14oTcfeSTboyJ284v/iKheXHEXFdLK+7LM8HPRkFiNhE/PwL9Y0wIEXQoV93fwa8Xp wZZE14ifEYB8vwKxHLfU6yDgAzGDtlGznfDC0t+8ZkHIng+C7feklO6iIE8j9TUXwGuF HVpuZylHOvmqXgY10nBcsC1+BqfFgcizWm/s2aKh6XV3/t0idHr99sFxIKubhPIJaPIY VB7IEGZYq7nWfD13LZKsggv6+FPoHF66xeibJtRwxXJZk6CMxCQ5EBwhNgURvwQzcucJ lrrQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771845646; x=1772450446; h=cc:to:in-reply-to:references: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=xyb6+L4tlMbV6pYUJLmd6awL6PVi9mww3PT0E/Ez/ec=; b=NYjNF4lC5VpL6vCc0AfrMywov8XDlnUaxh4Dg3e9uOtgKilYrT5AURRaE6kHoXYfZR RluIMSigNRAiuCT2WfVDEW3kAumtMXnRuevYKbGH9+5H/bJSBc5iUdR7LLuuDn/LuRMG zI7s9B43R06iRV4X+DdoPf7tzNxyMlpYnsnBVX/jSvdDklQ6IhHVG5lUxWunJv2hQI0w idSFGQEQmg+FAmhzPJtLOlW/qiaZwJ77TsCR5k4AjOsP5TC9tznYAUp2b01X0iUYHw6g 8x0Rkgpj1mfQpPgakzbl1+y1UljtBiRCrcUEazquhFtJv5GqQcO9GWlE1tqBWvEruhg3 l2zw== X-Forwarded-Encrypted: i=1; AJvYcCVV5sgx1AGAFbivGoifOvj+3YEYnWcQs2X1dhIIC04fDE4babzslTyJv20yvgrFq9EWjwh0/81S9iNvpdo=@vger.kernel.org X-Gm-Message-State: AOJu0YyuvCMlSNAKxb9yeiZGW0X2FRVapMskAq2wG8AKiTxqD14yvmv9 xxOJXPWqTu2ED2yj7YwYDRhBLI5EQqq/PIgPFa4hfyEGHb4O8uT0az3z9IjtNdqm0SQDwqaPd7u i0sjMvug2sYWeh32erxA6WHOfyTEeaLxh7D30nS9ChDoSYjOZW4uqkTewE2cVQlGHM9I= X-Gm-Gg: ATEYQzxNbhn7y03V2aYlz7denYLCOHYemqEshgeevmKheDk901ujsQktozzvj7JPOS4 Sr6n13C2MzSHYY46rB2M4k/ui7+NSXbDQbawYyCfG3q048RbFNVHA175ubFCZWLilVwtbIo8Owf 4m8XAexSH8H68TWwCPGVDiM9Ldvnu4nXtfcLQCMgHaJxOoV1ddGL8uDnTvv0CzOjT/RbnZK4rb3 JWjx6OAIbZb3bkKGICIg38LHNelbBFE2x0vOETC9TVPHSJZOBEiQBTa7bGe0w7FJl1ZXi9ZPxzk yEkvKTdwapFVSt74MS4k3CxgHZKxJlt1dHLKoQuB9bWqesLf5vx6EII5R6G1hoh9NZP2deNY6cb cY40jyBxJMtM1U2MW5TwgRKKt4YIA6nIlTxBVRz5XhzXO+9hUdaKLSotx X-Received: by 2002:a05:6a00:22c8:b0:81f:4346:6870 with SMTP id d2e1a72fcca58-826da912406mr7327136b3a.28.1771845646116; Mon, 23 Feb 2026 03:20:46 -0800 (PST) X-Received: by 2002:a05:6a00:22c8:b0:81f:4346:6870 with SMTP id d2e1a72fcca58-826da912406mr7327112b3a.28.1771845645586; Mon, 23 Feb 2026 03:20:45 -0800 (PST) Received: from hu-krichai-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-826dd899386sm6744057b3a.43.2026.02.23.03.20.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 23 Feb 2026 03:20:44 -0800 (PST) From: Krishna Chaitanya Chundru Date: Mon, 23 Feb 2026 16:43:30 +0530 Subject: [PATCH v2 1/3] PCI/ASPM: Add helper to encode L1SS T_POWER_ON fields 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: <20260223-t_power_on_fux-v2-1-20c921262709@oss.qualcomm.com> References: <20260223-t_power_on_fux-v2-0-20c921262709@oss.qualcomm.com> In-Reply-To: <20260223-t_power_on_fux-v2-0-20c921262709@oss.qualcomm.com> To: Manivannan Sadhasivam , Lorenzo Pieralisi , =?utf-8?q?Krzysztof_Wilczy=C5=84ski?= , Rob Herring , Bjorn Helgaas , Jingoo Han Cc: linux-pci@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, mayank.rana@oss.qualcomm.com, quic_vbadigan@quicinc.com, Krishna Chaitanya Chundru X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1771845636; l=3597; i=krishna.chundru@oss.qualcomm.com; s=20230907; h=from:subject:message-id; bh=aUnWFihU3Y3aaf4I60mFWgmBMoso3itjJCRkw9uXtOI=; b=2EOfI/bdhsjDYI3Gbxqc7xIt1wgjIgDQVQ/h4vS+GkKXHCa6G+Xe2zQPRnzHm2BSI64/OW7Xm WXzRJxCC54pAlvK3KtJQ/Q4uKJmk7yMLgtffJodpuWa9LBaFyf/5qfL X-Developer-Key: i=krishna.chundru@oss.qualcomm.com; a=ed25519; pk=10CL2pdAKFyzyOHbfSWHCD0X0my7CXxj8gJScmn1FAg= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMjIzMDA5NyBTYWx0ZWRfX0gSYhsF9E/tS J3JSQ4p+ikcZZ8VyWKnl8LvoZx1wevZf3spof+HbasFE7Oo+PU7SrQ5YqPO/1jm5Ir+eKjaXtCb 1KXOBZ4trsUCQ1z9SLU0yCPvLsKrbK5oQVxjT0W56A1Ki+4BizKgjZP5GpMFneVt8odfc1VQWCk bcBtTnIzcWRXUNPdeAaByeSmlEoIopwOANlHPes9x8V3QONW0SceR56YMD1QjM0Wi4xoQKCyM0S jA9grOWFx9PRv0qPq5VxH99UKTLTgFW7mkRx59VoWDujNz3idEV7yWOl7YZGUJwJYuFahAyo3TD YeQKLTc/g15JfMbKCjwiX+mN9Nxb6NDkJFrgtwipQXOfubf03kGQh756prTR6ofD/+bYG4gX0JR V+doULA8JRCG0DLhw+/dz3AEwnZQ7FHDXcIqgDwBoi/MDxKuCttAdYSlna5t3LSX0BLz5RzVFde aCbWYPt/uvh4ZGNMY8Q== X-Proofpoint-GUID: NsHKmjRhSap5nbY7r1s6tAp7ZDX46lVx X-Proofpoint-ORIG-GUID: NsHKmjRhSap5nbY7r1s6tAp7ZDX46lVx X-Authority-Analysis: v=2.4 cv=RpDI7SmK c=1 sm=1 tr=0 ts=699c380f cx=c_pps a=rEQLjTOiSrHUhVqRoksmgQ==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=IkcTkHD0fZMA:10 a=HzLeVaNsDn8A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=3WHJM1ZQz_JShphwDgj5:22 a=EUspDBNiAAAA:8 a=j3416i00YO8nPnzCGbIA:9 a=QEXdDO2ut3YA:10 a=2VI0MkxyNR6bbpdq8BZq:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-02-23_02,2026-02-20_04,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 adultscore=0 suspectscore=0 clxscore=1015 spamscore=0 bulkscore=0 impostorscore=0 phishscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2602230097 Add a shared helper to encode the PCIe L1 PM Substates T_POWER_ON parameter into the T_POWER_ON_Scale and T_POWER_ON_Value fields. This helper can be used by the controller drivers to change the default/wrong value of T_POWER_ON in L1ss capability register to avoid incorrect calculation of LTR_L1.2_THRESHOLD value. The helper converts a T_POWER_ON time specified in microseconds into the appropriate scale/value encoding defined by the PCIe spec r7.0, sec 7.8.3.2. Values that exceed the maximum encodable range are clamped to the largest representable encoding. Signed-off-by: Krishna Chaitanya Chundru --- drivers/pci/pcie/aspm.c | 43 +++++++++++++++++++++++++++++++++++++++++++ include/linux/pci.h | 2 ++ 2 files changed, 45 insertions(+) diff --git a/drivers/pci/pcie/aspm.c b/drivers/pci/pcie/aspm.c index 21f5d23e0b61bd7e1163cc869fe9356d1ab87b34..d7f9ae9e48c25dbc2d9b4887e2f= 74623688098e0 100644 --- a/drivers/pci/pcie/aspm.c +++ b/drivers/pci/pcie/aspm.c @@ -525,6 +525,49 @@ static u32 calc_l12_pwron(struct pci_dev *pdev, u32 sc= ale, u32 val) return 0; } =20 +/** + * pcie_encode_t_power_on - Encode T_POWER_ON into scale and value fields + * @t_power_on_us: T_POWER_ON time in microseconds + * @scale: Encoded T_POWER_ON_Scale (0..2) + * @value: Encoded T_POWER_ON_Value + * + * T_POWER_ON is encoded as: + * T_POWER_ON(us) =3D scale_unit(us) * value + * + * where scale_unit is selected by @scale: + * 0: 2us + * 1: 10us + * 2: 100us + * + * If @t_power_on_us exceeds the maximum representable value, the result + * is clamped to the largest encodable T_POWER_ON. + * + * See PCIe r7.0, sec 7.8.3.2. + */ +void pcie_encode_t_power_on(u16 t_power_on_us, u8 *scale, u8 *value) +{ + u8 maxv =3D FIELD_MAX(PCI_L1SS_CTL2_T_PWR_ON_VALUE); + + /* + * T_POWER_ON_Value ("value") is a 5-bit field with max + * value of 31. + */ + if (t_power_on_us <=3D 2 * maxv) { + *scale =3D 0; /* Value times 2us */ + *value =3D DIV_ROUND_UP(t_power_on_us, 2); + } else if (t_power_on_us <=3D 10 * maxv) { + *scale =3D 1; /* Value times 10us */ + *value =3D DIV_ROUND_UP(t_power_on_us, 10); + } else if (t_power_on_us <=3D 100 * maxv) { + *scale =3D 2; /* value times 100us */ + *value =3D DIV_ROUND_UP(t_power_on_us, 100); + } else { + *scale =3D 2; + *value =3D maxv; + } +} +EXPORT_SYMBOL(pcie_encode_t_power_on); + /* * Encode an LTR_L1.2_THRESHOLD value for the L1 PM Substates Control 1 * register. Ports enter L1.2 when the most recent LTR value is greater diff --git a/include/linux/pci.h b/include/linux/pci.h index 1c270f1d512301de4d462fe7e5097c32af5c6f8d..eec16fdcb9996ab0f663f4587a2= 367a676a49ce6 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h @@ -1911,6 +1911,7 @@ int pci_enable_link_state_locked(struct pci_dev *pdev= , int state); void pcie_no_aspm(void); bool pcie_aspm_support_enabled(void); bool pcie_aspm_enabled(struct pci_dev *pdev); +void pcie_encode_t_power_on(u16 t_power_on_us, u8 *scale, u8 *value); #else static inline int pci_disable_link_state(struct pci_dev *pdev, int state) { return 0; } @@ -1923,6 +1924,7 @@ static inline int pci_enable_link_state_locked(struct= pci_dev *pdev, int state) static inline void pcie_no_aspm(void) { } static inline bool pcie_aspm_support_enabled(void) { return false; } static inline bool pcie_aspm_enabled(struct pci_dev *pdev) { return false;= } +static inline void pcie_encode_t_power_on(u16 t_power_on_us, u8 *scale, u8= *value) { } #endif =20 #ifdef CONFIG_HOTPLUG_PCI --=20 2.34.1 From nobody Fri Apr 17 06:18:29 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.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 A781E35B65F for ; Mon, 23 Feb 2026 11:20:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771845653; cv=none; b=iXVinGVolmc3UVvncPT2ttA3GTjSqB9tQMS28+UTDJouXVqfvBJDWZY03BWkoc7j2FJ0dYLa0YmpiiapI6G5QUVJ0fdCWkKjmBfbhN7iIya6jDLn2S7fSkTeP9YzBlimPje6hrEeexeY3N/dZV8DgVEJqHTcwLrZIoEZInwLDaw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771845653; c=relaxed/simple; bh=US5ky/eaGr7/zjLC3Ki0xuzmQaTtw9+WSJMCH40IvBw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=FRn5vDt8nUQfR07cQcfaTKYqtygMwT6e4j9AGDOmJRIEODczurx30FvQV5rUVRs+GQ8/DhZ9oLTASyRGtokhrZKCm2fFbWGlvxTrgJbkq/hGZJ23sVTxNcLYLHUKuU/MtQ+HUupX9SLp2na9QrmlU8o4YJDehiItA93WZFKJ68Q= 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=Y2JAvrDd; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=DDezdD5v; arc=none smtp.client-ip=205.220.180.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="Y2JAvrDd"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="DDezdD5v" Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 61N8VaN32887961 for ; Mon, 23 Feb 2026 11:20:51 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= 7R6wERXgtgmbnWJq0JgIZgsNLnA/7M/DJRTsX0zPuJc=; b=Y2JAvrDd8VT4A+Pk BzxVDJRHsMoyWFTlI79cH5rTjjWInszzrs1X45Tbqo8qG42uvlOKJemCydxPAgbc /vbidiS76eB3/BoXZhSSzLw3jow3yvOnj4naQJ1O537FI3b2Fn7VDuyQR6dpkbW0 XmtIZd+e1Df/HohMtqwNLmUcqMho5KJrEMI2zoUYBG5e3nsjVENWl1FWFlL/WHdP n8IXJLHl8OEfSoNKuSz28kM9ejOasLsJ19uulxtPg0/8sIguesiyyqKfu253ewhu QReNnnPHzTKT4bslUV5bnQ1Fv3R+hTCJxDIEfiq2V3CT0Xh0WTqOmHLqDS/hwTix h28DHQ== Received: from mail-pf1-f198.google.com (mail-pf1-f198.google.com [209.85.210.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cf5u8mfnm-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 23 Feb 2026 11:20:51 +0000 (GMT) Received: by mail-pf1-f198.google.com with SMTP id d2e1a72fcca58-824f75913c4so1899244b3a.1 for ; Mon, 23 Feb 2026 03:20:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1771845650; x=1772450450; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=7R6wERXgtgmbnWJq0JgIZgsNLnA/7M/DJRTsX0zPuJc=; b=DDezdD5vhErIZgC8ufXf+HzOJFXjoDqIdUBYLlVls/mAiLzB0IlGvNdq6lWyfEWRmH jVPQfSlHs4oU2lvlPfqAFe7RtXhUJjv6ryZcMwOs1FkVdHWHVSOPsizSp2PrmFjaXMS8 h0e+Oo+rO+O7QfqM1UUbP37AZGOhBcRljGc0KFZJoAjvvIjLjAoZbWxx0exybDfjDbAE kWB4ozzH/S0V/2TeL4CcFBfkmE87rJXkvf3Yx3JJmPwCTVaAZW9QNJsUfPehYYcxjVmQ 0WURitszRWghbWUDeS83avs2BYBOIeHN3St2AMNbxdN4hKPncKS75N+N/DZ/BEdgy1LI 8l2A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771845650; x=1772450450; h=cc:to:in-reply-to:references: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=7R6wERXgtgmbnWJq0JgIZgsNLnA/7M/DJRTsX0zPuJc=; b=QE+nzaH6J4bbFBkCak/hsPKjmZnepueht+pS96Vz/JAhmF4aTLM9WSL3zG+7uURP+8 FW3e+oOQ9KHmvT4OyE+kBztimJRQPkTc4Gq+x4urBxi/cQmHemS+HK+AAMyHiuFxzpk5 Sw+euGF1w2vnxpuzjhAWLI/NF8deKmFSv6+XwKqHang2x4WE9Wq0v4c3tL9dIMXt2gPr IvwCPXVQyh3Uc0z0j1PBmbuU4YWvBD//SQYC1GtFRDtaRr0MJud2HnbLKWNjE+SsZKdw LabsTr9ogzU1Lk/xOYdc9qNTZrZ3BPT+qglOBAc6et3SbMxifBOMJsV6Gg5cvXFHrc2K jJJA== X-Forwarded-Encrypted: i=1; AJvYcCUBH6udEsWmioEH2PfSTQsVNUnAbNj5gpBKUi4bh2YQD3PSbKOKGnnPt1uNVl6aWANM1VBOZTRZ0IU7x/Q=@vger.kernel.org X-Gm-Message-State: AOJu0YxVGcUnBuocCvhtqq4mZC7ITygbQvIK6z4kkCAP6v383sr79X9a dinfvfw8Rz0Ko4lxqhLAR8Bw7yUZpaNiGfvfTzjy591M2cxdY52kyu+lt1H5FvJM22RK38e3oTH RUAlw9Bf70OSNs/mr7r07cEf8aCSPejMesbQ3hZWrQO3CTIjZh3DfhA2WnguttQm22PY= X-Gm-Gg: AZuq6aIF85m+lmw1xkcv8YCBHQEfXoQKwxutFmT/s/ITdlBe28PaPOX6GBRJt19i0b5 3ME1gCRqdZWKeHBOfrGCqFvU7aFs0tP5BU60RCbT1nB+zWwM6Chq08s6+iP8yztGiUpm+jyfCJU EXiUPIVAeHHxVM+RZ3Tqv4eous74NR+avqLD+3a7KnxSB2lFFONseNbsqtAH2MqjN3HiEByszCC 5+TARUF2PtMXK03DfTjXwQ7MrBLzvc5yscy9zp3I5slBN8Xp6NGjsRZkm//ihL85Fz9yx60cFNA +jdEl4a7MU0MTMLWYsK6hYXzhUZH0EC5PEEfPomQn0fI4miugz526p3qIA9n39OiWcK0rhFiWPB L5BEdFzQ51ldrBRkjijy3xp1ED2iRm5hPTB+RCcAjOLe1Xlp6X0gYfwnv X-Received: by 2002:a05:6a00:2d9b:b0:7fc:da5:f85c with SMTP id d2e1a72fcca58-826da9f05bamr6675812b3a.38.1771845650473; Mon, 23 Feb 2026 03:20:50 -0800 (PST) X-Received: by 2002:a05:6a00:2d9b:b0:7fc:da5:f85c with SMTP id d2e1a72fcca58-826da9f05bamr6675795b3a.38.1771845649975; Mon, 23 Feb 2026 03:20:49 -0800 (PST) Received: from hu-krichai-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-826dd899386sm6744057b3a.43.2026.02.23.03.20.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 23 Feb 2026 03:20:49 -0800 (PST) From: Krishna Chaitanya Chundru Date: Mon, 23 Feb 2026 16:43:31 +0530 Subject: [PATCH v2 2/3] PCI: dwc: Add helper to Program T_POWER_ON 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: <20260223-t_power_on_fux-v2-2-20c921262709@oss.qualcomm.com> References: <20260223-t_power_on_fux-v2-0-20c921262709@oss.qualcomm.com> In-Reply-To: <20260223-t_power_on_fux-v2-0-20c921262709@oss.qualcomm.com> To: Manivannan Sadhasivam , Lorenzo Pieralisi , =?utf-8?q?Krzysztof_Wilczy=C5=84ski?= , Rob Herring , Bjorn Helgaas , Jingoo Han Cc: linux-pci@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, mayank.rana@oss.qualcomm.com, quic_vbadigan@quicinc.com, Krishna Chaitanya Chundru X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1771845636; l=2863; i=krishna.chundru@oss.qualcomm.com; s=20230907; h=from:subject:message-id; bh=US5ky/eaGr7/zjLC3Ki0xuzmQaTtw9+WSJMCH40IvBw=; b=LBjbnwz6E1dINdav/+PKkrP9Hl6PG7F0q2GXDRhnkg1LcRHU2rTVkTvMhD+REz0ROi7hnNBUR VcD3rRZudS9AhZeQYm4wwtDd/a7hk3zsRiuLoZ6NHqbWaG1SvfoADUs X-Developer-Key: i=krishna.chundru@oss.qualcomm.com; a=ed25519; pk=10CL2pdAKFyzyOHbfSWHCD0X0my7CXxj8gJScmn1FAg= X-Proofpoint-GUID: 8FvZk4345WfHSvmiz5R3dTB-qdNG6Zzo X-Authority-Analysis: v=2.4 cv=cJftc1eN c=1 sm=1 tr=0 ts=699c3813 cx=c_pps a=m5Vt/hrsBiPMCU0y4gIsQw==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=IkcTkHD0fZMA:10 a=HzLeVaNsDn8A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=EUspDBNiAAAA:8 a=kXhGf0cxdCgfIYue-YsA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=IoOABgeZipijB_acs4fv:22 X-Proofpoint-ORIG-GUID: 8FvZk4345WfHSvmiz5R3dTB-qdNG6Zzo X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMjIzMDA5NyBTYWx0ZWRfXyeIpXF83J0UO +5C2LPp6mPuiAzq/gqgO1c5y1LsWqLbIHNYn2KQXNqn/jqGNy6fomV4rqls37FT2qEugpY7RfvL U4k/3WxR1bRD4oX6cHqT8lgCO18csjggPyDCCxpmMZC2JLj3nDrPcAR7wdGx+AoXQw5A75ypTKb qyYoz7hC5Z2c0AU87fI+jq67K3gV/x4pSn2R9Wd/QqCVEElejE7IOQB3oaOJoL1u2Su/6iY5Uby mhm6mWR/n+6zeHW1YRAMlkTRk7BTdDNMlgUR93UfX6XFUITjCGmfm/FyjTpxsJneEh0KxC6Q0hj sJmB7jVJg4uH58aGgoSfCVp+ffAcMIf7oYeuUcLfZsLzZ8DKzh84y2C/zYkVHVgX5f7AzqWLufw D0Xsyk0ytWmZz933RgW3nBrUCZVbZjL3VXLTjH7aN8MrI1ZWf3XCYO3R8wOrL9sV9EoUMzymF6i /af6DUKgfHaA2ckHDGw== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-02-23_02,2026-02-20_04,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 spamscore=0 clxscore=1015 malwarescore=0 suspectscore=0 priorityscore=1501 lowpriorityscore=0 phishscore=0 impostorscore=0 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2602230097 The T_POWER_ON indicates the time (in =CE=BCs) that a Port requires the port on the opposite side of Link to wait in L1.2.Exit after sampling CLKREQ# asserted before actively driving the interface. This value is used by the ASPM driver to compute the LTR_L1.2_THRESHOLD. Currently, some controllers exposes T_POWER_ON value of zero in the L1SS capability registers, leading to incorrect LTR_L1.2_THRESHOLD calculations, which can result in improper L1.2 exit behavior and can trigger AER's. Add a helper to override T_POWER_ON value by the DWC controller drivers. Signed-off-by: Krishna Chaitanya Chundru --- drivers/pci/controller/dwc/pcie-designware.c | 27 ++++++++++++++++++++++++= +++ drivers/pci/controller/dwc/pcie-designware.h | 1 + 2 files changed, 28 insertions(+) diff --git a/drivers/pci/controller/dwc/pcie-designware.c b/drivers/pci/con= troller/dwc/pcie-designware.c index 5741c09dde7f40487c6da6dfd66f7c8d96a74259..f56e2c07ddc57bd84882c14bebc= 7d4b4961f601a 100644 --- a/drivers/pci/controller/dwc/pcie-designware.c +++ b/drivers/pci/controller/dwc/pcie-designware.c @@ -1249,6 +1249,33 @@ void dw_pcie_hide_unsupported_l1ss(struct dw_pcie *p= ci) dw_pcie_writel_dbi(pci, l1ss + PCI_L1SS_CAP, l1ss_cap); } =20 +/* TODO: Need to handle multi root ports */ +void dw_pcie_program_t_power_on(struct dw_pcie *pci, u16 t_power_on) +{ + u8 scale, value; + u16 offset; + u32 val; + + if (!t_power_on) + return; + + offset =3D dw_pcie_find_ext_capability(pci, PCI_EXT_CAP_ID_L1SS); + if (offset) { + pcie_encode_t_power_on(t_power_on, &scale, &value); + + dw_pcie_dbi_ro_wr_en(pci); + + val =3D readl(pci->dbi_base + offset + PCI_L1SS_CAP); + val &=3D ~(PCI_L1SS_CAP_P_PWR_ON_SCALE | PCI_L1SS_CAP_P_PWR_ON_VALUE); + val |=3D FIELD_PREP(PCI_L1SS_CAP_P_PWR_ON_SCALE, scale); + val |=3D FIELD_PREP(PCI_L1SS_CAP_P_PWR_ON_VALUE, value); + + writel(val, pci->dbi_base + offset + PCI_L1SS_CAP); + + dw_pcie_dbi_ro_wr_dis(pci); + } +} + void dw_pcie_setup(struct dw_pcie *pci) { u32 val; diff --git a/drivers/pci/controller/dwc/pcie-designware.h b/drivers/pci/con= troller/dwc/pcie-designware.h index ae6389dd9caa5c27690f998d58729130ea863984..da67beece3f11e33d9a1937fa23= d443feea3bbc7 100644 --- a/drivers/pci/controller/dwc/pcie-designware.h +++ b/drivers/pci/controller/dwc/pcie-designware.h @@ -602,6 +602,7 @@ int dw_pcie_prog_ep_inbound_atu(struct dw_pcie *pci, u8= func_no, int index, u8 bar, size_t size); void dw_pcie_disable_atu(struct dw_pcie *pci, u32 dir, int index); void dw_pcie_hide_unsupported_l1ss(struct dw_pcie *pci); +void dw_pcie_program_t_power_on(struct dw_pcie *pci, u16 t_power_on); void dw_pcie_setup(struct dw_pcie *pci); void dw_pcie_iatu_detect(struct dw_pcie *pci); int dw_pcie_edma_detect(struct dw_pcie *pci); --=20 2.34.1 From nobody Fri Apr 17 06:18:29 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.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 E7C1435C190 for ; Mon, 23 Feb 2026 11:20:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771845658; cv=none; b=UH1cSINd4s1D9YI9vo26i7sNB+eMMuXpySCWrmJvvm9P0S7t748BiwVlaqnlNwgpWNxAtCHaj7q/g/+A2tOHCMKAYKZKyydk6qahpNFMpKZoVlsD7T6LCfE3IbdD27HITN/1cx6NyTF+rrsNiciXR5cq7Ho/PWK0msKCQCrlIuE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771845658; c=relaxed/simple; bh=USOtUqoO0pBSXaqNzhOk6NTS6nVdSU0vA+aMkk6Ry0A=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ca5A0s/dFSveITl9uvmWQxTClQcKw/cU7Y9ycId2FlPhHOunftBdo2yQhZzZxheGz8IHsldkId88xbR9wyq3SoCnlF7QcKedzflHqsxSXJZcc+2rgW5sOT9jdZpRPOaT9dRpSENgjgk1+y11ZC6fUUAwb8MKiC/7bTEGTtK+xFk= 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=QaYVxQCE; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Hv32Uw1l; arc=none smtp.client-ip=205.220.180.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="QaYVxQCE"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Hv32Uw1l" Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 61NAX3cX3698602 for ; Mon, 23 Feb 2026 11:20:56 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= Zii6CigRbD5HDl5umrJGDYGIgq6jxY4yjDjqN07MxHc=; b=QaYVxQCE97aD5NgI oiJstlNa0F3GT7XjJpJeMvCg/hdJ5lWwt6JXm28paTe82cawR6y8u0r/n1x+z30L ZqSIJJDaJnpB9LS1UHGOYq8cM20mMLmlW6NO80/ixC0rBG03U/RvF2K4zUH6Rjgq MMELVzdDD2Hdw5UEI9a1BXbnktDFcNV7g3QgwrqjUVWuCmXPNRMEvO4s+NlpZpuF eiYALPG+oYvL4Tpa91Xv6u5vBbf1dwXR+7jr4DcS1BmemmaipKiavtpxAJiIX/xg ZFruflaLuShRLNssywJ9iLCwRQKJkC/ehBLi8RHFN+SqXINS6mGRbKcfybljNtTU Wv+RXQ== Received: from mail-pf1-f200.google.com (mail-pf1-f200.google.com [209.85.210.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cgn8184kq-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 23 Feb 2026 11:20:55 +0000 (GMT) Received: by mail-pf1-f200.google.com with SMTP id d2e1a72fcca58-824bf5fe8cbso1709508b3a.1 for ; Mon, 23 Feb 2026 03:20:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1771845655; x=1772450455; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=Zii6CigRbD5HDl5umrJGDYGIgq6jxY4yjDjqN07MxHc=; b=Hv32Uw1l7UyFOC1WW+ZNIPag/BZbGxn8/8SW5YuOfaarx0QhPH8ZY4mEayPqYKfnQB Zv0ngFB9gj3ff7J4Kgh+sKwOGLnTLtpraVZKvWO6G0SR6sSiLUUWckLDlYhPCYJiixBH ebwaTfubS2zH01MWKI3IPbCrA8LAUyCG8+ATlWZKaLxdJ6I0N9aE7bINtZWK7BlrjjE/ MQrNahdQ85jeRTC6dObN5VNLxWOTVXmLXB17uQIQdg3oiTikZarWTYaRIRbyZ1VkBqM8 1cJV/nGeO7PVtBB2C6id+aoPnNrr1k4AKAsmTW6z7RzuDgfVss2jkVdUzg8tKjE5atdv u/YQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771845655; x=1772450455; h=cc:to:in-reply-to:references: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=Zii6CigRbD5HDl5umrJGDYGIgq6jxY4yjDjqN07MxHc=; b=CDy14b19ptLwoeaQ8/zViUKmR+TguxsJDOQyC/cM3k7nxAvw24t8akgkMKm1p+UcMK ax3WwAA1zzXtLB3ZQG7cmvjcz6hEKBR203YLTvKaXE6lKfuY+IAjtc5/1d3nLu/cD0Gs I601Eq82U1ZMI3/ZkhyxpSbbKmsGI3jIH/UC1jAEa0yYZWltQ+bn5NQC2hvnvV0Z9yHb uoFSiygDj1ydzPU/MRdlGF46VP1cuZfsyqKWCmmIESvlgLPwT0GL4cpRoa1cxy5vrYMr zRY5n04FjPmCLnQD8ilTg7Pl3DqLrph+sA7gvq95iXdQEhq197zQH/yKkV1Uat7Qoyb9 pVeA== X-Forwarded-Encrypted: i=1; AJvYcCXWgeq57P3e9lHg7r8lpI+dKo+Mh7JPTiGzdv9xDwxPYD/V7DKyci/stkBKMYDzbE96NL4NNRuWqQhbu/w=@vger.kernel.org X-Gm-Message-State: AOJu0Yyp7Xku+y4oEQ+e0RD4JpGrGNPUB8A1+gJg/QcjBP5EM5uDqBVg Cir2H4U1/ZV9qX1XUA5pkiTgxnPaRnXafLTcaAriGBRCFf/Ukc2K0OdGpN7CpFxrsme4sfTq34x ai4/FFy2MxvovPLNk8VUF+/whPQv+HeIIbLAtnwqyHWrW+TVzmiW1Ct5LiyAA3lYvN6+U0VC9mU I= X-Gm-Gg: AZuq6aJc9f1UNvVigdNeOZU0RBh3AnLXarmpfgpt+EY9hV9unxiihH/e9XJCf7yC+gg VjfoSWQn5qoY8Ij8MhM8CL4x78snHafu9g+3nAC2AvX1Y97NyW8Bc8XflqkiOnrXv1oQUJSMqMo UPFEkOZlOjCQ11ENMt2wwxuB86FN36Hxil8mImJI9cfFr3+om2TqSkuAVUV44CCo57JYDatF+Eb Xw6GgL6U16qwsFpkUaD//rIFiCfx33ztkMA/gteOIf4WcN4WtvoiezaJAjVe8YJXOfwsa6tJ+pp djUkon6jDZG8nqGvjjSS6BXKLfucwujtAbpKOfdPdBv8IXGpE7L+KUMAq3RBa1P9CjCLKn1Kj+e 4wFYL3Yry8OfjnsfoVxOmVt8UxDqx3+Z9UVfC1E7tlp7tur1IQ1WtjANw X-Received: by 2002:a05:6a00:148b:b0:824:cc05:ce88 with SMTP id d2e1a72fcca58-826da9f164amr7590951b3a.30.1771845654612; Mon, 23 Feb 2026 03:20:54 -0800 (PST) X-Received: by 2002:a05:6a00:148b:b0:824:cc05:ce88 with SMTP id d2e1a72fcca58-826da9f164amr7590923b3a.30.1771845654131; Mon, 23 Feb 2026 03:20:54 -0800 (PST) Received: from hu-krichai-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-826dd899386sm6744057b3a.43.2026.02.23.03.20.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 23 Feb 2026 03:20:53 -0800 (PST) From: Krishna Chaitanya Chundru Date: Mon, 23 Feb 2026 16:43:32 +0530 Subject: [PATCH v2 3/3] PCI: qcom: Program T_POWER_ON 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: <20260223-t_power_on_fux-v2-3-20c921262709@oss.qualcomm.com> References: <20260223-t_power_on_fux-v2-0-20c921262709@oss.qualcomm.com> In-Reply-To: <20260223-t_power_on_fux-v2-0-20c921262709@oss.qualcomm.com> To: Manivannan Sadhasivam , Lorenzo Pieralisi , =?utf-8?q?Krzysztof_Wilczy=C5=84ski?= , Rob Herring , Bjorn Helgaas , Jingoo Han Cc: linux-pci@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, mayank.rana@oss.qualcomm.com, quic_vbadigan@quicinc.com, Krishna Chaitanya Chundru X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1771845636; l=2371; i=krishna.chundru@oss.qualcomm.com; s=20230907; h=from:subject:message-id; bh=USOtUqoO0pBSXaqNzhOk6NTS6nVdSU0vA+aMkk6Ry0A=; b=3Jc7Bc5o1Onuvgwj6TkaG0/UEWyM+HUbCbIX6omxJKs6M7Zhr1gmGVFlKmgLpXr4r1aW9ZX1o KMQRvDJdxN3B/S/Potiib7P2t+yWhIDRucfMU6ST59uzRoLDfsElsQy X-Developer-Key: i=krishna.chundru@oss.qualcomm.com; a=ed25519; pk=10CL2pdAKFyzyOHbfSWHCD0X0my7CXxj8gJScmn1FAg= X-Proofpoint-GUID: nAvWhnXDj5auKkOjuNfCtlV_Ycrm1u51 X-Proofpoint-ORIG-GUID: nAvWhnXDj5auKkOjuNfCtlV_Ycrm1u51 X-Authority-Analysis: v=2.4 cv=CbsFJbrl c=1 sm=1 tr=0 ts=699c3817 cx=c_pps a=mDZGXZTwRPZaeRUbqKGCBw==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=IkcTkHD0fZMA:10 a=HzLeVaNsDn8A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=ZpdpYltYx_vBUK5n70dp:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=wXczfBY3881IDOTkNB0A:9 a=QEXdDO2ut3YA:10 a=zc0IvFSfCIW2DFIPzwfm:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMjIzMDA5NyBTYWx0ZWRfXzMgfFQlwEr9T nMWia1e85Z93zXTKvZiPbkf26TfOXQGNwfkvqlQNQv4fp+Os+PUDFqmf84duaGcLwA54atoQbVd nKMHWPQdhGO1YNA/0mi1WKK0juWwbmuwj5e5oeQ46zApCVVc8RWwr1dHc5fR4oOIVv3b7F3cy4G dBzWUntho3zIjL4ZwxiA6V6LNYhkj1Pn/N3t4FCVMcBFMn9T9i7xzZvj/8mX7C39tSW0J/ZfB9v vGYjV4V68sw1tJxeEXkkBU3COdHwckt9KWwSDewJSDJcsmiDIHTwDxfJ76jIZB8ixkibZFWLVWD pIn6W6fd5mjdk/GvQONqiWy52czZT5URys9CCryfUYuZi51Y3p9UpkcGEW3hOjrQ+I2HSM1nWwl DAvoLxxkDBcVTxR1M2YBqSp5qd0e70YMe7i7L+6HRm6JIcb6XA9F39QiK/8kGmezXnSIwOgTndl BXGSF0zW2Yvnt1ewxlA== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-02-23_02,2026-02-20_04,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 adultscore=0 impostorscore=0 priorityscore=1501 suspectscore=0 phishscore=0 spamscore=0 malwarescore=0 clxscore=1015 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2602230097 Some platforms have incorrect T_POWER_ON value programmed in hardware. Generally these will be corrected by bootloaders, but not all targets support bootloaders to program correct values due to that LTR_L1.2_THRESHOLD value calculated by aspm driver can be wrong, which can result in improper L1.2 exit behavior and can trigger AER's. Parse "t-power-on-us" property from each root port node and program them as part of host initialization using dw_pcie_program_t_power_on() before link training. This property in added to the dtschema here[1]. Signed-off-by: Krishna Chaitanya Chundru Link[1]: https://lore.kernel.org/all/20260205093346.667898-1-krishna.chundr= u@oss.qualcomm.com/ --- drivers/pci/controller/dwc/pcie-qcom.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/drivers/pci/controller/dwc/pcie-qcom.c b/drivers/pci/controlle= r/dwc/pcie-qcom.c index 67a16af69ddc75fca1b123e70715e692a91a9135..489ed64c1df0fa3ed9f6b0d4c3e= 0bb65cfc3308e 100644 --- a/drivers/pci/controller/dwc/pcie-qcom.c +++ b/drivers/pci/controller/dwc/pcie-qcom.c @@ -269,6 +269,7 @@ struct qcom_pcie_perst { struct qcom_pcie_port { struct list_head list; struct phy *phy; + u32 t_power_on; struct list_head perst; }; =20 @@ -1283,6 +1284,16 @@ static int qcom_pcie_phy_power_on(struct qcom_pcie *= pcie) return 0; } =20 +static int qcom_pcie_configure_ports(struct qcom_pcie *pcie) +{ + struct qcom_pcie_port *port; + + list_for_each_entry(port, &pcie->ports, list) + dw_pcie_program_t_power_on(pcie->pci, port->t_power_on); + + return 0; +} + static int qcom_pcie_host_init(struct dw_pcie_rp *pp) { struct dw_pcie *pci =3D to_dw_pcie_from_pp(pp); @@ -1317,6 +1328,8 @@ static int qcom_pcie_host_init(struct dw_pcie_rp *pp) dw_pcie_remove_capability(pcie->pci, PCI_CAP_ID_MSIX); dw_pcie_remove_ext_capability(pcie->pci, PCI_EXT_CAP_ID_DPC); =20 + qcom_pcie_configure_ports(pcie); + qcom_pcie_perst_deassert(pcie); =20 if (pcie->cfg->ops->config_sid) { @@ -1759,6 +1772,8 @@ static int qcom_pcie_parse_port(struct qcom_pcie *pci= e, struct device_node *node if (ret) return ret; =20 + of_property_read_u32(node, "t-power-on-us", &port->t_power_on); + port->phy =3D phy; INIT_LIST_HEAD(&port->list); list_add_tail(&port->list, &pcie->ports); --=20 2.34.1