On Thu, Sep 13, 2018 at 7:07 AM Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> wrote: > > 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 Hi Lorenzo, this may have had something to do with an email issue on my end. I will resend again soon. Thanks, Jim > > 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 > >