From nobody Wed Dec 17 14:37:28 2025 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 0C0F33043CC for ; Mon, 13 Oct 2025 10:53:58 +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=1760352842; cv=none; b=MoB+ptdVIHQYFMOdIgO6GqLZ68Wt0/1yU4T98q5KygBu8Ns3hlpArxiEHS4ZzPaalMqtZj5RhlCOIFH6t7SfHVCAo+i85uN4tzcWnlYJTpbgqf0PDkuauPrUIZ0obJFOsvMpgCaH8NqK5a8ns8rbIUCSbIa8FfioVV+3q68KxSk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760352842; c=relaxed/simple; bh=DMfL92AdXlzenYd0/1DcFtxFL7fShJdaftub5B4NfLA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Vf8YX4e3vwZDHdHUJZ+ZFnWevR5eDr2MOyICbl3E0w5p8fjQeEO3BNrglG4qXUvrOCDy/RhBknV4yoqb3PCR4c/BID3dF4HzW5cOs+D0glxHIXFA9Yqu8zoDVKuOrwmSBCZSgnDPg4lHGnGGA+DuAj2WUPejpZdCsfeV3OarE30= 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=Lnq47aeg; 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="Lnq47aeg" Received: from pps.filterd (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 59DAYqWQ000534 for ; Mon, 13 Oct 2025 10:53:57 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= u08lX6E4lF1MxSnTgYczMeE3BdQjrxXWCXSB/fw3rAw=; b=Lnq47aegwaYYDEHt eySFkWY8N+U6pkF3ky0z3Kv4UaVoCuLIIIfnGKgFctHJk6CW45eRtAnGjrm3bLyS n3jW1AVE/W+gvnYAczZsExW+cWrlE9qjFHep/WO1seHJ1FzPK6XRqsyv4TocMF1f EtSGcuPimDgSHm4jgJbwUaRFupz+M8tg2zMggxac1uUOo0Eknt19GMh1ZFfc23Y+ 6rH/NOsb3/PqRpNmNyGqS0pSNtpqad/JUlpHRsM1jyMY/UkueSsbAEtgKy3HJ1z2 OG7U5jAFokEAOxGVR1yzhgJ3qMnqfNTQbYlwlztF4purLMBikbCWAZAnbgQjAbWz BfxsZQ== Received: from mail-pl1-f197.google.com (mail-pl1-f197.google.com [209.85.214.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 49qfd8vafk-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Mon, 13 Oct 2025 10:53:57 +0000 (GMT) Received: by mail-pl1-f197.google.com with SMTP id d9443c01a7336-2699ed6d43dso81313335ad.1 for ; Mon, 13 Oct 2025 03:53:57 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760352836; x=1760957636; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=u08lX6E4lF1MxSnTgYczMeE3BdQjrxXWCXSB/fw3rAw=; b=T/oCDFETOKKeN1UeZ9F7oZOgyC2q1KtbF75UAte99qlWC8ooPfbxCKZuBsUDgmuUlm DWAHj5uu9d3ezEr2LOcaSRPLgCSTigip0L4qFTlxgQmm4Q9VBBem2bhugn1ZFwdj297i KuEs87eSMFyDh+561VpyS7xYwnNl4Ow876XUYSPMFP17e57bG9+D5a/Nvgrbc0oAgGeL UY4gc2BMksRAvbpthEo6N5AvbUImtAIr8AGcCo2ZxbTNrX3kKZydAlP22iOFGS+WhyFj TcWmsG+qtWkiUuO5VJXM0iSmk+wVxCD+3SONDEhUm+BzXCoJ3K/DPhVfSwUQWhtvIgeV mmRA== X-Forwarded-Encrypted: i=1; AJvYcCVgROS6RAfWkrG+KipJz1xtpzInQRie7ZjplxTqGe0xSuF0jYu9yMUhCFtoqsDqtjbkpwPJFH/3iwpTg54=@vger.kernel.org X-Gm-Message-State: AOJu0Yw25BXjgkKrHo0mFb9HVxG/sYynYd6v9BEh3yzXXeVgARejLc8Y xpjS6+h465GZucJuXCEUSnE/sT41cVEBthWWQNDYU3x1HJgC4NYXeZZLSwpISV0PULkn+hZD1Vy /tDpwwRgiI+XeP3Leezm+TWLMeg4hf0SuD4mpSq7NsvkmX7pngATQLdFMHZYQ3H+K9CE2LZUzlp M= X-Gm-Gg: ASbGnctbQrBwbz+u+uzhH1Tv1Oci5ZlPor0tcguo/xskDMGVgTygkmz6uNwnykB6RRF R7YKvnTI5tBsm2HgxeSzBjBIYXTEa52YD6rLyhLtv1gQ0eqLubK8rmXBcez8yG/g9m18sKYCdP2 +UGAsfyMgRWDAKtYGWL3x5mmp4us89DzF0t7wvCEYA77ufp647UnqjdDMC2rhTRasg+CE82npg6 D4wGB/WUz4as3rizaZ+vV2+xYSUMGbL5sJHiOPl6V0Tvv79TlJ8wSB2qpReHtFJEEunCD83hcAV wMw7AwRUY+98eGaB8isxZAdKaBXtjnAEOQZykzSkMqrC8Ky7WlqMWbE/00lUxc8fpQugyGTq8u8 = X-Received: by 2002:a17:903:2302:b0:263:ac60:fc41 with SMTP id d9443c01a7336-290274030a0mr268570595ad.48.1760352836323; Mon, 13 Oct 2025 03:53:56 -0700 (PDT) X-Google-Smtp-Source: AGHT+IH4gao4pvLHEPOQz//QIqS/9Zz9d9DOggsWC7wOSF/QEy30BK1Aeknp4p0FhJCVT0WVN54eJQ== X-Received: by 2002:a17:903:2302:b0:263:ac60:fc41 with SMTP id d9443c01a7336-290274030a0mr268570175ad.48.1760352835823; Mon, 13 Oct 2025 03:53:55 -0700 (PDT) Received: from hu-krichai-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-33b626403desm11662295a91.7.2025.10.13.03.53.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 13 Oct 2025 03:53:55 -0700 (PDT) From: Krishna Chaitanya Chundru Date: Mon, 13 Oct 2025 16:23:28 +0530 Subject: [PATCH v5 1/5] arm64: dts: qcom: sm8450: Add opp-level to indicate PCIe data rates 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: <20251013-opp_pcie-v5-1-eb64db2b4bd3@oss.qualcomm.com> References: <20251013-opp_pcie-v5-0-eb64db2b4bd3@oss.qualcomm.com> In-Reply-To: <20251013-opp_pcie-v5-0-eb64db2b4bd3@oss.qualcomm.com> To: Viresh Kumar , Nishanth Menon , Stephen Boyd , "Rafael J. Wysocki" , Manivannan Sadhasivam , Lorenzo Pieralisi , =?utf-8?q?Krzysztof_Wilczy=C5=84ski?= , Rob Herring , Bjorn Helgaas , Bjorn Andersson , Konrad Dybcio , Krzysztof Kozlowski , Conor Dooley Cc: linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, Krishna Chaitanya Chundru X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1760352825; l=4058; i=krishna.chundru@oss.qualcomm.com; s=20230907; h=from:subject:message-id; bh=DMfL92AdXlzenYd0/1DcFtxFL7fShJdaftub5B4NfLA=; b=31xcT0QdpgR7G2WSAuRQQywywT1N0r3T7iCT13jrZ565TkRMr/wHsbX0Yy5s26RjTQdCMMMbE deYLgUXgn3bBSAAHsg/USnh5L4PFJPRiixnZCAR2KC8LOeDhv732Fpw X-Developer-Key: i=krishna.chundru@oss.qualcomm.com; a=ed25519; pk=10CL2pdAKFyzyOHbfSWHCD0X0my7CXxj8gJScmn1FAg= X-Proofpoint-ORIG-GUID: KQwLg_ecjr0NctEXLxNTS9jmbG6YWBHg X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMDExMDAxOCBTYWx0ZWRfX+xIWaHzzvA2V NzkkC4chieGl5bKKiKF1/PlAhIWzmsBnzDW9PIN2n3ILIsVleHUHiV5k2HBVO8Nuyo55cB8JCW5 ssZZGq1b+FHOnVHnDD44H0Vx3R2+d3fDHFHJMZ6N0/uCvAOqTCsB5eWg9rWz+ChA7d9Ii7RaM1X QxJ3yKmnL3x2LtKBoMRd3q23Mk3R7QjxUTtsSPaocAbqfZ+uLbaCPmHWIAETPdJrqMUBs5gT7er XKmRsYO5d+dwRo18gBvXxnVfA24C6FKjZ2mooDHXeq93uo0/+tbJXEftpg6SrDS3e1vj1MNNp1w FOf2yMsiVe7S2dl8RHv0isS9nPGr9vgoNHMq/KlqUfbUju1Vy5IAyTDAMan5fKuSaff9NOlesBw t1j/S9Ghh6tTihXNqiXkoSlcIt0DGg== X-Proofpoint-GUID: KQwLg_ecjr0NctEXLxNTS9jmbG6YWBHg X-Authority-Analysis: v=2.4 cv=PdTyRyhd c=1 sm=1 tr=0 ts=68ecda45 cx=c_pps a=cmESyDAEBpBGqyK7t0alAg==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=IkcTkHD0fZMA:10 a=x6icFKpwvdMA:10 a=EUspDBNiAAAA:8 a=qQkGquXN9PvF_GGjQ98A:9 a=QEXdDO2ut3YA:10 a=1OuFwYUASf3TG4hYMiVC:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1117,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-10-13_04,2025-10-06_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 phishscore=0 bulkscore=0 clxscore=1015 adultscore=0 lowpriorityscore=0 impostorscore=0 priorityscore=1501 spamscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2510020000 definitions=main-2510110018 The existing OPP table for PCIe is shared across different link configurations such as data rates 8GT/s x2 and 16GT/s x1. These configurations often operate at the same frequency, allowing them to reuse the same OPP entries. However, 8GT/s and 16 GT/s may have different RPMh votes which cannot be represented accurately when sharing a single OPP. To address this, introduce an `opp-level` to indicate the PCIe data rate and uniquely differentiate OPP entries even when the frequency is the same. Although this platform does not currently suffer from this issue, the change is introduced to support unification across platforms. Append the opp level to name of the opp node to indicate both frequency and level. Signed-off-by: Krishna Chaitanya Chundru Acked-by: Manivannan Sadhasivam --- arch/arm64/boot/dts/qcom/sm8450.dtsi | 55 ++++++++++++++++++++++++++------= ---- 1 file changed, 40 insertions(+), 15 deletions(-) diff --git a/arch/arm64/boot/dts/qcom/sm8450.dtsi b/arch/arm64/boot/dts/qco= m/sm8450.dtsi index 23420e6924728cb80fc9e44fb4d7e01fbffae21f..2ae56c39f2e6d8a11a2ef0f77bf= fcf05a6fd637e 100644 --- a/arch/arm64/boot/dts/qcom/sm8450.dtsi +++ b/arch/arm64/boot/dts/qcom/sm8450.dtsi @@ -2047,25 +2047,28 @@ &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>, pcie0_opp_table: opp-table { compatible =3D "operating-points-v2"; =20 - /* GEN 1 x1 */ + /* 2.5 GT/s x1 */ opp-2500000 { opp-hz =3D /bits/ 64 <2500000>; required-opps =3D <&rpmhpd_opp_low_svs>; opp-peak-kBps =3D <250000 1>; + opp-level =3D <1>; }; =20 - /* GEN 2 x1 */ + /* 5 GT/s x1 */ opp-5000000 { opp-hz =3D /bits/ 64 <5000000>; required-opps =3D <&rpmhpd_opp_low_svs>; opp-peak-kBps =3D <500000 1>; + opp-level =3D <2>; }; =20 - /* GEN 3 x1 */ + /* 8 GT/s x1 */ opp-8000000 { opp-hz =3D /bits/ 64 <8000000>; required-opps =3D <&rpmhpd_opp_nom>; opp-peak-kBps =3D <984500 1>; + opp-level =3D <3>; }; }; =20 @@ -2209,46 +2212,68 @@ &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>, pcie1_opp_table: opp-table { compatible =3D "operating-points-v2"; =20 - /* GEN 1 x1 */ - opp-2500000 { + /* 2.5 GT/s x1 */ + opp-2500000-1 { opp-hz =3D /bits/ 64 <2500000>; required-opps =3D <&rpmhpd_opp_low_svs>; opp-peak-kBps =3D <250000 1>; + opp-level =3D <1>; }; =20 - /* GEN 1 x2 and GEN 2 x1 */ - opp-5000000 { + /* 2.5 GT/s x2 */ + opp-5000000-1 { + opp-hz =3D /bits/ 64 <5000000>; + required-opps =3D <&rpmhpd_opp_low_svs>; + opp-peak-kBps =3D <500000 1>; + opp-level =3D <1>; + }; + + /* 5 GT/s x1 */ + opp-5000000-2 { opp-hz =3D /bits/ 64 <5000000>; required-opps =3D <&rpmhpd_opp_low_svs>; opp-peak-kBps =3D <500000 1>; + opp-level =3D <2>; }; =20 - /* GEN 2 x2 */ - opp-10000000 { + /* 5 GT/s x2 */ + opp-10000000-2 { opp-hz =3D /bits/ 64 <10000000>; required-opps =3D <&rpmhpd_opp_low_svs>; opp-peak-kBps =3D <1000000 1>; + opp-level =3D <2>; }; =20 - /* GEN 3 x1 */ - opp-8000000 { + /* 8 GT/s x1 */ + opp-8000000-3 { opp-hz =3D /bits/ 64 <8000000>; required-opps =3D <&rpmhpd_opp_nom>; opp-peak-kBps =3D <984500 1>; + opp-level =3D <3>; + }; + + /* 8 GT/s x2 */ + opp-16000000-3 { + opp-hz =3D /bits/ 64 <16000000>; + required-opps =3D <&rpmhpd_opp_nom>; + opp-peak-kBps =3D <1969000 1>; + opp-level =3D <3>; }; =20 - /* GEN 3 x2 and GEN 4 x1 */ - opp-16000000 { + /* 16 GT/s x1 */ + opp-16000000-4 { opp-hz =3D /bits/ 64 <16000000>; required-opps =3D <&rpmhpd_opp_nom>; opp-peak-kBps =3D <1969000 1>; + opp-level =3D <4>; }; =20 - /* GEN 4 x2 */ - opp-32000000 { + /* 16 GT/s x2 */ + opp-32000000-4 { opp-hz =3D /bits/ 64 <32000000>; required-opps =3D <&rpmhpd_opp_nom>; opp-peak-kBps =3D <3938000 1>; + opp-level =3D <4>; }; }; =20 --=20 2.34.1 From nobody Wed Dec 17 14:37:28 2025 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 6F88C305E10 for ; Mon, 13 Oct 2025 10:54:04 +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=1760352846; cv=none; b=daE4rY7+2CrlgW96uII0v8SLEM30F0pxubhXyVLsf7x+aiqQv/eFuw42q9Vh0weG7HrGjbt/4gnhe3tlt1iixsftB0qcIGSDS58w0KCgZJhWJ42YuK15bSjkWqMyXdzSR8eezELE5LNW4FNJpiNuuS5BgtBpz0PhQ4QhaQpj3g0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760352846; c=relaxed/simple; bh=y2oEgd+ZoMp2aZIZllFCtM7ZHgenc6dnMUZhPAHCRYc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ZCPwlKRmHXzw4odA4YbXzBirrJ1yVGgowlLgbCPauG+Hmq/s5h//TeRFqOMC2ZVODFp+fkZ5m/Ra7dLq3XdkBaU3aQFcXfstuAI7mB6rGRPpyaMRUPYCcrViI2VMSTHJ6e4fMQi2cUKIjR0yl3lSRl0e3iIFCPLE/dBtsLz3c+o= 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=E6BeEayn; 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="E6BeEayn" Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 59DAY2mY016611 for ; Mon, 13 Oct 2025 10:54:03 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= hu12c6U1rd8Z27Ib4V1hOhlGmxZlRxn08YoMKrqBQYI=; b=E6BeEaynWXTi76uP C3ZLenxlwqiO95JQAXfcWyKzlScZPq+awm5ki0xpNJkWQ/H9sJHUPtlj0+AUY+Wa tQ8H0mBw9DbPaZfs7ItE2URoZK0Z+8ydKyq8pk91I1FX6oUgFJMJoKaCWyqBcysU O0zD7bJvGRPlbh1E/u5B76foCpuB2KGboJWF/gV7jw222sGE9q4p7Cqp/n9xmMcX ziacHrIkZyOoskr1BzdLYGVXIqvX7ywZyzwmdlj/0VT+B96zYwK6NOwIy+ygEoty 6LB2Sw0bfnFYo/tlY7ykZ/5464SC6v2UkdzMnjclXnUfbhjAeJWJPUB00kUHbtBO Lg8l6w== Received: from mail-pj1-f72.google.com (mail-pj1-f72.google.com [209.85.216.72]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 49qfbhva5n-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Mon, 13 Oct 2025 10:54:03 +0000 (GMT) Received: by mail-pj1-f72.google.com with SMTP id 98e67ed59e1d1-33428befd39so19179670a91.0 for ; Mon, 13 Oct 2025 03:54:02 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760352842; x=1760957642; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=hu12c6U1rd8Z27Ib4V1hOhlGmxZlRxn08YoMKrqBQYI=; b=cuLbxggHliPk6BLxDOhG9kGV5GeN7xDuNKy919iK85tx2kG8avKG+klQ7Bbfpl62kU VfvNb6v9Pzh1uTts07MUAXx9+gUIjKgkHYwwbcj7kTL7AGtOENtvKfqOBJVzSGOzQGFj jrGsbKW5ZQmrFcqKYYUIszFsy2tm8QfXO+IvtUjTWTTJY2D5Y19CS9yvE6+1ehThJ71k Z6+NjQwBgaUoEadPXDJB1gAtMRzHNOahoHWvjqk23gfz95hSMPsDrB00N7oxj3ME/wVQ Wr3uL/M8gQaOF/UaqIkBvtHD+zlYtWfCOg43U3YSu2vNtFGw2SxbxSuGWxcwpcsNU425 i87A== X-Forwarded-Encrypted: i=1; AJvYcCWFeJoU26RZe55rzNAgR11mMNrzk0WZw5r0ikwssWBbnXHYsmjorbJKI487fNfIv+tvM/QH9Nl+n4SSDtk=@vger.kernel.org X-Gm-Message-State: AOJu0YzXjCU4QpjePDiDyVLqJYEysWWinyl3xjPb8JU+ziKqy7Ml+MbR Im1KN5gj6MAQs+M5tt9TdxvVtUUUoTyIDHnb8QepxlWPx9bvoxQiYQrg9daT83alaZp2XbyhzDT PjCVnMuoHq4kXV7YFU3OvF+fsNMFI3ggnBDOPVe9ZZ2xrI/7/JJJ+VxTUISgeC3t/JRU= X-Gm-Gg: ASbGncvoD3bI2sWTKHI50IyM1ckzqrYY7xGpy7Cf9e6ROqgFZBXCYzrxNyDLMtywHBa 3cwf0+NDPz83qhKsoSoFVh9SPRLFtDmwDVRakl7QtNvpIwNoWQ0ghUpGI989F5X+xllS0ZaRt3c ScOXQ0YphzudlE0RelvRS7AFjlbJy9DCgr9uJd58+JWJGp3qyZjRmncU5UaoWW0O7RTjlSgC32u kqZPRTZojzJt3R1sKdGy3+lbPyHUDzcJNgD8CJtHVrkO8CkshXADNe0P2tsKREyXyWhBJozxzN9 upi/WNh4JQVivyakATgvzL/BGrDSLNFXmnn0LgjBMN59Lz59A+ZNkC5o+0J47myyyPWvnfxBsX8 = X-Received: by 2002:a17:90b:4b45:b0:32b:65e6:ec48 with SMTP id 98e67ed59e1d1-33b51106a08mr28884079a91.8.1760352841728; Mon, 13 Oct 2025 03:54:01 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHL67rs42FcPE7mXkIbR0fTv7qyOq2w1A0meKupktMXF+eQ28rjAxJADbVfTx018wSYf5I+FQ== X-Received: by 2002:a17:90b:4b45:b0:32b:65e6:ec48 with SMTP id 98e67ed59e1d1-33b51106a08mr28884036a91.8.1760352841264; Mon, 13 Oct 2025 03:54:01 -0700 (PDT) Received: from hu-krichai-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-33b626403desm11662295a91.7.2025.10.13.03.53.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 13 Oct 2025 03:54:00 -0700 (PDT) From: Krishna Chaitanya Chundru Date: Mon, 13 Oct 2025 16:23:29 +0530 Subject: [PATCH v5 2/5] arm64: dts: qcom: sm8550: Add opp-level to indicate PCIe data rates 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: <20251013-opp_pcie-v5-2-eb64db2b4bd3@oss.qualcomm.com> References: <20251013-opp_pcie-v5-0-eb64db2b4bd3@oss.qualcomm.com> In-Reply-To: <20251013-opp_pcie-v5-0-eb64db2b4bd3@oss.qualcomm.com> To: Viresh Kumar , Nishanth Menon , Stephen Boyd , "Rafael J. Wysocki" , Manivannan Sadhasivam , Lorenzo Pieralisi , =?utf-8?q?Krzysztof_Wilczy=C5=84ski?= , Rob Herring , Bjorn Helgaas , Bjorn Andersson , Konrad Dybcio , Krzysztof Kozlowski , Conor Dooley Cc: linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, Krishna Chaitanya Chundru X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1760352825; l=4819; i=krishna.chundru@oss.qualcomm.com; s=20230907; h=from:subject:message-id; bh=y2oEgd+ZoMp2aZIZllFCtM7ZHgenc6dnMUZhPAHCRYc=; b=WXfYwVyiJVYYbOAPvvH+jgZiwIINmOHJrFhYWq18X8sh9yyNtTJf6l5wocZ+Mj9sbcb3xvIPv vzTV8kmZCATBS4eVgcdllk2rr50C8OsXR/k9jFBRhfid0PWBw1QhC/K X-Developer-Key: i=krishna.chundru@oss.qualcomm.com; a=ed25519; pk=10CL2pdAKFyzyOHbfSWHCD0X0my7CXxj8gJScmn1FAg= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMDExMDAxOCBTYWx0ZWRfXwAsxqh1eLFTN XKMlWowYwtMs5c4gBYKCMC1FMZiL4HzRAGVhmR9Ir++xNpLf4rPqMkWmP0Vsmj5OYoIyLaOlYb1 vhQBAH3D2ZrKkdFJd0QflN7A4zjpF4CkKRKrtqkpXpREsLzGjjzMNy7fYfJ/naicWFdr06qNVd7 C5lmLN0ES0lbNm149ypmCF5u+eP8WXjFqDScJ2sV6781ncZ5YgPG+UMb+TxluKTVmtQgCz8hx2M pJ71/Ts1WWqCT00X2BgpC7CL8NtmvwZINtTS4OWzdn3OlsFbFxcsXMMXS4kAdusYKKmFzYB93or vvv888/+/Hj05dg8ZFs/evl5jiufdJlsbsn9RT1YjXK8f+FjIBRjKSgFZFEe6/sqjITfCe98tw+ ZJPVVaRkKuOm6BcSCMwrMFirC8BAgw== X-Proofpoint-ORIG-GUID: j0D2dDGNrLTcDOsg8kpuly3wjVQz-1g7 X-Authority-Analysis: v=2.4 cv=bodBxUai c=1 sm=1 tr=0 ts=68ecda4b cx=c_pps a=RP+M6JBNLl+fLTcSJhASfg==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=IkcTkHD0fZMA:10 a=x6icFKpwvdMA:10 a=EUspDBNiAAAA:8 a=xTuWgevKKEmUOcCBws0A:9 a=QEXdDO2ut3YA:10 a=iS9zxrgQBfv6-_F4QbHw:22 X-Proofpoint-GUID: j0D2dDGNrLTcDOsg8kpuly3wjVQz-1g7 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1117,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-10-13_04,2025-10-06_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 lowpriorityscore=0 adultscore=0 impostorscore=0 suspectscore=0 bulkscore=0 priorityscore=1501 clxscore=1015 malwarescore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2510020000 definitions=main-2510110018 The existing OPP table for PCIe is shared across different link configurations such as data rates 8GT/s x2 and 16GT/s x1. These configurations often operate at the same frequency, allowing them to reuse the same OPP entries. However, 8GT/s and 16 GT/s may have different RPMh votes which cannot be represented accurately when sharing a single OPP. To address this, introduce an `opp-level` to indicate the PCIe data rate and uniquely differentiate OPP entries even when the frequency is the same. Although this platform does not currently suffer from this issue, the change is introduced to support unification across platforms. Append the opp level to name of the opp node to indicate both frequency and level. Signed-off-by: Krishna Chaitanya Chundru Acked-by: Manivannan Sadhasivam --- arch/arm64/boot/dts/qcom/sm8550.dtsi | 79 ++++++++++++++++++++++++++------= ---- 1 file changed, 57 insertions(+), 22 deletions(-) diff --git a/arch/arm64/boot/dts/qcom/sm8550.dtsi b/arch/arm64/boot/dts/qco= m/sm8550.dtsi index 7724dba75db79a9e66a2c61e1ea3607bacfdf5bb..9e726f848d3ac1aa6769c5c5e33= 6f53ce7df9046 100644 --- a/arch/arm64/boot/dts/qcom/sm8550.dtsi +++ b/arch/arm64/boot/dts/qcom/sm8550.dtsi @@ -2027,39 +2027,52 @@ &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>, pcie0_opp_table: opp-table { compatible =3D "operating-points-v2"; =20 - /* GEN 1 x1 */ - opp-2500000 { + /* 2.5 GT/s x1 */ + opp-2500000-1 { opp-hz =3D /bits/ 64 <2500000>; required-opps =3D <&rpmhpd_opp_low_svs>; opp-peak-kBps =3D <250000 1>; + opp-level =3D <1>; }; =20 - /* GEN 1 x2 and GEN 2 x1 */ - opp-5000000 { + /* 2.5 GT/s x2 */ + opp-5000000-1 { opp-hz =3D /bits/ 64 <5000000>; required-opps =3D <&rpmhpd_opp_low_svs>; opp-peak-kBps =3D <500000 1>; + opp-level =3D <1>; }; =20 - /* GEN 2 x2 */ - opp-10000000 { + /* 5 GT/s x1 */ + opp-5000000-2 { + opp-hz =3D /bits/ 64 <5000000>; + required-opps =3D <&rpmhpd_opp_low_svs>; + opp-peak-kBps =3D <500000 1>; + opp-level =3D <2>; + }; + + /* 5 GT/s x2 */ + opp-10000000-2 { opp-hz =3D /bits/ 64 <10000000>; required-opps =3D <&rpmhpd_opp_low_svs>; opp-peak-kBps =3D <1000000 1>; + opp-level =3D <2>; }; =20 - /* GEN 3 x1 */ - opp-8000000 { + /* 8 GT/s x1 */ + opp-8000000-3 { opp-hz =3D /bits/ 64 <8000000>; required-opps =3D <&rpmhpd_opp_nom>; opp-peak-kBps =3D <984500 1>; + opp-level =3D <3>; }; =20 - /* GEN 3 x2 */ - opp-16000000 { + /* 8 GT/s x2 */ + opp-16000000-3 { opp-hz =3D /bits/ 64 <16000000>; required-opps =3D <&rpmhpd_opp_nom>; opp-peak-kBps =3D <1969000 1>; + opp-level =3D <3>; }; }; =20 @@ -2194,46 +2207,68 @@ &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>, pcie1_opp_table: opp-table { compatible =3D "operating-points-v2"; =20 - /* GEN 1 x1 */ - opp-2500000 { + /* 2.5 GT/s x1 */ + opp-2500000-1 { opp-hz =3D /bits/ 64 <2500000>; required-opps =3D <&rpmhpd_opp_low_svs>; opp-peak-kBps =3D <250000 1>; + opp-level =3D <1>; }; =20 - /* GEN 1 x2 and GEN 2 x1 */ - opp-5000000 { + /* 2.5 GT/s x2 */ + opp-5000000-1 { opp-hz =3D /bits/ 64 <5000000>; required-opps =3D <&rpmhpd_opp_low_svs>; opp-peak-kBps =3D <500000 1>; + opp-level =3D <1>; }; =20 - /* GEN 2 x2 */ - opp-10000000 { + /* 5 GT/s x1 */ + opp-5000000-2 { + opp-hz =3D /bits/ 64 <5000000>; + required-opps =3D <&rpmhpd_opp_low_svs>; + opp-peak-kBps =3D <500000 1>; + opp-level =3D <2>; + }; + + /* 5 GT/s x2 */ + opp-10000000-2 { opp-hz =3D /bits/ 64 <10000000>; required-opps =3D <&rpmhpd_opp_low_svs>; opp-peak-kBps =3D <1000000 1>; + opp-level =3D <2>; }; =20 - /* GEN 3 x1 */ - opp-8000000 { + /* 8 GT/s x1 */ + opp-8000000-3 { opp-hz =3D /bits/ 64 <8000000>; required-opps =3D <&rpmhpd_opp_nom>; opp-peak-kBps =3D <984500 1>; + opp-level =3D <3>; + }; + + /* 8 GT/s x2 */ + opp-16000000-3 { + opp-hz =3D /bits/ 64 <16000000>; + required-opps =3D <&rpmhpd_opp_nom>; + opp-peak-kBps =3D <1969000 1>; + opp-level =3D <3>; }; =20 - /* GEN 3 x2 and GEN 4 x1 */ - opp-16000000 { + /* 16 GT/s x1 */ + opp-16000000-4 { opp-hz =3D /bits/ 64 <16000000>; required-opps =3D <&rpmhpd_opp_nom>; opp-peak-kBps =3D <1969000 1>; + opp-level =3D <4>; }; =20 - /* GEN 4 x2 */ - opp-32000000 { + /* 16 GT/s x2 */ + opp-32000000-4 { opp-hz =3D /bits/ 64 <32000000>; required-opps =3D <&rpmhpd_opp_nom>; opp-peak-kBps =3D <3938000 1>; + opp-level =3D <4>; }; }; =20 --=20 2.34.1 From nobody Wed Dec 17 14:37:28 2025 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 B7B613064B9 for ; Mon, 13 Oct 2025 10:54:09 +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=1760352851; cv=none; b=CnLIsq07Wa2f3F3C+DHs4EG70bpRcmDl6Nc+U5Lf644LhA4z/3S3UQFcVTlHanlcXGDK72JzOocWrJ95J9CUIngCShdIsm2nU7xHOetFFNna2jxyc4LZK900hmjKXDMu0Qmr6QMhq/iJnow+PmkhZ4RtINhOAlKm1b1xFAqdXXo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760352851; c=relaxed/simple; bh=zyQNUwXn+YCw1NiWz2KzbTMHzKmDdLyqHONjJeYldj8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Yvg25ArFRrqt6dFFE2o0gQ1nCnW8zHMW5QcP0zNMztF8Ultu62ureOggK6jxKkB7eyPtxgCd/t8sJ+kDcXSRg5kf0D8w1L+WVxsYVCAKJ1RT22og2vtYjes4FnGHaeD7dplzBI7newJ2UfPg/MtZyoXq/9AyW9c5IwINMvAlDUo= 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=OurtDfbJ; 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="OurtDfbJ" Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 59D4pUtI020462 for ; Mon, 13 Oct 2025 10:54:08 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= i7a5MTWxmvi3XHfiDstUA9h/EtTQ90XBtsX+f0facCs=; b=OurtDfbJmJn7G0mE I9Y+5JJmUWMGgdYX90/xiHq1zB14B/g3sFtxwOJ3RwI0NVsKNCk1rx7ghnrMLQvU AdVScQTU01e6UzPD+Q8G8gPhu7eWL2pmI/Ek1LbXxJhQwbiRRF2vTinSqj9adZOc ydjd6mcH5tlcxekad9C1bPPXYEUc2rHg7qMpELfn53lOjagED6jOxS8eM/sFgqIJ JCELOuf5pbxqHY4/Zlu/uZEJYIjfgLD8+wnN0IftrfTCqOd3/0WxVo5Rmaidud4Q X4I3946g3XIN8I8K5fq/hGRAp9KQBaH1VUsYSNBO6eCwrxiz5+/bjF3qu2cV6/t3 xZuzAw== Received: from mail-pg1-f198.google.com (mail-pg1-f198.google.com [209.85.215.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 49rtrt11x1-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Mon, 13 Oct 2025 10:54:08 +0000 (GMT) Received: by mail-pg1-f198.google.com with SMTP id 41be03b00d2f7-b55735710f0so10698849a12.2 for ; Mon, 13 Oct 2025 03:54:08 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760352847; x=1760957647; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=i7a5MTWxmvi3XHfiDstUA9h/EtTQ90XBtsX+f0facCs=; b=qP7J1aXHzd1/BN1gn5ZZDeU3aNFDjuDnoj7DflpgLuhlPvt0kcyHaYMrT2OmU4DiPz A7XMDD5/42nOWHhNytno11U2RaCO6SOqcfmeE2aLnXjuLFUBLEwyRMTl4hTda0CBWr5d THwDTp4Hw3ADAm+hJKzsaPgJzMweHV1nQ78wtQXVOJF7Fo9Nrmi/1YbYblijBqOByoB8 9oz00jsWdf6NGVWz3uY1qY4wQjIJ6e4X6q4UMH1MSdpbq+tXLUYBVPURsxoSrTSdb7bG ZZ+O9/IIPjWUAcAaPwH/TjFSauwkeXBZwYJgHL6bCG7Djb40ZrD7+BqZRvGz6H7njM1N ojVQ== X-Forwarded-Encrypted: i=1; AJvYcCWgUlQhZwop6le+x1QGdPsAMeTxmuB0O8dz08YtViL84ceG2WBxZziMtWRot9j1JGQ9XoakYLCjE5yPHpA=@vger.kernel.org X-Gm-Message-State: AOJu0YwhDrM7NtmZx6dfoArN8zAfuLBQTxJANTw3EumhdLG5/l1RWdlb U/XW0CYoT/FoqmfDfv0Y5ahp/8/Ra1brmLBhgHCoktwALdlpGbvD01jhAlloViVzqg9HbcewAHc K7fKSlE2E55clghpIPXuoEcGHuzupJKmIdL+lVcIbKhR2gY4dpZnLLYFcvoiRghk0VXA= X-Gm-Gg: ASbGncv3B16gtcNECI6B+Fy7xJWO9aa4lRmWv5E09pHXnM5IR0cleoT4EYKQIT5Wkti Zv2b1mA/R7xj6EmfQIcN289vbFfvNIIb8gmWVc0SsB7qUPNHwHYBtk1vh0RgqShkeR+tCS1AuFe /JdtGCbAxAHD0rglHh8bUI45CANqK6xRBLEg0jIlgXezwWIQ2bscU8/XDDlSDUJy+stqPuIB2jk /ejLJxNq93k0Y7YoS1d9uWfiZhkTvvHKhwtnAf77xevdkmjAVGeqMQsI7J7CF02jEvntGeOlz3M kbhTA5mWKHGk+yhxqdfxef3YcwV5o4uIUdAagSCn5W/bexl+gGDxcSdJmjcv/V1QmDSTVOi3JnQ = X-Received: by 2002:a17:90b:1e0a:b0:339:9f7d:92d4 with SMTP id 98e67ed59e1d1-33b51110ef7mr28806954a91.9.1760352847162; Mon, 13 Oct 2025 03:54:07 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEgRMJ+7K8YTL8id+HqQG26nT2LHUMUcyjIqS6elWn7IDUMbrcaXna2wmd70NXIrZ//ptwSDA== X-Received: by 2002:a17:90b:1e0a:b0:339:9f7d:92d4 with SMTP id 98e67ed59e1d1-33b51110ef7mr28806920a91.9.1760352846649; Mon, 13 Oct 2025 03:54:06 -0700 (PDT) Received: from hu-krichai-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-33b626403desm11662295a91.7.2025.10.13.03.54.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 13 Oct 2025 03:54:06 -0700 (PDT) From: Krishna Chaitanya Chundru Date: Mon, 13 Oct 2025 16:23:30 +0530 Subject: [PATCH v5 3/5] arm64: dts: qcom: sm8650: Add opp-level to indicate PCIe data rates 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: <20251013-opp_pcie-v5-3-eb64db2b4bd3@oss.qualcomm.com> References: <20251013-opp_pcie-v5-0-eb64db2b4bd3@oss.qualcomm.com> In-Reply-To: <20251013-opp_pcie-v5-0-eb64db2b4bd3@oss.qualcomm.com> To: Viresh Kumar , Nishanth Menon , Stephen Boyd , "Rafael J. Wysocki" , Manivannan Sadhasivam , Lorenzo Pieralisi , =?utf-8?q?Krzysztof_Wilczy=C5=84ski?= , Rob Herring , Bjorn Helgaas , Bjorn Andersson , Konrad Dybcio , Krzysztof Kozlowski , Conor Dooley Cc: linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, Krishna Chaitanya Chundru X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1760352825; l=4818; i=krishna.chundru@oss.qualcomm.com; s=20230907; h=from:subject:message-id; bh=zyQNUwXn+YCw1NiWz2KzbTMHzKmDdLyqHONjJeYldj8=; b=Xq7E3mW0MADg2b/YJ48xGeqRlGPOJorM141r+oyVNujfNESx+p44bJQrZnLWpyP+MyJTsL3xS ifiDm/PnCobC0SSC/TgRVc1GoLl4CERYyyUfbrHumJaJ4yjjQMR4rks X-Developer-Key: i=krishna.chundru@oss.qualcomm.com; a=ed25519; pk=10CL2pdAKFyzyOHbfSWHCD0X0my7CXxj8gJScmn1FAg= X-Proofpoint-ORIG-GUID: 84PWSZ_yBoi_zumMnKPNSIxuP_zn-4nc X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMDEzMDAyMiBTYWx0ZWRfXwdbFWC+l1L1h BDO16MI3NarfIxJwkpFXyMCCPM51YGpRpHepJ3oRtpzliXsB28sb7BUotbfDHFpJDkoKHPEuE80 xDiiFxqomzEK2E5JI7e6ODk7kKJrZgcgZrwyBE7Yq7zB534ERmDmepIWANFGjmROkNPPANh/2sp MvnmPt7weyZL7ZZes1gLNEeTHz9/OzjBc3XqK9WC6Z6gKhU8G3KXuNeaSnvZPoQoGiTiUk3eJW7 cKWAjhaOssqpoKi1vcSCLRr1iUvEda6Jln/MpVAQaxiC3CS5PTFbeOkt9K3RLkc6BIWa0RluMFb jOH09T7pqqCOhBFIY/0QKbxmotS566eqn9MWPDgwpARCVMremL0KpqXc1GMlKokv6xuBPTexx9i r+eZIZ25klsSPVZexMGJVJ7rh9c1jg== X-Authority-Analysis: v=2.4 cv=SfD6t/Ru c=1 sm=1 tr=0 ts=68ecda50 cx=c_pps a=Qgeoaf8Lrialg5Z894R3/Q==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=IkcTkHD0fZMA:10 a=x6icFKpwvdMA:10 a=EUspDBNiAAAA:8 a=xTuWgevKKEmUOcCBws0A:9 a=QEXdDO2ut3YA:10 a=x9snwWr2DeNwDh03kgHS:22 X-Proofpoint-GUID: 84PWSZ_yBoi_zumMnKPNSIxuP_zn-4nc X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1117,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-10-13_04,2025-10-06_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 clxscore=1015 adultscore=0 phishscore=0 lowpriorityscore=0 bulkscore=0 impostorscore=0 priorityscore=1501 spamscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2510020000 definitions=main-2510130022 The existing OPP table for PCIe is shared across different link configurations such as data rates 8GT/s x2 and 16GT/s x1. These configurations often operate at the same frequency, allowing them to reuse the same OPP entries. However, 8GT/s and 16 GT/s may have different RPMh votes which cannot be represented accurately when sharing a single OPP. To address this, introduce an `opp-level` to indicate the PCIe data rate and uniquely differentiate OPP entries even when the frequenc is the same. Although this platform does not currently suffer from this issue, the change is introduced to support unification across platforms. Append the opp level to name of the opp node to indicate both frequency and level. Signed-off-by: Krishna Chaitanya Chundru Acked-by: Manivannan Sadhasivam --- arch/arm64/boot/dts/qcom/sm8650.dtsi | 79 ++++++++++++++++++++++++++------= ---- 1 file changed, 57 insertions(+), 22 deletions(-) diff --git a/arch/arm64/boot/dts/qcom/sm8650.dtsi b/arch/arm64/boot/dts/qco= m/sm8650.dtsi index ebf1971b1bfbebf4df5a80247a6682ac8e413e3b..0f2a389aafe5c7475a40adf8c43= 614a007429b41 100644 --- a/arch/arm64/boot/dts/qcom/sm8650.dtsi +++ b/arch/arm64/boot/dts/qcom/sm8650.dtsi @@ -3659,39 +3659,52 @@ &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>, pcie0_opp_table: opp-table { compatible =3D "operating-points-v2"; =20 - /* GEN 1 x1 */ - opp-2500000 { + /* 2.5 GT/s x1 */ + opp-2500000-1 { opp-hz =3D /bits/ 64 <2500000>; required-opps =3D <&rpmhpd_opp_low_svs>; opp-peak-kBps =3D <250000 1>; + opp-level =3D <1>; }; =20 - /* GEN 1 x2 and GEN 2 x1 */ - opp-5000000 { + /* 2.5 GT/s x2 */ + opp-5000000-1 { opp-hz =3D /bits/ 64 <5000000>; required-opps =3D <&rpmhpd_opp_low_svs>; opp-peak-kBps =3D <500000 1>; + opp-level =3D <1>; }; =20 - /* GEN 2 x2 */ - opp-10000000 { + /* 5 GT/s x1 */ + opp-5000000-2 { + opp-hz =3D /bits/ 64 <5000000>; + required-opps =3D <&rpmhpd_opp_low_svs>; + opp-peak-kBps =3D <500000 1>; + opp-level =3D <2>; + }; + + /* 5 GT/s x2 */ + opp-10000000-2 { opp-hz =3D /bits/ 64 <10000000>; required-opps =3D <&rpmhpd_opp_low_svs>; opp-peak-kBps =3D <1000000 1>; + opp-level =3D <2>; }; =20 - /* GEN 3 x1 */ - opp-8000000 { + /* 8 GT/s x1 */ + opp-8000000-3 { opp-hz =3D /bits/ 64 <8000000>; required-opps =3D <&rpmhpd_opp_nom>; opp-peak-kBps =3D <984500 1>; + opp-level =3D <3>; }; =20 - /* GEN 3 x2 */ - opp-16000000 { + /* 8 GT/s x2 */ + opp-16000000-3 { opp-hz =3D /bits/ 64 <16000000>; required-opps =3D <&rpmhpd_opp_nom>; opp-peak-kBps =3D <1969000 1>; + opp-level =3D <3>; }; }; =20 @@ -3839,46 +3852,68 @@ &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>, pcie1_opp_table: opp-table { compatible =3D "operating-points-v2"; =20 - /* GEN 1 x1 */ - opp-2500000 { + /* 2.5 GT/s x1 */ + opp-2500000-1 { opp-hz =3D /bits/ 64 <2500000>; required-opps =3D <&rpmhpd_opp_low_svs>; opp-peak-kBps =3D <250000 1>; + opp-level =3D <1>; }; =20 - /* GEN 1 x2 and GEN 2 x1 */ - opp-5000000 { + /* 2.5 GT/s x2 */ + opp-5000000-1 { opp-hz =3D /bits/ 64 <5000000>; required-opps =3D <&rpmhpd_opp_low_svs>; opp-peak-kBps =3D <500000 1>; + opp-level =3D <1>; }; =20 - /* GEN 2 x2 */ - opp-10000000 { + /* 5 GT/s x1 */ + opp-5000000-2 { + opp-hz =3D /bits/ 64 <5000000>; + required-opps =3D <&rpmhpd_opp_low_svs>; + opp-peak-kBps =3D <500000 1>; + opp-level =3D <2>; + }; + + /* 5 GT/s x2 */ + opp-10000000-2 { opp-hz =3D /bits/ 64 <10000000>; required-opps =3D <&rpmhpd_opp_low_svs>; opp-peak-kBps =3D <1000000 1>; + opp-level =3D <2>; }; =20 - /* GEN 3 x1 */ - opp-8000000 { + /* 8 GT/s x1 */ + opp-8000000-3 { opp-hz =3D /bits/ 64 <8000000>; required-opps =3D <&rpmhpd_opp_nom>; opp-peak-kBps =3D <984500 1>; + opp-level =3D <3>; + }; + + /* 8 GT/s x2 */ + opp-16000000-3 { + opp-hz =3D /bits/ 64 <16000000>; + required-opps =3D <&rpmhpd_opp_nom>; + opp-peak-kBps =3D <1969000 1>; + opp-level =3D <3>; }; =20 - /* GEN 3 x2 and GEN 4 x1 */ - opp-16000000 { + /* 16 GT/s x1 */ + opp-16000000-4 { opp-hz =3D /bits/ 64 <16000000>; required-opps =3D <&rpmhpd_opp_nom>; opp-peak-kBps =3D <1969000 1>; + opp-level =3D <4>; }; =20 - /* GEN 4 x2 */ - opp-32000000 { + /* 16 GT/s x2 */ + opp-32000000-4 { opp-hz =3D /bits/ 64 <32000000>; required-opps =3D <&rpmhpd_opp_nom>; opp-peak-kBps =3D <3938000 1>; + opp-level =3D <4>; }; }; =20 --=20 2.34.1 From nobody Wed Dec 17 14:37:28 2025 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 1367F306B35 for ; Mon, 13 Oct 2025 10:54:14 +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=1760352857; cv=none; b=U2VJwd84xhYlSdwtVSy9oAc3VecSGCDTNVg8fNJAXZhZQ/0qedjQYkZ2jpegUMr5U1K5U5LeZtpsmnXEXdvluCUotlZ3EudHxb9zDnkiANgxQPQj9rlFxk7pAuUrns3eSwa4sRar8cIdwGYz+DbZ98QzMd4tw3Fx8QLv2UHE0bE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760352857; c=relaxed/simple; bh=MfR1jV6eq/YYIA14Wj7rCxiMT+Ho24Flcb/t1rnKumY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Gi/hE0SJ5OjKYossFn7LLV9nN7XLHBpdp8+jkmoeFB/ytxJjncPIFXY6PKrrwzWE1yjbyYLiTu639goa7BH5ia6DYc0v06PBNQAuD8uoMBEX3eM0tJ1Ju6NeTp7Dvnpr4PC5plYORS57cWpFpfOYICoMv/Zau6qWxdnmEi5G534= 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=OM4yPuQY; 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="OM4yPuQY" Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 59D4pUtK020462 for ; Mon, 13 Oct 2025 10:54:14 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= wL25zqHZA5p49x6EbdmQyT/vsQhuS7USBHx55ojonKY=; b=OM4yPuQYv8hwIDnW VVgOynC0iRTNZPb3a2tCZzVhBjXyAiaXqH/N2dvg6etPCNFn12929CqS5czFQx8k fVck7TrR8u6uzGrG0iwVsis13ELgQUjwknlV9v5ltKZEdkgpzydIdmosL0sBnnr8 ZCd4EELarpuNL9cUgvdLb299sQm9odz0Jy2kNC6GD1uu8NhQze/TG0px9qirX6gx jwEi+rzNveJpcEXzDyEV7nhcC2ESMei9ZAF0zmRxdZEjxIQ74aOItMLxrudrqAnB nWPD6kLcdGJAwe8tZTQCPMaRO6EOiJ2d4Wv1nY95KZwHExwv19rvp1EnSyF3EVFh TqVVZg== Received: from mail-pj1-f69.google.com (mail-pj1-f69.google.com [209.85.216.69]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 49rtrt11xd-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Mon, 13 Oct 2025 10:54:14 +0000 (GMT) Received: by mail-pj1-f69.google.com with SMTP id 98e67ed59e1d1-332560b7171so8872702a91.0 for ; Mon, 13 Oct 2025 03:54:13 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760352853; x=1760957653; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=wL25zqHZA5p49x6EbdmQyT/vsQhuS7USBHx55ojonKY=; b=m27QUZr/on6o35a+0T52moBjLadvKgbs9qb9c2DESjGUO0Q7X6nJdKwSMqyz83ZyJl laCgCi6qgbRxP30ocUj/D2EZB1EuCnm/VG+6HB3OKQURE8EOIuQBw4aHX4My1uCwJ5BU +m4A8E1+W/hkO+SCexuMeklPhWmFBq9LUoj4XaFgloS/sar9kdUBkspCo0kR9xCMLvtS NY62rI9m+yyEFdNvwP5Vhf+v3T/rMuXHrKn/d+YmivG00GCjCE4eRkelZsN1iNss3lZ8 wSi+UA9v0Rlg8s2UCFEtT0BpPnlu36o20ZrpsuVZVPQ0l44u4z2HKBS+dqWteXUKIv0P +Z2Q== X-Forwarded-Encrypted: i=1; AJvYcCWKL5UF5QoAtd/f3UXZYOtmYUlp6r9xDo1Tzj7+N6Ply02rH8bnlIi6Zoxcgk5ghxt/Rd3QcLLCmQNAFW8=@vger.kernel.org X-Gm-Message-State: AOJu0YwQ+5Wy2XV3i9hoGwjdreVHwdy7s21ILo+SSrz765mKQTpgnHmo ahXHGjb8bI3HHuUK/leJYNrrmHkqsZG2QYXG+heVc3WE6pkKK7wzdqPZv5T3hejKxfNb55j41GC h11gUUet70z6XBX2k8juVgvxdamnMRtEL4OyWvaOwsLzqTu0VXvc6D2syRO1ccjtQN5g= X-Gm-Gg: ASbGncvVYSwUTooVa7bS6d4nIk2W7Og3PU4MX5NVoA+bJg3XccH3NR1bfNS/zjvlzsw phX3uKTV33TAm84KkTS8a9w6TWko6DdrTwzpOrooryvtszCt+dNU64CdXijUOMAWtNvEcK5iufe SEZFd8JThA3cZaCq1ZmmZV4qQOZGsoH5b0Rz7TysVZPs5FmI/oR0rHHwOTctkES3ScXVOgxEht8 RUVKK3JFpPNOs+o0kG3FBXdum+TyFNkrnh8sWSC7EXrWKu1rfE+Mu8GRxpnabRg1cEoEvQtSon+ 0eN8AIoMx7l2hYAp+JgljiIBTCyZsn2zQcIWjuBSoNeUHXTP+/ILzpRKn8hQVenoOlu876WAMjs = X-Received: by 2002:a17:90b:1b01:b0:32e:7277:9a81 with SMTP id 98e67ed59e1d1-33b51660588mr28605072a91.4.1760352852643; Mon, 13 Oct 2025 03:54:12 -0700 (PDT) X-Google-Smtp-Source: AGHT+IF/yZlRBooTIIXFKaInY/sJrf8yLLhlb+Jc44JB2qOxtQbkQ67CwNW9zuCTTxca9MrAB//Rbg== X-Received: by 2002:a17:90b:1b01:b0:32e:7277:9a81 with SMTP id 98e67ed59e1d1-33b51660588mr28605045a91.4.1760352852137; Mon, 13 Oct 2025 03:54:12 -0700 (PDT) Received: from hu-krichai-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-33b626403desm11662295a91.7.2025.10.13.03.54.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 13 Oct 2025 03:54:11 -0700 (PDT) From: Krishna Chaitanya Chundru Date: Mon, 13 Oct 2025 16:23:31 +0530 Subject: [PATCH v5 4/5] arm64: dts: qcom: x1e80100: Add opp-level to indicate PCIe data rates 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: <20251013-opp_pcie-v5-4-eb64db2b4bd3@oss.qualcomm.com> References: <20251013-opp_pcie-v5-0-eb64db2b4bd3@oss.qualcomm.com> In-Reply-To: <20251013-opp_pcie-v5-0-eb64db2b4bd3@oss.qualcomm.com> To: Viresh Kumar , Nishanth Menon , Stephen Boyd , "Rafael J. Wysocki" , Manivannan Sadhasivam , Lorenzo Pieralisi , =?utf-8?q?Krzysztof_Wilczy=C5=84ski?= , Rob Herring , Bjorn Helgaas , Bjorn Andersson , Konrad Dybcio , Krzysztof Kozlowski , Conor Dooley Cc: linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, Krishna Chaitanya Chundru X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1760352825; l=5084; i=krishna.chundru@oss.qualcomm.com; s=20230907; h=from:subject:message-id; bh=MfR1jV6eq/YYIA14Wj7rCxiMT+Ho24Flcb/t1rnKumY=; b=ppwjdO64XNEwf/jv5oUWPu9UGGyQbnkz72uUMal/pVv0HOjBB10u3PzB8mephbeZCQTvLz9ZX sPKjbX90MzQCJXHcIm1UurwUjoCSl01D4bRcEPMrrS33/ERfy1tfIeO X-Developer-Key: i=krishna.chundru@oss.qualcomm.com; a=ed25519; pk=10CL2pdAKFyzyOHbfSWHCD0X0my7CXxj8gJScmn1FAg= X-Proofpoint-ORIG-GUID: J9CmS8KzacWKFYXBTNtUxpWIhbNBvHUg X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMDEzMDAyMiBTYWx0ZWRfX/QmfBPMxalDY M2ftQA5jJJXNvegWqRg/y6yqbA/n+Rrx+/9cr2fK5+5DBtTRwlBd+7c6CnrQx6PKPvOuQdYwqVV OaSehhs8ADBf24RkWrtLAcUH09GWdjxdUrkGsXzJzxVGzA2067HnTKLFf/IiU7vnHsRuaoTXFTx ogqTcpy9rmAZPRWbaJCkXIfehZze1CyvMYtmChm1Ft5kL5iDZWiPSfziTiP3puBMl8Ll/kqBIhW Ryh8mCDEYb/VKKv7qZ+1xnx2IwFVSQzZi6dgxkb4k7EuBFFHlYccC/n8BMDAEpqJL47shDbUHgW qXYSfWqYqZZc4z8Oa1mF7BsYD0tRtu/UK+KwLn0JDjHpb6zJS3NL4oW1YKc+oS2kjWDOgfJijQg WWz6xh1yw/gCWeeGc1EcKISmxeB1hg== X-Authority-Analysis: v=2.4 cv=SfD6t/Ru c=1 sm=1 tr=0 ts=68ecda56 cx=c_pps a=vVfyC5vLCtgYJKYeQD43oA==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=IkcTkHD0fZMA:10 a=x6icFKpwvdMA:10 a=EUspDBNiAAAA:8 a=xTuWgevKKEmUOcCBws0A:9 a=QEXdDO2ut3YA:10 a=rl5im9kqc5Lf4LNbBjHf:22 X-Proofpoint-GUID: J9CmS8KzacWKFYXBTNtUxpWIhbNBvHUg X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1117,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-10-13_04,2025-10-06_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 clxscore=1015 adultscore=0 phishscore=0 lowpriorityscore=0 bulkscore=0 impostorscore=0 priorityscore=1501 spamscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2510020000 definitions=main-2510130022 The existing OPP table for PCIe is shared across different link configurations such as data rates 8GT/s x2 and 16GT/s x1. These configurations often operate at the same frequency, allowing them to reuse the same OPP entries. However, 8GT/s and 16 GT/s may have different RPMh votes which cannot be represented accurately when sharing a single OPP. To address this, introduce an `opp-level` to indicate the PCIe data rate and uniquely differentiate OPP entries even when the frequenc is the same. Although this platform does not currently suffer from this issue, the change is introduced to support unification across platforms. Append the opp level to name of the opp node to indicate both frequency and level. Signed-off-by: Krishna Chaitanya Chundru Acked-by: Manivannan Sadhasivam --- arch/arm64/boot/dts/qcom/x1e80100.dtsi | 98 +++++++++++++++++++++++++++---= ---- 1 file changed, 78 insertions(+), 20 deletions(-) diff --git a/arch/arm64/boot/dts/qcom/x1e80100.dtsi b/arch/arm64/boot/dts/q= com/x1e80100.dtsi index 51576d9c935decbc61a8e4200de83e739f7da814..6e931fbd409269be2fd1cc848bc= af0b4037bc793 100644 --- a/arch/arm64/boot/dts/qcom/x1e80100.dtsi +++ b/arch/arm64/boot/dts/qcom/x1e80100.dtsi @@ -3240,74 +3240,132 @@ &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>, pcie3_opp_table: opp-table { compatible =3D "operating-points-v2"; =20 - /* GEN 1 x1 */ - opp-2500000 { + /* 2.5GT/s x1 */ + opp-2500000-1 { opp-hz =3D /bits/ 64 <2500000>; required-opps =3D <&rpmhpd_opp_low_svs>; opp-peak-kBps =3D <250000 1>; + opp-level =3D <1>; }; =20 - /* GEN 1 x2 and GEN 2 x1 */ - opp-5000000 { + /* 2.5 GT/s x2 */ + opp-5000000-1 { opp-hz =3D /bits/ 64 <5000000>; required-opps =3D <&rpmhpd_opp_low_svs>; opp-peak-kBps =3D <500000 1>; + opp-level =3D <1>; }; =20 - /* GEN 1 x4 and GEN 2 x2 */ - opp-10000000 { + /* 2.5 GT/s x4 */ + opp-10000000-1 { opp-hz =3D /bits/ 64 <10000000>; required-opps =3D <&rpmhpd_opp_low_svs>; opp-peak-kBps =3D <1000000 1>; + opp-level =3D <1>; }; =20 - /* GEN 1 x8 and GEN 2 x4 */ - opp-20000000 { + /* 2.5 GT/s x8 */ + opp-20000000-1 { opp-hz =3D /bits/ 64 <20000000>; required-opps =3D <&rpmhpd_opp_low_svs>; opp-peak-kBps =3D <2000000 1>; + opp-level =3D <1>; }; =20 - /* GEN 2 x8 */ - opp-40000000 { + /* 5 GT/s x1 */ + opp-5000000-2 { + opp-hz =3D /bits/ 64 <5000000>; + required-opps =3D <&rpmhpd_opp_low_svs>; + opp-peak-kBps =3D <500000 1>; + opp-level =3D <2>; + }; + + /* 5 GT/s x2 */ + opp-10000000-2 { + opp-hz =3D /bits/ 64 <10000000>; + required-opps =3D <&rpmhpd_opp_low_svs>; + opp-peak-kBps =3D <1000000 1>; + opp-level =3D <2>; + }; + + /* 5 GT/s x4 */ + opp-20000000-2 { + opp-hz =3D /bits/ 64 <20000000>; + required-opps =3D <&rpmhpd_opp_low_svs>; + opp-peak-kBps =3D <2000000 1>; + opp-level =3D <2>; + }; + + /* 5 GT/s x8 */ + opp-40000000-2 { opp-hz =3D /bits/ 64 <40000000>; required-opps =3D <&rpmhpd_opp_low_svs>; opp-peak-kBps =3D <4000000 1>; + opp-level =3D <2>; }; =20 - /* GEN 3 x1 */ - opp-8000000 { + /* 8 GT/s x1 */ + opp-8000000-3 { opp-hz =3D /bits/ 64 <8000000>; required-opps =3D <&rpmhpd_opp_svs>; opp-peak-kBps =3D <984500 1>; + opp-level =3D <3>; + }; + + /* 8 GT/s x2 */ + opp-16000000-3 { + opp-hz =3D /bits/ 64 <16000000>; + required-opps =3D <&rpmhpd_opp_svs>; + opp-peak-kBps =3D <1969000 1>; + opp-level =3D <3>; + }; + + /* 8 GT/s x4 */ + opp-32000000-3 { + opp-hz =3D /bits/ 64 <32000000>; + required-opps =3D <&rpmhpd_opp_svs>; + opp-peak-kBps =3D <3938000 1>; + opp-level =3D <3>; + }; + + /* 8 GT/s x8 */ + opp-64000000-3 { + opp-hz =3D /bits/ 64 <64000000>; + required-opps =3D <&rpmhpd_opp_svs>; + opp-peak-kBps =3D <7876000 1>; + opp-level =3D <3>; }; =20 - /* GEN 3 x2 and GEN 4 x1 */ - opp-16000000 { + /* 16 GT/s x1 */ + opp-16000000-4 { opp-hz =3D /bits/ 64 <16000000>; required-opps =3D <&rpmhpd_opp_svs>; opp-peak-kBps =3D <1969000 1>; + opp-level =3D <4>; }; =20 - /* GEN 3 x4 and GEN 4 x2 */ - opp-32000000 { + /* 16 GT/s x2 */ + opp-32000000-4 { opp-hz =3D /bits/ 64 <32000000>; required-opps =3D <&rpmhpd_opp_svs>; opp-peak-kBps =3D <3938000 1>; + opp-level =3D <4>; }; =20 - /* GEN 3 x8 and GEN 4 x4 */ - opp-64000000 { + /* 16 GT/s x4 */ + opp-64000000-4 { opp-hz =3D /bits/ 64 <64000000>; required-opps =3D <&rpmhpd_opp_svs>; opp-peak-kBps =3D <7876000 1>; + opp-level =3D <4>; }; =20 - /* GEN 4 x8 */ - opp-128000000 { + /* 16 GT/s x8 */ + opp-128000000-4 { opp-hz =3D /bits/ 64 <128000000>; required-opps =3D <&rpmhpd_opp_svs>; opp-peak-kBps =3D <15753000 1>; + opp-level =3D <4>; }; }; =20 --=20 2.34.1 From nobody Wed Dec 17 14:37:28 2025 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 62782305968 for ; Mon, 13 Oct 2025 10:54:20 +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=1760352861; cv=none; b=KDPRqz0Jy4Fdl9Fr7h2iSCZEEvE0FyPL8cAAKGJNlY1rHFYfdVsb9+1++yiQzux1Y9K53y1MLSQrI8InTaPfpB8eC3d5ZCMBruSPpKCy/oYyjxieE6H+m+lGBuyPfUx1C4xWWG/a60fcQyMBC4hT6oamLmXzhQe6/aO3j8v8Clw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760352861; c=relaxed/simple; bh=s8aliwbSN8aDBycb6R1r4K4cCFRZ355dOg0hIcHGa6Y=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=H3Zohz7Nr5mP0TQacwkV+mVwkaUfcnSxnwCPWywAv6C7CDj4m2StJEQJFi5HbzA6GAsg5Dn4aztphKfpyioD3KWhJ4t71xwvUYQZ0GfNztQ2dh4PtYVmGyQSbTW+a9ldeQY1sjPX9YtX54vUiXE3L+jmyS/61melFaCG1J296Pg= 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=jdb2ehCv; 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="jdb2ehCv" Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 59D4qjX6023372 for ; Mon, 13 Oct 2025 10:54:19 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= dzqy/pPgafXyIrZ6tRmMgMR1smWL+TClMm1JmbNZJBg=; b=jdb2ehCvapwFCoKK TZVZmSWkpxlOqrwE5nrUK09QmyWMqisZYE+hfs8sREQhMACN4DMnwT4GAsHDma7w G1XB8m/oFdgInMa7P7hqpvof7CcQF8IAMcPAQqnEd3yh+dLy1ApibyzgyP8OzLN7 PgdpAlOwTVCEe5seGngB5VOLe5XtjG5aOk83Jm8snUFw7/8Wnad93AM5/YwrGK0c GQYUlFcDSNuSVlr+8wGQ1btjqfaokBQtwo/8MlndNwcmGq2lJ+WZIRD7Z5oyMoYc Pvoh0B4EDcWGZVZckgBjvQSH84o2PRkIQ6JPWwG+QKU3ryaF/sRbuFyu6l6M5yUJ pzOpfQ== Received: from mail-pg1-f199.google.com (mail-pg1-f199.google.com [209.85.215.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 49rtrt11xr-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Mon, 13 Oct 2025 10:54:19 +0000 (GMT) Received: by mail-pg1-f199.google.com with SMTP id 41be03b00d2f7-b4c72281674so6056147a12.3 for ; Mon, 13 Oct 2025 03:54:19 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760352858; x=1760957658; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=dzqy/pPgafXyIrZ6tRmMgMR1smWL+TClMm1JmbNZJBg=; b=ky0s8wdMfOujwjm2yKaErYFGkpVZhUP82Trq7pY25wRfSb1Q9oghfZjCJJ14ed3qLs nVqns3kT72O8oNX/9jdMkf9EXmh2jL9tNBEwqbyMWHixf1pyfuxpyw5G9vbEr5PKfzDp QCLaLkfJk9m8XSo3PVUlSsW3pAoCQ1aXHgYV0TkYJlCcFmg5RG7ENWiIUkdPYpbtKhfx HooaYTSYGTcq93PNGb4xugVFGLma701xfvwB3kvd7IEts6twsWX9VYOyA3QpCJ8c8OnK cP+qGgWoWIKSKJpz2RNmFIZptXXtitwguTogDoj97VcEUNeRaO49h/JQ20LUXjurKFUi 68iw== X-Forwarded-Encrypted: i=1; AJvYcCUbT8fPi5VEl/W3+Y5j+lxbQe52JLjBSphr5opr9sV1FFlQwwIXE9rQglL+W2U3796p68F1IApoEfBVaI8=@vger.kernel.org X-Gm-Message-State: AOJu0Yw1PYYZhQFz+y5YsefczrbF9GXlOyVJITue7AijnLFTdyWbrLpz TxzPF1LC+ozwDi2iwFt+MzuqV9a0pRlSVmCn6sBiqzgZDu/QDC51TYO8QeT5hTyXbb6XO9+IOEv /q3ftJ6SM5/Ql6BhcrJLl5cgQ6PL6kegKISS6YtdXTXx35DL7l6nTHd2gnOn9IFV+tXM= X-Gm-Gg: ASbGncvWIjOr1ArZ73g8nRotYN/zs9qbAeVjCnFsP/RPOkFlSwSVHcmUGPXVALQ6BYQ NM9VyR6EhUFs+bw7+KSDBMC1UZUrLv409qieWFRpXZDNr7cnr3kvHvnwZILmooi+z2Ol4lCmmLN dG/uklThXLVbPgDDpzTGVCcHYqyKhVAtJYyCVoup0nHgee80eVY255YOx82jeKGdshRhhI+ZQEy eY2CUosW91M0nNYRlFLAlXzCxYpcMosWbhVOqweD2g46QNk756wtEskUnCjZIpph7M3gbLbtV+K LQsigCe2LVVzuN6mI7Rp2esVzatiqJdsfZPcDDjIyqaonCHdmcjKOSmsb09kWwk/ZxwIlp6F130 = X-Received: by 2002:a05:6a20:914f:b0:2c4:c85a:7da5 with SMTP id adf61e73a8af0-32da81345e5mr29088602637.6.1760352858004; Mon, 13 Oct 2025 03:54:18 -0700 (PDT) X-Google-Smtp-Source: AGHT+IE2Dc1sV8qzTg3yBNUQrWbsJJQp0QNojNq7MP48Dww6Xlvl/hVhSX+o5b9dp/M0VJWQ68tALQ== X-Received: by 2002:a05:6a20:914f:b0:2c4:c85a:7da5 with SMTP id adf61e73a8af0-32da81345e5mr29088557637.6.1760352857498; Mon, 13 Oct 2025 03:54:17 -0700 (PDT) Received: from hu-krichai-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-33b626403desm11662295a91.7.2025.10.13.03.54.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 13 Oct 2025 03:54:17 -0700 (PDT) From: Krishna Chaitanya Chundru Date: Mon, 13 Oct 2025 16:23:32 +0530 Subject: [PATCH v5 5/5] PCI: qcom: Use frequency and level based OPP lookup 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: <20251013-opp_pcie-v5-5-eb64db2b4bd3@oss.qualcomm.com> References: <20251013-opp_pcie-v5-0-eb64db2b4bd3@oss.qualcomm.com> In-Reply-To: <20251013-opp_pcie-v5-0-eb64db2b4bd3@oss.qualcomm.com> To: Viresh Kumar , Nishanth Menon , Stephen Boyd , "Rafael J. Wysocki" , Manivannan Sadhasivam , Lorenzo Pieralisi , =?utf-8?q?Krzysztof_Wilczy=C5=84ski?= , Rob Herring , Bjorn Helgaas , Bjorn Andersson , Konrad Dybcio , Krzysztof Kozlowski , Conor Dooley Cc: linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, Krishna Chaitanya Chundru X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1760352825; l=2164; i=krishna.chundru@oss.qualcomm.com; s=20230907; h=from:subject:message-id; bh=s8aliwbSN8aDBycb6R1r4K4cCFRZ355dOg0hIcHGa6Y=; b=a9LPyMNvzxPSP5d74h2NSW3Y7ZtnU8wBZN6ChdVmntSo234L2UuCKTBXfZNDbzGbpK6SvrjLI wQHRfMY25SRDQHvbRmR1981JYMJhkbcL3Omgj8+AFkHcJdOnaHfsYos X-Developer-Key: i=krishna.chundru@oss.qualcomm.com; a=ed25519; pk=10CL2pdAKFyzyOHbfSWHCD0X0my7CXxj8gJScmn1FAg= X-Proofpoint-ORIG-GUID: qzTyO_Yv5rNrICcLeZwAxq1zTIiMhbyk X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMDEzMDAyMiBTYWx0ZWRfX8acEGETcTOdn xek0LbYAY7mnYWRvUOlTwl/Fh8/qfcmF6ISfh+D+InLyENOmB6hFpwIBYDsugDagiAUaun7dKv5 NwBxH6gBONSkPnCBT2p2hRK98pspRw7d7tUtJKPPW8Y0JiUgQ2rCN5MSpFUEXNOxXriqNagMZKB NXpXelbfM9kW9esdr5LM5uWew/3pPZtJeB/M0AX0A2BWrJ9lbZXCtF13/MK8VsoUbtqQoZCstKN XmKyDTJwvfeNe3tOm5UetWISY8s7BZa/zr6/SKQzTTzIZ7M4uO+txUCm1aUqCC6kJcoxLbWVdOH 7nljPjfHda02wAsW2RhpQatCWRI7GA6Ae+VHZ+svziGDG06+dIgrrkmpNHUvWdt2957fx77x/3M x9SiY3CROQkn28BeB3+mR+0Lg22eBw== X-Authority-Analysis: v=2.4 cv=SfD6t/Ru c=1 sm=1 tr=0 ts=68ecda5b cx=c_pps a=Oh5Dbbf/trHjhBongsHeRQ==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=IkcTkHD0fZMA:10 a=x6icFKpwvdMA:10 a=EUspDBNiAAAA:8 a=kXhGf0cxdCgfIYue-YsA:9 a=QEXdDO2ut3YA:10 a=_Vgx9l1VpLgwpw_dHYaR:22 X-Proofpoint-GUID: qzTyO_Yv5rNrICcLeZwAxq1zTIiMhbyk X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1117,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-10-13_04,2025-10-06_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 clxscore=1015 adultscore=0 phishscore=0 lowpriorityscore=0 bulkscore=0 impostorscore=0 priorityscore=1501 spamscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2510020000 definitions=main-2510130022 PCIe link configurations such as 8GT/s x2 and 16GT/s x1 may operate at the same frequency but differ in other characteristics like RPMh votes. The existing OPP selection based solely on frequency cannot distinguish between such cases. In such cases, frequency alone is insufficient to identify the correct OPP. Use the newly introduced dev_pm_opp_find_key_exact() API to match both frequency and level when selecting an OPP, here level indicates PCIe data rate. To support older device tree's where opp-level is not defined, check if opp-level is present or not using dev_pm_opp_find_level_exact(). if not present fallback to frequency only match. Signed-off-by: Krishna Chaitanya Chundru Acked-by: Manivannan Sadhasivam --- drivers/pci/controller/dwc/pcie-qcom.c | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/drivers/pci/controller/dwc/pcie-qcom.c b/drivers/pci/controlle= r/dwc/pcie-qcom.c index 805edbbfe7eba496bc99ca82051dee43d240f359..03b3a1d3a40359a0c70704873b7= 2539ffa43e722 100644 --- a/drivers/pci/controller/dwc/pcie-qcom.c +++ b/drivers/pci/controller/dwc/pcie-qcom.c @@ -1565,6 +1565,7 @@ static void qcom_pcie_icc_opp_update(struct qcom_pcie= *pcie) { u32 offset, status, width, speed; struct dw_pcie *pci =3D pcie->pci; + struct dev_pm_opp_key key; unsigned long freq_kbps; struct dev_pm_opp *opp; int ret, freq_mbps; @@ -1592,8 +1593,20 @@ static void qcom_pcie_icc_opp_update(struct qcom_pci= e *pcie) return; =20 freq_kbps =3D freq_mbps * KILO; - opp =3D dev_pm_opp_find_freq_exact(pci->dev, freq_kbps * width, - true); + opp =3D dev_pm_opp_find_level_exact(pci->dev, speed); + if (IS_ERR(opp)) { + /* opp-level is not defined use only frequency */ + opp =3D dev_pm_opp_find_freq_exact(pci->dev, freq_kbps * width, + true); + } else { + /* put opp-level OPP */ + dev_pm_opp_put(opp); + + key.freq =3D freq_kbps * width; + key.level =3D speed; + key.bw =3D 0; + opp =3D dev_pm_opp_find_key_exact(pci->dev, &key, true); + } if (!IS_ERR(opp)) { ret =3D dev_pm_opp_set_opp(pci->dev, opp); if (ret) --=20 2.34.1