[RESEND PATCH v6 0/8] staging: fsl-mc: add dpio driver

Roy Pledge roy.pledge at nxp.com
Mon Mar 13 19:01:56 UTC 2017


This patch series adds the driver for the DPIO object which is a step to addressing the final item in the staging TODO list-- adding a functional driver on top of the bus driver.  The DPIO driver is a dependency for other functional drivers such as Ethernet.

An overview of the DPIO object and driver components are in patch 1.
Patches 2-6 are internal components of the DPIO driver-- bit twiddling of hardware registers, DPAA2 data structures, and the queuing APIs exposed to other drivers.

Patch 7 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.

version 6 changes
   -fixed error in size of SG_SHORT_LEN_MASK
   -removed improper padding in DPIO command responses
   -fixed some minor checkpatch warnings

version 5 changes
   -fixed typo in patch 5 that caused compile issue

version 4 changes
   -removed the patch moving the bus driver out of staging, updated
    all paths referenced in dpio (e.g. includes) to be drivers/staging
   -defined macros for constants where needed
   -copyright updates
   -cleanup: fixed whitespace, alignment issues, typos, removed unneeded
    comments
   -fixed bug in SDQCR #define
   -adding missing free in an error path

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 (1):
  bus: fsl-mc: dpio: add DPIO driver overview document

 MAINTAINERS                                     |    6 +
 drivers/staging/fsl-mc/bus/Kconfig              |   10 +
 drivers/staging/fsl-mc/bus/Makefile             |    3 +
 drivers/staging/fsl-mc/bus/dpio/Makefile        |    9 +
 drivers/staging/fsl-mc/bus/dpio/dpio-cmd.h      |   75 ++
 drivers/staging/fsl-mc/bus/dpio/dpio-driver.c   |  296 +++++++
 drivers/staging/fsl-mc/bus/dpio/dpio-driver.txt |  135 +++
 drivers/staging/fsl-mc/bus/dpio/dpio-service.c  |  618 ++++++++++++++
 drivers/staging/fsl-mc/bus/dpio/dpio.c          |  224 +++++
 drivers/staging/fsl-mc/bus/dpio/dpio.h          |  109 +++
 drivers/staging/fsl-mc/bus/dpio/qbman-portal.c  | 1033 +++++++++++++++++++++++
 drivers/staging/fsl-mc/bus/dpio/qbman-portal.h  |  469 ++++++++++
 drivers/staging/fsl-mc/include/dpaa2-fd.h       |  448 ++++++++++
 drivers/staging/fsl-mc/include/dpaa2-global.h   |  202 +++++
 drivers/staging/fsl-mc/include/dpaa2-io.h       |  139 +++
 15 files changed, 3776 insertions(+)
 create mode 100644 drivers/staging/fsl-mc/bus/dpio/Makefile
 create mode 100644 drivers/staging/fsl-mc/bus/dpio/dpio-cmd.h
 create mode 100644 drivers/staging/fsl-mc/bus/dpio/dpio-driver.c
 create mode 100644 drivers/staging/fsl-mc/bus/dpio/dpio-driver.txt
 create mode 100644 drivers/staging/fsl-mc/bus/dpio/dpio-service.c
 create mode 100644 drivers/staging/fsl-mc/bus/dpio/dpio.c
 create mode 100644 drivers/staging/fsl-mc/bus/dpio/dpio.h
 create mode 100644 drivers/staging/fsl-mc/bus/dpio/qbman-portal.c
 create mode 100644 drivers/staging/fsl-mc/bus/dpio/qbman-portal.h
 create mode 100644 drivers/staging/fsl-mc/include/dpaa2-fd.h
 create mode 100644 drivers/staging/fsl-mc/include/dpaa2-global.h
 create mode 100644 drivers/staging/fsl-mc/include/dpaa2-io.h

--
2.9.3



More information about the devel mailing list