]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
PCI: qcom: Use frequency and level based OPP lookup
authorKrishna Chaitanya Chundru <krishna.chundru@oss.qualcomm.com>
Mon, 13 Oct 2025 10:53:32 +0000 (16:23 +0530)
committerBjorn Helgaas <bhelgaas@google.com>
Fri, 31 Oct 2025 21:20:46 +0000 (16:20 -0500)
commit50433f6eeaed2117d5eee4a3dac4a3869a9c32ea
treedb534d2dab8e5b491ac796d9ae18b01e554a7a32
parent3a8660878839faadb4f1a6dd72c3179c1df56787
PCI: qcom: Use frequency and level based OPP lookup

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.  But
the existing OPP selection which is solely based on frequency (the 'opp-hz'
DT property) cannot distinguish between such cases.

Hence, use the newly introduced dev_pm_opp_find_key_exact() API to match
both frequency and level (the 'opp-level' property) when selecting an OPP,
here level indicates PCIe data rate.

To support older device trees 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 <krishna.chundru@oss.qualcomm.com>
[mani: zero initialize dev_pm_opp_key struct]
Signed-off-by: Manivannan Sadhasivam <mani@kernel.org>
[bhelgaas: add 'opp-hz' and 'opp-level' in commit log]
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Link: https://patch.msgid.link/20251013-opp_pcie-v5-5-eb64db2b4bd3@oss.qualcomm.com
drivers/pci/controller/dwc/pcie-qcom.c