Thread (10 messages) 10 messages, 5 authors, 2014-06-11

Re: [RFC PATCH] dma: at_xdmac: creation of the atmel eXtended DMA Controller driver

From: Ludovic Desroches <hidden>
Date: 2014-06-11 07:35:25
Also in: linux-arm-kernel

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:
quoted
+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.
quoted
+     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-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help