mbox series

[v3,0/2] PCI: qcom: Add basic interconnect support

Message ID 20221102090705.23634-1-johan+linaro@kernel.org
Headers show
Series PCI: qcom: Add basic interconnect support | expand

Message

Johan Hovold Nov. 2, 2022, 9:07 a.m. UTC
On Qualcomm platforms like SC8280XP and SA8540P interconnect bandwidth
must be requested before enabling interconnect clocks.

Add basic support for managing an optional "pcie-mem" interconnect path
by setting a low constraint before enabling clocks and updating it after
the link is up.

This is specifically needed to prevent a crash on SC8280XP/SA8540P when
the interconnect constraints are enforced during boot.

As support for these platforms was added in 6.1-rc1 it would be nice to
have this merged as a fix for 6.1, but deferring for 6.2 works as well.

Johan


Changes in v3
 - remove intermediate assignment in error path (Mani)
 - add WARN_ON_ONCE() as a reminder to anyone ever extending the
   driver with support for higher speeds to update the bandwidth table

Changes in v2
 - update the bindings so that the interconnect-names constraints apply
   to all platforms (Krzysztof)


Johan Hovold (2):
  dt-bindings: PCI: qcom: Add SC8280XP/SA8540P interconnects
  PCI: qcom: Add basic interconnect support

 .../devicetree/bindings/pci/qcom,pcie.yaml    | 20 +++++
 drivers/pci/controller/dwc/pcie-qcom.c        | 76 +++++++++++++++++++
 2 files changed, 96 insertions(+)

Comments

Lorenzo Pieralisi Nov. 11, 2022, 11:05 a.m. UTC | #1
On Wed, 2 Nov 2022 10:07:03 +0100, Johan Hovold wrote:
> On Qualcomm platforms like SC8280XP and SA8540P interconnect bandwidth
> must be requested before enabling interconnect clocks.
> 
> Add basic support for managing an optional "pcie-mem" interconnect path
> by setting a low constraint before enabling clocks and updating it after
> the link is up.
> 
> [...]

Applied to pci/qcom, thanks!

[1/2] dt-bindings: PCI: qcom: Add SC8280XP/SA8540P interconnects
      https://git.kernel.org/lpieralisi/pci/c/3a936b2a5a58
[2/2] PCI: qcom: Add basic interconnect support
      https://git.kernel.org/lpieralisi/pci/c/c4860af88d0c

Thanks,
Lorenzo