diff --git a/Documentation/networking/dpaa2/index.rst b/Documentation/networking/dpaa2/index.rst new file mode 100644 index 0000000000000000000000000000000000000000..4c6586c87969e407deaefff55181660847ff2333 --- /dev/null +++ b/Documentation/networking/dpaa2/index.rst @@ -0,0 +1,8 @@ +=================== +DPAA2 Documentation +=================== + +.. toctree:: + :maxdepth: 1 + + overview diff --git a/drivers/staging/fsl-mc/overview.rst b/Documentation/networking/dpaa2/overview.rst similarity index 100% rename from drivers/staging/fsl-mc/overview.rst rename to Documentation/networking/dpaa2/overview.rst diff --git a/Documentation/networking/index.rst b/Documentation/networking/index.rst index 90966c2692d8b879755b39d27ed106d8b643244f..f204eaff657d8728cd60a4a9d19d040dd901ae5a 100644 --- a/Documentation/networking/index.rst +++ b/Documentation/networking/index.rst @@ -8,6 +8,7 @@ Contents: batman-adv can + dpaa2/index kapi z8530book msg_zerocopy diff --git a/MAINTAINERS b/MAINTAINERS index 0c34d96c54e7a3e16d7bdc25698d04cd1c39e2e3..885d20072d9714047970111671f93622a62ab484 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -11452,8 +11452,9 @@ M: Stuart Yoder M: Laurentiu Tudor L: linux-kernel@vger.kernel.org S: Maintained -F: drivers/staging/fsl-mc/ +F: drivers/bus/fsl-mc/ F: Documentation/devicetree/bindings/misc/fsl,qoriq-mc.txt +F: Documentation/networking/dpaa2/overview.rst QT1010 MEDIA DRIVER M: Antti Palosaari diff --git a/drivers/bus/Kconfig b/drivers/bus/Kconfig index 57e011d36a79fce3156d38a7457e2875993f3cd3..769599bc1babcb46cb9ffeeba75c2425b7280cbc 100644 --- a/drivers/bus/Kconfig +++ b/drivers/bus/Kconfig @@ -199,4 +199,6 @@ config DA8XX_MSTPRI configuration. Allows to adjust the priorities of all master peripherals. +source "drivers/bus/fsl-mc/Kconfig" + endmenu diff --git a/drivers/bus/Makefile b/drivers/bus/Makefile index 9bcd0bf3954bf18209f2dfe0e65cc79e04de4dc1..b666c49f249e0fe41eaa2c9ebcb9bd40a53781ca 100644 --- a/drivers/bus/Makefile +++ b/drivers/bus/Makefile @@ -8,6 +8,10 @@ obj-$(CONFIG_ARM_CCI) += arm-cci.o obj-$(CONFIG_ARM_CCN) += arm-ccn.o obj-$(CONFIG_BRCMSTB_GISB_ARB) += brcmstb_gisb.o + +# DPAA2 fsl-mc bus +obj-$(CONFIG_FSL_MC_BUS) += fsl-mc/ + obj-$(CONFIG_IMX_WEIM) += imx-weim.o obj-$(CONFIG_MIPS_CDMM) += mips_cdmm.o obj-$(CONFIG_MVEBU_MBUS) += mvebu-mbus.o diff --git a/drivers/bus/fsl-mc/Kconfig b/drivers/bus/fsl-mc/Kconfig new file mode 100644 index 0000000000000000000000000000000000000000..bcca64486fd373b71c66742705b1f0c29d05861e --- /dev/null +++ b/drivers/bus/fsl-mc/Kconfig @@ -0,0 +1,16 @@ +# SPDX-License-Identifier: GPL-2.0 +# +# DPAA2 fsl-mc bus +# +# Copyright (C) 2014-2016 Freescale Semiconductor, Inc. +# + +config FSL_MC_BUS + bool "QorIQ DPAA2 fsl-mc bus driver" + depends on OF && (ARCH_LAYERSCAPE || (COMPILE_TEST && (ARM || ARM64 || X86 || PPC))) + select GENERIC_MSI_IRQ_DOMAIN + help + Driver to enable the bus infrastructure for the QorIQ DPAA2 + architecture. The fsl-mc bus driver handles discovery of + DPAA2 objects (which are represented as Linux devices) and + binding objects to drivers. diff --git a/drivers/bus/fsl-mc/Makefile b/drivers/bus/fsl-mc/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..6a97f2c3a06531c5521d356f3c4db383f0b5bcbb --- /dev/null +++ b/drivers/bus/fsl-mc/Makefile @@ -0,0 +1,16 @@ +# SPDX-License-Identifier: GPL-2.0 +# +# Freescale Management Complex (MC) bus drivers +# +# Copyright (C) 2014 Freescale Semiconductor, Inc. +# +obj-$(CONFIG_FSL_MC_BUS) += mc-bus-driver.o + +mc-bus-driver-objs := fsl-mc-bus.o \ + mc-sys.o \ + mc-io.o \ + dprc.o \ + dprc-driver.o \ + fsl-mc-allocator.o \ + fsl-mc-msi.o \ + dpmcp.o diff --git a/drivers/staging/fsl-mc/bus/dpmcp.c b/drivers/bus/fsl-mc/dpmcp.c similarity index 98% rename from drivers/staging/fsl-mc/bus/dpmcp.c rename to drivers/bus/fsl-mc/dpmcp.c index be07c77520af92d69ef674adc3941cb4c62e958f..8d997b0f6ba3e56d0e4fd00f28428d52b0fa40da 100644 --- a/drivers/staging/fsl-mc/bus/dpmcp.c +++ b/drivers/bus/fsl-mc/dpmcp.c @@ -4,7 +4,7 @@ * */ #include -#include "../include/mc.h" +#include #include "fsl-mc-private.h" diff --git a/drivers/staging/fsl-mc/bus/dprc-driver.c b/drivers/bus/fsl-mc/dprc-driver.c similarity index 99% rename from drivers/staging/fsl-mc/bus/dprc-driver.c rename to drivers/bus/fsl-mc/dprc-driver.c index b09075731e62cf62f765f77d2ef9d377b96dd662..52c7e15143d6d6e62087f8ad4db6fcdca3d1e4d9 100644 --- a/drivers/staging/fsl-mc/bus/dprc-driver.c +++ b/drivers/bus/fsl-mc/dprc-driver.c @@ -11,7 +11,7 @@ #include #include #include -#include "../include/mc.h" +#include #include "fsl-mc-private.h" diff --git a/drivers/staging/fsl-mc/bus/dprc.c b/drivers/bus/fsl-mc/dprc.c similarity index 99% rename from drivers/staging/fsl-mc/bus/dprc.c rename to drivers/bus/fsl-mc/dprc.c index 97f51726fa7e28604fc6a37ae0ab50d3755f3d18..5c23e8d4ddb346824802c42e2b95f5e528308258 100644 --- a/drivers/staging/fsl-mc/bus/dprc.c +++ b/drivers/bus/fsl-mc/dprc.c @@ -4,7 +4,8 @@ * */ #include -#include "../include/mc.h" +#include + #include "fsl-mc-private.h" /** diff --git a/drivers/staging/fsl-mc/bus/fsl-mc-allocator.c b/drivers/bus/fsl-mc/fsl-mc-allocator.c similarity index 99% rename from drivers/staging/fsl-mc/bus/fsl-mc-allocator.c rename to drivers/bus/fsl-mc/fsl-mc-allocator.c index 8f313a41240b34efd4fbb5196cbb1f2718f41f2c..452c5d7a12e9129d6a428f4aac85a2975ace307a 100644 --- a/drivers/staging/fsl-mc/bus/fsl-mc-allocator.c +++ b/drivers/bus/fsl-mc/fsl-mc-allocator.c @@ -8,7 +8,7 @@ #include #include -#include "../include/mc.h" +#include #include "fsl-mc-private.h" diff --git a/drivers/staging/fsl-mc/bus/fsl-mc-bus.c b/drivers/bus/fsl-mc/fsl-mc-bus.c similarity index 100% rename from drivers/staging/fsl-mc/bus/fsl-mc-bus.c rename to drivers/bus/fsl-mc/fsl-mc-bus.c diff --git a/drivers/staging/fsl-mc/bus/fsl-mc-msi.c b/drivers/bus/fsl-mc/fsl-mc-msi.c similarity index 99% rename from drivers/staging/fsl-mc/bus/fsl-mc-msi.c rename to drivers/bus/fsl-mc/fsl-mc-msi.c index 971ad87c584c38b197bdd71d7c71cb1114c87f90..ec35e255b49674b3e16648bd5b1c5bb627d4c795 100644 --- a/drivers/staging/fsl-mc/bus/fsl-mc-msi.c +++ b/drivers/bus/fsl-mc/fsl-mc-msi.c @@ -13,6 +13,7 @@ #include #include #include + #include "fsl-mc-private.h" #ifdef GENERIC_MSI_DOMAIN_OPS diff --git a/drivers/staging/fsl-mc/bus/fsl-mc-private.h b/drivers/bus/fsl-mc/fsl-mc-private.h similarity index 99% rename from drivers/staging/fsl-mc/bus/fsl-mc-private.h rename to drivers/bus/fsl-mc/fsl-mc-private.h index 83b89d6241f2f838eafb33bcfce61ecbc7c84362..bed990c517f383bbfa8ebb192ef20bc0eb133610 100644 --- a/drivers/staging/fsl-mc/bus/fsl-mc-private.h +++ b/drivers/bus/fsl-mc/fsl-mc-private.h @@ -8,7 +8,7 @@ #ifndef _FSL_MC_PRIVATE_H_ #define _FSL_MC_PRIVATE_H_ -#include "../include/mc.h" +#include #include /* diff --git a/drivers/staging/fsl-mc/bus/mc-io.c b/drivers/bus/fsl-mc/mc-io.c similarity index 99% rename from drivers/staging/fsl-mc/bus/mc-io.c rename to drivers/bus/fsl-mc/mc-io.c index 7e6fb360ef12fe2cb342a299c1a0fa9cf88bd62c..7226cfc49b6fd99f04be428ae751105e8f0cd058 100644 --- a/drivers/staging/fsl-mc/bus/mc-io.c +++ b/drivers/bus/fsl-mc/mc-io.c @@ -5,7 +5,7 @@ */ #include -#include "../include/mc.h" +#include #include "fsl-mc-private.h" diff --git a/drivers/staging/fsl-mc/bus/mc-sys.c b/drivers/bus/fsl-mc/mc-sys.c similarity index 99% rename from drivers/staging/fsl-mc/bus/mc-sys.c rename to drivers/bus/fsl-mc/mc-sys.c index f09d75d9a9761a2a2abae1d8165889fcd5c4d219..bd03f1524ecbbfdd0a5f30ada709bd784f6739c9 100644 --- a/drivers/staging/fsl-mc/bus/mc-sys.c +++ b/drivers/bus/fsl-mc/mc-sys.c @@ -12,7 +12,7 @@ #include #include #include -#include "../include/mc.h" +#include #include "fsl-mc-private.h" diff --git a/drivers/staging/fsl-dpaa2/ethernet/README b/drivers/staging/fsl-dpaa2/ethernet/README index 410952ecf657b2f2784d781a6ff32a07aeb05196..e3b5c90197e40a634ea303a90565f653a52be489 100644 --- a/drivers/staging/fsl-dpaa2/ethernet/README +++ b/drivers/staging/fsl-dpaa2/ethernet/README @@ -36,7 +36,7 @@ are treated as internal resources of other objects. For a more detailed description of the DPAA2 architecture and its object abstractions see: - drivers/staging/fsl-mc/README.txt + Documentation/networking/dpaa2/overview.rst Each Linux net device is built on top of a Datapath Network Interface (DPNI) object and uses Buffer Pools (DPBPs), I/O Portals (DPIOs) and Concentrators diff --git a/drivers/staging/fsl-dpaa2/ethernet/dpaa2-eth.c b/drivers/staging/fsl-dpaa2/ethernet/dpaa2-eth.c index 1ea5747b5f22dd260231716ec4a3703ad79504c5..dc7be5388430a324d74888f8e192256a618a66b5 100644 --- a/drivers/staging/fsl-dpaa2/ethernet/dpaa2-eth.c +++ b/drivers/staging/fsl-dpaa2/ethernet/dpaa2-eth.c @@ -39,7 +39,7 @@ #include #include -#include "../../fsl-mc/include/mc.h" +#include #include "dpaa2-eth.h" /* CREATE_TRACE_POINTS only needs to be defined once. Other dpa files diff --git a/drivers/staging/fsl-dpaa2/ethernet/dpni.c b/drivers/staging/fsl-dpaa2/ethernet/dpni.c index e8be76181c36299b95de03b0487a6296d6c33d99..b16ff5c2f8c175027a8421c594c3df006091e7fa 100644 --- a/drivers/staging/fsl-dpaa2/ethernet/dpni.c +++ b/drivers/staging/fsl-dpaa2/ethernet/dpni.c @@ -32,7 +32,7 @@ */ #include #include -#include "../../fsl-mc/include/mc.h" +#include #include "dpni.h" #include "dpni-cmd.h" diff --git a/drivers/staging/fsl-mc/TODO b/drivers/staging/fsl-mc/TODO deleted file mode 100644 index 54a8bc69222e7305cb80a497de0deaace2207c6a..0000000000000000000000000000000000000000 --- a/drivers/staging/fsl-mc/TODO +++ /dev/null @@ -1,18 +0,0 @@ -* Add at least one device driver for a DPAA2 object (child device of the - fsl-mc bus). Most likely candidate for this is adding DPAA2 Ethernet - driver support, which depends on drivers for several objects: DPNI, - DPIO, DPMAC. Other pre-requisites include: - - * MC firmware uprev. The MC firmware upon which the fsl-mc - bus driver and DPAA2 object drivers are based is continuing - to evolve, so minor updates are needed to keep in sync with binary - interface changes to the MC. - -* Cleanup - -Please send any patches to Greg Kroah-Hartman , -german.rivera@freescale.com, devel@driverdev.osuosl.org, -linux-kernel@vger.kernel.org - -[1] https://lkml.org/lkml/2015/7/9/93 -[2] https://lkml.org/lkml/2015/7/7/712 diff --git a/drivers/staging/fsl-mc/bus/Kconfig b/drivers/staging/fsl-mc/bus/Kconfig index 1f91000491767a9c049a27b3f27edf4c3c39b4fe..5f4115d76c065faa2ca8676e298a410724fb530b 100644 --- a/drivers/staging/fsl-mc/bus/Kconfig +++ b/drivers/staging/fsl-mc/bus/Kconfig @@ -5,16 +5,6 @@ # Copyright (C) 2014-2016 Freescale Semiconductor, Inc. # -config FSL_MC_BUS - bool "QorIQ DPAA2 fsl-mc bus driver" - depends on OF && (ARCH_LAYERSCAPE || (COMPILE_TEST && (ARM || ARM64 || X86 || PPC))) - select GENERIC_MSI_IRQ_DOMAIN - help - Driver to enable the bus infrastructure for the QorIQ DPAA2 - architecture. The fsl-mc bus driver handles discovery of - DPAA2 objects (which are represented as Linux devices) and - binding objects to drivers. - config FSL_MC_DPIO tristate "QorIQ DPAA2 DPIO driver" depends on FSL_MC_BUS && ARCH_LAYERSCAPE diff --git a/drivers/staging/fsl-mc/bus/Makefile b/drivers/staging/fsl-mc/bus/Makefile index 29059db95ecc82dc54ff1d124647868a9704b73b..18b1b5fdaf76b5bfe7986f5f3919178e703c54be 100644 --- a/drivers/staging/fsl-mc/bus/Makefile +++ b/drivers/staging/fsl-mc/bus/Makefile @@ -4,19 +4,9 @@ # # Copyright (C) 2014 Freescale Semiconductor, Inc. # -obj-$(CONFIG_FSL_MC_BUS) += mc-bus-driver.o - -mc-bus-driver-objs := fsl-mc-bus.o \ - mc-sys.o \ - mc-io.o \ - dprc.o \ - dprc-driver.o \ - fsl-mc-allocator.o \ - fsl-mc-msi.o \ - irq-gic-v3-its-fsl-mc-msi.o \ - dpmcp.o \ - dpbp.o \ - dpcon.o +obj-$(CONFIG_FSL_MC_BUS) += irq-gic-v3-its-fsl-mc-msi.o \ + dpbp.o \ + dpcon.o # MC DPIO driver obj-$(CONFIG_FSL_MC_DPIO) += dpio/ diff --git a/drivers/staging/fsl-mc/bus/dpbp.c b/drivers/staging/fsl-mc/bus/dpbp.c index a4df84668d5b20087b168c8d53876df271350bf0..c0addaa37f61cefbc1577389b857f374c8c9d5ee 100644 --- a/drivers/staging/fsl-mc/bus/dpbp.c +++ b/drivers/staging/fsl-mc/bus/dpbp.c @@ -4,7 +4,7 @@ * */ #include -#include "../include/mc.h" +#include #include "../include/dpbp.h" #include "dpbp-cmd.h" diff --git a/drivers/staging/fsl-mc/bus/dpcon.c b/drivers/staging/fsl-mc/bus/dpcon.c index 8f84d7b5465ca3a516832f48443ae1f7e56b0bc4..021b4252eba00ce7d67491479097ea8db106abcf 100644 --- a/drivers/staging/fsl-mc/bus/dpcon.c +++ b/drivers/staging/fsl-mc/bus/dpcon.c @@ -4,7 +4,7 @@ * */ #include -#include "../include/mc.h" +#include #include "../include/dpcon.h" #include "dpcon-cmd.h" diff --git a/drivers/staging/fsl-mc/bus/dpio/dpio-driver.c b/drivers/staging/fsl-mc/bus/dpio/dpio-driver.c index b8479ef64c71a3c676939fb1f856464aa060a420..182b38412a820d3539175cc360c5cd63ff1aa363 100644 --- a/drivers/staging/fsl-mc/bus/dpio/dpio-driver.c +++ b/drivers/staging/fsl-mc/bus/dpio/dpio-driver.c @@ -14,7 +14,7 @@ #include #include -#include "../../include/mc.h" +#include #include "../../include/dpaa2-io.h" #include "qbman-portal.h" diff --git a/drivers/staging/fsl-mc/bus/dpio/dpio-service.c b/drivers/staging/fsl-mc/bus/dpio/dpio-service.c index d3c8462d43e8704d33d2d1bc308069544e56f900..1acff7ee7bb94e6fc18457e06c77606c58499a69 100644 --- a/drivers/staging/fsl-mc/bus/dpio/dpio-service.c +++ b/drivers/staging/fsl-mc/bus/dpio/dpio-service.c @@ -5,7 +5,7 @@ * */ #include -#include "../../include/mc.h" +#include #include "../../include/dpaa2-io.h" #include #include diff --git a/drivers/staging/fsl-mc/bus/dpio/dpio.c b/drivers/staging/fsl-mc/bus/dpio/dpio.c index 20cdeae54a74f7bfde80271c961bdda9b1ac124b..3175057e026528ecb7296df895e091fc305041a9 100644 --- a/drivers/staging/fsl-mc/bus/dpio/dpio.c +++ b/drivers/staging/fsl-mc/bus/dpio/dpio.c @@ -5,7 +5,7 @@ * */ #include -#include "../../include/mc.h" +#include #include "dpio.h" #include "dpio-cmd.h" diff --git a/drivers/staging/fsl-mc/bus/irq-gic-v3-its-fsl-mc-msi.c b/drivers/staging/fsl-mc/bus/irq-gic-v3-its-fsl-mc-msi.c index 5064d5ddf581c2282eba49ab87a668da83a5aeee..b365fbb00fd34b60eae3f2e11d0a9134b9b3fd11 100644 --- a/drivers/staging/fsl-mc/bus/irq-gic-v3-its-fsl-mc-msi.c +++ b/drivers/staging/fsl-mc/bus/irq-gic-v3-its-fsl-mc-msi.c @@ -13,7 +13,7 @@ #include #include #include -#include "../include/mc.h" +#include static struct irq_chip its_msi_irq_chip = { .name = "ITS-fMSI", diff --git a/drivers/staging/fsl-mc/include/mc.h b/include/linux/fsl/mc.h similarity index 100% rename from drivers/staging/fsl-mc/include/mc.h rename to include/linux/fsl/mc.h