linux/drivers/pci/controller/dwc
Krishna Chaitanya Chundru 50433f6eea 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
2025-10-31 16:20:46 -05:00
..
Kconfig Merge branch 'pci/controller/stm32' 2025-10-03 12:13:23 -05:00
Makefile PCI: stm32-ep: Add PCIe Endpoint support for STM32MP25 2025-10-01 09:54:18 -05:00
pci-dra7xx.c PCI: endpoint: Drop superfluous pci_epc_features initialization 2025-08-14 10:42:42 -05:00
pci-exynos.c PCI: dwc: Add support for ELBI resource mapping 2025-09-25 18:33:37 +05:30
pci-imx6.c Merge branch 'pci/controller/imx6' 2025-10-03 12:13:18 -05:00
pci-keystone.c Merge branch 'pci/controller/keystone' 2025-10-03 12:13:19 -05:00
pci-layerscape-ep.c PCI: layerscape-ep: Use the generic dw_pcie_ep_linkdown() API to handle Link Down event 2024-07-09 18:21:11 -05:00
pci-layerscape.c PCI: layerscape: Fix arg_count to syscon_regmap_lookup_by_phandle_args() 2025-03-27 13:11:14 -05:00
pci-meson.c PCI: dwc: Return bool from link up check 2025-05-13 10:12:59 +01:00
pcie-al.c PCI: dwc: Support ECAM mechanism by enabling iATU 'CFG Shift Feature' 2025-09-25 18:34:01 +05:30
pcie-amd-mdb.c PCI: amd-mdb: Add support for PCIe RP PERST# signal handling 2025-08-11 16:09:45 +05:30
pcie-armada8k.c PCI: dwc: Return bool from link up check 2025-05-13 10:12:59 +01:00
pcie-artpec6.c PCI: endpoint: Drop superfluous pci_epc_features initialization 2025-08-14 10:42:42 -05:00
pcie-bt1.c PCI: controller: Switch back to struct platform_driver::remove() 2024-10-03 16:44:49 -05:00
pcie-designware-debugfs.c PCI: dwc: Make dw_pcie_ptm_ops static 2025-07-07 13:23:15 +05:30
pcie-designware-ep.c PCI: dwc: ep: Implement capability search using PCI core APIs 2025-08-20 15:56:19 -05:00
pcie-designware-host.c PCI: dwc: Support ECAM mechanism by enabling iATU 'CFG Shift Feature' 2025-09-25 18:34:01 +05:30
pcie-designware-plat.c PCI: endpoint: Drop superfluous pci_epc_features initialization 2025-08-14 10:42:42 -05:00
pcie-designware.c Merge branch 'pci/controller/qcom' 2025-10-03 12:13:20 -05:00
pcie-designware.h Merge branch 'pci/controller/qcom' 2025-10-03 12:13:20 -05:00
pcie-dw-rockchip.c pci-v6.18-changes 2025-10-06 10:41:03 -07:00
pcie-fu740.c PCI: dwc: Drop host prefix from struct dw_pcie_host_ops members 2024-01-06 07:51:08 +00:00
pcie-hisi.c PCI: host-common: Convert to library for host controller drivers 2025-05-30 12:21:57 -05:00
pcie-histb.c PCI: dwc: Return bool from link up check 2025-05-13 10:12:59 +01:00
pcie-intel-gw.c PCI: intel-gw: Remove intel_pcie_cpu_addr() 2025-03-24 14:58:35 -05:00
pcie-keembay.c PCI: endpoint: Drop superfluous pci_epc_features initialization 2025-08-14 10:42:42 -05:00
pcie-kirin.c PCI: dwc: Return bool from link up check 2025-05-13 10:12:59 +01:00
pcie-qcom-common.c PCI: qcom: Fix macro typo for CURSOR 2025-09-04 22:25:22 +05:30
pcie-qcom-common.h PCI: qcom: Add equalization settings for 8.0 GT/s and 32.0 GT/s 2025-09-04 22:24:04 +05:30
pcie-qcom-ep.c Merge branch 'pci/controller/qcom' 2025-10-03 12:13:20 -05:00
pcie-qcom.c PCI: qcom: Use frequency and level based OPP lookup 2025-10-31 16:20:46 -05:00
pcie-rcar-gen4.c Merge branch 'pci/controller/rcar-gen4' 2025-10-03 12:13:21 -05:00
pcie-sophgo.c PCI: dwc: Add Sophgo SG2044 PCIe controller driver in Root Complex mode 2025-07-24 16:29:46 -05:00
pcie-spear13xx.c PCI: dwc: Return bool from link up check 2025-05-13 10:12:59 +01:00
pcie-stm32-ep.c PCI: stm32-ep: Add PCIe Endpoint support for STM32MP25 2025-10-01 09:54:18 -05:00
pcie-stm32.c PCI: stm32: Add PCIe host support for STM32MP25 2025-10-01 09:53:37 -05:00
pcie-stm32.h PCI: stm32-ep: Add PCIe Endpoint support for STM32MP25 2025-10-01 09:54:18 -05:00
pcie-tegra194-acpi.c PCI: dwc: Simplify in/outbound iATU setup methods 2022-08-01 15:15:09 -05:00
pcie-tegra194.c Merge branch 'pci/controller/tegra' 2025-10-03 12:13:23 -05:00
pcie-uniphier-ep.c PCI: dwc: ep: Remove dw_pcie_ep_init_notify() wrapper 2024-07-09 18:20:21 -05:00
pcie-uniphier.c pci-v6.16-changes 2025-06-04 11:26:17 -07:00
pcie-visconti.c PCI: dwc: Return bool from link up check 2025-05-13 10:12:59 +01:00