From: Rob Herring <robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
Cc: "Grant Likely
(grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org)"
<grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org>,
"devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org"
<devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org>,
"linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
"Mark Brown
(broonie-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org)"
<broonie-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>
Subject: Re: DT DMA channel binding for Tegra I2S
Date: Wed, 23 Nov 2011 15:54:44 -0600 [thread overview]
Message-ID: <4ECD6BA4.1010607@gmail.com> (raw)
In-Reply-To: <74CDBE0F657A3D45AFBB94109FB122FF174F08C803-C7FfzLzN0UxDw2glCA4ptUEOCMrvLtNR@public.gmane.org>
On 11/23/2011 03:25 PM, Stephen Warren wrote:
> Rob, Grant,
>
> Re: http://www.spinics.net/lists/arm-kernel/msg148899.html
>
> Background: Tegra's DMA controller needs to be told which DMA "request
> select" to use for each transfer. The identifies which peripheral to
> transfer to/from.
>
> The Tegra I2S driver needs to know its own "request select" value to
> pass to the audio driver DMA path. The board files typically provide
> this to the driver as an IORESOURCE_DMA. I don't think there's any
> standard binding that creates such a resource when instantiating a
> platform device from device tree, and the discussions I found when
> looking for one didn't seem to reach conclusion that there should be
> one. So, I proposed the following property in the I2S driver's DT
> binding for this:
I think this is a case of every platform being different and
IORESOURCE_DMA is not too widely used. Even on PPC, there's not a
standard way.
>
> Doc:
>
> - dma-channel : The Tegra DMA controller's channel ID for this I2S controller
>
> Example:
>
> i2s@70002800 {
> compatible = "nvidia,tegra20-i2s";
> reg = <0x70002800 0x200>;
> interrupts = < 45 >;
> dma-channel = < 2 >;
> };
>
> Does that look reasonable? Or, should I pursue some more standardized
> solution?
I had some discussion with Thomas Abraham about this for the pl330 dma:
http://lists.ozlabs.org/pipermail/devicetree-discuss/2011-September/008269.html
So I would just add a phandle to the dma controller here.
>
> (although perhaps dma-request-select would be a better name, since each
> of the DMA controller's 16 channels can be used for any of the DMA
> selects)
You'll find h/w with all sorts of relationships between requests and
channels on DMA controller h/w...
>
> For reference, the code turns out as below; it might be nicer if the
> DT parsing code could create this resource for us, although there was
> some previous discussion about IORESOURCE_DMA not being the correct
> representation for this anyway.
>
> dmareq = platform_get_resource(pdev, IORESOURCE_DMA, 0);
> if (!dmareq) {
> if (of_property_read_u32(pdev->dev.of_node,
> "nvidia,dma-channel",
> &dma_ch) < 0) {
It would, but I think IORESOURCE_DMA is supposed to be for ISA bus DMA.
Also, I think often you need more information than just a request line
like a mode or type of transfer or burst length parameters.
Rob
next prev parent reply other threads:[~2011-11-23 21:54 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-11-23 21:25 DT DMA channel binding for Tegra I2S Stephen Warren
[not found] ` <74CDBE0F657A3D45AFBB94109FB122FF174F08C803-C7FfzLzN0UxDw2glCA4ptUEOCMrvLtNR@public.gmane.org>
2011-11-23 21:54 ` Rob Herring [this message]
[not found] ` <4ECD6BA4.1010607-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2011-11-23 23:26 ` Stephen Warren
[not found] ` <74CDBE0F657A3D45AFBB94109FB122FF174F08C881-C7FfzLzN0UxDw2glCA4ptUEOCMrvLtNR@public.gmane.org>
2011-11-25 15:55 ` Rob Herring
[not found] ` <CAL_JsqLk=ExaPoy9f3CqEthjZsu7CVmAwcckpk5PyJA-NhMGVA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2011-11-25 16:09 ` Mark Brown
[not found] ` <20111125160908.GF5315-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>
2011-11-27 4:07 ` Rob Herring
[not found] ` <4ED1B765.9070107-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2011-11-27 12:02 ` Mark Brown
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=4ECD6BA4.1010607@gmail.com \
--to=robherring2-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
--cc=broonie-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org \
--cc=devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org \
--cc=grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org \
--cc=linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=swarren-DDmLM1+adcrQT0dZR+AlfA@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 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.