Re: [PATCH v9 1/3] staging: fsl-mc: Added Freescale Management Complex APIs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux