linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: s.hauer@pengutronix.de (Sascha Hauer)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC] SDMA support for i.MX
Date: Mon,  9 Aug 2010 11:05:35 +0200	[thread overview]
Message-ID: <1281344743-2029-1-git-send-email-s.hauer@pengutronix.de> (raw)

Hi all,

Ever wondered what's hidden behind the tons of SDMA/iapi stuff in the
Freescale kernel? It's a nice and convenient to use DMA engine. The
following patches add support for it.

First of all a wrapper for the current i.MX DMA support is implemented
to allow the drivers to compile in DMA support without ifdefs. Then the
SDMA support itself is implemented and users are switched to support
the new DMA API.

The SDMA engine needs additional firmware support. Since fsl does
not use the standard request_firmware mechanism but compiles in the
firmware as static arrays, I had to invent a firmware layout.
You can get the program for generating the firmware images from
the static arrays here:

git://git.pengutronix.de/git/imx/sdma-firmware.git

As the layout of the firmware is not given by fsl but by me it should
be part of the review.

The SDMA code has currently been tested on i.MX31/35 with sound and
on i.MX31 with SD/MMC. i.MX25/51 are untested, but should work aswell.

Sascha

The following changes since commit fc1caf6eafb30ea185720e29f7f5eccca61ecd60:

  Merge branch 'drm-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 (2010-08-05 16:02:01 -0700)

are available in the git repository at:

  git://git.pengutronix.de/git/imx/linux-2.6.git sdma

Sascha Hauer (8):
      ARM i.MX dma: implement wrapper for dma functions
      ARM i.MX dma-mx1-mx2: use wrapper
      mxcmmc: use new dma api
      ARM i.MX: add SDMA driver
      ARM i.MX3: Add sdma device
      ARM i.MX3: add dma request defines
      ARM i.MX3: add dma request resources to ssi/sdhc devices
      ASoC i.MX: switch to new DMA api

 arch/arm/mach-imx/dma-v1.c                   |  142 +++-
 arch/arm/mach-imx/include/mach/dma-mx1-mx2.h |    2 +-
 arch/arm/mach-imx/include/mach/dma-v1.h      |    8 +-
 arch/arm/mach-mx3/Kconfig                    |    2 +
 arch/arm/mach-mx3/clock-imx31.c              |    4 +-
 arch/arm/mach-mx3/clock-imx35.c              |    2 +-
 arch/arm/mach-mx3/devices.c                  |   80 ++
 arch/arm/plat-mxc/Kconfig                    |   10 +
 arch/arm/plat-mxc/Makefile                   |    3 +-
 arch/arm/plat-mxc/dma.c                      |  112 +++
 arch/arm/plat-mxc/include/mach/dma.h         |   92 ++
 arch/arm/plat-mxc/include/mach/mx31.h        |   14 +
 arch/arm/plat-mxc/include/mach/mx35.h        |   26 +
 arch/arm/plat-mxc/include/mach/mx3x.h        |   29 +
 arch/arm/plat-mxc/include/mach/sdma.h        |    8 +
 arch/arm/plat-mxc/sdma.c                     | 1181 ++++++++++++++++++++++++++
 drivers/mmc/host/mxcmmc.c                    |  129 ++--
 sound/soc/imx/Makefile                       |    2 -
 sound/soc/imx/imx-pcm-dma-mx2.c              |  177 ++---
 sound/soc/imx/imx-ssi.c                      |    8 +-
 20 files changed, 1826 insertions(+), 205 deletions(-)
 create mode 100644 arch/arm/plat-mxc/dma.c
 create mode 100644 arch/arm/plat-mxc/include/mach/dma.h
 create mode 100644 arch/arm/plat-mxc/include/mach/sdma.h
 create mode 100644 arch/arm/plat-mxc/sdma.c

             reply	other threads:[~2010-08-09  9:05 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-08-09  9:05 Sascha Hauer [this message]
2010-08-09  9:05 ` [PATCH 1/8] ARM i.MX dma: implement wrapper for dma functions Sascha Hauer
2010-08-09 18:43   ` Magnus Lilja
2010-08-09 22:45   ` Linus Walleij
2010-08-10 12:34     ` Sascha Hauer
2010-08-09  9:05 ` [PATCH 2/8] ARM i.MX dma-mx1-mx2: use wrapper Sascha Hauer
2010-08-09 18:51   ` Magnus Lilja
2010-08-09 21:42     ` Sascha Hauer
2010-08-09  9:05 ` [PATCH 3/8] mxcmmc: use new dma api Sascha Hauer
2010-08-09  9:05 ` [PATCH 4/8] ARM i.MX: add SDMA driver Sascha Hauer
2010-08-09 19:04   ` Magnus Lilja
2010-08-10  7:15     ` Sascha Hauer
2010-08-10  9:20   ` Detlev Zundel
2010-08-10 13:46     ` Timur Tabi
2010-08-10 14:03       ` Lothar Waßmann
2010-08-10 14:08         ` Tabi Timur-B04825
2010-08-10 14:19           ` Detlev Zundel
2010-08-10 19:08   ` Uwe Kleine-König
2010-08-09  9:05 ` [PATCH 5/8] ARM i.MX3: Add sdma device Sascha Hauer
2010-08-09  9:05 ` [PATCH 6/8] ARM i.MX3: add dma request defines Sascha Hauer
2010-08-09 13:53   ` Uwe Kleine-König
2010-08-09  9:05 ` [PATCH 7/8] ARM i.MX3: add dma request resources to ssi/sdhc devices Sascha Hauer
2010-08-09  9:05 ` [PATCH 8/8] ASoC i.MX: switch to new DMA api Sascha Hauer
2010-08-10 13:21   ` Mark Brown
2010-08-09 18:38 ` [RFC] SDMA support for i.MX Magnus Lilja

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1281344743-2029-1-git-send-email-s.hauer@pengutronix.de \
    --to=s.hauer@pengutronix.de \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).