linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: mporter@ti.com (Matt Porter)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC PATCH 00/13] DMA Engine support for AM33xx
Date: Fri, 21 Sep 2012 14:22:11 -0400	[thread overview]
Message-ID: <20120921182211.GE16522@beef> (raw)
In-Reply-To: <1BAFE6F6C881BF42822005164F1491C33EA8A79D@DBDE01.ent.ti.com>

On Fri, Sep 21, 2012 at 08:27:07AM +0000, Hebbar, Gururaja wrote:
> On Thu, Sep 20, 2012 at 20:13:33, Porter, Matt wrote:
> > This series adds DMA Engine support for AM33xx, which uses
> > an EDMA DMAC. The EDMA DMAC has been previously supported by only
> > a private API implementation (much like the situation with OMAP
> > DMA) found on the DaVinci family of SoCs.
> > 
> > There are a mind-boggling number of dependencies for this series:
> > 
> > 	- Jon Hunter's OF DMA helpers series
> > 	  https://patchwork.kernel.org/patch/1461061/
> > 	  https://patchwork.kernel.org/patch/1461051/
> > 	- Patch to address OF DMA helpers naming issues:
> > 	  https://patchwork.kernel.org/patch/1477921/
> > 	- EDMA DMA Engine wrapper driver in linux-next
> > 	  c2dde5f8f2095d7c623ff3565c1462e190272273
> > 	- EDMA DMA Engine wrapper driver bug fix:
> > 	  https://patchwork.kernel.org/patch/1474411/  
> > 	- A huge number of patches in linux-next for AM33xx boot
> > 	  (too numerous to list)
> > 
> > The approach taken is similar to how OMAP DMA is being converted to
> > DMA Engine support. With the functional EDMA private API already
> > existing in mach-davinci/dma.c, we first move that to an ARM common
> > area so it can be shared. Adding DT and runtime PM support to the
> > private EDMA API implementation allows it to run on AM33xx. AM33xx
> > *only* boots using DT so we leverage Jon's generic DT DMA helpers to
> > register EDMA DMAC with the of_dma framework and then add support
> > for calling the dma_request_slave_channel() API to both the mmc
> > and spi drivers.
> > 
> > What works? Well, with this series we now have MMC and SPI support
> > on AM33xx. The only caveat for MMC is that the mmc3 controller has
> > its events on the crossbar and is not usable right now.
> > 
> > This is tested on BeagleBone with a SPI framebuffer driver and SD
> > card.
> > 
> > After this series, the plan is to convert the last in-tree user
> > of the private EDMA API (davinci-pcm/mcasp) and then eliminate
> > the private EDMA API by folding its functionality into
> > drivers/dma/edma.c.
> > 
> > TODO:
> > 	add AM33xx crossbar support to the private EDMA API
> > 	(any EDMA events on the crossbar are not supported)
> > 
> 
> 
> Can you please mention the base repo you have taken as starting point.
> (repo + extra patches ...).

It's mainline 3.6-rc6 and you can see the complete set of patches
at https://github.com/ohporter/linux/tree/edma-dmaengine-am33xx-rfc-v1
after commit 5698bd757d55b1bb87edd1a9744ab09c142abfc2

> This will help us to test the code.
> 
> This is because I looked at the patch 12/13 and I see that mmc
> device-node is modified. But in mainline I don?t see device 
> node for mmc (yet).

Oops. You'll need e62a3333ae450bcdefbe22229d7bc277ae0ef645 and
fe97304557d2c6f7d0aaf1ea028ea48ffca366a9 which I forgot to include
in this series. I'll have them in for v2.

-Matt

