linux-spi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Russ Dill <russ.dill-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: Matt Porter <mporter-l0cyMroinI0@public.gmane.org>
Cc: Linux DaVinci Kernel List
	<davinci-linux-open-source-VycZQUHpC/PFrsHnngEfi1aTQe2KTcn/@public.gmane.org>,
	Linux OMAP List
	<linux-omap-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Russell King <linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org>,
	Benoit Cousson <b-cousson-l0cyMroinI0@public.gmane.org>,
	Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org>,
	Linux Documentation List
	<linux-doc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Tony Lindgren <tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>,
	Linux MMC List
	<linux-mmc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Devicetree Discuss
	<devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org>,
	Mark Brown
	<broonie-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>,
	Sekhar Nori <nsekhar-l0cyMroinI0@public.gmane.org>,
	Linux Kernel Mailing List
	<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Rob Herring <rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org>,
	Vinod Koul <vinod.koul-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
	Rob Landley <rob-VoJi6FS/r0vR7s880joybQ@public.gmane.org>,
	Dan Williams <djbw-b10kYP2dOMg@public.gmane.org>,
	Linux SPI Devel List
	<spi-devel-general-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org>,
	Chris Ball <cjb-2X9k7bc8m7Mdnm+yROfE0A@public.gmane.org>,
	Linux ARM Kernel List
	<linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org>
Subject: Re: [RFC PATCH v3 00/16] DMA Engine support for AM33XX
Date: Fri, 26 Oct 2012 01:32:53 -0700	[thread overview]
Message-ID: <CA+Bv8XZhrFR2krMS=psL96uaiVxnQ12s3ORN6F+yfXw40T1_uw@mail.gmail.com> (raw)
In-Reply-To: <1350566815-409-1-git-send-email-mporter-l0cyMroinI0@public.gmane.org>

On Thu, Oct 18, 2012 at 6:26 AM, Matt Porter <mporter-l0cyMroinI0@public.gmane.org> wrote:
> Changes since v2:
>         - Rebased on 3.7-rc1
>         - Fixed bug in DT/pdata parsing first found by Gururaja
>           that turned out to be masked by some toolchains
>         - Dropped unused mach-omap2/devices.c hsmmc patch
>         - Added AM33XX crossbar DMA event mux support
>         - Added am335x-evm support
>
> Changes since v1:
>         - Rebased on top of mainline from 12250d8
>         - Dropped the feature removal schedule patch
>         - Implemented dma_request_slave_channel_compat() and
>           converted the mmc and spi drivers to use it
>         - Dropped unneeded #address-cells and #size-cells from
>           EDMA DT support
>         - Moved private EDMA header to linux/platform_data/ and
>           removed some unneeded definitions
>         - Fixed parsing of optional properties
>
> TODO:
>         - Add dmaengine support for per-channel caps so the
>           hack to set the maximum segments can be replaced with
>           a query to the dmaengine driver
>
> 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.

This pretty far along and looks great.

Reviewed-by: Russ.Dill-l0cyMroinI0@public.gmane.org

