[PATCH v4 00/18] Qcom PCIe cleanups and improvements

From: Manivannan Sadhasivam
Date: Wed Mar 15 2023 - 02:43:53 EST


Hi,

This series brings in several code cleanups and improvements to the
Qualcomm PCIe controller drivers (RC and EP). The cleanup part mostly
cleans up the bitfield definitions and transitions to bulk APIs for clocks,
and resets. The improvement part adds the debugfs entries to track link
transition counts in RC driver.

Testing
-------

This series has been tested on SDM845, SM8250, SC8280XP, IPQ4019 based
platforms.

Merging Strategy
----------------

Binding and driver patches through PCI tree and DTS patches through Qcom
tree.

NOTE: For the sake of maintaining dependency, I've clubbed both cleanup and
improvement patches in the same series. If any of the maintainers prefer to
have them splitted, please let me know.

Thanks,
Mani

Changes in v4:

* Dropped the debugfs patch for v2.4.0 as the registers only expose the status
and not the transition count which is not useful
* Modified the existing debugfs patch to be applicable for all SoCs that define
"mhi" region

Changes in v3:

* Introduced init_debugfs callback for defining the debugfs interface specific
to IP versions
* Added a debugfs patch for v2.4.0
* Added a patch to rename qcom_pcie_config_sid_sm8250() function
* Added tested-by for patch 11/19

Changes in v2:

* Moved the "mhi" region to last in the binding and dtsi's
* Dropped the patches renaming the "mmio" region

Manivannan Sadhasivam (18):
PCI: qcom: Remove PCIE20_ prefix from register definitions
PCI: qcom: Sort and group registers and bitfield definitions
PCI: qcom: Use bitfield definitions for register fields
PCI: qcom: Add missing macros for register fields
PCI: qcom: Use lower case for hex
PCI: qcom: Use bulk reset APIs for handling resets for IP rev 2.1.0
PCI: qcom: Use bulk clock APIs for handling clocks for IP rev 1.0.0
PCI: qcom: Use bulk clock APIs for handling clocks for IP rev 2.3.2
PCI: qcom: Use bulk clock APIs for handling clocks for IP rev 2.3.3
PCI: qcom: Use bulk reset APIs for handling resets for IP rev 2.3.3
PCI: qcom: Use bulk reset APIs for handling resets for IP rev 2.4.0
PCI: qcom: Use macros for defining total no. of clocks & supplies
PCI: qcom: Rename qcom_pcie_config_sid_sm8250() to reflect IP version
dt-bindings: PCI: qcom: Add "mhi" register region to supported SoCs
arm64: dts: qcom: sdm845: Add "mhi" region to the PCIe nodes
arm64: dts: qcom: sm8250: Add "mhi" region to the PCIe nodes
arm64: dts: qcom: sc8280xp: Add "mhi" region to the PCIe nodes
PCI: qcom: Expose link transition counts via debugfs

.../devicetree/bindings/pci/qcom,pcie.yaml | 12 +-
arch/arm64/boot/dts/qcom/sc8280xp.dtsi | 25 +-
arch/arm64/boot/dts/qcom/sdm845.dtsi | 10 +-
arch/arm64/boot/dts/qcom/sm8250.dtsi | 15 +-
drivers/pci/controller/dwc/pcie-qcom.c | 1156 +++++++----------
5 files changed, 476 insertions(+), 742 deletions(-)

--
2.25.1