From: Jim Quinlan <jim2101024@gmail.com>
To: linux-kernel@vger.kernel.org
Cc: Bjorn Helgaas <bhelgaas@google.com>,
Rob Herring <robh+dt@kernel.org>,
Mark Rutland <mark.rutland@arm.com>,
Brian Norris <computersforpeace@gmail.com>,
Gregory Fong <gregory.0xf0@gmail.com>,
Florian Fainelli <f.fainelli@gmail.com>,
bcm-kernel-feedback-list@broadcom.com,
Russell King <linux@armlinux.org.uk>,
Ray Jui <ray.jui@broadcom.com>,
Scott Branden <scott.branden@broadcom.com>,
Catalin Marinas <catalin.marinas@arm.com>,
Will Deacon <will.deacon@arm.com>,
Ralf Baechle <ralf@linux-mips.org>,
Paul Burton <paul.burton@mips.com>,
James Hogan <jhogan@kernel.org>,
Kevin Cernekee <cernekee@gmail.com>,
Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>,
Masahiro Yamada <yamada.masahiro@socionext.com>,
Arnd Bergmann <arnd@arndb.de>,
Nicolas Pitre <nicolas.pitre@linaro.org>,
Kees Cook <keescook@chromium.org>,
Jinbum Park <jinb.park7@gmail.com>,
Vladimir Murzin <vladimir.murzin@arm.com>,
Jim Quinlan <jim2101024@gmail.com>,
Alexandre Belloni <alexandre.belloni@bootlin.com>,
Palmer Dabbelt <palmer@sifive.com>,
Stefan Agner <stefan@agner.ch>, Eric Anholt <eric@anholt.net>,
Simon Horman <horms+renesas@verge.net.au>,
Tony Lindgren <tony@atomide.com>,
Stefan Wahren <stefan.wahren@i2se.com>,
Marek Szyprowski <m.szyprowski@samsung.com>,
Martin Blumenstingl <martin.blumenstingl@googlemail.com>,
Olof Johansson <olof@lixom.net>,
Thomas Hellstrom <thellstrom@vmware.com>,
Alex Deucher <alexander.deucher@amd.com>,
"Dirk Hohndel (VMware)" <dirk@hohndel.org>,
Thomas Gleixner <tglx@linutronix.de>,
Philippe Ombredanne <pombredanne@nexb.com>,
Kate Stewart <kstewart@linuxfoundation.org>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Robin Murphy <robin.murphy@arm.com>,
Justin Chen <justinpopo6@gmail.com>,
Markus Mayer <markus.mayer@broadcom.com>,
Gareth Powell <gpowell@broadcom.com>,
Doug Berger <opendmb@gmail.com>,
linux-pci@vger.kernel.org, devicetree@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, linux-mips@linux-mips.org,
Christoph Hellwig <hch@lst.de>
Subject: [PATCH v5 00/12] PCI: brcmstb: Add Broadcom Settopbox PCIe support
Date: Thu, 6 Sep 2018 16:42:49 -0400 [thread overview]
Message-ID: <1536266581-7308-1-git-send-email-jim2101024@gmail.com> (raw)
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
next reply other threads:[~2018-09-06 20:42 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-09-06 20:42 Jim Quinlan [this message]
2018-09-06 20:42 ` [PATCH v5 01/12] soc: bcm: brcmstb: add memory API Jim Quinlan
2018-09-06 20:42 ` [PATCH v5 02/12] dt-bindings: pci: add DT docs for Brcmstb PCIe device Jim Quinlan
2018-09-06 20:42 ` [PATCH v5 03/12] PCI: brcmstb: add Broadcom STB PCIe host controller driver Jim Quinlan
2018-09-06 20:42 ` [PATCH v5 04/12] PCI: brcmstb: add dma-range mapping for inbound traffic Jim Quinlan
2018-09-06 20:42 ` [PATCH v5 05/12] PCI: brcmstb: add MSI capability Jim Quinlan
2018-09-06 20:42 ` [PATCH v5 06/12] MIPS: BMIPS: add dma remap for BrcmSTB PCIe Jim Quinlan
2018-09-06 20:42 ` [PATCH v5 07/12] PCI/MSI: enable PCI_MSI_IRQ_DOMAIN support for MIPS Jim Quinlan
2018-09-06 21:45 ` Paul Burton
2018-09-10 14:42 ` Jim Quinlan
2018-09-10 14:42 ` Jim Quinlan
2018-09-10 14:42 ` Jim Quinlan
2018-09-06 20:42 ` [PATCH v5 08/12] MIPS: BMIPS: add PCI bindings for 7425, 7435 Jim Quinlan
2018-09-06 21:49 ` Paul Burton
2018-09-10 14:37 ` Jim Quinlan
2018-09-10 14:37 ` Jim Quinlan
2018-09-10 14:37 ` Jim Quinlan
2018-09-12 14:36 ` Jonas Gorski
2018-09-12 14:36 ` Jonas Gorski
2018-09-12 17:20 ` Florian Fainelli
2018-09-12 17:20 ` Florian Fainelli
2018-09-06 20:42 ` [PATCH v5 09/12] MIPS: BMIPS: enable PCI Jim Quinlan
2018-09-06 20:42 ` [PATCH v5 10/12] ARM64: declare __phys_to_dma on ARCH_HAS_PHYS_TO_DMA Jim Quinlan
2018-09-06 20:43 ` [PATCH v5 11/12] ARM64: add dma remap for BrcmSTB PCIe Jim Quinlan
2018-09-06 20:43 ` [PATCH v5 12/12] ARM: " Jim Quinlan
2018-09-06 21:25 ` Florian Fainelli
2018-09-13 11:07 ` [PATCH v5 00/12] PCI: brcmstb: Add Broadcom Settopbox PCIe support Lorenzo Pieralisi
2018-09-13 18:24 ` Jim Quinlan
2018-09-13 18:24 ` Jim Quinlan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1536266581-7308-1-git-send-email-jim2101024@gmail.com \
--to=jim2101024@gmail.com \
--cc=alexander.deucher@amd.com \
--cc=alexandre.belloni@bootlin.com \
--cc=arnd@arndb.de \
--cc=bcm-kernel-feedback-list@broadcom.com \
--cc=bhelgaas@google.com \
--cc=catalin.marinas@arm.com \
--cc=cernekee@gmail.com \
--cc=computersforpeace@gmail.com \
--cc=devicetree@vger.kernel.org \
--cc=dirk@hohndel.org \
--cc=eric@anholt.net \
--cc=f.fainelli@gmail.com \
--cc=gpowell@broadcom.com \
--cc=gregkh@linuxfoundation.org \
--cc=gregory.0xf0@gmail.com \
--cc=hch@lst.de \
--cc=horms+renesas@verge.net.au \
--cc=jhogan@kernel.org \
--cc=jinb.park7@gmail.com \
--cc=justinpopo6@gmail.com \
--cc=keescook@chromium.org \
--cc=kstewart@linuxfoundation.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mips@linux-mips.org \
--cc=linux-pci@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=lorenzo.pieralisi@arm.com \
--cc=m.szyprowski@samsung.com \
--cc=mark.rutland@arm.com \
--cc=markus.mayer@broadcom.com \
--cc=martin.blumenstingl@googlemail.com \
--cc=nicolas.pitre@linaro.org \
--cc=olof@lixom.net \
--cc=opendmb@gmail.com \
--cc=palmer@sifive.com \
--cc=paul.burton@mips.com \
--cc=pombredanne@nexb.com \
--cc=ralf@linux-mips.org \
--cc=ray.jui@broadcom.com \
--cc=robh+dt@kernel.org \
--cc=robin.murphy@arm.com \
--cc=scott.branden@broadcom.com \
--cc=stefan.wahren@i2se.com \
--cc=stefan@agner.ch \
--cc=tglx@linutronix.de \
--cc=thellstrom@vmware.com \
--cc=tony@atomide.com \
--cc=vladimir.murzin@arm.com \
--cc=will.deacon@arm.com \
--cc=yamada.masahiro@socionext.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.