From: Matt Porter <mporter-l0cyMroinI0@public.gmane.org>
To: Tony Lindgren <tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
Cc: Linux DaVinci Kernel List
<davinci-linux-open-source-VycZQUHpC/PFrsHnngEfi1aTQe2KTcn/@public.gmane.org>,
Chris Ball <cjb-2X9k7bc8m7Mdnm+yROfE0A@public.gmane.org>,
Russell King <linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org>,
Linux Documentation List
<linux-doc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
Vinod Koul <vinod.koul-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
Devicetree Discuss
<devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org>,
Mark Brown
<broonie-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>,
Linux MMC List
<linux-mmc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
Linux Kernel Mailing List
<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
Rob Herring <rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org>,
Dan Williams <djbw-b10kYP2dOMg@public.gmane.org>,
Linux SPI Devel List
<spi-devel-general-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org>,
Linux OMAP List
<linux-omap-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
Linux ARM Kernel List
<linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org>
Subject: Re: [RFC PATCH 10/13] spi: omap2-mcspi: dma_request_slave_channel() support for DT platforms
Date: Fri, 21 Sep 2012 14:37:29 -0400 [thread overview]
Message-ID: <20120921183729.GI16522@beef> (raw)
In-Reply-To: <20120921154247.GZ28835-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
On Fri, Sep 21, 2012 at 08:42:47AM -0700, Tony Lindgren wrote:
> * Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org> [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.
I think that something like that is workable with the implementation
simply checking for of_node to do the right thing.
-Matt
next prev parent reply other threads:[~2012-09-21 18:37 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
[not found] ` <20120921154247.GZ28835-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2012-09-21 18:37 ` Matt Porter [this message]
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=20120921183729.GI16522@beef \
--to=mporter-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=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).