Re: [PATCH v4 00/10] PCI: Add support for Apple M1
From: Mark Kettenis <hidden>
Date: 2021-09-22 23:32:50
Also in:
linux-pci, lkml
From: Marc Zyngier <maz@kernel.org> Date: Wed, 22 Sep 2021 21:54:48 +0100 This is v4 of the series adding PCIe support for the M1 SoC. Not a lot has changed this time around, and most of what I was saying in [1] is still valid. The most important change is that the driver now probes for the number of RID-SID mapping registers instead of assuming 64 entries. The rest is a bunch of limited cleanups and minor fixes. This should now be in a state that makes it mergeable, although I expect that some of the clock bits may have to be adapted (I haven't followed the recent developments on that front).
The current understanding is that the M1 SoC really only has power domains. Fortunately power domains are handled automagically by the Linux kernel (and U-Boot) so this driver doesn't have to worry about this. I already changed the 4/4 diff of my DT bindings series to add a "power-domains" property instead of a "clocks" property. So once marcan's power manager driver lands everything should just work. Some coordination on the patch that changes the DT itself is probably required. But we could simply leave out the "power-domains" property until the power manager driver lands as m1n1 currently already turns on the power domain. Cheers, Mark
As always, comments welcome. [1] https://lore.kernel.org/r/20210913182550.264165-1-maz@kernel.org (local) Alyssa Rosenzweig (2): PCI: apple: Add initial hardware bring-up PCI: apple: Set up reference clocks when probing Marc Zyngier (8): irqdomain: Make of_phandle_args_to_fwspec generally available of/irq: Allow matching of an interrupt-map local to an interrupt controller PCI: of: Allow matching of an interrupt-map local to a PCI device PCI: apple: Add INTx and per-port interrupt support arm64: apple: t8103: Add root port interrupt routing PCI: apple: Implement MSI support iommu/dart: Exclude MSI doorbell from PCIe device IOVA range PCI: apple: Configure RID to SID mapper on device addition MAINTAINERS | 7 + arch/arm64/boot/dts/apple/t8103.dtsi | 33 +- drivers/iommu/apple-dart.c | 27 + drivers/of/irq.c | 17 +- drivers/pci/controller/Kconfig | 17 + drivers/pci/controller/Makefile | 1 + drivers/pci/controller/pcie-apple.c | 826 +++++++++++++++++++++++++++ drivers/pci/of.c | 10 +- include/linux/irqdomain.h | 4 + kernel/irq/irqdomain.c | 6 +- 10 files changed, 935 insertions(+), 13 deletions(-) create mode 100644 drivers/pci/controller/pcie-apple.c -- 2.30.2