linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/9] staging: fsl-mc: move bus driver out of staging, add dpio
@ 2016-12-01 22:41 Stuart Yoder
  2016-12-01 22:41 ` [PATCH v3 1/9] staging: fsl-mc: move bus driver out of staging Stuart Yoder
                   ` (8 more replies)
  0 siblings, 9 replies; 28+ messages in thread
From: Stuart Yoder @ 2016-12-01 22:41 UTC (permalink / raw)
  To: gregkh
  Cc: devel, linux-kernel, agraf, arnd, leoyang.li, ioana.ciornei,
	catalin.horghidan, laurentiu.tudor, ruxandra.radulescu,
	Stuart Yoder

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.

version 3 changes
   -zero memory allocated for a dpio store
   -replace hardcoded dequeue token with a #define and look for
    that token when checking for a new result

version 2 changes (mostly feedback from Ioana Radulescu)
   -removed unused structs and defines in dpio command definitions
   -added setter/getter for the FD ctrl field
   -corrected comment for SG format_offset field description
   -added support for short length field in FD
   -fix bug in buffer release command, by setting bpid field
   -handle error (NULL) return value from qbman_swp_mc_complete()
   -fix bug in sending management commands where the verb was
    properly initialized
   -use service_select_by_cpu() for re-arming DPIO interrupts
   -replace use of NR_CPUS with num_possible_cpus()
   -handle error case where number of DPIOs exceeds number of possible
    CPUs
   -error message cleanup
   -updated MAINTAINERS file with proper location for both fsl-mc bus
    driver and dpio driver

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                                        |    8 +-
 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                 |   75 ++
 drivers/bus/fsl-mc/dpio/dpio-driver.c              |  295 ++++++
 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             | 1028 ++++++++++++++++++++
 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                       |  448 +++++++++
 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, 3803 insertions(+), 55 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

^ permalink raw reply	[flat|nested] 28+ messages in thread

end of thread, other threads:[~2016-12-16  1:22 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-12-01 22:41 [PATCH v3 0/9] staging: fsl-mc: move bus driver out of staging, add dpio Stuart Yoder
2016-12-01 22:41 ` [PATCH v3 1/9] staging: fsl-mc: move bus driver out of staging Stuart Yoder
2016-12-07 15:52   ` Greg KH
2016-12-07 20:19     ` Stuart Yoder
2016-12-08 16:05       ` Greg KH
2016-12-09  0:36         ` Stuart Yoder
2016-12-09  7:10           ` Greg KH
2016-12-09 15:53             ` Stuart Yoder
2016-12-01 22:41 ` [PATCH v3 2/9] bus: fsl-mc: dpio: add DPIO driver overview document Stuart Yoder
2016-12-01 22:41 ` [PATCH v3 3/9] bus: fsl-mc: dpio: add APIs for DPIO objects Stuart Yoder
2016-12-02 11:26   ` Laurentiu Tudor
2016-12-15 16:36     ` Stuart Yoder
2016-12-01 22:41 ` [PATCH v3 4/9] bus: fsl-mc: dpio: add frame descriptor and scatter/gather APIs Stuart Yoder
2016-12-02 12:12   ` Laurentiu Tudor
2016-12-05 20:52     ` Dan Carpenter
2016-12-06 10:35       ` Laurentiu Tudor
2016-12-15 16:41     ` Stuart Yoder
2016-12-01 22:41 ` [PATCH v3 5/9] bus: fsl-mc: dpio: add global dpaa2 definitions Stuart Yoder
2016-12-02 12:19   ` Laurentiu Tudor
2016-12-15 17:12     ` Stuart Yoder
2016-12-01 22:41 ` [PATCH v3 6/9] bus: fsl-mc: dpio: add QBMan portal APIs for DPAA2 Stuart Yoder
2016-12-02 12:40   ` Laurentiu Tudor
2016-12-15 22:20     ` Stuart Yoder
2016-12-01 22:41 ` [PATCH v3 7/9] bus: fsl-mc: dpio: add the DPAA2 DPIO service interface Stuart Yoder
2016-12-02 13:02   ` Laurentiu Tudor
2016-12-15 22:43     ` Stuart Yoder
2016-12-01 22:41 ` [PATCH v3 8/9] bus: fsl-mc: dpio: add the DPAA2 DPIO object driver Stuart Yoder
2016-12-01 22:41 ` [PATCH v3 9/9] bus: fsl-mc: dpio: add maintainer for DPIO Stuart Yoder

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).