All of lore.kernel.org
 help / color / mirror / Atom feed
From: Matt Porter <mporter@ti.com>
To: "Shilimkar, Santosh" <santosh.shilimkar@ti.com>
Cc: Linux DaVinci Kernel List 
	<davinci-linux-open-source@linux.davincidsp.com>,
	Linux OMAP List <linux-omap@vger.kernel.org>,
	Russell King <linux@arm.linux.org.uk>,
	"Cousson, Benoit" <b-cousson@ti.com>,
	Arnd Bergmann <arnd@arndb.de>,
	Linux Documentation List <linux-doc@vger.kernel.org>,
	Tony Lindgren <tony@atomide.com>,
	Linux MMC List <linux-mmc@vger.kernel.org>,
	Devicetree Discuss <devicetree-discuss@lists.ozlabs.org>,
	Mark Brown <broonie@opensource.wolfsonmicro.com>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Rob Herring <rob.herring@calxeda.com>,
	Grant Likely <grant.likely@secretlab.ca>,
	Vinod Koul <vinod.koul@intel.com>, Rob Landley <rob@landley.net>,
	Dan Williams <djbw@fb.com>,
	Linux SPI Devel List  <spi-devel-general@lists.sourceforge.net>,
	Chris Ball <cjb@laptop.org>,
	Linux ARM Kernel List <linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH v5 00/14] DMA Engine support for AM33XX
Date: Thu, 24 Jan 2013 15:49:43 -0500	[thread overview]
Message-ID: <20130124204943.GE5256@beef> (raw)
In-Reply-To: <8ea1d227d84648f68e670c56f27c481e@DFLE72.ent.ti.com>

On Thu, Jan 24, 2013 at 05:12:05AM +0000, Shilimkar, Santosh wrote:
> On Thursday 24 January 2013 02:19 AM, Matt Porter wrote:
> > On Wed, Jan 23, 2013 at 04:37:55PM +0530, Santosh Shilimkar wrote:
> >> Matt,
> >>
> >> On Wednesday 16 January 2013 02:02 AM, Matt Porter 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.
> >>>
> >>> The series applies on top of 3.8-rc3 and the following patches:
> >>>
> >>> 	- TPS65910 REGMAP_IRQ build fix:
> >>> 	  https://patchwork.kernel.org/patch/1857701/
> >>> 	- dmaengine DT support from Vinod's dmaengine_dt branch in
> >>> 	  git://git.infradead.org/users/vkoul/slave-dma.git since
> >>> 	  027478851791df751176398be02a3b1c5f6aa824
> >>> 	- edma dmaengine driver fix:
> >>> 	  https://patchwork.kernel.org/patch/1961521/
> >>> 	- dmaengine dma_get_channel_caps v2:
> >>> 	  https://patchwork.kernel.org/patch/1961601/
> >>> 	- dmaengine edma driver channel caps support v2:
> >>> 	  https://patchwork.kernel.org/patch/1961591/
> >>>
> >>> 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-am33xx-v4
> >>> 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. Regression testing was also done on a BeagleBoard xM
> >>> booting from the legacy board file using MMC rootfs.
> >>>
> >>> Matt Porter (14):
> >>>    ARM: davinci: move private EDMA API to arm/common
> >>>    ARM: edma: remove unused transfer controller handlers
> >>>    ARM: edma: add AM33XX support to the private EDMA API
> >>>    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: set max_segs based on dma engine limitations
> >>>    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 DMA support
> >>>
> >> While going through the series and testing it out, I observed an issue
> >> with MMC driver. You need patch in the end of the email to avoid the
> >> issue. Same is attached in case mailer damages it. Can you please
> >> add it with your series if you agree ?
> >
> > Yes, by inspection this makes sense. As you noticed, we've been relying
> > on the fact that DMA resources still don't come from DT, we only use our
> > DT data in conjunction with the DMA OF helpers to do channel filtering.
> > I was figuring we would address that separately later, but I see how
> > even omap4 has this issue with DMA resources named with "tx1", for
> > example. A good followup once this series is taken will be to only
> > use hwmod resources on a !populated-dt platform like we do for other
> > resources now. Baby steps. :)
> >
> We are already on it :-)

