From: ludovic.desroches@atmel.com (Ludovic Desroches)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC PATCH] dma: at_xdmac: creation of the atmel eXtended DMA Controller driver
Date: Wed, 11 Jun 2014 09:35:25 +0200 [thread overview]
Message-ID: <20140611073525.GQ1701@ldesroches-Latitude-E6320> (raw)
In-Reply-To: <6544148.4RKn2Y8vCE@wuerfel>
On Tue, Jun 10, 2014 at 09:15:14PM +0200, Arnd Bergmann wrote:
> On Tue, May 27, 2014 at 10:35:36AM +0200, Ludovic Desroches wrote:
> > +static struct dma_chan *at_xdmac_xlate(struct of_phandle_args *dma_spec,
> > + struct of_dma *of_dma)
> > +{
> > + struct at_xdmac_chan *atchan;
> > + struct dma_chan *chan;
> > + dma_cap_mask_t mask;
> > + struct platform_device *pdev = of_find_device_by_node(dma_spec->np);
>
> No need to search through all the device nodes, you can look up the
> device from of_dma->of_dma_data.
Thanks for the tip.
>
> > + if (dma_spec->args_count != 2) {
> > + dev_err(&pdev->dev, "dma phandler args: bad number of args\n");
> > + return NULL;
> > + }
> > +
> > + dma_cap_zero(mask);
> > + dma_cap_set(DMA_SLAVE, mask);
> > + chan = dma_request_channel(mask, NULL, NULL);
> > + if (!chan) {
> > + dev_err(&pdev->dev, "can't get a dma channel\n");
> > + return NULL;
> > + }
>
> You must use dma_get_any_slave_channel. dma_request_channel gives you a
> channel from a random dma engine that is present in the system, not
> necessarily the one you are managing here.
It is planned to use dma_get_any_slave_channel but currently I am doing
tests on a 3.10 kernel that's why I am still using dma_request_channel.
>
> Arnd
> --
> To unsubscribe from this list: send the line "unsubscribe dmaengine" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2014-06-11 7:35 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-27 8:35 [RFC PATCH] dma: at_xdmac: creation of the atmel eXtended DMA Controller driver Ludovic Desroches
2014-05-29 10:04 ` Josh Wu
2014-06-10 15:41 ` Maxime Ripard
2014-06-10 17:58 ` Arnd Bergmann
2014-06-10 19:15 ` Arnd Bergmann
2014-06-11 7:35 ` Ludovic Desroches [this message]
2014-06-11 7:41 ` Arnd Bergmann
2014-06-11 8:12 ` Ludovic Desroches
2014-06-11 9:04 ` Arnd Bergmann
2014-06-11 7:59 ` Ludovic Desroches
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=20140611073525.GQ1701@ldesroches-Latitude-E6320 \
--to=ludovic.desroches@atmel.com \
--cc=linux-arm-kernel@lists.infradead.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