Re: [PATCH v4 00/10] PCI: Add support for Apple M1

From: Mark Kettenis
Date: Wed Sep 22 2021 - 19:32:50 EST


> From: Marc Zyngier <maz@xxxxxxxxxx>
> 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@xxxxxxxxxx
>
> 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
>
>