FYI, AFAICS this thread did not make it to any vger list you addressed, I can't apply/review patches that do not appear on linux-pci@xxxxxxxxxxxxxxx at least so we need to figure out what went wrong. I would consider trimming the CC list to start with, which is huge. Lorenzo On Thu, Sep 06, 2018 at 04:42:49PM -0400, Jim Quinlan wrote: > This patch series adds support for the Broadcom Settopbox PCIe host > controller. It is targeted to Broadcom Settopbox chips running on > ARM, ARM64, and MIPS platforms. > > V5 Changes: > - V4 had its own DMA ops structure in the PCIe driver which would > override/coexist with the default arch DMA ops. This approach was > scrapped, and this version instead essentially implements custom > definitions of the __phys_to_dma and __dma_to_phys operations for the > three target arches: MIPs, ARM64, ARM. This was the course suggested > by one of the V4 reviewers (ChristophH). > > For MIPs and ARM64, the DMA remapping is easily accomplished by having > custom definitions of __phys_to_dma and __dma_to_phys. For > MIPs/BMIPs, ARCH_HAS_PHYS_TO_DMA is already selected and the two > functions are just modified. For ARM64, this driver selects > ARCH_HAS_PHYS_TO_DMA and declares and defines __phys_to_dma() and > __dma_to_phys(). For ARM, things were not so simple. The default > functions like __arch_pfn_to_dma() had to be overridden by custom ones > defined in arch/arm/mach-bcm/include/mach/memory.h. For these > functions to be "seen", we had to declare our own brcmstb_defconfig > and no longer use multi_v7_defconfig. This is unfortunate. > > - Commits have been better organized to first implement the main driver, > then add features (MSI, DMA remap infrastructure), and then add > the DMA remapping modifications for MIPs, ARM64, and ARM. > > V4 Changes: > - Merged all BrcmSTB PCIe controller files into a single file. > - All new files now have the SPDX identifier. > - Removed the list of PCIe controllers. > - Removed "link-up" race. > - Removed probe of msi psuedo-device. > - Multiple comment text changes, as requested. > - "SSC" => "Spread Spectrum Clocking". > - Set 'memc' variable. > - Unnecessary variable initializations removed (eg rc_bar2_size). > - Added comment on "L23" link state. > - Removed use of "__refdata". > - Formatting of structure elements. > > V3 Changes: > - Fold pcie-brcmstb-msi.c into pcie-brcmstb.c > - Use PCI_XXX constants for PCIe capability registers > - Removal of any unused constants > - Change s/pci/pcie/ for filenames, comment text > - Config space access now uses 8/16/32 read/writes > - Use proper multi-line comment style > - Use function names, structure that are common in other host drivers > - DT binding 'brcm,ssc' is now 'brcm,enable-ssc' > - Dropped DT binding 'xyz-supply' > - Not setting CRS support as Linux does it if it is advertised. > - Removed code that was considered "debug code". > - Use of_get_pcie_domain_nr() > - Variable 'bridge_setup_done' removed. > > V2 Changes: > * Patch brcmstb-add-memory-API: > - fix DT_PROP_DATA_TO_U32 macro. > - dropped one EXPORT_SYMBOL, changed the other to GPL. > * Patch DT-docs-for-Brcmstb-PCIe: > - change 'brcm,gen' prop to standard 'max-link-speed'. > - rewrite bindings commit to omit standard prop defs. > - change props "supplies", "supply-names" to "xyz-supply" > * Patch removed: export-symbol-arch_setup_dma_ops [4/9] > * Patch brcmstb-add-dma-ranges: > - use get_dma_ops(); also use a const dma_map_ops structure. > - rewrite map_sg(), unmap_sg(), other calls like syng_sg_*() > - omit brcm_mapping_error(), but added code in brcm_dma_supported() > - put all of the notifier code in one compilation unit. > > > > Florian Fainelli (1): > soc: bcm: brcmstb: add memory API > > Jim Quinlan (11): > dt-bindings: pci: add DT docs for Brcmstb PCIe device > PCI: brcmstb: add Broadcom STB PCIe host controller driver > PCI: brcmstb: add dma-range mapping for inbound traffic > PCI: brcmstb: add MSI capability > MIPS: BMIPS: add dma remap for BrcmSTB PCIe > PCI/MSI: enable PCI_MSI_IRQ_DOMAIN support for MIPS > MIPS: BMIPS: add PCI bindings for 7425, 7435 > MIPS: BMIPS: enable PCI > ARM64: declare __phys_to_dma on ARCH_HAS_PHYS_TO_DMA > ARM64: add dma remap for BrcmSTB PCIe > ARM: add dma remap for BrcmSTB PCIe > > .../devicetree/bindings/pci/brcmstb-pcie.txt | 59 + > arch/arm/Kconfig | 33 + > arch/arm/configs/brcmstb_defconfig | 204 +++ > arch/arm/configs/multi_v7_defconfig | 3 - > arch/arm/mach-bcm/Kconfig | 21 +- > arch/arm/mach-bcm/Makefile.boot | 0 > arch/arm/mach-bcm/include/mach/irqs.h | 3 + > arch/arm/mach-bcm/include/mach/memory.h | 47 + > arch/arm/mach-bcm/include/mach/uncompress.h | 8 + > arch/arm64/include/asm/dma-direct.h | 16 + > arch/mips/Kconfig | 3 + > arch/mips/bmips/dma.c | 9 + > arch/mips/boot/dts/brcm/bcm7425.dtsi | 28 + > arch/mips/boot/dts/brcm/bcm7435.dtsi | 28 + > arch/mips/boot/dts/brcm/bcm97425svmb.dts | 4 + > arch/mips/boot/dts/brcm/bcm97435svmb.dts | 4 + > drivers/pci/Kconfig | 2 +- > drivers/pci/controller/Kconfig | 13 + > drivers/pci/controller/Makefile | 1 + > drivers/pci/controller/pcie-brcmstb.c | 1554 ++++++++++++++++++++ > drivers/soc/bcm/brcmstb/Makefile | 2 +- > drivers/soc/bcm/brcmstb/memory.c | 158 ++ > include/soc/brcmstb/common.h | 16 + > include/soc/brcmstb/memory_api.h | 26 + > 24 files changed, 2217 insertions(+), 25 deletions(-) > create mode 100644 Documentation/devicetree/bindings/pci/brcmstb-pcie.txt > create mode 100644 arch/arm/configs/brcmstb_defconfig > create mode 100644 arch/arm/mach-bcm/Makefile.boot > create mode 100644 arch/arm/mach-bcm/include/mach/irqs.h > create mode 100644 arch/arm/mach-bcm/include/mach/memory.h > create mode 100644 arch/arm/mach-bcm/include/mach/uncompress.h > create mode 100644 arch/arm64/include/asm/dma-direct.h > create mode 100644 drivers/pci/controller/pcie-brcmstb.c > create mode 100644 drivers/soc/bcm/brcmstb/memory.c > create mode 100644 include/soc/brcmstb/memory_api.h > > -- > 1.9.0.138.g2de3478 >