[PATCH v1 0/9] OMAP: DMA: hwmod and DMA as platform device

Kevin Hilman khilman at deeprootsystems.com
Tue Dec 14 20:37:14 EST 2010


"G, Manjunath Kondaiah" <manjugk at ti.com> writes:

> Patch series to convert DMA library into platform driver using platform
> device model and adapting hwmod for omap2+.

After the OMAP1 fixup for PATCH 7/9,

Acked-by: Kevin Hilman <khilman at deeprootsystems.com>

and

Tested-by: Kevin Hilman <khilman at deeprootsystems.com>

on omap1611/OSK, omap3430/n900 and omap4430/panda

Tested using a memory-to-memory DMA test which tests all available
channels, and tests linking all the channels together.

I resurected an older DMA test that I wrote sometime around 2004, and
lost somehow (thankfully, Tony still had a copy.)  I've updated it
slightly and created a git repo for it now that it is known working on
OMAP1, 2, 3 and 4.

       git://gitorious.org/omap-test/dmatest.git

It's a bit hacky as you have to manually edit the Makefile to build an
out of tree module, but it does work.

Kevin

> The original patch series :
> http://comments.gmane.org/gmane.linux.ports.arm.omap/46953
> has been split into two patch series based on suggestion from Tony.
> (https://patchwork.kernel.org/patch/375831/)
>
> The first series will prepare existing DMA library for DMA hwmod and 
> converting the same into platform driver.
>
> The second series will have:
> arch/arm/mach-omap1/dma.c       omap1 specific platform init
> arch/arm/mach-omap2/dma.c       omap2+ specific platform init
> drivers/dma/omap-dma.c          driver using dmaengine.c
>
> Patch series1 Design:
> 1. The low level read/write macros are converted into static inline functions
> so that, these functions can be moved to respective mach-omap driver
> files later.
> (Thanks to Tony and Kevin for their suggestions on handling all omap register
> offset without adding extra enums)
> 2. Implements generic errata handling for all OMAP DMA errata.
> 3. DMA hwmod data is updated for respective hwmod db files.
> 4. The DMA library is split into two layers.
>    a. The generic code is retained in plat-omap/dma.c
>    b. The machine specific init code is moved to
>       respective mach-omap dma files.
>
> Minimal machine specific code is moved to respective mach-omap dma files with 
> this series. Rest of code movement and API cleanup's are handled in second
> series.
>
> Patch series applies on top of latest linux omap master branch:
> *************************************************************************
> git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git
> Branch: master
> commit a04fd22204b13ce34a3f8a8157f83c44d64f8da9
> Merge: e941bb0 afd2d11
> Author: Tony Lindgren <tony at atomide.com>
>
>     Linux-omap rebuilt: Merged in usb patches for testing
> *************************************************************************
>
> Test Report:
> ************
> Build:
> omap2plus_defconfig    : Success
> omap_osk_5912_defconfig: Success
>
> Boot:
> OMAP3530Beagle         : Success
> OMAP4430Blaze(ES2.1)   : Success
> OMAP1(OSK5912)         : Success
>
> Test cases executed:
> 1. All applicable TI DMA tests which are located at:
> git://dev.omapzoom.org/pub/scm/richo/device_driver_test.git
> Branch: master
>
> Report can be accessed at: 
> Beagle board: http://pastebin.com/sDUChNLr
>
> The original patch series and change history can be found at:
> http://permalink.gmane.org/gmane.linux.ports.arm.omap/46953#
>
> Benoit Cousson (1):
>   OMAP4: hwmod data: add system DMA
>
> G, Manjunath Kondaiah (8):
>   OMAP: DMA: Replace read/write macros with functions
>   OMAP: DMA: Introduce errata handling feature
>   OMAP2420: hwmod data: add system DMA
>   OMAP2430: hwmod data: add system DMA
>   OMAP3: hwmod data: add system DMA
>   OMAP1: DMA: Implement in platform device model
>   OMAP2+: DMA: hwmod: Device registration
>   OMAP: DMA: Convert DMA library into platform driver
>
>  arch/arm/mach-omap1/Makefile               |    2 +-
>  arch/arm/mach-omap1/dma.c                  |  390 ++++++++++++++++
>  arch/arm/mach-omap2/Makefile               |    2 +-
>  arch/arm/mach-omap2/dma.c                  |  297 ++++++++++++
>  arch/arm/mach-omap2/omap_hwmod_2420_data.c |   87 ++++
>  arch/arm/mach-omap2/omap_hwmod_2430_data.c |   87 ++++
>  arch/arm/mach-omap2/omap_hwmod_3xxx_data.c |   97 ++++
>  arch/arm/mach-omap2/omap_hwmod_44xx_data.c |  101 ++++
>  arch/arm/plat-omap/dma.c                   |  697 ++++++++++++----------------
>  arch/arm/plat-omap/include/plat/dma.h      |  232 ++++------
>  10 files changed, 1452 insertions(+), 540 deletions(-)
>  create mode 100644 arch/arm/mach-omap1/dma.c
>  create mode 100644 arch/arm/mach-omap2/dma.c
>
> Cc: Benoit Cousson <b-cousson at ti.com>
> Cc: Kevin Hilman <khilman at deeprootsystems.com>
> Cc: Santosh Shilimkar <santosh.shilimkar at ti.com>



More information about the linux-arm-kernel mailing list