> The series applies on top of 3.7-rc1 and the following patches:
>
>         - GPMC fails to reserve memory fix:
>           http://www.spinics.net/lists/linux-omap/msg79675.html
>         - TPS65910 regulator fix:
>           https://patchwork.kernel.org/patch/1593651/
>         - dmaengine DT support from Vinod's dmaengine_dt branch in
>           git://git.infradead.org/users/vkoul/slave-dma.git since
>           027478851791df751176398be02a3b1c5f6aa824
>
> 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.
>
> With this series both BeagleBone and the AM335x EVM have working
> MMC and SPI support.
>
> This is tested on BeagleBone with a SPI framebuffer driver and MMC
> rootfs. A trivial gpio DMA event misc driver was used to test the
> crossbar DMA event support. It is also tested on the AM335x EVM
> with the onboard SPI flash and MMC rootfs. The branch at
> https://github.com/ohporter/linux/tree/edma-dmaengine-v3 has the
> complete series, dependencies, and some test drivers/defconfigs.
>
> Regression testing was done on AM180x-EVM (which also makes use
> of the EDMA dmaengine driver and the EDMA private API) using SD,
> SPI flash, and the onboard audio supported by the ASoC Davinci
> driver.
>
> 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.
>
> Matt Porter (16):
>   dmaengine: edma: fix slave config dependency on direction
>   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 AM33XX
>   ARM: edma: add AM33XX crossbar event support
>   dmaengine: edma: enable build for AM33XX
>   dmaengine: edma: Add TI EDMA device tree binding
>   ARM: dts: add AM33XX EDMA support
>   dmaengine: add dma_request_slave_channel_compat()
>   mmc: omap_hsmmc: convert to dma_request_slave_channel_compat()
>   mmc: omap_hsmmc: limit max_segs with the EDMA DMAC
>   mmc: omap_hsmmc: add generic DMA request support to the DT binding
>   ARM: dts: add AM33XX MMC support
>   spi: omap2-mcspi: convert to dma_request_slave_channel_compat()
>   spi: omap2-mcspi: add generic DMA request support to the DT binding
>   ARM: dts: add AM33XX SPI support
>
>  Documentation/devicetree/bindings/dma/ti-edma.txt  |   51 +
>  .../devicetree/bindings/mmc/ti-omap-hsmmc.txt      |   25 +-
>  Documentation/devicetree/bindings/spi/omap-spi.txt |   27 +-
>  arch/arm/Kconfig                                   |    1 +
>  arch/arm/boot/dts/am335x-bone.dts                  |   23 +
>  arch/arm/boot/dts/am335x-evm.dts                   |   15 +
>  arch/arm/boot/dts/am33xx.dtsi                      |  101 ++
>  arch/arm/common/Kconfig                            |    3 +
>  arch/arm/common/Makefile                           |    1 +
>  arch/arm/common/edma.c                             | 1841 ++++++++++++++++++++
>  arch/arm/mach-davinci/Makefile                     |    2 +-
>  arch/arm/mach-davinci/board-da830-evm.c            |    4 +-
>  arch/arm/mach-davinci/board-da850-evm.c            |    8 +-
>  arch/arm/mach-davinci/board-dm646x-evm.c           |    4 +-
>  arch/arm/mach-davinci/board-omapl138-hawk.c        |    8 +-
>  arch/arm/mach-davinci/board-tnetv107x-evm.c        |    2 +-
>  arch/arm/mach-davinci/davinci.h                    |    2 +-
>  arch/arm/mach-davinci/devices-da8xx.c              |    8 +-
>  arch/arm/mach-davinci/devices-tnetv107x.c          |    6 +-
>  arch/arm/mach-davinci/devices.c                    |    7 +-
>  arch/arm/mach-davinci/dm355.c                      |    6 +-
>  arch/arm/mach-davinci/dm365.c                      |    6 +-
>  arch/arm/mach-davinci/dm644x.c                     |    6 +-
>  arch/arm/mach-davinci/dm646x.c                     |    6 +-
>  arch/arm/mach-davinci/dma.c                        | 1588 -----------------
>  arch/arm/mach-davinci/include/mach/da8xx.h         |    2 +-
>  arch/arm/mach-davinci/include/mach/edma.h          |  267 ---
>  arch/arm/plat-omap/Kconfig                         |    1 +
>  drivers/dma/Kconfig                                |    2 +-
>  drivers/dma/edma.c                                 |   57 +-
>  drivers/mmc/host/davinci_mmc.c                     |    1 +
>  drivers/mmc/host/omap_hsmmc.c                      |   20 +-
>  drivers/spi/spi-omap2-mcspi.c                      |   65 +-
>  include/linux/dmaengine.h                          |   10 +
>  include/linux/mfd/davinci_voicecodec.h             |    3 +-
>  include/linux/platform_data/edma.h                 |  199 +++
>  include/linux/platform_data/spi-davinci.h          |    2 +-
>  sound/soc/davinci/davinci-evm.c                    |    1 +
>  sound/soc/davinci/davinci-pcm.c                    |    1 +
>  sound/soc/davinci/davinci-pcm.h                    |    2 +-
>  sound/soc/davinci/davinci-sffsdr.c                 |    6 +-
>  41 files changed, 2436 insertions(+), 1954 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/dma/ti-edma.txt
>  create mode 100644 arch/arm/common/edma.c
>  delete mode 100644 arch/arm/mach-davinci/dma.c
>  delete mode 100644 arch/arm/mach-davinci/include/mach/edma.h
>  create mode 100644 include/linux/platform_data/edma.h
>
> --
> 1.7.9.5
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_sfd2d_oct

  parent reply	other threads:[~2012-10-26  8:32 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-10-18 13:26 [RFC PATCH v3 00/16] DMA Engine support for AM33XX Matt Porter
2012-10-18 13:26 ` [RFC PATCH v3 01/16] dmaengine: edma: fix slave config dependency on direction Matt Porter
     [not found] ` <1350566815-409-1-git-send-email-mporter-l0cyMroinI0@public.gmane.org>
2012-10-18 13:26   ` [RFC PATCH v3 02/16] ARM: davinci: move private EDMA API to arm/common Matt Porter
     [not found]     ` <1350566815-409-3-git-send-email-mporter-l0cyMroinI0@public.gmane.org>
2012-10-28  8:17       ` Sekhar Nori
2012-11-16 16:49         ` Matt Porter
2013-01-10 23:51         ` Matt Porter
2013-01-22 15:40           ` Sekhar Nori
     [not found]           ` <d631bf39a8b8474bae448d089497fe0e@DLEE74.ent.ti.com>
2013-01-23 21:00             ` Matt Porter
2012-10-18 13:26   ` [RFC PATCH v3 03/16] ARM: edma: remove unused transfer controller handlers Matt Porter
2012-10-18 13:26   ` [RFC PATCH v3 04/16] ARM: edma: add DT and runtime PM support for AM33XX Matt Porter
     [not found]     ` <1350566815-409-5-git-send-email-mporter-l0cyMroinI0@public.gmane.org>
2012-10-28 11:03       ` Sekhar Nori
2013-01-10 19:18         ` Matt Porter
2012-10-18 13:26   ` [RFC PATCH v3 05/16] ARM: edma: add AM33XX crossbar event support Matt Porter
     [not found]     ` <1350566815-409-6-git-send-email-mporter-l0cyMroinI0@public.gmane.org>
2012-10-26 12:53       ` Hebbar, Gururaja
2012-10-28 11:11       ` Sekhar Nori
2013-01-10 22:54         ` Matt Porter
2012-10-18 13:26   ` [RFC PATCH v3 06/16] dmaengine: edma: enable build for AM33XX Matt Porter
2012-10-18 13:26   ` [RFC PATCH v3 07/16] dmaengine: edma: Add TI EDMA device tree binding Matt Porter
2012-10-18 13:26   ` [RFC PATCH v3 08/16] ARM: dts: add AM33XX EDMA support Matt Porter
     [not found]     ` <1350566815-409-9-git-send-email-mporter-l0cyMroinI0@public.gmane.org>
2012-10-28 11:16       ` Sekhar Nori
     [not found]         ` <508D1414.2000506-l0cyMroinI0@public.gmane.org>
2013-01-10 19:27           ` Matt Porter
2012-10-18 13:26   ` [RFC PATCH v3 09/16] dmaengine: add dma_request_slave_channel_compat() Matt Porter
2012-10-18 13:26   ` [RFC PATCH v3 10/16] mmc: omap_hsmmc: convert to dma_request_slave_channel_compat() Matt Porter
2012-10-18 13:26   ` [RFC PATCH v3 11/16] mmc: omap_hsmmc: limit max_segs with the EDMA DMAC Matt Porter
     [not found]     ` <1350566815-409-12-git-send-email-mporter-l0cyMroinI0@public.gmane.org>
2012-10-29  8:18       ` Sekhar Nori
2013-01-10 19:30         ` Matt Porter
2012-10-18 13:26   ` [RFC PATCH v3 12/16] mmc: omap_hsmmc: add generic DMA request support to the DT binding Matt Porter
2012-10-18 13:26   ` [RFC PATCH v3 13/16] ARM: dts: add AM33XX MMC support Matt Porter
     [not found]     ` <1350566815-409-14-git-send-email-mporter-l0cyMroinI0@public.gmane.org>
2012-10-30  5:33       ` AnilKumar, Chimata
2013-01-10 20:26         ` Matt Porter
2013-01-03 10:03       ` Hebbar, Gururaja
2012-10-18 13:26   ` [RFC PATCH v3 14/16] spi: omap2-mcspi: convert to dma_request_slave_channel_compat() Matt Porter
2012-10-18 13:26   ` [RFC PATCH v3 15/16] spi: omap2-mcspi: add generic DMA request support to the DT binding Matt Porter
2012-10-18 13:26   ` [RFC PATCH v3 16/16] ARM: dts: add AM33XX SPI support Matt Porter
     [not found]     ` <1350566815-409-17-git-send-email-mporter-l0cyMroinI0@public.gmane.org>
2012-10-28 11:31       ` Sekhar Nori
     [not found]         ` <508D1791.1040806-l0cyMroinI0@public.gmane.org>
2013-01-10 19:35           ` Matt Porter
2013-01-10 19:46             ` Nishanth Menon
2013-01-10 20:49               ` Matt Porter
2013-01-10 20:49                 ` Nishanth Menon
2012-10-29  9:11       ` Philip, Avinash
2012-10-30  9:41     ` Philip, Avinash
     [not found]       ` <518397C60809E147AF5323E0420B992E3E9D597B-Er742YJ7I/eIQmiDNMet8wC/G2K4zDHf@public.gmane.org>
2012-10-31 10:16         ` Benoit Cousson
     [not found]           ` <5090FA92.1080400-l0cyMroinI0@public.gmane.org>
2012-10-31 10:35             ` Benoit Cousson
2012-10-31 11:03               ` Philip, Avinash
2012-10-19 10:26   ` [RFC PATCH v3 00/16] DMA Engine support for AM33XX Bedia, Vaibhav
2012-10-19 11:15     ` Matt Porter
2012-10-19 12:02       ` Bedia, Vaibhav
2012-10-19 16:46         ` Matt Porter
2012-10-22  5:53           ` Bedia, Vaibhav
2012-10-26  8:32   ` Russ Dill [this message]
2012-11-05  7:19 ` Hebbar, Gururaja

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='CA+Bv8XZhrFR2krMS=psL96uaiVxnQ12s3ORN6F+yfXw40T1_uw@mail.gmail.com' \
    --to=russ.dill-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
    --cc=arnd-r2nGTMty4D4@public.gmane.org \
    --cc=b-cousson-l0cyMroinI0@public.gmane.org \
    --cc=broonie-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org \
    --cc=cjb-2X9k7bc8m7Mdnm+yROfE0A@public.gmane.org \
    --cc=davinci-linux-open-source-VycZQUHpC/PFrsHnngEfi1aTQe2KTcn/@public.gmane.org \
    --cc=devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org \
    --cc=djbw-b10kYP2dOMg@public.gmane.org \
    --cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=linux-doc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org \
    --cc=linux-mmc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-omap-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=mporter-l0cyMroinI0@public.gmane.org \
    --cc=nsekhar-l0cyMroinI0@public.gmane.org \
    --cc=rob-VoJi6FS/r0vR7s880joybQ@public.gmane.org \
    --cc=rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org \
    --cc=spi-devel-general-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org \
    --cc=tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org \
    --cc=vinod.koul-ral2JQCrhuEAvxtiuMwx3w@public.gmane.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).