Great!

> > Thanks for the catch, I'll add this in with your tested line as well for
> > the series.

BTW, since I'm dropping mmc support from this series, I'll move your
patch into a separate series with only the mmc pieces.

-Matt

WARNING: multiple messages have this Message-ID (diff)
From: mporter@ti.com (Matt Porter)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v5 00/14] DMA Engine support for AM33XX
Date: Thu, 24 Jan 2013 15:49:43 -0500	[thread overview]
Message-ID: <20130124204943.GE5256@beef> (raw)
In-Reply-To: <8ea1d227d84648f68e670c56f27c481e@DFLE72.ent.ti.com>

On Thu, Jan 24, 2013 at 05:12:05AM +0000, Shilimkar, Santosh wrote:
> On Thursday 24 January 2013 02:19 AM, Matt Porter wrote:
> > On Wed, Jan 23, 2013 at 04:37:55PM +0530, Santosh Shilimkar wrote:
> >> Matt,
> >>
> >> On Wednesday 16 January 2013 02:02 AM, Matt Porter 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.
> >>>
> >>> The series applies on top of 3.8-rc3 and the following patches:
> >>>
> >>> 	- TPS65910 REGMAP_IRQ build fix:
> >>> 	  https://patchwork.kernel.org/patch/1857701/
> >>> 	- dmaengine DT support from Vinod's dmaengine_dt branch in
> >>> 	  git://git.infradead.org/users/vkoul/slave-dma.git since
> >>> 	  027478851791df751176398be02a3b1c5f6aa824
> >>> 	- edma dmaengine driver fix:
> >>> 	  https://patchwork.kernel.org/patch/1961521/
> >>> 	- dmaengine dma_get_channel_caps v2:
> >>> 	  https://patchwork.kernel.org/patch/1961601/
> >>> 	- dmaengine edma driver channel caps support v2:
> >>> 	  https://patchwork.kernel.org/patch/1961591/
> >>>
> >>> 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-am33xx-v4
> >>> 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. Regression testing was also done on a BeagleBoard xM
> >>> booting from the legacy board file using MMC rootfs.
> >>>
> >>> Matt Porter (14):
> >>>    ARM: davinci: move private EDMA API to arm/common
> >>>    ARM: edma: remove unused transfer controller handlers
> >>>    ARM: edma: add AM33XX support to the private EDMA API
> >>>    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: set max_segs based on dma engine limitations
> >>>    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 DMA support
> >>>
> >> While going through the series and testing it out, I observed an issue
> >> with MMC driver. You need patch in the end of the email to avoid the
> >> issue. Same is attached in case mailer damages it. Can you please
> >> add it with your series if you agree ?
> >
> > Yes, by inspection this makes sense. As you noticed, we've been relying
> > on the fact that DMA resources still don't come from DT, we only use our
> > DT data in conjunction with the DMA OF helpers to do channel filtering.
> > I was figuring we would address that separately later, but I see how
> > even omap4 has this issue with DMA resources named with "tx1", for
> > example. A good followup once this series is taken will be to only
> > use hwmod resources on a !populated-dt platform like we do for other
> > resources now. Baby steps. :)
> >
> We are already on it :-)

Great!

> > Thanks for the catch, I'll add this in with your tested line as well for
> > the series.

BTW, since I'm dropping mmc support from this series, I'll move your
patch into a separate series with only the mmc pieces.

-Matt

  parent reply	other threads:[~2013-01-24 20:49 UTC|newest]

