[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