From nobody Sat Oct 4 05:02:45 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 387872D9788 for ; Wed, 20 Aug 2025 08:29:03 +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=1755678546; cv=none; b=kWQOO1oIM6eMrrOBTW4cSv9Tp6p6EXLbAGejMuK+PkOzk1dydR9+htin87uVW7arjLJscDil08LYG45BjTF26OUERzConCFnNg6qm6Ef4yA9SmGGiAJ+Qz/KasI2VF4oJCklyjVjTB/1gmfpe/SAH2SGMiiSBg249heIaPbwqhc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755678546; c=relaxed/simple; bh=EhY4xuCpMEih/URp87duQiIBPS0DHeaRqdF08n/fKgU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=JT1rnM175uNLUnVkvODkL1SDexKVei/CmTosLKL6tSGTFVI8c7IkE142c5ouNXOiFHp+KM8MqIfVtGhEfzWAMIVwWZsP8OFvGg8kjBIWLZgzeQSIyHgJw4Uw95K0gT1RybEjGHD3uC0gmsS1EHMQbwPGSYEQrEX37/u4IQc3G+I= 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=hlYyZTWg; 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="hlYyZTWg" Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 57K1pBL2031514 for ; Wed, 20 Aug 2025 08:29: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= B8QMJ9vpF0zlLWqRcis22pXoAYapEZg+2UYOajBm5j4=; b=hlYyZTWgKQbBrnIY aYZRzEBxDg7/5N2DlZRq28sgUZEy4V5XiJKfg0RxIZQI8ZmGHXilBgshcUFHhfs8 8VelqPPmx8itW3ZKVfCwUTRHXzcN+c4pt8vhAFCl8cPHq1yuDJx6CWOY1wKdwzdy /WdLH2K+yxdNR0R3sg8q6oMiw8MTJw7Rcw3BJE2yyBagSckqyqiCCgheGVrDZ/bF tTUjhS6m6oU955Li8iuo6Y7bUAFBySBYFNDgDBrrDm5Uc0n16YcV+xTn/GJHePKU CK4UxtLvGQ90xchskXMQ5/xLMWZlqCCD0fVoKDUxAabHBSgr4btfY2o7BUCx42ik aFI0Uw== 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 48n52dgy4g-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Wed, 20 Aug 2025 08:29:03 +0000 (GMT) Received: by mail-pg1-f199.google.com with SMTP id 41be03b00d2f7-b47174c667aso5578473a12.2 for ; Wed, 20 Aug 2025 01:29:02 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755678542; x=1756283342; 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=B8QMJ9vpF0zlLWqRcis22pXoAYapEZg+2UYOajBm5j4=; b=IgstByDYJhLKVpvOFcz8rPprWdH/m3lgwJvwZ33J4/2megCruCqOap+bC4l85k2rpC D9qy7g+nGc6+NHlMW+vFSCPnsROf8AHklzW6xP9cugI4RaoZMs+Se+6QfqszIQv7aLmb vvnU6baSZuBUXYrr6K+Leilx5HzfJVFJzlFaIV0ph5irCGkOGUSLQj7JWOf1cCf+GgaI 4fagcfekafoXIxTjvU6n68O0+sfDwDUEiDYxK+zlD79FuKgg83dOlW2wRTOaesN/ZfiQ Wnmr+tqvwMG67INPVA9Aihk9mqi4JotuRkMpUBIHLvVUlE6DnRpP8JRoSnOhZcBvWhjk SsQg== X-Forwarded-Encrypted: i=1; AJvYcCUK+3ylCFul+wSg7rZWyWOEu7cLPl5CWBELyAiuiS7HyL0Ji3eKcCLDk+mGZhSQ2rnaf2+K+jW/R+SIGSA=@vger.kernel.org X-Gm-Message-State: AOJu0Yz4bcqoH0tuIrnCt3ua1S74c3CH/3k29o0vckZtZEaFErhbyMaL bekvA4NOdp+2l1Iw5gaQWHq7r9flpa/WfA2waz+EPF4h0SXv2DX/l/DruZiAghjts4jwr5zaxSI yrcB4yd6VqpdnWOrUOL7G5d+ZVi+/Tv4FuJ+JoA4PTgOzptLR3o4CZ+w+sNuDkdGnZPc= X-Gm-Gg: ASbGncvwlqGpsE/apWh33uLCANgtjZ6OuRsQNX13zPFBV4XC/wjroYOAnAVLL/dcEtA Dk1hqaqbhuzqmv+gsCjX8YJgDSaISEc0BRV94irEJOrR8E76NYFl0fBJRd6yKvUC5nF/9K8fHPG vGJLvZMbOE/2kMz8fubpuyYL7T2TzV3VzyUt91L3tHdYp56G9h+jZzSx42nKMOkCXjGmGUuC1aS QEUWJcZX41hfeYcV6tFEdCG3bXPAfWKNRzjerM6NlkQwFmdFPkU1NifA74D1ZIpfDiBk09+Znqb gC1IwkWjXpxWN51ery5KvHiDgJe59yOJEWyf4j3Kk+t/uO+MkdU9c+XxMmWBDFB0XGdG4Cgo6so = X-Received: by 2002:a17:903:41ca:b0:234:1163:ff99 with SMTP id d9443c01a7336-245ef2588ebmr31909955ad.43.1755678541663; Wed, 20 Aug 2025 01:29:01 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEbx7fYvpZPIFT5sJ2Mt+iC9p5jnxfxvgdPBTlz4tSTL4HOYUE3N1nRxKwMFIvDBpuOLZ8YwQ== X-Received: by 2002:a17:903:41ca:b0:234:1163:ff99 with SMTP id d9443c01a7336-245ef2588ebmr31909445ad.43.1755678541147; Wed, 20 Aug 2025 01:29:01 -0700 (PDT) Received: from hu-krichai-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-245ed53e779sm19037735ad.160.2025.08.20.01.28.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 Aug 2025 01:29:00 -0700 (PDT) From: Krishna Chaitanya Chundru Date: Wed, 20 Aug 2025 13:58:47 +0530 Subject: [PATCH v4 1/7] OPP: Add support to find OPP for a set of keys 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: <20250820-opp_pcie-v4-1-273b8944eed0@oss.qualcomm.com> References: <20250820-opp_pcie-v4-0-273b8944eed0@oss.qualcomm.com> In-Reply-To: <20250820-opp_pcie-v4-0-273b8944eed0@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=1755678529; l=7390; i=krishna.chundru@oss.qualcomm.com; s=20230907; h=from:subject:message-id; bh=EhY4xuCpMEih/URp87duQiIBPS0DHeaRqdF08n/fKgU=; b=2dHOB34fD3FM1XRFbvrFZui4HXg7KF3A/yjzatOHxOz3uegFFYzt6cIRvsbaV9VaKV9FRiVNa jnvM2zx3Xi8Bwx+o6bbtDYCL7iuXsjVi2sy7XYzwXXcxc9oWKvzMqC8 X-Developer-Key: i=krishna.chundru@oss.qualcomm.com; a=ed25519; pk=10CL2pdAKFyzyOHbfSWHCD0X0my7CXxj8gJScmn1FAg= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwODIwMDAxMyBTYWx0ZWRfX/e/LfuU8nOFn USDclPggt5MaE6vy5fR8jZGE8uCoEv6QSW6lDtUg79S/SjN135/kYyIQvjlDMsK+oWV6Y9+gG9z sbdMaeORt771pKfdqBaschJtBLfyazvTiZE103MwDbfP0AU8atll7Ql9RjAU/Ven0NqZsnQ02vx ejxkdQOMd9jHgCI7dRqEMWhyG4MCJlfQkcguDsY15WcB/HPqjo+ua1STI3SSnyxtBbffDN27kqK ag6VdsdaGwL/HJpxxhfp7XiZR9aKXuaStZ8kSXVRs3/tRnok9RhN6JWTk6Lr5LmPUBbfu+jFvru qA6kYsxF192PydCZulN/rviotsXKAloCKSeb3aMUq5qa2gbVDscRdKSqfZClSQ6vx/+1M6tOPad 7Zx3hT5tU2fMZhSbwbLK4kMDYJiYrw== X-Proofpoint-ORIG-GUID: ykYCvS9n5uaRGTs4IgqCAO_5St8RaFHl X-Proofpoint-GUID: ykYCvS9n5uaRGTs4IgqCAO_5St8RaFHl X-Authority-Analysis: v=2.4 cv=SoXJKPO0 c=1 sm=1 tr=0 ts=68a5874f cx=c_pps a=Oh5Dbbf/trHjhBongsHeRQ==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=76l3OPsZB85xAofE:21 a=IkcTkHD0fZMA:10 a=2OwXVqhp2XgA:10 a=EUspDBNiAAAA:8 a=_oSDH_OZDe2PRR-3SxkA:9 a=QEXdDO2ut3YA:10 a=_Vgx9l1VpLgwpw_dHYaR:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-08-20_03,2025-08-20_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 spamscore=0 adultscore=0 lowpriorityscore=0 bulkscore=0 priorityscore=1501 suspectscore=0 malwarescore=0 phishscore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2508110000 definitions=main-2508200013 Some clients, such as PCIe, may operate at the same clock frequency across different data rates by varying link width. In such cases, frequency alone is not sufficient to uniquely identify an OPP. To support these scenarios, introduce a new API dev_pm_opp_find_key_exact() that allows OPP lookup with different set of keys like freq, level & bandwidth. Signed-off-by: Krishna Chaitanya Chundru --- drivers/opp/core.c | 97 ++++++++++++++++++++++++++++++++++++++++++++++= ++++ include/linux/pm_opp.h | 30 ++++++++++++++++ 2 files changed, 127 insertions(+) diff --git a/drivers/opp/core.c b/drivers/opp/core.c index edbd60501cf00dfd1957f7d19b228d1c61bbbdcc..a36c3daac39cd0bdd2a1f7e9bad= 5b92f0c756153 100644 --- a/drivers/opp/core.c +++ b/drivers/opp/core.c @@ -476,6 +476,15 @@ static unsigned long _read_bw(struct dev_pm_opp *opp, = int index) return opp->bandwidth[index].peak; } =20 +static unsigned long _read_opp_key(struct dev_pm_opp *opp, int index, stru= ct dev_pm_opp_key *key) +{ + key->bw =3D opp->bandwidth ? opp->bandwidth[index].peak : 0; + key->freq =3D opp->rates[index]; + key->level =3D opp->level; + + return true; +} + /* Generic comparison helpers */ static bool _compare_exact(struct dev_pm_opp **opp, struct dev_pm_opp *tem= p_opp, unsigned long opp_key, unsigned long key) @@ -509,6 +518,21 @@ static bool _compare_floor(struct dev_pm_opp **opp, st= ruct dev_pm_opp *temp_opp, return false; } =20 +static bool _compare_opp_key_exact(struct dev_pm_opp **opp, struct dev_pm_= opp *temp_opp, + struct dev_pm_opp_key opp_key, struct dev_pm_opp_key key) +{ + bool level_match =3D (key.level =3D=3D OPP_LEVEL_UNSET || opp_key.level = =3D=3D key.level); + bool freq_match =3D (key.freq =3D=3D 0 || opp_key.freq =3D=3D key.freq); + bool bw_match =3D (key.bw =3D=3D 0 || opp_key.bw =3D=3D key.bw); + + if (freq_match && level_match && bw_match) { + *opp =3D temp_opp; + return true; + } + + return false; +} + /* Generic key finding helpers */ static struct dev_pm_opp *_opp_table_find_key(struct opp_table *opp_table, unsigned long *key, int index, bool available, @@ -541,6 +565,38 @@ static struct dev_pm_opp *_opp_table_find_key(struct o= pp_table *opp_table, return opp; } =20 +static struct dev_pm_opp *_opp_table_find_opp_key(struct opp_table *opp_ta= ble, + struct dev_pm_opp_key *key, bool available, + unsigned long (*read)(struct dev_pm_opp *opp, int index, + struct dev_pm_opp_key *key), + bool (*compare)(struct dev_pm_opp **opp, struct dev_pm_opp *temp_opp, + struct dev_pm_opp_key opp_key, struct dev_pm_opp_key key), + bool (*assert)(struct opp_table *opp_table, unsigned int index)) +{ + struct dev_pm_opp *temp_opp, *opp =3D ERR_PTR(-ERANGE); + struct dev_pm_opp_key temp_key; + + /* Assert that the requirement is met */ + if (!assert(opp_table, 0)) + return ERR_PTR(-EINVAL); + + guard(mutex)(&opp_table->lock); + + list_for_each_entry(temp_opp, &opp_table->opp_list, node) { + if (temp_opp->available =3D=3D available) { + read(temp_opp, 0, &temp_key); + if (compare(&opp, temp_opp, temp_key, *key)) { + /* Increment the reference count of OPP */ + *key =3D temp_key; + dev_pm_opp_get(opp); + break; + } + } + } + + return opp; +} + static struct dev_pm_opp * _find_key(struct device *dev, unsigned long *key, int index, bool availabl= e, unsigned long (*read)(struct dev_pm_opp *opp, int index), @@ -632,6 +688,47 @@ struct dev_pm_opp *dev_pm_opp_find_freq_exact(struct d= evice *dev, } EXPORT_SYMBOL_GPL(dev_pm_opp_find_freq_exact); =20 +/** + * dev_pm_opp_find_key_exact() - Search for an exact OPP key + * @dev: Device for which the OPP is being searched + * @key: OPP key to match + * @available: true/false - match for available OPP + * + * Search for an exact match the OPP key in the OPP table. + * + * Return: matching *opp, else returns ERR_PTR in case of error and should + * be using IS_ERR. Error return values can be: + * EINVAL: for bad pointer + * ERANGE: no match found for search + * ENODEV: if device not found in list of registered devices + * + * Note: 'available' is a modifier for the search. If 'available'=3Dtrue, + * then the match is for exact matching key and is available in the stored + * OPP table. If false, the match is for exact key which is not available. + * + * This provides a mechanism to enable an OPP which is not available curre= ntly + * or the opposite as well. + * + * The callers are required to call dev_pm_opp_put() for the returned OPP = after + * use. + */ +struct dev_pm_opp *dev_pm_opp_find_key_exact(struct device *dev, + struct dev_pm_opp_key key, + bool available) +{ + struct opp_table *opp_table __free(put_opp_table) =3D _find_opp_table(dev= ); + + if (IS_ERR(opp_table)) { + dev_err(dev, "%s: OPP table not found (%ld)\n", __func__, + PTR_ERR(opp_table)); + return ERR_CAST(opp_table); + } + + return _opp_table_find_opp_key(opp_table, &key, available, _read_opp_key, + _compare_opp_key_exact, assert_single_clk); +} +EXPORT_SYMBOL_GPL(dev_pm_opp_find_key_exact); + /** * dev_pm_opp_find_freq_exact_indexed() - Search for an exact freq for the * clock corresponding to the index diff --git a/include/linux/pm_opp.h b/include/linux/pm_opp.h index cf477beae4bbede88223566df5f43d85adc5a816..5d244bf974891d55b5e21ca9459= c147c7223b9b0 100644 --- a/include/linux/pm_opp.h +++ b/include/linux/pm_opp.h @@ -98,6 +98,25 @@ struct dev_pm_opp_data { unsigned long u_volt; }; =20 +/** + * struct dev_pm_opp_key - Key used to identify OPP entries + * @freq: Frequency in Hz. Use 0 if frequency is not to be matched. + * @level: Performance level associated with the OPP entry. + * Use OPP_LEVEL_UNSET if level is not to be matched. + * @bw: Bandwidth associated with the OPP entry. + * Use 0 if bandwidth is not to be matched. + * + * This structure is used to uniquely identify an OPP entry based on + * frequency, performance level, and bandwidth. Each field can be + * selectively ignored during matching by setting it to its respective + * NOP value. + */ +struct dev_pm_opp_key { + unsigned long freq; + unsigned int level; + u32 bw; +}; + #if defined(CONFIG_PM_OPP) =20 struct opp_table *dev_pm_opp_get_opp_table(struct device *dev); @@ -131,6 +150,10 @@ struct dev_pm_opp *dev_pm_opp_find_freq_exact(struct d= evice *dev, unsigned long freq, bool available); =20 +struct dev_pm_opp *dev_pm_opp_find_key_exact(struct device *dev, + struct dev_pm_opp_key key, + bool available); + struct dev_pm_opp * dev_pm_opp_find_freq_exact_indexed(struct device *dev, unsigned long freq, u32 index, bool available); @@ -289,6 +312,13 @@ static inline struct dev_pm_opp *dev_pm_opp_find_freq_= exact(struct device *dev, return ERR_PTR(-EOPNOTSUPP); } =20 +static inline struct dev_pm_opp *dev_pm_opp_find_key_exact(struct device *= dev, + struct dev_pm_opp_key key, + bool available) +{ + return ERR_PTR(-EOPNOTSUPP); +} + static inline struct dev_pm_opp * dev_pm_opp_find_freq_exact_indexed(struct device *dev, unsigned long freq, u32 index, bool available) --=20 2.34.1 From nobody Sat Oct 4 05:02:45 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 228B12D9ED7 for ; Wed, 20 Aug 2025 08:29: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=1755678552; cv=none; b=suO3UqT2d0lzTuttPzb6ylox3UvaUMXq80m1i743/wXkeYAmkaz2WGTciZjJy5pOB0BLpLBx/8Wz4cIGC9J7MECfwBx0IcbpsAIsbTFq3IKIcEQTokqNSqpM8E2SzcPvQ8qR6cBXmdvIvlrxRjbsT6gdl2X/VyCpKm838uErY90= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755678552; c=relaxed/simple; bh=qbiTA97ecG75CN8dtvPjbRcNXFdrEC8SJKen2afmr8Y=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=VKsysA1xxjZAlMwen3hTJLCsAxh3TqWX/355fGU3Bt9FLuMksgaxNhgpKdR7xcGbqzSFBYJ+7TFcenZc4tV7sAzo5RpjPH4XNGP7hshumHPChV7kfcLf9bI3+2ywAnEKuoNiKqnQ43WKYi5FOe7glXFleKAG/QVn5sesVmkpv5M= 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=DhSXmS1D; 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="DhSXmS1D" Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 57K1od2M027713 for ; Wed, 20 Aug 2025 08:29:09 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= wWW4BGFpCWnZEZLf1V0C0XICc4F6I83lE+aOEu8pGoQ=; b=DhSXmS1D2tEcfEs+ 0F1dr8C9vF75Db1WZpcBehjJyqnZDzAmxIQ/2eeLoQGP3x6SaOX9iU1elAFGoZY3 Pd787xDJ86WbgVE8OhdGxRlX+Xt4F6zGna6qkpocWZNJ4s0BjNSxlGG3MCxP1mmt jwioZudGCfVFco/FfO6AqEi7BpmFOVrdoTRbA8FncN/Dvg7ScApr6WwtPnf/S++l Zq+BHogpGSttwdOaZWk4hY1IydOIi2Is880jq365zlQ0o3OWbOdlBkBRA1otn8wa fvaRxnSk/vG+TKCkCNqzgO+cWBXmy5sIwl/Ii/hdtSNUhi5Ka40LJYFtGlgRNnFA K/lB4g== Received: from mail-pl1-f200.google.com (mail-pl1-f200.google.com [209.85.214.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 48n52arxtf-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Wed, 20 Aug 2025 08:29:08 +0000 (GMT) Received: by mail-pl1-f200.google.com with SMTP id d9443c01a7336-244581ce388so142171405ad.2 for ; Wed, 20 Aug 2025 01:29:08 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755678547; x=1756283347; 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=wWW4BGFpCWnZEZLf1V0C0XICc4F6I83lE+aOEu8pGoQ=; b=p/Ovz1aflp4Ikz9LEQNjaa9OZbe1ywtJzh5/JEwB6hUx2KPFGm81ZZJkjkHOfsuKRG zktQkEtsKb/YA3FoD6o7So5SUzFQ3YhoOPLEhk9u4yC4WMjzfJlgLN6wg5bWHek9JUnB OCBHMvkTUdPQYVxrl+3/7qb/O8KjhoJrFbVlvLn11W5iATnMTKLZG6yZ74HrN36pxwBj P4E8osGT8aOwrC7Y1MNViuBIhnf5dD72KBZghRAhJGn4oOp/Kmq42cPUUQN+WKSoPZ1B aGos1ym0Fy65oABu+8GJVsFlnNOcUsoY+n7chK6BgXy5jloVYfOXk/DIPWNuEgT+tO8l d4EQ== X-Forwarded-Encrypted: i=1; AJvYcCUM99UgBwDB36x5JBx6mFF+3l+Rc4kyUGwWX5MakdOa7cdeJqkLbetKjOyYgmnEcnTbw7QkLRyo+bgaWyw=@vger.kernel.org X-Gm-Message-State: AOJu0YwPEBseSwVLPEBJU60Mk4fX+BEu2NvXj7UFuM9MDpmLNR5q4WD4 YjWNUcd8huiCby0F3NRcMgQ60V5kd948cSTaknh0bHuqdvLgsTdk6erBmeLv/S+T9+jJpJlQJ+0 baVdDd9HEy3hw8BdUf3Uoiyv6PqbWKlOSYhu0Hz77V6sbJ1hYtDCuTDQF/QfS9rEAJD4= X-Gm-Gg: ASbGncv7JwoeOWhvj9MAmkE5jnRMt/pyXSi3W/HdP6ZIvrOh5jyJtkGX4/lxDn1JUa6 bqT6SHvmqKkb8TOMQj8Sy+67cqUj2LG+EzFXnOy5VHZTAHyyeL4CGdY9aJ3VOf+GebC/Id7qoE1 Pt2URbOAxYirkztORuax9YdqCv07LRJx7hNMLKj/QjFMQe8P3z28GHNf4UUxGfiNXMcyzjA8PCX zgvHj6WSLK1aymI0JeQzf0VxzOpwPRFFIn/ddcbqQyy/ewMnLs1GlYU6OC6RqGizct7fKFb3qzQ h/zHb/+BuUV9xIsEXZl4L5Evo0MTDy9abgQBMhobPansNEf/HYBkJZXqZXtu2lwVaEYC3cSdgU0 = X-Received: by 2002:a17:902:ec88:b0:240:a430:91d with SMTP id d9443c01a7336-245ef0d5915mr22618685ad.10.1755678547495; Wed, 20 Aug 2025 01:29:07 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFSJ1H1k68/Z9d58rrQY87Pvbazso9gHhcBZnMUte8gdhBHonHKpDa9vvaIPOQgp3qW13nehA== X-Received: by 2002:a17:902:ec88:b0:240:a430:91d with SMTP id d9443c01a7336-245ef0d5915mr22618395ad.10.1755678546826; Wed, 20 Aug 2025 01:29:06 -0700 (PDT) Received: from hu-krichai-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-245ed53e779sm19037735ad.160.2025.08.20.01.29.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 Aug 2025 01:29:06 -0700 (PDT) From: Krishna Chaitanya Chundru Date: Wed, 20 Aug 2025 13:58:48 +0530 Subject: [PATCH v4 2/7] OPP: Move refcount and key update for readability in _opp_table_find_key() 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: <20250820-opp_pcie-v4-2-273b8944eed0@oss.qualcomm.com> References: <20250820-opp_pcie-v4-0-273b8944eed0@oss.qualcomm.com> In-Reply-To: <20250820-opp_pcie-v4-0-273b8944eed0@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=1755678529; l=1497; i=krishna.chundru@oss.qualcomm.com; s=20230907; h=from:subject:message-id; bh=qbiTA97ecG75CN8dtvPjbRcNXFdrEC8SJKen2afmr8Y=; b=Y2kKzNaAKkSTFkX+ee44JG1EL0b6zaOZsUtgDls6JWW7HqrCg8Dons6oSWblDqtIqytD7X1iJ PylRDO/5ugsA96VHM0f7uTAOTYikgrV1LorOMCRMWAuPEYWHOKoTpC1 X-Developer-Key: i=krishna.chundru@oss.qualcomm.com; a=ed25519; pk=10CL2pdAKFyzyOHbfSWHCD0X0my7CXxj8gJScmn1FAg= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwODIwMDAxMyBTYWx0ZWRfX+I6WD6N5WK3l L20mk2ostcLLnGtyjVbyaK7UpJIaxh2U4dIRTE+MwNHytCMs+N+CgfhF8VAYo4xd0MFhQ0zyo3b 3A3oDspvex9lZciIKaZVOzWTt0MaY5uhVaiJeNskghajKoP158qoISboAux7AsFryazyKG9kEVW P62Vgyr7ztxnVvRewt27u3izGTgs6DdM3zZUf2V9KySqj/sGmD8PGWBKWk6vRUnmzaF42HDHKTV ZuDTgspOTTqGKEEtEZ2qP4Zc+pNPnxtpMJ8Y1crNj4kWHO7E1HyihU18EJcJQbLd5ona5giPOdA rLq10NgPhIGQTnbDgkGrPNCEFlhdY+T9Ff56X27UiE2gdroYiZsYsB/zNC1p1LIvBw4mjNKrWt5 hSSySmor3jkCS1M2Ts6H8amgt/mXbg== X-Authority-Analysis: v=2.4 cv=TIIci1la c=1 sm=1 tr=0 ts=68a58754 cx=c_pps a=IZJwPbhc+fLeJZngyXXI0A==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=IkcTkHD0fZMA:10 a=2OwXVqhp2XgA:10 a=EUspDBNiAAAA:8 a=Zg3aejBZfcS9hqUhyUQA:9 a=QEXdDO2ut3YA:10 a=uG9DUKGECoFWVXl0Dc02:22 X-Proofpoint-ORIG-GUID: UpTCJYfziduBuoJPQw26VVSXokhlojHd X-Proofpoint-GUID: UpTCJYfziduBuoJPQw26VVSXokhlojHd X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-08-20_03,2025-08-20_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 suspectscore=0 priorityscore=1501 clxscore=1015 phishscore=0 bulkscore=0 impostorscore=0 spamscore=0 malwarescore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2508110000 definitions=main-2508200013 Refactor _opp_table_find_key() to improve readability by moving the reference count increment and key update inside the match condition block. Also make the 'assert' check mandatory instead of treating it as optional. Signed-off-by: Krishna Chaitanya Chundru --- drivers/opp/core.c | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/drivers/opp/core.c b/drivers/opp/core.c index a36c3daac39cd0bdd2a1f7e9bad5b92f0c756153..bf49709b8c39271431772924daf= 0c003b45eec7f 100644 --- a/drivers/opp/core.c +++ b/drivers/opp/core.c @@ -544,24 +544,22 @@ static struct dev_pm_opp *_opp_table_find_key(struct = opp_table *opp_table, struct dev_pm_opp *temp_opp, *opp =3D ERR_PTR(-ERANGE); =20 /* Assert that the requirement is met */ - if (assert && !assert(opp_table, index)) + if (!assert(opp_table, index)) return ERR_PTR(-EINVAL); =20 guard(mutex)(&opp_table->lock); =20 list_for_each_entry(temp_opp, &opp_table->opp_list, node) { if (temp_opp->available =3D=3D available) { - if (compare(&opp, temp_opp, read(temp_opp, index), *key)) + if (compare(&opp, temp_opp, read(temp_opp, index), *key)) { + /* Increment the reference count of OPP */ + *key =3D read(opp, index); + dev_pm_opp_get(opp); break; + } } } =20 - /* Increment the reference count of OPP */ - if (!IS_ERR(opp)) { - *key =3D read(opp, index); - dev_pm_opp_get(opp); - } - return opp; } =20 --=20 2.34.1 From nobody Sat Oct 4 05:02:45 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 D64762D8762 for ; Wed, 20 Aug 2025 08:29:14 +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=1755678556; cv=none; b=WvpWzGP39AD963TndZBCewxTmo2+Z62URWasTQU3GojzMayaPD464u2+L9LkffEEZou1ceiSkUmrlvSSWMcjXOFdYezc/W5vb6VjvBzV1N38K3+BA4y52YaQdkS5L9wp9IwHPRWGVEkkJhUD1QbnE18yuYC7UxwZnetHKPqXhPk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755678556; c=relaxed/simple; bh=2rSyjnOXNH6jZxqRWat3S+IfaQ+klyL79lUq0adK6VI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=OZ0vKYIPfTJHqLT05UXonKDRvApvVgQo53EwO7tc+OGmO8L7L9ifYmufBmCR6oVY9BDrA3lkqkjXx/LGtZES4bUsImdZ+EAYxR1EM+0aEPV/n/AWpzMzD+ZmtKSCtambdO/mef2jJEMp1wGrzR6bIRAUADb6AbhAkiWOQJS+/d0= 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=N6rkdm2S; 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="N6rkdm2S" Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 57K1ojrB024584 for ; Wed, 20 Aug 2025 08:29: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= B8vAYM0Ri6HzYPqPusEESOhjr79e1ErFVtCFN1cMUUQ=; b=N6rkdm2SLD4tiqge felAGgUHNHlk9bbtBNZuzAiwTUMzTXnBMc5eovI95FucIC9RvKeGkx3+OTL4TaIK YH/fta/o3yluTkpTyXUzCxsHRdSfUlMPeL61hIZ257Ed3GMf6ZWdyQxnT1niTs2E WnJNEmHVeDLWOAuv7O7DphELJvVReCQhMl8DdDfwOXY2tU+l5Vqs2BgQ6Jp4CDSY 8VSs0iRUMVMgTQMWG+Pzq9swu+6lL2BRdTBzbjN3Z4HJ4ggRjtRB8JuEgNtdOV7C LZmORbrXONpTurUMVuZihZ9LcPk2Tmi0uyWPbUaZTkCQnELYfs8SMsKvalY+aaNS 7YdIyA== Received: from mail-pl1-f198.google.com (mail-pl1-f198.google.com [209.85.214.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 48n529106y-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Wed, 20 Aug 2025 08:29:14 +0000 (GMT) Received: by mail-pl1-f198.google.com with SMTP id d9443c01a7336-24457efb475so72582885ad.0 for ; Wed, 20 Aug 2025 01:29:14 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755678553; x=1756283353; 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=B8vAYM0Ri6HzYPqPusEESOhjr79e1ErFVtCFN1cMUUQ=; b=N+50xTESaUAAotiw2Z5O/bR9uVHvncF8RagHLMKRuln11+8QAZocU9dKxeDD3cbd5T LN+xgrQ34nidqRk5KvWPn8Hjofo1Bcq+0ONen4gft2x7otg1L8jOMcl0KvvGk+3q+ov1 2DcMmJYYz5g94X0+2PvrUnZFWa7ZGwTDXskEwDD0ehBOxePuwzASKfVbSAaw9bFtOUAO ui/nCxGmEa1AQgF039V5HmtrdeoqUoNYmEfzIqW0SRSPaOzwg1HZ+zg58OJ6K/s+ynNN VSVHgqrasFACRX7GfnZBcx8Rc52bABoxUtO4wrBoNL+r3yCYYBWsNjq9Brp9MuSXECwU fsmg== X-Forwarded-Encrypted: i=1; AJvYcCUs7BbujtzAkSzOJLjnfKcooKXFqnIJBeynFx1HoUU+Fo35PTRZKLlmuiCc5r7I+XQBcVPZjKS+k5/ugrY=@vger.kernel.org X-Gm-Message-State: AOJu0Yx/09wiWcsmAZcgKyloM7XSll76FAha+yMQ9EZrXpgvkKNNDves kwzEZea8KuWlDf+pp7EN0heUDRSRmnemt2NHq0oEz9UgOzXsr/UyGgM2Ug2zCkYBLJhzVlhGtDw cj6nBd5v7SH99jHz1CfOpvOzHEhZ0pLcFE2qHBnxCkqkYNZOAhpayiGQnitVnUn8frIY= X-Gm-Gg: ASbGncvtglFK1wjz2W6KJHwuTC4E5dhqYyq0aQUTBHVOn2E3RALcFndJZE0jv/zLTJm 8bWhQFtx5+bXnVRpY/E/yGJGX0xoC/DssQsK1KjK/2SDDkESsZd7Gr1qvAe0SlEn1AXzQRWsjVJ CzPH6VNeQJv8df+E6ZNrEIx5+Meb3sbm2BwFgEB3/xhfTL/8lCZIadiqxMOnVlG5q+NhA75Eljo OuPVTqIzq0KEBuwqlzxoRP7m0idle0HUeXcP+lrYk2LcQFkKlWjHGSKBnYR+luJgBfpkhdg6rOs +N9e9Fp0K4xF/C5YVad6YcoNI7oicQmcf2I5XxZSA6WMwG6eoGcbTDVcM+i4yAht2tvFQjc+Wx0 = X-Received: by 2002:a17:902:da8e:b0:236:9726:7264 with SMTP id d9443c01a7336-245ef11259cmr21816895ad.5.1755678553180; Wed, 20 Aug 2025 01:29:13 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEH58s+l49kW9kCSGQZvGGVUFWqSm2Tm7559FEKLDrLbXRmO7pk0REh9tawRxJs0dbxdX2M4w== X-Received: by 2002:a17:902:da8e:b0:236:9726:7264 with SMTP id d9443c01a7336-245ef11259cmr21816625ad.5.1755678552732; Wed, 20 Aug 2025 01:29:12 -0700 (PDT) Received: from hu-krichai-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-245ed53e779sm19037735ad.160.2025.08.20.01.29.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 Aug 2025 01:29:12 -0700 (PDT) From: Krishna Chaitanya Chundru Date: Wed, 20 Aug 2025 13:58:49 +0530 Subject: [PATCH v4 3/7] 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: <20250820-opp_pcie-v4-3-273b8944eed0@oss.qualcomm.com> References: <20250820-opp_pcie-v4-0-273b8944eed0@oss.qualcomm.com> In-Reply-To: <20250820-opp_pcie-v4-0-273b8944eed0@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=1755678529; l=3189; i=krishna.chundru@oss.qualcomm.com; s=20230907; h=from:subject:message-id; bh=2rSyjnOXNH6jZxqRWat3S+IfaQ+klyL79lUq0adK6VI=; b=KMmLYXCx2jpkOHi6xaQPHpldFZ07RBtLf+K6gKtKbz9lBE6uK1iQtrlG7AMP4UMtkYLRWuxK8 4KzMEreo8atBndl2xMueG3ny6n4BmAYSQJEnth69/GUc4Qp54fwwepy X-Developer-Key: i=krishna.chundru@oss.qualcomm.com; a=ed25519; pk=10CL2pdAKFyzyOHbfSWHCD0X0my7CXxj8gJScmn1FAg= X-Authority-Analysis: v=2.4 cv=ZJKOWX7b c=1 sm=1 tr=0 ts=68a5875a cx=c_pps a=MTSHoo12Qbhz2p7MsH1ifg==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=IkcTkHD0fZMA:10 a=2OwXVqhp2XgA:10 a=EUspDBNiAAAA:8 a=qQkGquXN9PvF_GGjQ98A:9 a=QEXdDO2ut3YA:10 a=GvdueXVYPmCkWapjIL-Q:22 X-Proofpoint-ORIG-GUID: U8GYRVFLZfWcalKPrmZnMwcb_cytcnNN X-Proofpoint-GUID: U8GYRVFLZfWcalKPrmZnMwcb_cytcnNN X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwODIwMDAxMyBTYWx0ZWRfX9pVCgpS0pMq6 pLU03L5EUIpemhECD6Zif2N+voQ77WQ6ALzhwefrxFW7R7f3f9AJIPDfbrtowXwAcF1/LKzereA M5HqFHeKWt64TP1xpDFfCUh5BJkmyBtO9yNnIZpalwaiUsxGFHmxVy6kXOzMGstUBkFyxBOh+k2 1YvlWe8qi1mFQNEts87t1lJw32vcxPfa/SzmkNPL+k1IJS1IWuGiy/Xj22DsJdO2F1C4l/eHmH+ umGuQLCq2i+eeBWMlUBiyvXzajupfdZE9mhD6O9Ish1M8TfE3fFkTHAtlEN7GSJm9b61s+/PsXV kUKY0Ty4YgDQHFlZ6LWLYLMiON/x+T7s6+dBBhf6JNb07xc5Y8QbK75tu8fjnb4uFyBX+NcheR9 658gQFsrbkMTfWmSnKG7oAUG5AqBnA== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-08-20_03,2025-08-20_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 priorityscore=1501 malwarescore=0 adultscore=0 suspectscore=0 lowpriorityscore=0 impostorscore=0 phishscore=0 clxscore=1015 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2508110000 definitions=main-2508200013 Add opp-level to indicate PCIe data rates and also define OPP enteries for each link width and data rate. Append the opp level to name of the opp node to indicate both frequency and level. Signed-off-by: Krishna Chaitanya Chundru --- arch/arm64/boot/dts/qcom/sm8450.dtsi | 41 +++++++++++++++++++++++++++++---= ---- 1 file changed, 33 insertions(+), 8 deletions(-) diff --git a/arch/arm64/boot/dts/qcom/sm8450.dtsi b/arch/arm64/boot/dts/qco= m/sm8450.dtsi index 33574ad706b915136546c7f92c7cd0b8a0d62b7e..d7f8706ca4949e253a4102474c9= 2b393a345262f 100644 --- a/arch/arm64/boot/dts/qcom/sm8450.dtsi +++ b/arch/arm64/boot/dts/qcom/sm8450.dtsi @@ -2052,6 +2052,7 @@ 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 */ @@ -2059,6 +2060,7 @@ 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 */ @@ -2066,6 +2068,7 @@ 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 @@ -2210,45 +2213,67 @@ pcie1_opp_table: opp-table { compatible =3D "operating-points-v2"; =20 /* GEN 1 x1 */ - opp-2500000 { + 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 { + /* GEN 1 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>; + }; + + /* GEN 2 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 { + 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 { + 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>; + }; + + /* GEN 3 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 { + /* GEN 4 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 { + 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 Sat Oct 4 05:02:45 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 67E4A2DC329 for ; Wed, 20 Aug 2025 08:29:20 +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=1755678561; cv=none; b=M7UlipxT2HmBUkWE+rQum9yOAM1TSk42bGl1CgsunHHrg2oDfCO8spVp/BEbV3M/pxlDfAhxuPkmmKzwjaQQg3sgZ1yhYAVX9pocFxWioAfWTsuG8Kgsx2J+mbcqFyuA817HwVySmyfMc5W5Dt5CgMTz4rLtBrS1/ETHixh58SM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755678561; c=relaxed/simple; bh=RCqLqzAj0VbpAlvyc8i8vBnL4zMGPgKy7ycod+X79zI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=VTNyu03+ztBlpg28M0QGKCZnlEUdntCCdw5sYmCh+0scj265Yxm9fWcIZWqOAXJbFK65pD5R2/QbQu8rVw7YH1lHjSqypn7pvqLFv+lczN+755LlHx9965KU6finJf5GKwIf9mTJJX2o80gUrUfjITTCnq/kF1X8P3QhvH751ks= 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=APlLwN5b; 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="APlLwN5b" Received: from pps.filterd (m0279865.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 57K1ofTq025326 for ; Wed, 20 Aug 2025 08:29: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= JJBFPCt+L+VnPnU7H1DGRHxwQbocBi4RyukAe2zpcSA=; b=APlLwN5blKMPb1o8 SBR515M+e3z6V4MqnG9qvl8WWgkTlMYz/JHWI6dBW/BJYKNPnzHcT0jdUDCW0Rdk 81gtcBjKNGsBJ6TIo/bL6bnMZIvARlW+j/aXQs+3SaAMORSQw79dJUf3VUfTVYJD dnCB5jdz85QiNu2yvtRNHRg2G03wehAv9ID7lDD5DthEtxADlhSyipr2ipZIjp9Y XqNul/f3+G1ydSYrpLpZr4Bga/Pb6zQhD4DsZAE4iGmJXufpYCaf9pZjwlYZb8wr WakIH0yyFp58zYTIQnbmMk0tmKuu1PqsJQ+8KThjSp4o8b8zonUeO3mTsuaEToeY Zkmgfg== Received: from mail-pl1-f199.google.com (mail-pl1-f199.google.com [209.85.214.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 48n52a90bf-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Wed, 20 Aug 2025 08:29:19 +0000 (GMT) Received: by mail-pl1-f199.google.com with SMTP id d9443c01a7336-2445806eab4so66132715ad.1 for ; Wed, 20 Aug 2025 01:29:19 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755678559; x=1756283359; 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=JJBFPCt+L+VnPnU7H1DGRHxwQbocBi4RyukAe2zpcSA=; b=vAcuIMHHstkjAGiCA0BaqyypQekum0sEte2jaWPD67JcApdaLcjoHT+fdkWMnv3aV4 FDgZP9xAL27ZNhvKdCxkVqw/8tJnXYyndGvBNVJ7M5s1c1fayG13ffbg39sxLEAv7zO/ FDy995NrrZr2pGTBuadxhmZIaHeKT86ngMK78FA6SUElwr/CpsD2Ry+/0YmtQrqxUZ88 Cj5W1szoK6Kqkb8Ygf2/5Z2ujITxh1SXP45cL4Is8ux+snmJf0iPYzoluQCs1nM9onzZ oEeSExIgZXZi9N2ZBucb9A0yj7yT/bPt/OOfBO+wAmH60YIera0yV42Z1e4T/AcqK25U nuyg== X-Forwarded-Encrypted: i=1; AJvYcCWKfTzQvsAWI7VMVzbwfXZfrSk+RiCTANDjudg3zkHA5BFZF336EkQU7wCFWwrm6mfH2YBQDOpg/Wh4hTQ=@vger.kernel.org X-Gm-Message-State: AOJu0YzGu8FIOTk5rMUSg+COXr2pPvXt8cOy7mtKj3yqrF9gz5gWbecC 0bBYy9WEP6NYoqqgRhaeMmhWtTgC7m1+sJziQzArwemvV1mnj2Ib9ioRHdvW1BwO4nWPaTeH/w+ WAjuTCHmwY52T7pYtn7oBS/F4aVAF3OkhI2cBj7kaRXTCV5cW7AdbVA+tEF1I+9se1r4= X-Gm-Gg: ASbGnctwyo9cWX06HmHO/0UpWt/WOtqI7LE64Z7SVuuC1qx1g6k/of3B+MnH2mNVVnc VCfjxr7xleA6B/WwFc9l+QbjaUcZ0lrssbQ1fanbHKCVhbsqGqvxketcprs+V3jkiUsRyLVGdUS LxAwoJjcRPIPHsxK+dRWBs652QBZYRXtpnvDNU0i1Xv7Orli47yjiCPwH7ysvRVMSKFWTfoAVzZ 4WqSYDwdOfq+HPr3ZJduM+4PxMh+4xquZ8ANgLuexlvLglf3UuQYGe3X7lmcykwzGifm1XL9v3L 7LuuwtXG1oAwf7ZPLJ4JMLpuXA68XrCVr53GoI/aZzfvecYw5JyW+Vfcoa3ItmK9YzY/IhICwPU = X-Received: by 2002:a17:902:c950:b0:240:3584:6174 with SMTP id d9443c01a7336-245ef1557d1mr26588375ad.21.1755678558861; Wed, 20 Aug 2025 01:29:18 -0700 (PDT) X-Google-Smtp-Source: AGHT+IH2FNLCe31c4QhhpjPtyR62p+yyy0HN+CAztXKtXBb/uTVv/7m1TwUNP0egRlhYzKGL2hQPuQ== X-Received: by 2002:a17:902:c950:b0:240:3584:6174 with SMTP id d9443c01a7336-245ef1557d1mr26588165ad.21.1755678558413; Wed, 20 Aug 2025 01:29:18 -0700 (PDT) Received: from hu-krichai-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-245ed53e779sm19037735ad.160.2025.08.20.01.29.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 Aug 2025 01:29:18 -0700 (PDT) From: Krishna Chaitanya Chundru Date: Wed, 20 Aug 2025 13:58:50 +0530 Subject: [PATCH v4 4/7] 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: <20250820-opp_pcie-v4-4-273b8944eed0@oss.qualcomm.com> References: <20250820-opp_pcie-v4-0-273b8944eed0@oss.qualcomm.com> In-Reply-To: <20250820-opp_pcie-v4-0-273b8944eed0@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=1755678529; l=3994; i=krishna.chundru@oss.qualcomm.com; s=20230907; h=from:subject:message-id; bh=RCqLqzAj0VbpAlvyc8i8vBnL4zMGPgKy7ycod+X79zI=; b=L5GD4S5OqH9uGalT9rHWcMkO5a+pC4X5lxTx1KJMhz3RMeEGQLlfog18M+QxVjbG3SoCXYy6K 3NhuUQzWlP6DJhMbNAoCuVzzrYhprt68D+hFNIDn34vIqlRQmH916Vz X-Developer-Key: i=krishna.chundru@oss.qualcomm.com; a=ed25519; pk=10CL2pdAKFyzyOHbfSWHCD0X0my7CXxj8gJScmn1FAg= X-Proofpoint-ORIG-GUID: jEEZ7dGlESTR1Iukvuqbp5lfGbhbuBmi X-Authority-Analysis: v=2.4 cv=B83gEOtM c=1 sm=1 tr=0 ts=68a5875f cx=c_pps a=JL+w9abYAAE89/QcEU+0QA==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=IkcTkHD0fZMA:10 a=2OwXVqhp2XgA:10 a=EUspDBNiAAAA:8 a=qQkGquXN9PvF_GGjQ98A:9 a=QEXdDO2ut3YA:10 a=324X-CrmTo6CU4MGRt3R:22 X-Proofpoint-GUID: jEEZ7dGlESTR1Iukvuqbp5lfGbhbuBmi X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwODIwMDAxMyBTYWx0ZWRfX5Is9iRZM2im0 hf8cHyM8A5PYUhhvdvEk+Lk6QicFT+HHcKPlQGhnOC5plVuE+mCx0dLeCDaNQXcxcGa3nJjupS6 O3paYXRhqBd5OmI6gMUD6u4ws9qiMmos1eSviDXFehdU4lzCeGSO1lDEm7j9+sF85BZTcbSww1I npOHPnPLLGhbszCla2bhO4pXrl2VDnBdC2LJQgByYtd82gBM/AxdfYVP1V/uwPG2jZ4qvR0CWeJ JyS6Ys5wrHMniN7w18xCEwUbiEDHFHeTgygFK73ck1q9rIdiKeNTKka0YIC2By4cL3nDmrfATo3 qUbV/U4UdkRO0CBjTQ40iQicoYwT8ai59R//e8Ws6qsgR5mJwFguDUu+k1u64SyGLSKxbn03e4w /CeLhlAB+yzIXWrs3zVl67aa4QmKqA== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-08-20_03,2025-08-20_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 bulkscore=0 priorityscore=1501 suspectscore=0 malwarescore=0 lowpriorityscore=0 adultscore=0 impostorscore=0 clxscore=1015 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2508110000 definitions=main-2508200013 Add opp-level to indicate PCIe data rates and also define OPP enteries for each link width and data rate. Append the opp level to name of the opp node to indicate both frequency and level. Signed-off-by: Krishna Chaitanya Chundru --- arch/arm64/boot/dts/qcom/sm8550.dtsi | 63 ++++++++++++++++++++++++++++----= ---- 1 file changed, 49 insertions(+), 14 deletions(-) diff --git a/arch/arm64/boot/dts/qcom/sm8550.dtsi b/arch/arm64/boot/dts/qco= m/sm8550.dtsi index 45713d46f3c52487d2638b7ab194c111f58679ce..c51489b5cd8a5e73797f9a4381b= c7588259a8bf5 100644 --- a/arch/arm64/boot/dts/qcom/sm8550.dtsi +++ b/arch/arm64/boot/dts/qcom/sm8550.dtsi @@ -2028,38 +2028,51 @@ pcie0_opp_table: opp-table { compatible =3D "operating-points-v2"; =20 /* GEN 1 x1 */ - opp-2500000 { + 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 { + /* GEN 1 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>; + }; + + /* GEN 2 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 { + 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 { + 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 { + 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 @@ -2195,45 +2208,67 @@ pcie1_opp_table: opp-table { compatible =3D "operating-points-v2"; =20 /* GEN 1 x1 */ - opp-2500000 { + 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>; + }; + + /* GEN 1 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 x2 and GEN 2 x1 */ - opp-5000000 { + /* GEN 2 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 { + 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 { + 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>; + }; + + /* GEN 3 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 { + /* GEN 4 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 { + 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 Sat Oct 4 05:02:45 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 01BAF2DC34C for ; Wed, 20 Aug 2025 08:29:25 +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=1755678567; cv=none; b=gapamptyMiwehsPcN8xAs8LHkKB3KbRhHvnyBMJ9Z5WQL1GsxR3kjymygE9vP41JzwA8G1FunTkA5Gshn9RtL0Han3J9b1u2xdiG8JHq8cjz1ouHpmlvvichrspJKeb8JSdr8wPuDey2AqNmQnokG0+oZredEFa3dXB7X061DtM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755678567; c=relaxed/simple; bh=cUKVuatuU0/Edgpdfxw3c/N86a1mg3uApCUinYHTLyY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=MDk2sbPSiDsOTEEh9XMOQ6ooYpHoVFWm/NzCCnWQda1RP29eawfYf/omyHeu4wo/5tQz08DpFz6bGWyB/A5nA/YkUqkbqCNsC/EnwyCj89a8cb1D7xyTSh0/pCgouAkyIvMMBusmXijKgXhzzMi/m24OkSjaaH3Uf6MzoXnwoMw= 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=XbhWL9W7; 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="XbhWL9W7" 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 57K1p23c009540 for ; Wed, 20 Aug 2025 08:29:25 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= JGiuOX/3Gl5SQ8ZJEPIiy7Ut2Wjdc99qWaL4w8mdXMw=; b=XbhWL9W7mFtOw0On Md6vs4tmwOGE2wjJttE/D7KDSXYAqom/pH2/sflw0z1Xw8q0fpKTIyGeVNrNAGuB gGVzcwiBg9e8u+EzaM04/+acp6CnT6rEUvdj2UhNXc5JMwq/+e8w9HGBoCdKA9Wi LMoleEpWN2qfhyzt2ZsrAOld8/XjtCrt2HqvwHWTriAGrgdv5GHThgaNTeYyPkjx SyEw5Dyyk0aZUGlfpI8Td2RCeir2vM+pLiOxMwxik7WZ/rx2G7+F4YBYRRy3aErD UMlwXdnjgzVpWDP1zlKSbJadfOOaDVTz1u9EuqigEqFYv3eFeNcfKOugUQ/42Tax t+GQag== Received: from mail-pl1-f200.google.com (mail-pl1-f200.google.com [209.85.214.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 48n52a107e-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Wed, 20 Aug 2025 08:29:25 +0000 (GMT) Received: by mail-pl1-f200.google.com with SMTP id d9443c01a7336-2449b4f316fso17451765ad.3 for ; Wed, 20 Aug 2025 01:29:25 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755678564; x=1756283364; 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=JGiuOX/3Gl5SQ8ZJEPIiy7Ut2Wjdc99qWaL4w8mdXMw=; b=wrNMfSYYIVJLh94BJXEd2kzR61FeFJduCzyKUOYl9iGnZ9xCgAoTZ9xPSpElFqqLMk Dej2LCnK7g88W+/CcLGKuAC0saDyaHqKVKtCSZAGqLtZ1n8Dq1yZK1rSDkimX68DB8g+ TeHyicfx8gEmiFAJynVQfOh0IbCZMwpYZ0OwYRYb9ZSgzxyu1FQeOv80i+h7DUXH8tEL B/0lXOAIqNxUZFKNVLA81+HcoIiwvt4+w5g7qlr+pNhNSOxrTihiz9NBUieyWpl3JMKx j7shIiouUSyrqWMsfDlAkHyNFpWBuraiv0a+TWllZ5kr82LQy1pYCMnJB3GcGKkpxJ3e Mpyg== X-Forwarded-Encrypted: i=1; AJvYcCU+T1v6EpvZ/OCbV7B2o9pSE+LlZtvkaAY0zkpvcPCR7OlBeC4sp8/kIgBaMA0GiMUi6PSD1Ds4qjmZHvc=@vger.kernel.org X-Gm-Message-State: AOJu0YyccAyPJdNBGATn+VJcsST+JHdzlUcSZz61QZ/0+d1rRLjdE7TW avUgP3lRWrbsYKDfEY+OQEVsadvXw1HJ5N3IXFlDPdeHr4Qrb71A6OOU8E8j7xw1Isf+HM6fw8d PJgjurc9pqgO55G8KVr69RVQqpRjkwBS3LFYIV+cn5HL9/dQZ8cvqX2OXG39yndvnHjM= X-Gm-Gg: ASbGncuyIiPZlPs1iHiUfRLnEPo18H5cr4pYIxmLTRuDJJ2YQvo1DJaPgtYAYJR1et+ ZondGH7eXIl437wltjCkqWDMR3ewYGtMHpsZk5EHMWWcldDOc5dpLplmqAWjune++gcOTLSrgJR b8UAS5D2cOud93SUW1J0vEw2hqEl+NhpBNIpMZXNaGhWEFiZQtKzQt3Z+kheihRqhqwoNsPNuoy uaEEScqObxbnmXnsIUD7/+4NlAeQVrk+kK27w4y2iKA+9X4jq4QJmCAXXm0x09tMnepKVya33mh iyLdVtQkF5ayl5WdAZxFkL5599R/Jt2aWNwt25D0r57Ih6QtKnqkTquHn/C+VBhuFQ42ByVvsJ8 = X-Received: by 2002:a17:903:1aeb:b0:242:9bc6:63c3 with SMTP id d9443c01a7336-245ef27bb12mr26602735ad.54.1755678564529; Wed, 20 Aug 2025 01:29:24 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGuJc5jlXFWnGiYoLB1WpPpHS4FuxQkro7nZwC6fQBl/f109El4o5ghE83SpvySv0MBi2OCTQ== X-Received: by 2002:a17:903:1aeb:b0:242:9bc6:63c3 with SMTP id d9443c01a7336-245ef27bb12mr26602405ad.54.1755678564076; Wed, 20 Aug 2025 01:29:24 -0700 (PDT) Received: from hu-krichai-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-245ed53e779sm19037735ad.160.2025.08.20.01.29.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 Aug 2025 01:29:23 -0700 (PDT) From: Krishna Chaitanya Chundru Date: Wed, 20 Aug 2025 13:58:51 +0530 Subject: [PATCH v4 5/7] 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: <20250820-opp_pcie-v4-5-273b8944eed0@oss.qualcomm.com> References: <20250820-opp_pcie-v4-0-273b8944eed0@oss.qualcomm.com> In-Reply-To: <20250820-opp_pcie-v4-0-273b8944eed0@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=1755678529; l=3994; i=krishna.chundru@oss.qualcomm.com; s=20230907; h=from:subject:message-id; bh=cUKVuatuU0/Edgpdfxw3c/N86a1mg3uApCUinYHTLyY=; b=j5NiflaSgQGzH5k3irCGzLAmssdtB0MNKNmsAjE+zZf7QsSW5X3nxr9zNrCfcextwvlqln45K 4cKrCm4HRKlAADynfcudFC42Oxfk7uIwFW96kSOlrvM83JUmTSEWsiE X-Developer-Key: i=krishna.chundru@oss.qualcomm.com; a=ed25519; pk=10CL2pdAKFyzyOHbfSWHCD0X0my7CXxj8gJScmn1FAg= X-Authority-Analysis: v=2.4 cv=feD0C0QF c=1 sm=1 tr=0 ts=68a58765 cx=c_pps a=IZJwPbhc+fLeJZngyXXI0A==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=IkcTkHD0fZMA:10 a=2OwXVqhp2XgA:10 a=EUspDBNiAAAA:8 a=qQkGquXN9PvF_GGjQ98A:9 a=QEXdDO2ut3YA:10 a=uG9DUKGECoFWVXl0Dc02:22 X-Proofpoint-ORIG-GUID: wmNX0BxzUA-mrRrDw50zJyrAwsv1Tidq X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwODIwMDAxMyBTYWx0ZWRfX+f+Nt9ozxsMO EE0tRKkD5PWZoSJkRZhzijPqATjoNFyqs/oXpCHfg4i4UtoK1Bo0Uw721S6IF+tT3tpBmki0Bcx gNAC8XPx9jDzM0aOdSkUyGKo/mB2NJsPwB0fck5zWBgRq7AUFyQfEjH5kzZQIgxKRAV/x7jX6qW yy2nLP11KkO5+blxO8DmgdGCprwwTUsuepeZTVsh7DmhR+OVYQS7rWv81can1A0GFHDTllNxnhx 9X2XijkfkU76i4N0ZpLPLMgKmQZXhr4zuKsXfrVizJDT2mdRwT7bsRLMHfnG4zGDP9mzHuW8Aa1 MFxmhr0d4vWpkj18dCZzgk7YM8yfIFUqzW88W03uKgFvE/Y/TjRz2ig46w1gc5KmM92LfPfE/br AJ9PojPwCKd0jJ6NqDF5BhdynDkDtQ== X-Proofpoint-GUID: wmNX0BxzUA-mrRrDw50zJyrAwsv1Tidq X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-08-20_03,2025-08-20_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 phishscore=0 adultscore=0 malwarescore=0 bulkscore=0 lowpriorityscore=0 spamscore=0 impostorscore=0 suspectscore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2508110000 definitions=main-2508200013 Add opp-level to indicate PCIe data rates and also define OPP enteries for each link width and data rate. Append the opp level to name of the opp node to indicate both frequency and level. Signed-off-by: Krishna Chaitanya Chundru --- arch/arm64/boot/dts/qcom/sm8650.dtsi | 63 ++++++++++++++++++++++++++++----= ---- 1 file changed, 49 insertions(+), 14 deletions(-) diff --git a/arch/arm64/boot/dts/qcom/sm8650.dtsi b/arch/arm64/boot/dts/qco= m/sm8650.dtsi index e14d3d778b71bbbd0c8fcc851eebc9df9ac09c31..fc05f5eee870ca67cbafab5d989= e5f861d96add7 100644 --- a/arch/arm64/boot/dts/qcom/sm8650.dtsi +++ b/arch/arm64/boot/dts/qcom/sm8650.dtsi @@ -3660,38 +3660,51 @@ pcie0_opp_table: opp-table { compatible =3D "operating-points-v2"; =20 /* GEN 1 x1 */ - opp-2500000 { + 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 { + /* GEN 1 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>; + }; + + /* GEN 2 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 { + 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 { + 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 { + 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 @@ -3840,45 +3853,67 @@ pcie1_opp_table: opp-table { compatible =3D "operating-points-v2"; =20 /* GEN 1 x1 */ - opp-2500000 { + 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>; + }; + + /* GEN 1 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 x2 and GEN 2 x1 */ - opp-5000000 { + /* GEN 2 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 { + 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 { + 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>; + }; + + /* GEN 3 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 { + /* GEN 4 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 { + 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 Sat Oct 4 05:02:45 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 C8F1E2DCC1F for ; Wed, 20 Aug 2025 08:29:32 +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=1755678574; cv=none; b=ciEPGbwxsDg1cYxVZucvmgENdWzv3jMDXdE10c4RlEubh+8IIgPdO8osM5UXH3gyy5YFg4HOpNam1BDkbwCY9P9FbJh43liuw4VpF7BzuetVzOJcdS0j9KutKMRG52h9Zptxzgk1N2/42Z5oNCe3Rf3RK6X22bb+sVcQNIWKkdU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755678574; c=relaxed/simple; bh=X3JieKiGrbzpcpUf9dETjBnX6ENnEPn9ryahTm5csmk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=K8epfpUlKW50+5+r2J6CsEGBTvZwvbvqUl+Z8xTKw7Nj2DMGG1xNRcv7bj0JM+Rd62AsZzARbPJLubdOzq8wXZ8UR4T2jkyyZDMW+lIAdLD3pcJMiMfQo6pF8yCPXw3S/5fJZWlDcAamk8ernYil4qJ7rV646NTDoggA+E8NgXk= 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=cD52eMG1; 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="cD52eMG1" 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 57K1okwi006732 for ; Wed, 20 Aug 2025 08:29:31 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= TLYYOeSkC0vWS5m7p6WzBJHWogZZSLtvzFoDMbjU4tU=; b=cD52eMG17louFCj4 XFeCP2I44ENLWbYrgeNJSGdiCDQXfpKOnNE8nl3toli6pW+VEj4EZA/RHBq+o56Q OY1QZQcojyO/9V1mllCXmPtVBcQkIoj+dtDHmdC4Av3T+V/CDaf/Y8wehZJSS81D B7X1aP8dpnu4Hm9UWkpFOTe2PyRxTPOoex3QddzfhVaC3AotBHF4InbpieEp8J43 ud+QGgwlzSHLTVWOjCAB4dCVLoQ1z9aAIkWLcXiJ2B1+C0to/DklgTmaYzc0sJg/ +D89KKnIXpWz0d/cXyiLPjpXesSlI94LzpRVErEeOxjrlIHNH3Vvj8uaMy8Q6zBj 8VMDLg== Received: from mail-pl1-f199.google.com (mail-pl1-f199.google.com [209.85.214.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 48n5290yq8-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Wed, 20 Aug 2025 08:29:31 +0000 (GMT) Received: by mail-pl1-f199.google.com with SMTP id d9443c01a7336-24457f59889so67853435ad.0 for ; Wed, 20 Aug 2025 01:29:31 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755678570; x=1756283370; 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=TLYYOeSkC0vWS5m7p6WzBJHWogZZSLtvzFoDMbjU4tU=; b=aHVuLvenW85aOjOGB8499bpogq2BM7RtQyz8b/Hx3A59UXN/Fe5zM9v1oXF+lSWjqF BCM9uHmwAc3SFjxUly7dHlJy9MK/Q+KJeLGIG1O0liqdIS3KNacsALQgsRjcqPvbyK6d OANpRpoY0lVa8TVFIVjOgLWDSlkybAzPb9w/WSdnbgV8czFZ8BHQZZG5anxLkB5+mtda 5XYFqTDZIbNMjuH+Wf+u2ePHV9J3ZD4rmkhM3fR/NPp8NGlPYmFgyl6PeAS/eiLAoso8 WVHbHPCh5CfeamDQvR2gMMbUvgO4Dm9ZwKxCEACWu912/38RN+NRR6d5IszcTUqPVeRW bhew== X-Forwarded-Encrypted: i=1; AJvYcCWJd8GIplvGmafntnVSzyScv1U8Yc8x4ThDUXvIOcFF8tmI19tG6nUWem7EVwdEwE19jJEQ557d96NBFSU=@vger.kernel.org X-Gm-Message-State: AOJu0YzYKrIyHjinZdsQtUE2E7CJ0qM0x6oDHTQr+FZXKm/ctr/aODFq J42nnTPB7Wb/qUwdEwD6XkM+xIFTQyojaob8aCAWqeM8FYO6omtNTGKsxLabU2V/h+uzuLh0Pbr RCgkOI+uh8wp3bCMCL7MMcSPhyODoSIAK/fHFHHYkOeY7m64UFHxIBZFJ1BAGpUFLayk= X-Gm-Gg: ASbGncuHOKtYBZO7B+/tmHnXCZV4Chw+k2wU+4rpwlbKDIow0AxbGrlCfzE5iEFa6Fh uVn4ywgP4OC5yki6tHT6TxGzoiZcoL/YsSb1x1gvf+Nkx4qBHafCbwGIdSkWet8GD2xABinab97 PhRmVvcVCacU28Yk5H3BFvf3Yt30K1GE31D81do7MQZ7TMT2Tkk3oz/DFmFjHyTxqscHwyGCFZC gYuA6GBa493oF2OBzcEA/c7lO/1nvR9kRlMRUch3bvJtxjW8E9EFirx+1JSeTcuBfr+2XG9OO8k Q2f+l60MEfY/fsz6q8DKIZgPGq0VYXk9wB+Q0h4G06mk5quusvJrXKSsmzF8Y8geTZb3JfRob3E = X-Received: by 2002:a17:902:d2cd:b0:240:1bba:fc7d with SMTP id d9443c01a7336-245ef226c6bmr25534705ad.33.1755678570202; Wed, 20 Aug 2025 01:29:30 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHgFRO4SFI/az62W4NvsRPK8ThASGxzV98yrYTSm2+Cr/JT9TMlIljWBDyHFZaG54Wx5AyVeg== X-Received: by 2002:a17:902:d2cd:b0:240:1bba:fc7d with SMTP id d9443c01a7336-245ef226c6bmr25534325ad.33.1755678569736; Wed, 20 Aug 2025 01:29:29 -0700 (PDT) Received: from hu-krichai-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-245ed53e779sm19037735ad.160.2025.08.20.01.29.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 Aug 2025 01:29:29 -0700 (PDT) From: Krishna Chaitanya Chundru Date: Wed, 20 Aug 2025 13:58:52 +0530 Subject: [PATCH v4 6/7] 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: <20250820-opp_pcie-v4-6-273b8944eed0@oss.qualcomm.com> References: <20250820-opp_pcie-v4-0-273b8944eed0@oss.qualcomm.com> In-Reply-To: <20250820-opp_pcie-v4-0-273b8944eed0@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=1755678529; l=4392; i=krishna.chundru@oss.qualcomm.com; s=20230907; h=from:subject:message-id; bh=X3JieKiGrbzpcpUf9dETjBnX6ENnEPn9ryahTm5csmk=; b=xCM0+u+MtriiF+Ee8OQ6M3MuLmsOxCxVlto5TNAerliX4oV74o2Jmi7DMZXMx/MEO8Pj58NKb dp5DSPx/SzSD5OnDAAY2oXg8Nijve//7z7RLAqz6bOVc+WOUWHXf2xy X-Developer-Key: i=krishna.chundru@oss.qualcomm.com; a=ed25519; pk=10CL2pdAKFyzyOHbfSWHCD0X0my7CXxj8gJScmn1FAg= X-Authority-Analysis: v=2.4 cv=Aui3HO9P c=1 sm=1 tr=0 ts=68a5876b cx=c_pps a=JL+w9abYAAE89/QcEU+0QA==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=IkcTkHD0fZMA:10 a=2OwXVqhp2XgA:10 a=EUspDBNiAAAA:8 a=xTuWgevKKEmUOcCBws0A:9 a=QEXdDO2ut3YA:10 a=324X-CrmTo6CU4MGRt3R:22 X-Proofpoint-ORIG-GUID: gW__C8HP8CPx9G96O-gc4PGUYWMQvYjP X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwODIwMDAxMyBTYWx0ZWRfX3Lw162CFYukY R9q/oxDTG/mNqdXpzRCNKMqYBX8bV4wbic97Kp7HWG5kEP0fSL/ordZG8vkf+FaC/dDR1szZDlr XhmPyF8VI7kHyv30hATYRKGP6Q5vDmmq/YHQUECesrFpPJ6LuqFLNz2r7f5rxVWgvFnEwnwoTUE PwD4WhjiX/ZDzL5EBXKps5xKoP5sI/DBUcudK3deX3le+uQNp5JGxzLx2T/DCxHvGo7EeEVxP/q IhW8VlP6N8WyEZ5IVL8Til97hjNSwKK113TysA10PPZHQVmTw/ICOFnYyG/gOpB6wAwAno5cIBB xbKjtB5uxNkmtCMTkGqCocOhwYxOJNLurdXcJsl3EqdeTBlRZc+TfPd4C7a0ILk/VHvEPXg3u4q yvvcfC5c0SS4OFRDVvz2kHawIvUj1A== X-Proofpoint-GUID: gW__C8HP8CPx9G96O-gc4PGUYWMQvYjP X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-08-20_03,2025-08-20_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 clxscore=1015 phishscore=0 lowpriorityscore=0 priorityscore=1501 adultscore=0 suspectscore=0 malwarescore=0 bulkscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2508110000 definitions=main-2508200013 Add opp-level to indicate PCIe data rates and also define OPP enteries for each link width and data rate. Append the opp level to name of the opp node to indicate both frequency and level. Signed-off-by: Krishna Chaitanya Chundru --- arch/arm64/boot/dts/qcom/x1e80100.dtsi | 90 ++++++++++++++++++++++++++++--= ---- 1 file changed, 74 insertions(+), 16 deletions(-) diff --git a/arch/arm64/boot/dts/qcom/x1e80100.dtsi b/arch/arm64/boot/dts/q= com/x1e80100.dtsi index a9a7bb676c6f8ac48a2e443d28efdc8c9b5e52c0..6644017132bdd7677dcb4fccf90= b1e5b36326647 100644 --- a/arch/arm64/boot/dts/qcom/x1e80100.dtsi +++ b/arch/arm64/boot/dts/qcom/x1e80100.dtsi @@ -3237,73 +3237,131 @@ pcie3_opp_table: opp-table { compatible =3D "operating-points-v2"; =20 /* GEN 1 x1 */ - opp-2500000 { + 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 { + /* GEN 1 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 { + /* GEN 1 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 { + /* GEN 1 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>; + }; + + /* GEN 2 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>; + }; + + /* GEN 2 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>; + }; + + /* GEN 2 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>; }; =20 /* GEN 2 x8 */ - opp-40000000 { + 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 { + 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>; + }; + + /* GEN 3 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>; + }; + + /* GEN 3 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>; + }; + + /* GEN 3 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 { + /* GEN 4 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 { + /* GEN 4 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 { + /* GEN 4 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 { + 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 2.34.1 From nobody Sat Oct 4 05:02:45 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 106E52DCF70 for ; Wed, 20 Aug 2025 08:29:37 +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=1755678579; cv=none; b=lLPEw4gg9AUoxXnQdTMMWQBw5RSmzXkeTIuutiOkSf0tLBe9iFrGKYN6vtJWAb3rpibV75xDjfgdpm6r8cZ/hNqs07bSn219sLsSQxT+O6YpJqpiE+QBRIyewWWSyBgznrnk8hh8ju4U2Wr3ReoAlu8LKOBOkWAKY1nZZtN/f54= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755678579; c=relaxed/simple; bh=IkmE1jjMC4FixOnI6iCdgleDL30HMdQDrPw6ul1iKuE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ZMZyJ/m6l87jclxIxUU4DpRYaknm6O5nK6IJghtcOdckj2P2j0rVbMt3NTlaPYoocz8vnXKcJYF2X1S/KJU+wujtVLsdYeTrM/eEhGG8413+oAMOobrkAQNdySDuvqPfYL3CiuyFQjEH7+cqykK+QrET3qYEZaktI6T+tSod7GY= 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=gxaebifl; 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="gxaebifl" 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 57K1okcM009202 for ; Wed, 20 Aug 2025 08:29:37 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= MgVazd42Ob3b+2OxT+ub/6AIeoHG7frufUrQpGpavx4=; b=gxaebiflv6+piB6O nkxi3Q6Eexb0QFYJ74iLHt5YdaS4ARA2WGcxRbkB4sylH456wAE89PKce3IfhcBl n9cufA/t1MaRyCY9XFLRdTOFwVWShj0hdHSKhJdh+m/2751mhFtREF420dH1md8F Suwnh2oxMLKUcKrEYYqkDkZGCAi2Bxy4aB++18oEgvPh9Jmfb3eNsRCm0bKrfoCO SBKNbXqvsCytP6nOqThYxI70XfIV7DzjNPjA+2+BLN27sLGxYq5pj3SSEefvlQA0 EcCanLWY6mV0lU2iM8/0u99Z9Bw9V5ufEekSixKSLHjPg1W4rICcZ6b8Uhg9t4Co 3PvK5w== Received: from mail-pj1-f71.google.com (mail-pj1-f71.google.com [209.85.216.71]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 48n52a1089-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Wed, 20 Aug 2025 08:29:37 +0000 (GMT) Received: by mail-pj1-f71.google.com with SMTP id 98e67ed59e1d1-32326e72dfbso11835096a91.3 for ; Wed, 20 Aug 2025 01:29:37 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755678576; x=1756283376; 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=MgVazd42Ob3b+2OxT+ub/6AIeoHG7frufUrQpGpavx4=; b=kZVxrAGU2aAdJOY/+jOTPSWJZhTN8y6OPtutBZM4Gh9NP9uAspgAVkNnHISOlRShl1 E38enuRRaja3+YGWAYJGBnNQIS/JSk/87TG595xgz3QR8oKCsIDxMtM63MdFlGWgmtf6 HY9OuEeSIPBsqS6FbJAogf7BBYXQTL6Zb9Lex/OBsjI1tMLCBNcX+JSgHMEC1wkcMTMl Ipf1SA0LrraNYNqZ62UcraoN1Q6Uq7gc7RvVEM+k/mowsq6UqLBO3AJR9zlmDZEwHy0v d/9d8sTRP7kmxFWwK62uJDB+mJbKD5oAQLJD7kagFmkLeK2mn6WnENLhQts5km8yYbHH batg== X-Forwarded-Encrypted: i=1; AJvYcCVGM0ddbOmJqb3mc3Z3CWLFd8VcLhChuUU8bH1rKJw+k59pqnBcR2CNSwJ2jr1sQJuotaUGaUR1vT+730Q=@vger.kernel.org X-Gm-Message-State: AOJu0YyMVcg2SVklvEyKvG0qb853bkr6031LuLkDmaWabOHgftzKHXFR 1vpg0lOQ4Wpy/EFsV+8K+9eGEoWgPkQyXnqhDcWSKBjz8cNlfkEZi+mxiyqG3nGiV+eAY7Za7bj b+oHqCvT0apJaxJSPPkGnt7xHqiWeey6f/q2JS1D15eybhrUwH6VzQ83GHYaxGMvvZTc= X-Gm-Gg: ASbGncvfkXgXiOHLpZKL71lJhbNGlH1wZeMCQbNrnrJlbmbxM8BHr39BY6kg75xzjQ4 8pC04olLFcauxx/KwcIuJ5oP/9fEkLNopI4y9jmb0cSY1G3UAgxAkqYwm45Xb8D51v77Ek3kExf OaBsecSp/jR9A4NvhvaMxtQVjiWNWo80+1Mgp6yw9IVJRp05hgHqKFiZKXaa7paQVX+cgH+GWXo 3y0Ww3A27gAmrD76v0Y4rsDZiO4h2h3gE6vLlRD1QDjAcfhyWQEYxX/NHDowM3FTMrm6ybtz/KA yh5F0MVN67kIKJ06X8g7A+LVhO2P8pTB0ziVCXcEVWltjANGmLysTXH97gq0ipRwsGdAYe6Q0fA = X-Received: by 2002:a17:902:e811:b0:243:fd16:181f with SMTP id d9443c01a7336-245ef215fd2mr29489615ad.36.1755678576404; Wed, 20 Aug 2025 01:29:36 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGiPY8BfkmagQpheekyURX0cr9AaqhseFsDNA26TuaYix4uLgKtUJ/U/jV9HEf4oUZFV9rQ3w== X-Received: by 2002:a17:902:e811:b0:243:fd16:181f with SMTP id d9443c01a7336-245ef215fd2mr29488865ad.36.1755678575396; Wed, 20 Aug 2025 01:29:35 -0700 (PDT) Received: from hu-krichai-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-245ed53e779sm19037735ad.160.2025.08.20.01.29.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 Aug 2025 01:29:35 -0700 (PDT) From: Krishna Chaitanya Chundru Date: Wed, 20 Aug 2025 13:58:53 +0530 Subject: [PATCH v4 7/7] 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: <20250820-opp_pcie-v4-7-273b8944eed0@oss.qualcomm.com> References: <20250820-opp_pcie-v4-0-273b8944eed0@oss.qualcomm.com> In-Reply-To: <20250820-opp_pcie-v4-0-273b8944eed0@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=1755678529; l=1526; i=krishna.chundru@oss.qualcomm.com; s=20230907; h=from:subject:message-id; bh=IkmE1jjMC4FixOnI6iCdgleDL30HMdQDrPw6ul1iKuE=; b=PKpGH+CYVvuGgKtCdEXtU++jgYZEJaPAHeVES7cN24c3hTKUpEzzt3/Th7iOTfRMFmIRRo1fa ENdpSsix4ALBFuePX3rfVUMY46z3LUq6gF4FLOehT7YuZ4EmlT5/79O X-Developer-Key: i=krishna.chundru@oss.qualcomm.com; a=ed25519; pk=10CL2pdAKFyzyOHbfSWHCD0X0my7CXxj8gJScmn1FAg= X-Authority-Analysis: v=2.4 cv=feD0C0QF c=1 sm=1 tr=0 ts=68a58771 cx=c_pps a=UNFcQwm+pnOIJct1K4W+Mw==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=IkcTkHD0fZMA:10 a=2OwXVqhp2XgA:10 a=EUspDBNiAAAA:8 a=Py5lcOcq67Lbq8UMOfUA:9 a=QEXdDO2ut3YA:10 a=uKXjsCUrEbL0IQVhDsJ9:22 X-Proofpoint-ORIG-GUID: jyedRJbnGCyUJxAZeDp8VX24eU7VHx0m X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwODIwMDAxMyBTYWx0ZWRfX5bLUqn1UD7QO iotGSPQSISbvrfs+UUsyBxZbYFKwD4vhu6DYZ2AFUe4ZPhS2BGx+zXFe/j+4C+6NB9dQegaMziy LxEQYMKWWq8cQ918JzjrsTcoP0f8TZehf6J7SBXQlTa84/6/gLM7vKn20ktg7a2lNY9lD1t+5ax kL1BMR9YH4g8Sxmj7/CTskVtQ4SW/jTC7YwjzK6LmnVHXwZGepEcfDBuQlermIuGh9CZ1tVnJEI fjdistPkmrvvaSAFaK9tlWiqVcyM/UH8kT1yGtzDwIx6VuZN44C+8n6nu0F0W8flrOYRAO0NMIm SHI/iowhjWs62Sb+qV7Td2SIYDlcKBDfAUiFme/ZOJ2jjyuP6nWPmqPJ35zEFarhDmb3vQsuLki ATD25OC7hoaBZx3QPj6vpRdN6aUDyg== X-Proofpoint-GUID: jyedRJbnGCyUJxAZeDp8VX24eU7VHx0m X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-08-20_03,2025-08-20_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 phishscore=0 adultscore=0 malwarescore=0 bulkscore=0 lowpriorityscore=0 spamscore=0 impostorscore=0 suspectscore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2508110000 definitions=main-2508200013 PCIe supports multiple data rates that may operate at the same clock frequency by varying the link width. 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. Signed-off-by: Krishna Chaitanya Chundru --- drivers/pci/controller/dwc/pcie-qcom.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/pci/controller/dwc/pcie-qcom.c b/drivers/pci/controlle= r/dwc/pcie-qcom.c index 294babe1816e4d0c2b2343fe22d89af72afcd6cd..4f40fc7b828483419b87057c53e= 2f754811bdda0 100644 --- a/drivers/pci/controller/dwc/pcie-qcom.c +++ b/drivers/pci/controller/dwc/pcie-qcom.c @@ -1555,6 +1555,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; @@ -1582,8 +1583,10 @@ 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); + 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