Thread overview: 105+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-01-15 20:32 [PATCH v5 00/14] DMA Engine support for AM33XX Matt Porter
2013-01-15 20:32 ` Matt Porter
2013-01-15 20:32 ` Matt Porter
2013-01-15 20:32 ` [PATCH v5 01/14] ARM: davinci: move private EDMA API to arm/common Matt Porter
2013-01-15 20:32   ` Matt Porter
2013-01-15 20:32   ` Matt Porter
2013-01-15 20:32 ` [PATCH v5 02/14] ARM: edma: remove unused transfer controller handlers Matt Porter
2013-01-15 20:32   ` Matt Porter
2013-01-15 20:32   ` Matt Porter
2013-01-15 20:32 ` [PATCH v5 03/14] ARM: edma: add AM33XX support to the private EDMA API Matt Porter
2013-01-15 20:32   ` Matt Porter
2013-01-15 20:32   ` Matt Porter
2013-01-28 19:27   ` Andy Shevchenko
2013-01-28 19:27     ` Andy Shevchenko
2013-01-28 19:27     ` Andy Shevchenko
2013-01-28 19:27     ` Andy Shevchenko
2013-01-30  6:41     ` Matt Porter
2013-01-30  6:41       ` Matt Porter
2013-01-30  6:41       ` Matt Porter
2013-01-30  7:40       ` Andy Shevchenko
2013-01-30  7:40         ` Andy Shevchenko
2013-01-30  7:40         ` Andy Shevchenko
2013-01-30  7:40         ` Andy Shevchenko
2013-01-31  1:31         ` Matt Porter
2013-01-31  1:31           ` Matt Porter
2013-01-31  1:31           ` Matt Porter
2013-01-15 20:32 ` [PATCH v5 04/14] dmaengine: edma: enable build for AM33XX Matt Porter
2013-01-15 20:32   ` Matt Porter
2013-01-15 20:32   ` Matt Porter
2013-01-15 20:32 ` [PATCH v5 05/14] dmaengine: edma: Add TI EDMA device tree binding Matt Porter
2013-01-15 20:32   ` Matt Porter
2013-01-15 20:32   ` Matt Porter
2013-01-15 20:32 ` [PATCH v5 06/14] ARM: dts: add AM33XX EDMA support Matt Porter
2013-01-15 20:32   ` Matt Porter
2013-01-15 20:32   ` Matt Porter
2013-01-15 20:32 ` [PATCH v5 07/14] dmaengine: add dma_request_slave_channel_compat() Matt Porter
2013-01-15 20:32   ` Matt Porter
2013-01-15 20:32   ` Matt Porter
2013-01-23 22:28   ` Arnd Bergmann
2013-01-23 22:28     ` Arnd Bergmann
2013-01-23 22:28     ` Arnd Bergmann
2013-01-30  6:36     ` Matt Porter
2013-01-30  6:36       ` Matt Porter
2013-01-30  6:36       ` Matt Porter
2013-01-28 19:34   ` Andy Shevchenko
2013-01-28 19:34     ` Andy Shevchenko
2013-01-28 19:34     ` Andy Shevchenko
2013-01-28 19:34     ` Andy Shevchenko
2013-01-28 19:57     ` Arnd Bergmann
2013-01-28 19:57       ` Arnd Bergmann
2013-01-28 19:57       ` Arnd Bergmann
2013-01-15 20:32 ` [PATCH v5 08/14] mmc: omap_hsmmc: convert to dma_request_slave_channel_compat() Matt Porter
2013-01-15 20:32   ` Matt Porter
2013-01-15 20:32   ` Matt Porter
2013-01-15 20:32 ` [PATCH v5 09/14] mmc: omap_hsmmc: set max_segs based on dma engine limitations Matt Porter
2013-01-15 20:32   ` Matt Porter
2013-01-15 20:32   ` Matt Porter
2013-01-15 20:32 ` [PATCH v5 10/14] mmc: omap_hsmmc: add generic DMA request support to the DT binding Matt Porter
2013-01-15 20:32   ` Matt Porter
2013-01-15 20:32   ` Matt Porter
2013-01-15 20:32 ` [PATCH v5 11/14] ARM: dts: add AM33XX MMC support Matt Porter
2013-01-15 20:32   ` Matt Porter
2013-01-15 20:32   ` Matt Porter
2013-01-15 20:32 ` [PATCH v5 12/14] spi: omap2-mcspi: convert to dma_request_slave_channel_compat() Matt Porter
2013-01-15 20:32   ` Matt Porter
2013-01-15 20:32   ` Matt Porter
2013-01-15 20:32 ` [PATCH v5 13/14] spi: omap2-mcspi: add generic DMA request support to the DT binding Matt Porter
2013-01-15 20:32   ` Matt Porter
2013-01-15 20:32   ` Matt Porter
2013-01-15 20:32 ` [PATCH v5 14/14] ARM: dts: add AM33XX SPI DMA support Matt Porter
2013-01-15 20:32   ` Matt Porter
2013-01-15 20:32   ` Matt Porter
2013-01-22 15:56 ` [PATCH v5 00/14] DMA Engine support for AM33XX Sekhar Nori
2013-01-22 15:56   ` Sekhar Nori
2013-01-22 15:56   ` Sekhar Nori
2013-01-23  2:21   ` Mark Brown
2013-01-23  2:21     ` Mark Brown
2013-01-23  2:21     ` Mark Brown
2013-01-23 10:49     ` Sekhar Nori
2013-01-23 10:49       ` Sekhar Nori
2013-01-23 10:49       ` Sekhar Nori
2013-01-23 21:37     ` Matt Porter
2013-01-23 21:37       ` Matt Porter
2013-01-23 21:37       ` Matt Porter
2013-01-24  5:14       ` Sekhar Nori
2013-01-24  5:14         ` Sekhar Nori
2013-01-24  5:14         ` Sekhar Nori
     [not found]       ` <d07dbfd50690423b903803720152c0dc@DLEE74.ent.ti.com>
2013-01-24 20:42         ` Matt Porter
2013-01-24 20:42           ` Matt Porter
2013-01-24 20:42           ` Matt Porter
2013-01-23 11:07 ` Santosh Shilimkar
2013-01-23 11:07   ` Santosh Shilimkar
2013-01-23 11:07   ` Santosh Shilimkar
2013-01-23 20:49   ` Matt Porter
2013-01-23 20:49     ` Matt Porter
2013-01-23 20:49     ` Matt Porter
2013-01-24  5:12     ` Santosh Shilimkar
2013-01-24  5:12       ` Santosh Shilimkar
2013-01-24  5:12       ` Santosh Shilimkar
     [not found]     ` <8ea1d227d84648f68e670c56f27c481e@DFLE72.ent.ti.com>
2013-01-24 20:49       ` Matt Porter [this message]
2013-01-24 20:49         ` Matt Porter
2013-01-24 20:49         ` Matt Porter
2013-01-25  7:02         ` Santosh Shilimkar
2013-01-25  7:02           ` Santosh Shilimkar
2013-01-25  7:02           ` Santosh Shilimkar

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=20130124204943.GE5256@beef \
    --to=mporter@ti.com \
    --cc=arnd@arndb.de \
    --cc=b-cousson@ti.com \
    --cc=broonie@opensource.wolfsonmicro.com \
    --cc=cjb@laptop.org \
    --cc=davinci-linux-open-source@linux.davincidsp.com \
    --cc=devicetree-discuss@lists.ozlabs.org \
    --cc=djbw@fb.com \
    --cc=grant.likely@secretlab.ca \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mmc@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=rob.herring@calxeda.com \
    --cc=rob@landley.net \
    --cc=santosh.shilimkar@ti.com \
    --cc=spi-devel-general@lists.sourceforge.net \
    --cc=tony@atomide.com \
    --cc=vinod.koul@intel.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.