> > Matt Porter (13):
> >   ARM: davinci: move private EDMA API to arm/common
> >   ARM: edma: remove unused transfer controller handlers
> >   ARM: edma: add DT and runtime PM support for AM335x
> >   dmaengine: edma: enable build for AM335x
> >   dma: Add TI EDMA device tree binding
> >   ARM: omap: add hsmmc am33xx specific init
> >   mmc: omap_hsmmc: dma_request_slave_channel() support for DT platforms
> >   mmc: omap_hsmmc: limit max_segs with the EDMA DMAC
> >   mmc: omap_hsmmc: add generic DMA request support to the DT binding
> >   spi: omap2-mcspi: dma_request_slave_channel() support for DT
> >     platforms
> >   spi: omap2-mcspi: add generic DMA request support to the DT binding
> >   ARM: dts: add am33xx EDMA support
> >   Documentation: add schedule for removing private EDMA API
> > 
> >  Documentation/devicetree/bindings/dma/ti-edma.txt  |   49 +
> >  .../devicetree/bindings/mmc/ti-omap-hsmmc.txt      |   25 +-
> >  Documentation/devicetree/bindings/spi/omap-spi.txt |   27 +-
> >  Documentation/feature-removal-schedule.txt         |   10 +
> >  arch/arm/Kconfig                                   |    1 +
> >  arch/arm/boot/dts/am33xx.dtsi                      |   46 +
> >  arch/arm/common/Kconfig                            |    3 +
> >  arch/arm/common/Makefile                           |    1 +
> >  arch/arm/common/edma.c                             | 1779 ++++++++++++++++++++
> >  arch/arm/include/asm/mach/edma.h                   |  267 +++
> >  arch/arm/mach-davinci/Makefile                     |    2 +-
> >  arch/arm/mach-davinci/devices.c                    |    3 +-
> >  arch/arm/mach-davinci/dm355.c                      |    2 +-
> >  arch/arm/mach-davinci/dm365.c                      |    2 +-
> >  arch/arm/mach-davinci/dm644x.c                     |    2 +-
> >  arch/arm/mach-davinci/dm646x.c                     |    2 +-
> >  arch/arm/mach-davinci/dma.c                        | 1588 -----------------
> >  arch/arm/mach-davinci/include/mach/asp.h           |    2 +-
> >  arch/arm/mach-davinci/include/mach/da8xx.h         |    3 +-
> >  arch/arm/mach-davinci/include/mach/edma.h          |  267 ---
> >  arch/arm/mach-davinci/include/mach/spi.h           |    2 +-
> >  arch/arm/mach-omap2/hsmmc.c                        |    7 +-
> >  arch/arm/plat-omap/Kconfig                         |    1 +
> >  drivers/dma/Kconfig                                |    2 +-
> >  drivers/dma/edma.c                                 |    2 +-
> >  drivers/mmc/host/omap_hsmmc.c                      |   26 +-
> >  drivers/spi/spi-omap2-mcspi.c                      |   68 +-
> >  27 files changed, 2296 insertions(+), 1893 deletions(-)
> >  create mode 100644 Documentation/devicetree/bindings/dma/ti-edma.txt
> >  create mode 100644 arch/arm/common/edma.c
> >  create mode 100644 arch/arm/include/asm/mach/edma.h
> >  delete mode 100644 arch/arm/mach-davinci/dma.c
> >  delete mode 100644 arch/arm/mach-davinci/include/mach/edma.h
> > 
> > -- 
> > 1.7.9.5
> > 
> > _______________________________________________
> > Davinci-linux-open-source mailing list
> > Davinci-linux-open-source at linux.davincidsp.com
> > http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
> > 
> 
> 
> Regards, 
> Gururaja
> _______________________________________________
> Davinci-linux-open-source mailing list
> Davinci-linux-open-source at linux.davincidsp.com
> http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

  reply	other threads:[~2012-09-21 18:22 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-09-20 14:43 [RFC PATCH 00/13] DMA Engine support for AM33xx Matt Porter
2012-09-20 14:43 ` [RFC PATCH 01/13] ARM: davinci: move private EDMA API to arm/common Matt Porter
2012-09-21  7:10   ` Hebbar, Gururaja
2012-09-21 18:24     ` Matt Porter
2012-09-21  9:29   ` Russell King - ARM Linux
2012-09-21  9:33     ` Hebbar, Gururaja
2012-09-21  9:42       ` Russell King - ARM Linux
2012-09-21 18:34         ` Matt Porter
2012-09-21 18:50           ` Russell King - ARM Linux
2012-09-24  2:44   ` Hebbar, Gururaja
2012-09-20 14:43 ` [RFC PATCH 02/13] ARM: edma: remove unused transfer controller handlers Matt Porter
2012-09-20 14:43 ` [RFC PATCH 03/13] ARM: edma: add DT and runtime PM support for AM335x Matt Porter
2012-09-21  8:53   ` Hebbar, Gururaja
2012-10-09 18:58     ` Matt Porter
2012-09-20 14:43 ` [RFC PATCH 04/13] dmaengine: edma: enable build " Matt Porter
2012-09-20 14:43 ` [RFC PATCH 05/13] dma: Add TI EDMA device tree binding Matt Porter
2012-09-21  8:45   ` Hebbar, Gururaja
2012-09-21 18:23     ` Matt Porter
2012-09-20 14:43 ` [RFC PATCH 06/13] ARM: omap: add hsmmc am33xx specific init Matt Porter
2012-09-20 14:43 ` [RFC PATCH 07/13] mmc: omap_hsmmc: dma_request_slave_channel() support for DT platforms Matt Porter
2012-09-20 22:16   ` Tony Lindgren
2012-09-20 14:43 ` [RFC PATCH 08/13] mmc: omap_hsmmc: limit max_segs with the EDMA DMAC Matt Porter
2012-09-21 17:15   ` S, Venkatraman
2012-09-21 17:17     ` S, Venkatraman
2012-09-21 17:18       ` Felipe Balbi
2012-09-21 17:33         ` S, Venkatraman
2012-09-21 18:54         ` Matt Porter
2012-09-21 18:42       ` Matt Porter
2012-09-21 18:47     ` Russell King - ARM Linux
2012-09-21 19:03       ` Matt Porter
2012-09-27  9:41       ` Vinod Koul
2012-10-01 16:39         ` Matt Porter
2012-10-02 12:03           ` Vinod Koul
2012-09-20 14:43 ` [RFC PATCH 09/13] mmc: omap_hsmmc: add generic DMA request support to the DT binding Matt Porter
2012-09-20 14:43 ` [RFC PATCH 10/13] spi: omap2-mcspi: dma_request_slave_channel() support for DT platforms Matt Porter
2012-09-20 22:09   ` Tony Lindgren
2012-09-21  8:16     ` Arnd Bergmann
2012-09-21 15:42       ` Tony Lindgren
2012-09-21 18:37         ` Matt Porter
2012-09-27  9:36           ` Vinod Koul
2012-10-01 16:37             ` Matt Porter
2012-09-20 14:43 ` [RFC PATCH 11/13] spi: omap2-mcspi: add generic DMA request support to the DT binding Matt Porter
2012-09-20 14:43 ` [RFC PATCH 12/13] ARM: dts: add am33xx EDMA support Matt Porter
2012-09-20 14:43 ` [RFC PATCH 13/13] Documentation: add schedule for removing private EDMA API Matt Porter
2012-09-20 15:58   ` Mark Brown
2012-09-20 16:05     ` Matt Porter
2012-09-21  8:27 ` [RFC PATCH 00/13] DMA Engine support for AM33xx Hebbar, Gururaja
2012-09-21 18:22   ` Matt Porter [this message]
2012-09-24 11:26     ` Hebbar, Gururaja
2012-09-24 12:05       ` Matt Porter
2012-09-26  8:26     ` Hebbar, Gururaja
2012-09-26 13:01       ` Matt Porter

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=20120921182211.GE16522@beef \
    --to=mporter@ti.com \
    --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).