Message ID | 20191216110113.30436-1-nsaenzjulienne@suse.de (mailing list archive) |
---|---|
Headers | show |
Series | Raspberry Pi 4 PCIe support | expand |
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 >
On Mon, 2019-12-16 at 11:36 +0000, Andrew Murray wrote: > 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! > Thanks for the log2.h efforts - perhaps this can be picked up again one day. I'm not giving up on it yet :) Regards, Nicolas
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. > > 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 Applied patches [1,3,4] to pci/brcmstb, please have a look to check everything is in order after the minor update I included. Thanks ! Lorenzo
On Wed, 2020-01-15 at 12:02 +0000, Lorenzo Pieralisi wrote: > 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. > > > > 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 > > Applied patches [1,3,4] to pci/brcmstb, please have a look to check > everything is in order after the minor update I included. Looks good to me. Thanks, Nicolas