On Thu, Mar 05, 2015 at 07:29:09PM -0600, J. German Rivera wrote: > APIs to access the Management Complex (MC) hardware > module of Freescale LS2 SoCs. This patch includes > APIs to check the MC firmware version and to manipulate > DPRC objects in the MC. > > Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> > Signed-off-by: Stuart Yoder <stuart.yoder@xxxxxxxxxxxxx> > --- > Changes in v9: > - Fixed compilation errors that escaped after move to staging > > Changes in v8: > - Addressed comments from Greg Kroah-Hartman: > * Moved files to drivers/staging to wait for child drivers of the fsl-mc bus > to be posted upstream: > drivers/bus/fsl-mc/dpmng-cmd.h -> drivers/staging/fsl-mc/bus/dpmng-cmd.h > drivers/bus/fsl-mc/dpmng.c -> drivers/staging/fsl-mc/bus/dpmng.c > drivers/bus/fsl-mc/dprc-cmd.h -> drivers/staging/fsl-mc/bus/dprc-cmd.h > drivers/bus/fsl-mc/dprc.c -> drivers/staging/fsl-mc/bus/dprc.c > drivers/bus/fsl-mc/mc-sys.c -> drivers/staging/fsl-mc/bus/mc-sys.c > include/linux/fsl/dpmng.h -> drivers/staging/fsl-mc/include/dpmng.h > include/linux/fsl/dprc.h -> drivers/staging/fsl-mc/include/dprc.h > include/linux/fsl/mc-cmd.h -> drivers/staging/fsl-mc/include/mc-cmd.h > include/linux/fsl/mc-sys.h -> drivers/staging/fsl-mc/include/mc-sys.h > > - Addressed comments from Alex Graf: > * Removed leftover doxygen comments from mc-sys.h > > Changes in v6: > - Upgraded MC flibs for MC firmware 0.5.3 > - Fixed new checkpatch warnings > > Changes in v5: > - Addressed comments from Alex Graf: > * Removed unused variable in mc_send_command() > * Renamed dprc_get_container_id() as dpmng_get_container_id() > and moved corresponding code from dprc.[hc] to dpmng.[hc], > as "get_container_id" is not really an operation on a DPRC > object, but it is a general MC management operation. > * Ensure that strings sent/received to/from the MC fw for DPRC > commands are null-terminated. > > Changes in v4: > - Addressed comments from Alex Graf: > * Added file description for files that did not have one > * Removed Marshalling/unmarshalling macros invoked in MC > command wrapper functions, and instead do the marshalling/ > unmarshalling directly in these functions. > * Added type cast u32 in status range-check in mc_status_to_error() > * Moved mc_write_command() and mc_read_response() inline > function to mc_sys.c as they are only used in that file > * Renamed u64_enc() as mc_enc() and u64_dec() as mc_dec() > - Upgraded MC flibs for MC firmware 0.5 > > Changes in v3: > - Addressed comment from Greg Kroah-Hartman: > * Removed doxygen comments > > - Addressed comment from Scott Wood: > * Replaced udelay() call with usleep_range() call in polling loop > - Addressed comments from Kim Phillips: > * Fixed license text in all files > * Renamed files: > drivers/bus/fsl-mc/fsl_dpmng_cmd.h -> drivers/bus/fsl-mc/dpmng-cmd.h > drivers/bus/fsl-mc/fsl_dprc_cmd.h -> drivers/bus/fsl-mc/dprc-cmd.h > drivers/bus/fsl-mc/fsl_mc_sys.c -> drivers/bus/fsl-mc/mc-sys.c > include/linux/fsl_dpmng.h -> include/linux/fsl/dpmng.h > include/linux/fsl_dprc.h -> include/linux/fsl/dprc.h > include/linux/fsl_mc_cmd.h -> include/linux/fsl/mc-cmd.h > include/linux/fsl_mc_sys.h -> include/linux/fsl/mc-sys.h > * Changed dpmng_load_iop() to take the DMA address directly, > instead of the image virtual address. > * Removed if and WARN_ON that checks for NULL fsl_destroy_mc_io() > * Removed locking from mc_send_command(). Now the caller of MC flib > APIs is responsible for protecting concurrent accesses to the same > MC portal. > > Changes in v2: > - Addressed comment from Joe Perches: > * Refactored logic to actively fail on err and proceed at > the same indent level on success, for all functions in dprc.c > and dpmng.c. > > - Addressed comments from Kim Phillips: > * Fixed warning in mc_send_command > * Changed serialization logic in mc_send_command() to only use > spinlock_irqsave() when both threads and interrupt handlers > concurrently access the same portal. > * Changed switch to lookup table in mc_status_to_error() > * Removed macros iowrite64(), ioread64(), ENOTSUP from fsl_mc_sys.h > * Removed #ifdef side for FSL_MC_FIRMWARE in fsl_mc_cmd.h > * Changed non-devm_ API calls to devm_ API calls and refactored > fsl_create_mc_io()/fsl_destroy_mc_io() to simplify cleanup logic. > > - Addressed comments from Scott Wood: > * Return -ENXIO instead of -EFAULT when ioremap_nocache() fails > > - Addressed comments from Alex Graf: > * Added MAINTAINERS file entries for new files > * Added dev param to fsl_create_mc_io(), to enable the use > of devm_ APIs in this function and fsl_destroy_mc_io(). > * Changed the value of the timeout for MC command completion > to be a function of HZ instead of a hard-coded jiffies value. > > MAINTAINERS | 6 + > drivers/staging/fsl-mc/TODO | 12 + > drivers/staging/fsl-mc/bus/dpmng-cmd.h | 47 ++ > drivers/staging/fsl-mc/bus/dpmng.c | 78 +++ > drivers/staging/fsl-mc/bus/dprc-cmd.h | 84 +++ > drivers/staging/fsl-mc/bus/dprc.c | 913 ++++++++++++++++++++++++++++++++ > drivers/staging/fsl-mc/bus/mc-sys.c | 283 ++++++++++ > drivers/staging/fsl-mc/include/dpmng.h | 80 +++ > drivers/staging/fsl-mc/include/dprc.h | 801 ++++++++++++++++++++++++++++ > drivers/staging/fsl-mc/include/mc-cmd.h | 113 ++++ > drivers/staging/fsl-mc/include/mc-sys.h | 70 +++ > 11 files changed, 2487 insertions(+) > create mode 100644 drivers/staging/fsl-mc/TODO > create mode 100644 drivers/staging/fsl-mc/bus/dpmng-cmd.h > create mode 100644 drivers/staging/fsl-mc/bus/dpmng.c > create mode 100644 drivers/staging/fsl-mc/bus/dprc-cmd.h > create mode 100644 drivers/staging/fsl-mc/bus/dprc.c > create mode 100644 drivers/staging/fsl-mc/bus/mc-sys.c > create mode 100644 drivers/staging/fsl-mc/include/dpmng.h > create mode 100644 drivers/staging/fsl-mc/include/dprc.h > create mode 100644 drivers/staging/fsl-mc/include/mc-cmd.h > create mode 100644 drivers/staging/fsl-mc/include/mc-sys.h > > diff --git a/MAINTAINERS b/MAINTAINERS > index 42f686f..b3d0702 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -4145,6 +4145,12 @@ F: sound/soc/fsl/fsl* > F: sound/soc/fsl/imx* > F: sound/soc/fsl/mpc8610_hpcd.c > > +FREESCALE QORIQ MANAGEMENT COMPLEX DRIVER > +M: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> > +L: linux-kernel@xxxxxxxxxxxxxxx > +S: Maintained > +F: drivers/staging/fsl-mc/ > + > FREEVXFS FILESYSTEM > M: Christoph Hellwig <hch@xxxxxxxxxxxxx> > W: ftp://ftp.openlinux.org/pub/people/hch/vxfs > diff --git a/drivers/staging/fsl-mc/TODO b/drivers/staging/fsl-mc/TODO > new file mode 100644 > index 0000000..49ebfd9 > --- /dev/null > +++ b/drivers/staging/fsl-mc/TODO > @@ -0,0 +1,12 @@ > +* Add README file (with ASCII art) describing relationships between > + DPAA2 objects and how combine them to make a NIC, an LS2 switch, etc. > + Also, define all acronyms used. > + > +* Decide if multiple root fsl-mc buses will be supported per Linux instance, > + and if so add support for this. > + > +* Add at least one device driver for a DPAA2 object (child device of the > + fsl-mc bus). > + > +Please send any patches to Greg Kroah-Hartman <greg@xxxxxxxxx>, > +devel@xxxxxxxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx Also add your email address, and please use my linuxfoundation.org one here. thanks, greg k-h _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel