[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20140801085707.GI3952@lukather>
Date: Fri, 1 Aug 2014 10:57:07 +0200
From: Maxime Ripard <maxime.ripard@...e-electrons.com>
To: Lars-Peter Clausen <lars@...afoo.de>
Cc: Vinod Koul <vinod.koul@...el.com>,
Dan Williams <dan.j.williams@...el.com>,
linux-kernel@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
dmaengine@...r.kernel.org, Russell King <linux@....linux.org.uk>,
Arnd Bergmann <arnd@...db.de>,
Antoine Ténart <antoine@...e-electrons.com>,
Thomas Petazzoni <thomas@...e-electrons.com>,
Alexandre Belloni <alexandre.belloni@...e-electrons.com>,
Boris Brezillon <boris@...e-electrons.com>,
Matt Porter <matt.porter@...aro.org>,
laurent.pinchart@...asonboard.com, ludovic.desroches@...el.com,
Gregory Clement <gregory.clement@...e-electrons.com>,
Nicolas Ferre <nicolas.ferre@...el.com>
Subject: Re: [PATCH] Documentation: dmaengine: Add a documentation for the
dma controller API
On Fri, Aug 01, 2014 at 10:00:10AM +0200, Lars-Peter Clausen wrote:
> On 07/31/2014 07:37 PM, Maxime Ripard wrote:
> >On Thu, Jul 31, 2014 at 06:54:11PM +0200, Lars-Peter Clausen wrote:
> >>On 07/31/2014 06:13 PM, Maxime Ripard wrote:
> >>[...]
> >>> From what you're saying, and judging from the drivers that already
> >>>implement it, can't it be moved directly to the framework itself ?
> >>>
> >>
> >>What exactly do you mean by moving it directly to the framework? The
> >>slave_caps API is part of the DMAengine framework.
> >
> >Not its implementation, which is defined by each and every driver,
> >while the behaviour of device_slave_caps is rather generic.
> >
>
> Do you mean something like adding a dma_slave_caps struct field to
> the DMA channel that gets initialized when the channel is created
> and then remove the callback? That makes some sense.
I was rather thinking into something like:
- Splitting device_control into independant functions
- Then, knowing if you support pause/resume/terminate is trivial:
either you implement the callback, or you don't
- Putting the supported width and direction into fields of struct
dma_device, which can eventually be used by the framework to
filter out invalid configurations before calling the relevant
callbacks
- That would then be trivial to get from the framework, without
calling any callback
> I think the main reason why we use a callback right now is that in
> earlier revisions of the API it was possible to pass a slave_config
> and the result would be the capabilities of the DMA channel for this
> particular config. But this was dropped before the final version was
> merged upstream.
Ah, that would explain yes.
Maxime
--
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
Download attachment "signature.asc" of type "application/pgp-signature" (820 bytes)
Powered by blists - more mailing lists