linux/drivers/pci/controller/dwc
Manivannan Sadhasivam db1ec60fba PCI: qcom: Use OPP only if the platform supports it
With commit 5b6272e0ef ("PCI: qcom: Add OPP support to scale
performance"), OPP was used to control the interconnect and power domains
if the platform supported OPP. Also to maintain the backward compatibility
with platforms not supporting OPP but just ICC, the above mentioned commit
assumed that if ICC was not available on the platform, it would resort to
OPP.

Unfortunately, some old platforms don't support either ICC or OPP. On those
platforms, resorting to OPP in the absence of ICC throws below errors from
OPP core during suspend and resume:

  qcom-pcie 1c08000.pcie: dev_pm_opp_set_opp: device opp doesn't exist
  qcom-pcie 1c08000.pcie: _find_key: OPP table not found (-19)

Also, it doesn't make sense to invoke the OPP APIs when OPP is not
supported by the platform at all.

Add a "use_pm_opp" flag to identify whether OPP is supported and use it to
control invoking the OPP APIs.

Fixes: 5b6272e0ef ("PCI: qcom: Add OPP support to scale performance")
Link: https://lore.kernel.org/linux-pci/20240722131128.32470-1-manivannan.sadhasivam@linaro.org
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Signed-off-by: Krzysztof Wilczyński <kwilczynski@kernel.org>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Mayank Rana <quic_mrana@quicinc.com>
2024-08-21 16:31:41 -05:00
..
Kconfig PCI: dw-rockchip: Add endpoint mode support 2024-07-09 18:29:36 -05:00
Makefile PCI: dw-rockchip: Add endpoint mode support 2024-07-09 18:29:36 -05:00
pci-dra7xx.c Merge branch 'pci/controller/dra7xx' 2024-07-19 10:10:27 -05:00
pci-exynos.c Merge branch 'pci/misc' 2024-07-19 10:10:33 -05:00
pci-imx6.c Merge branch 'pci/controller/dwc' 2024-07-19 10:10:25 -05:00
pci-keystone.c Merge branch 'pci/controller/keystone' 2024-07-19 10:10:28 -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 Merge branch 'pci/controller/layerscape' 2024-01-15 12:10:38 -06:00
pci-meson.c PCI: dwc: Remove unused of_gpio.h inclusion 2024-05-28 11:15:08 -05:00
pcie-al.c PCI: al: Check IORESOURCE_BUS existence during probe 2024-05-28 11:14:24 -05:00
pcie-armada8k.c PCI: dwc: Drop host prefix from struct dw_pcie_host_ops members 2024-01-06 07:51:08 +00:00
pcie-artpec6.c Merge branch 'pci/controller/artpec6' 2024-07-19 10:10:26 -05:00
pcie-bt1.c PCI: dwc: Drop host prefix from struct dw_pcie_host_ops members 2024-01-06 07:51:08 +00:00
pcie-designware-ep.c PCI: dwc: ep: Enforce DWC specific 64-bit BAR limitation 2024-07-09 18:21:39 -05:00
pcie-designware-host.c PCI: dwc: Add generic MSG TLP support for sending PME_Turn_Off when system suspend 2024-07-09 18:20:15 -05:00
pcie-designware-plat.c PCI: dwc: ep: Remove dw_pcie_ep_init_notify() wrapper 2024-07-09 18:20:21 -05:00
pcie-designware.c Merge branch 'pci/controller/qcom' 2024-07-19 10:10:31 -05:00
pcie-designware.h Merge branch 'pci/controller/rcar-gen4' 2024-07-19 10:10:31 -05:00
pcie-dw-rockchip.c PCI: dw-rockchip: Use pci_epc_init_notify() directly 2024-07-09 18:29:45 -05: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: hisi: Avoid invalid address space conversions 2022-01-03 15:05:28 -06:00
pcie-histb.c PCI: dwc: Drop host prefix from struct dw_pcie_host_ops members 2024-01-06 07:51:08 +00:00
pcie-intel-gw.c Merge branch 'pci/controller/dwc' 2024-01-15 12:10:37 -06:00
pcie-keembay.c PCI: dwc: ep: Remove dw_pcie_ep_init_notify() wrapper 2024-07-09 18:20:21 -05:00
pcie-kirin.c PCI: kirin: Convert to use agnostic GPIO API 2024-07-09 17:46:19 -05:00
pcie-qcom-ep.c PCI: qcom-ep: Disable MHI RAM data parity error interrupt for SA8775P SoC 2024-08-21 16:30:42 -05:00
pcie-qcom.c PCI: qcom: Use OPP only if the platform supports it 2024-08-21 16:31:41 -05:00
pcie-rcar-gen4.c Merge branch 'pci/controller/rcar-gen4' 2024-07-19 10:10:31 -05:00
pcie-spear13xx.c PCI: dwc: Drop host prefix from struct dw_pcie_host_ops members 2024-01-06 07:51:08 +00: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/tegra194' 2024-07-19 10:10:32 -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 Merge branch 'pci/irq-clean-up' 2024-01-15 12:10:40 -06:00
pcie-visconti.c PCI: dwc: Drop host prefix from struct dw_pcie_host_ops members 2024-01-06 07:51:08 +00:00