[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <AANLkTikSExz3ELLEZ90LgitTsxwkE1dxu1BM1VhfCOmy@mail.gmail.com>
Date: Thu, 12 Aug 2010 12:14:20 -0700
From: Dan Williams <dan.j.williams@...el.com>
To: Sascha Hauer <s.hauer@...gutronix.de>
Cc: linux-kernel@...r.kernel.org,
Linus Walleij <linus.ml.walleij@...il.com>
Subject: Re: dmaengine questions
On Thu, Aug 12, 2010 at 8:00 AM, Sascha Hauer <s.hauer@...gutronix.de> wrote:
> Hi,
>
> I am currently looking into implementing the Freescale i.MX SDMA engine
> into the dmaengine API. The SDMA engine can handle sg transfers from/to
> devices. During implementation some questions came up.
>
> On the i.MX we already have a DMA engine which can do slave dma
> transfers, the IPU (drivers/dma/ipu/), which is exclusively used for
> image operations. My problem is that I found no way for the clients
> to select which DMA engine to use as both have the same capabilities
> (DMA_SLAVE).
Yes, if you need finer grained matching of channels, beyond simple
capability matching, this is the intended purpose of the
'dma_filter_fn' and 'filter_param' arguments to dma_request_channel.
Dmaengine will pass all available channels that match the base
capability to the filter function for further, usually architecture
specific, discrimination.
> For the SDMA engine the clients have to pass some platform specific data
> to the SDMA engine (dma request line, word width and the like). The
> current mechanism is to pass this data through the dma_chan->private
> field, which seems more like tunneling instead of passing the data as we
> lose type safety. Are there any ideas to improve this?
Hopefully dma_chan->private can eventually be phased out in favor of
Linus' dma_slave_config scheme [1].
--
Dan
[1]: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=c156d0a5
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists