[PATCH 0/9] staging: fsl-mc: move bus driver out of staging, add dpio
From: Stuart Yoder
Date: Fri Oct 21 2016 - 10:08:00 EST
This patch series: A) addresses the final item in the staging
TODO list for the fsl-mc bus driver-- adding a functional driver
on top of the bus driver, and B) requests that the fsl-mc bus driver
be moved out of staging.
The proposed destination for the bus driver is drivers/bus.
Proposed location for global header files for fsl-mc and dpaa2
is include/linux/fsl.
The functional driver added is for the DPIO object which provides
queuing services for other DPAA2 drivers. An overview of the
DPIO object and driver components are in patch 2. Patches 3-7 are
internal components of the DPIO driver-- bit twiddling of hardware
registers, DPAA2 data structures, and the queuing APIs exposed
to other drivers.
Patch 8 adds the fsl-mc driver for the DPIO object. It provides
the probe/remove functions, demonstrating a working example of
how fsl-mc drivers initialize, interact with the management
complex hardware, map their mappable MMIO regions, initialize
interrupts, register an ISR, etc. All other DPAA2 drivers will
follow a similar initialization pattern.
The dpio driver is added under drivers/bus/fsl-mc/dpio. This
driver provides queueing related services and there is no other
obvious place it would go. Like the bus driver, it is part of
the DPAA2 infrastucture and putting it under the fsl-mc bus
driver seems like a logical place.
This series depends on the patch series:
[PATCH 00/14] staging: fsl-mc: cleanup and uprev to MC v10.x
https://www.spinics.net/lists/kernel/msg2362567.html
Ioana Radulescu (1):
bus: fsl-mc: dpio: add APIs for DPIO objects
Roy Pledge (6):
bus: fsl-mc: dpio: add frame descriptor and scatter/gather APIs
bus: fsl-mc: dpio: add global dpaa2 definitions
bus: fsl-mc: dpio: add QBMan portal APIs for DPAA2
bus: fsl-mc: dpio: add the DPAA2 DPIO service interface
bus: fsl-mc: dpio: add the DPAA2 DPIO object driver
bus: fsl-mc: dpio: add maintainer for DPIO
Stuart Yoder (2):
staging: fsl-mc: move bus driver out of staging
bus: fsl-mc: dpio: add DPIO driver overview document
Documentation/dpaa2/dpio-driver.txt | 135 +++
.../README.txt => Documentation/dpaa2/overview.txt | 0
MAINTAINERS | 6 +
drivers/bus/Kconfig | 3 +
drivers/bus/Makefile | 3 +
drivers/{staging/fsl-mc/bus => bus/fsl-mc}/Kconfig | 10 +
.../{staging/fsl-mc/bus => bus/fsl-mc}/Makefile | 4 +-
.../{staging/fsl-mc/bus => bus/fsl-mc}/dpbp-cmd.h | 0
drivers/{staging/fsl-mc/bus => bus/fsl-mc}/dpbp.c | 6 +-
.../{staging/fsl-mc/bus => bus/fsl-mc}/dpcon-cmd.h | 0
drivers/bus/fsl-mc/dpio/Makefile | 9 +
drivers/bus/fsl-mc/dpio/dpio-cmd.h | 198 ++++
drivers/bus/fsl-mc/dpio/dpio-driver.c | 289 ++++++
drivers/bus/fsl-mc/dpio/dpio-service.c | 614 ++++++++++++
drivers/bus/fsl-mc/dpio/dpio.c | 229 +++++
drivers/bus/fsl-mc/dpio/dpio.h | 108 +++
drivers/bus/fsl-mc/dpio/qbman-portal.c | 1009 ++++++++++++++++++++
drivers/bus/fsl-mc/dpio/qbman-portal.h | 464 +++++++++
.../{staging/fsl-mc/bus => bus/fsl-mc}/dpmcp-cmd.h | 0
drivers/{staging/fsl-mc/bus => bus/fsl-mc}/dpmcp.c | 5 +-
drivers/{staging/fsl-mc/bus => bus/fsl-mc}/dpmcp.h | 0
.../{staging/fsl-mc/bus => bus/fsl-mc}/dpmng-cmd.h | 0
drivers/{staging/fsl-mc/bus => bus/fsl-mc}/dpmng.c | 6 +-
.../{staging/fsl-mc/bus => bus/fsl-mc}/dprc-cmd.h | 0
.../fsl-mc/bus => bus/fsl-mc}/dprc-driver.c | 4 +-
drivers/{staging/fsl-mc/bus => bus/fsl-mc}/dprc.c | 6 +-
.../fsl-mc/bus => bus/fsl-mc}/fsl-mc-allocator.c | 4 +-
.../fsl-mc/bus => bus/fsl-mc}/fsl-mc-bus.c | 6 +-
.../fsl-mc/bus => bus/fsl-mc}/fsl-mc-msi.c | 2 +-
.../fsl-mc/bus => bus/fsl-mc}/fsl-mc-private.h | 4 +-
drivers/{staging/fsl-mc/bus => bus/fsl-mc}/mc-io.c | 4 +-
.../{staging/fsl-mc/bus => bus/fsl-mc}/mc-sys.c | 6 +-
drivers/irqchip/Makefile | 1 +
.../bus => irqchip}/irq-gic-v3-its-fsl-mc-msi.c | 2 +-
drivers/staging/Kconfig | 2 -
drivers/staging/Makefile | 1 -
drivers/staging/fsl-mc/Kconfig | 1 -
drivers/staging/fsl-mc/Makefile | 2 -
drivers/staging/fsl-mc/TODO | 18 -
include/linux/fsl/dpaa2-fd.h | 415 ++++++++
include/linux/fsl/dpaa2-global.h | 203 ++++
include/linux/fsl/dpaa2-io.h | 138 +++
.../fsl-mc/include => include/linux/fsl}/dpbp.h | 0
.../fsl-mc/include => include/linux/fsl}/dpmng.h | 0
.../fsl-mc/include => include/linux/fsl}/dprc.h | 0
.../fsl-mc/include => include/linux/fsl}/mc-bus.h | 2 +-
.../fsl-mc/include => include/linux/fsl}/mc-cmd.h | 0
.../fsl-mc/include => include/linux/fsl}/mc-sys.h | 0
.../fsl-mc/include => include/linux/fsl}/mc.h | 2 +-
49 files changed, 3867 insertions(+), 54 deletions(-)
create mode 100644 Documentation/dpaa2/dpio-driver.txt
rename drivers/staging/fsl-mc/README.txt => Documentation/dpaa2/overview.txt (100%)
rename drivers/{staging/fsl-mc/bus => bus/fsl-mc}/Kconfig (56%)
rename drivers/{staging/fsl-mc/bus => bus/fsl-mc}/Makefile (88%)
rename drivers/{staging/fsl-mc/bus => bus/fsl-mc}/dpbp-cmd.h (100%)
rename drivers/{staging/fsl-mc/bus => bus/fsl-mc}/dpbp.c (99%)
rename drivers/{staging/fsl-mc/bus => bus/fsl-mc}/dpcon-cmd.h (100%)
create mode 100644 drivers/bus/fsl-mc/dpio/Makefile
create mode 100644 drivers/bus/fsl-mc/dpio/dpio-cmd.h
create mode 100644 drivers/bus/fsl-mc/dpio/dpio-driver.c
create mode 100644 drivers/bus/fsl-mc/dpio/dpio-service.c
create mode 100644 drivers/bus/fsl-mc/dpio/dpio.c
create mode 100644 drivers/bus/fsl-mc/dpio/dpio.h
create mode 100644 drivers/bus/fsl-mc/dpio/qbman-portal.c
create mode 100644 drivers/bus/fsl-mc/dpio/qbman-portal.h
rename drivers/{staging/fsl-mc/bus => bus/fsl-mc}/dpmcp-cmd.h (100%)
rename drivers/{staging/fsl-mc/bus => bus/fsl-mc}/dpmcp.c (99%)
rename drivers/{staging/fsl-mc/bus => bus/fsl-mc}/dpmcp.h (100%)
rename drivers/{staging/fsl-mc/bus => bus/fsl-mc}/dpmng-cmd.h (100%)
rename drivers/{staging/fsl-mc/bus => bus/fsl-mc}/dpmng.c (96%)
rename drivers/{staging/fsl-mc/bus => bus/fsl-mc}/dprc-cmd.h (100%)
rename drivers/{staging/fsl-mc/bus => bus/fsl-mc}/dprc-driver.c (99%)
rename drivers/{staging/fsl-mc/bus => bus/fsl-mc}/dprc.c (99%)
rename drivers/{staging/fsl-mc/bus => bus/fsl-mc}/fsl-mc-allocator.c (99%)
rename drivers/{staging/fsl-mc/bus => bus/fsl-mc}/fsl-mc-bus.c (99%)
rename drivers/{staging/fsl-mc/bus => bus/fsl-mc}/fsl-mc-msi.c (99%)
rename drivers/{staging/fsl-mc/bus => bus/fsl-mc}/fsl-mc-private.h (96%)
rename drivers/{staging/fsl-mc/bus => bus/fsl-mc}/mc-io.c (99%)
rename drivers/{staging/fsl-mc/bus => bus/fsl-mc}/mc-sys.c (99%)
rename drivers/{staging/fsl-mc/bus => irqchip}/irq-gic-v3-its-fsl-mc-msi.c (99%)
delete mode 100644 drivers/staging/fsl-mc/Kconfig
delete mode 100644 drivers/staging/fsl-mc/Makefile
delete mode 100644 drivers/staging/fsl-mc/TODO
create mode 100644 include/linux/fsl/dpaa2-fd.h
create mode 100644 include/linux/fsl/dpaa2-global.h
create mode 100644 include/linux/fsl/dpaa2-io.h
rename {drivers/staging/fsl-mc/include => include/linux/fsl}/dpbp.h (100%)
rename {drivers/staging/fsl-mc/include => include/linux/fsl}/dpmng.h (100%)
rename {drivers/staging/fsl-mc/include => include/linux/fsl}/dprc.h (100%)
rename {drivers/staging/fsl-mc/include => include/linux/fsl}/mc-bus.h (99%)
rename {drivers/staging/fsl-mc/include => include/linux/fsl}/mc-cmd.h (100%)
rename {drivers/staging/fsl-mc/include => include/linux/fsl}/mc-sys.h (100%)
rename {drivers/staging/fsl-mc/include => include/linux/fsl}/mc.h (99%)
--
1.9.0