Re: [PATCH v5 0/6] Raspberry Pi 4 PCIe support

From: Andrew Murray
Date: Mon Dec 16 2019 - 06:36:50 EST


On Mon, Dec 16, 2019 at 12:01:06PM +0100, Nicolas Saenz Julienne wrote:
> This series aims at providing support for Raspberry Pi 4's PCIe
> controller, which is also shared with the Broadcom STB family of
> devices.
>
> There was a previous attempt to upstream this some years ago[1] but was
> blocked as most STB PCIe integrations have a sparse DMA mapping[2] which
> is something currently not supported by the kernel. Luckily this is not
> the case for the Raspberry Pi 4.
>

Hi Nicolas,

This series looks good to me now. Unless there is further feedback I'll ask
Lorenzo to merge this when he returns in the new year.

Thanks for the log2.h efforts - perhaps this can be picked up again one day.

Thanks,

Andrew Murray

> Note the series is based on top of linux next, as the DTS patch depends
> on it.
>
> [1] https://patchwork.kernel.org/cover/10605933/
> [2] https://patchwork.kernel.org/patch/10605957/
>
> ---
>
> Changes since v4:
> - Rebase DTS patch
> - Respin log2.h code into it's own series as it's still contentious
> yet mostly unrelated to the PCIe part
>
> Changes since v3:
> - Moved all the log2.h related changes at the end of the series, as I
> presume they will be contentious and I don't want the PCIe patches
> to depend on them. Ultimately I think I'll respin them on their own
> series but wanted to keep them in for this submission just for the
> sake of continuity.
> - Addressed small nits here and there.
>
> Changes since v2:
> - Redo register access in driver avoiding indirection while keeping
> the naming intact
> - Add patch editing ARM64's config
> - Last MSI cleanups, notably removing MSIX flag
> - Got rid of all _RB writes
> - Got rid of all of_data
> - Overall churn removal
> - Address the rest of Andrew's comments
>
> Changes since v1:
> - add generic rounddown/roundup_pow_two64() patch
> - Add MAINTAINERS patch
> - Fix Kconfig
> - Cleanup probe, use up to date APIs, exit on MSI failure
> - Get rid of linux,pci-domain and other unused constructs
> - Use edge triggered setup for MSI
> - Cleanup MSI implementation
> - Fix multiple cosmetic issues
> - Remove supend/resume code
>
> Jim Quinlan (3):
> dt-bindings: PCI: Add bindings for brcmstb's PCIe device
> PCI: brcmstb: Add Broadcom STB PCIe host controller driver
> PCI: brcmstb: Add MSI support
>
> Nicolas Saenz Julienne (3):
> ARM: dts: bcm2711: Enable PCIe controller
> MAINTAINERS: Add brcmstb PCIe controller
> arm64: defconfig: Enable Broadcom's STB PCIe controller
>
> .../bindings/pci/brcm,stb-pcie.yaml | 97 ++
> MAINTAINERS | 4 +
> arch/arm/boot/dts/bcm2711.dtsi | 31 +-
> arch/arm64/configs/defconfig | 1 +
> drivers/pci/controller/Kconfig | 9 +
> drivers/pci/controller/Makefile | 1 +
> drivers/pci/controller/pcie-brcmstb.c | 1007 +++++++++++++++++
> 7 files changed, 1149 insertions(+), 1 deletion(-)
> create mode 100644 Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml
> create mode 100644 drivers/pci/controller/pcie-brcmstb.c
>
> --
> 2.24.0
>