Re: [PATCH 00/15] PCI: brcmstb: enable PCIe for STB chips
From: Bjorn Helgaas
Date: Wed May 20 2020 - 12:15:48 EST
On Tue, May 19, 2020 at 04:33:58PM -0400, Jim Quinlan wrote:
> This patchset expands the usefulness of the Broadcom Settop Box PCIe
> controller by building upon the PCIe driver used currently by the
> Raspbery Pi. Other forms of this patchset were submitted by me years
> ago and not accepted; the major sticking point was the code required
> for the DMA remapping needed for the PCIe driver to work [1].
>
> There have been many changes to the DMA and OF subsystems since that
> time, making a cleaner and less intrusive patchset possible. This
> patchset implements a generalization of "dev->dma_pfn_offset", except
> that instead of a single scalar offset it provides for multiple
> offsets via a function which depends upon the "dma-ranges" property of
> the PCIe host controller. This is required for proper functionality
> of the BrcmSTB PCIe controller and possibly some other devices.
>
> [1] https://lore.kernel.org/linux-arm-kernel/1516058925-46522-5-git-send-email-jim2101024@xxxxxxxxx/
>
> Jim Quinlan (15):
> PCI: brcmstb: PCIE_BRCMSTB depends on ARCH_BRCMSTB
> ahci_brcm: fix use of BCM7216 reset controller
> dt-bindings: PCI: Add bindings for more Brcmstb chips
> PCI: brcmstb: Add compatibily of other chips
> PCI: brcmstb: Add suspend and resume pm_ops
> PCI: brcmstb: Asserting PERST is different for 7278
> PCI: brcmstb: Add control of rescal reset
> of: Include a dev param in of_dma_get_range()
> device core: Add ability to handle multiple dma offsets
> dma-direct: Invoke dma offset func if needed
> arm: dma-mapping: Invoke dma offset func if needed
> PCI: brcmstb: Set internal memory viewport sizes
> PCI: brcmstb: Accommodate MSI for older chips
> PCI: brcmstb: Set bus max burst side by chip type
> PCI: brcmstb: add compatilbe chips to match list
If you have occasion to post a v2 for other reasons,
s/PCIE_BRCMSTB depends on ARCH_BRCMSTB/Allow PCIE_BRCMSTB on ARCH_BRCMSTB also/
s/ahci_brcm: fix use of BCM7216 reset controller/ata: ahci_brcm: Fix .../
s/Add compatibily of other chips/Add bcm7278 register info/
s/Asserting PERST is different for 7278/Add bcm7278 PERST support/
s/Set bus max burst side/Set bus max burst size/
s/add compatilbe chips.*/Add bcm7211, bcm7216, bcm7445, bcm7278 to match list/
Rewrap commit logs to use full 75 character lines (to allow for the 4
spaces added by git log).
In commit logs, s/This commit// (use imperative mood instead).
In "Accommodate MSI for older chips" commit log, s/commont/common/.
> .../bindings/pci/brcm,stb-pcie.yaml | 40 +-
> arch/arm/include/asm/dma-mapping.h | 17 +-
> drivers/ata/ahci_brcm.c | 14 +-
> drivers/of/address.c | 54 ++-
> drivers/of/device.c | 2 +-
> drivers/of/of_private.h | 8 +-
> drivers/pci/controller/Kconfig | 4 +-
> drivers/pci/controller/pcie-brcmstb.c | 403 +++++++++++++++---
> include/linux/device.h | 9 +-
> include/linux/dma-direct.h | 16 +
> include/linux/dma-mapping.h | 44 ++
> kernel/dma/Kconfig | 12 +
> 12 files changed, 542 insertions(+), 81 deletions(-)
>
> --
> 2.17.1
>