linux-spi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Tony Lindgren <tony@atomide.com>
To: Arnd Bergmann <arnd@arndb.de>
Cc: Matt Porter <mporter@ti.com>, Sekhar Nori <nsekhar@ti.com>,
	Grant Likely <grant.likely@secretlab.ca>,
	Mark Brown <broonie@opensource.wolfsonmicro.com>,
	Benoit Cousson <b-cousson@ti.com>,
	Russell King <linux@arm.linux.org.uk>,
	Vinod Koul <vinod.koul@intel.com>, Rob Landley <rob@landley.net>,
	Chris Ball <cjb@laptop.org>,
	Devicetree Discuss <devicetree-discuss@lists.ozlabs.org>,
	Linux OMAP List <linux-omap@vger.kernel.org>,
	Linux ARM Kernel List <linux-arm-kernel@lists.infradead.org>,
	Linux DaVinci Kernel List
	<davinci-linux-open-source@linux.davincidsp.com>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Linux Documentation List <linux-doc@vger.kernel.org>,
	Linux MMC List <linux-mmc@vger.kernel.org>,
	Linux SPI Devel List <spi-devel-general@lists.sourceforge.net>,
	Dan Williams <djbw@fb.com>, Rob Herring <rob.herring@calxeda.com>
Subject: Re: [RFC PATCH 10/13] spi: omap2-mcspi: dma_request_slave_channel() support for DT platforms
Date: Fri, 21 Sep 2012 08:42:47 -0700	[thread overview]
Message-ID: <20120921154247.GZ28835@atomide.com> (raw)
In-Reply-To: <201209210816.01473.arnd@arndb.de>

* Arnd Bergmann <arnd@arndb.de> [120921 02:19]:
> On Thursday 20 September 2012, Tony Lindgren wrote:
> > >  /* use PIO for small transfers, avoiding DMA setup/teardown overhead and
> > > @@ -798,14 +801,26 @@ static int omap2_mcspi_request_dma(struct spi_device *spi)
> > >       dma_cap_zero(mask);
> > >       dma_cap_set(DMA_SLAVE, mask);
> > >       sig = mcspi_dma->dma_rx_sync_dev;
> > > -     mcspi_dma->dma_rx = dma_request_channel(mask, omap_dma_filter_fn, &sig);
> > > +     if (spi->dev.of_node)
> > > +             mcspi_dma->dma_rx =
> > > +                     dma_request_slave_channel(&master->dev,
> > > +                                               mcspi_dma->dma_rx_ch_name);
> > > +     else
> > > +             mcspi_dma->dma_rx =
> > > +                     dma_request_channel(mask, omap_dma_filter_fn, &sig);
> > >       if (!mcspi_dma->dma_rx) {
> > >               dev_err(&spi->dev, "no RX DMA engine channel for McSPI\n");
> > >               return -EAGAIN;
> > >       }
> > >  
> > 
> > Hmm this does not look nice.. We should be able to somehow not to care about
> > the configuration at the mcspi driver level.
> 
> I agree, but as far as I understand Vinod's plans, we would actually move
> all drivers over to dma_request_slave_channel() when we have an interface
> to register the lookup tables from platform code.
> 
> I think the above is ok for a transitional phase and we can remove the
> fallback path when we have converted all platforms using this driver
> to either use DT or move to the new style way of passing the channel
> configuration.

Can't we come up with a version of dma_request_slave_channel that works
both ways for now:

	mcspi_dma->dma_rx =
		dma_request_slave_channel_compat(mask, omap_dma_filter_fn, &sig,
					&master->dev, mcspi_dma->dma_rx_ch_name);
	...			

Then it's just question of patching away two lines later on rather than
having to add all this if else to all the drivers first, then patching
it away again.

Regards,

Tony

  reply	other threads:[~2012-09-21 15:42 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
     [not found] ` <1348152226-13588-1-git-send-email-mporter-l0cyMroinI0@public.gmane.org>
2012-09-20 14:43   ` [RFC PATCH 01/13] ARM: davinci: move private EDMA API to arm/common Matt Porter
     [not found]     ` <1348152226-13588-2-git-send-email-mporter-l0cyMroinI0@public.gmane.org>
2012-09-21  7:10       ` Hebbar, Gururaja
2012-09-21 18:24         ` Matt Porter
2012-09-21  9:29     ` Russell King - ARM Linux
     [not found]       ` <20120921092923.GA31374-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2012-09-21  9:33         ` Hebbar, Gururaja
2012-09-21  9:42           ` Russell King - ARM Linux
     [not found]             ` <20120921094205.GC31374-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
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
     [not found]     ` <1348152226-13588-4-git-send-email-mporter-l0cyMroinI0@public.gmane.org>
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
     [not found]     ` <1348152226-13588-6-git-send-email-mporter-l0cyMroinI0@public.gmane.org>
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
     [not found]       ` <CANfBPZ81anOy8fWgKM1PgCtB4V2pEp2x1Qi4x1uPsq7QieMN5g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-09-21 17:17         ` S, Venkatraman
2012-09-21 17:18           ` Felipe Balbi
     [not found]             ` <20120921171840.GB10409-S8G//mZuvNWo5Im9Ml3/Zg@public.gmane.org>
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
     [not found]         ` <20120921184721.GD31374-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
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 [this message]
     [not found]           ` <20120921154247.GZ28835-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
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
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=20120921154247.GZ28835@atomide.com \
    --to=tony@atomide.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=mporter@ti.com \
    --cc=nsekhar@ti.com \
    --cc=rob.herring@calxeda.com \
    --cc=rob@landley.net \
    --cc=spi-devel-general@lists.sourceforge.net \
    --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 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).