[alsa-devel] [PATCH 2/2] ASoC: dmaengine-pcm: Add support for querying stream position from DMA device

Lars-Peter Clausen lars at metafoo.de
Mon Jun 11 17:20:09 CEST 2012


On 06/11/2012 04:57 PM, Mark Brown wrote:
> On Mon, Jun 11, 2012 at 02:24:09PM +0100, Russell King - ARM Linux wrote:
> 
>> What we need to do is to get rid of this idea that reporting the residue
>> is optional for DMA engine drivers.  Let's make it absolutely required
>> in order to support cyclic transfers.
> 
> I tend to agree, if we are going to let things not implement this we
> need to provide an out of bounds way for them to signal that they don't
> support it and make it an error to use the interface at all.  Otherwise
> the interface complexity increases as you get into special cases and so
> on.  We only need to fix the drivers that are used with ASoC immediately
> and there's not so many of them which is easier than being forced to get
> every driver upgraded at once.

I think the previous discussions have made it clear that we don't want to
make it optional for drivers to implement residue reporting for cyclic
transfers.

Another option is to provide the current implementation of the pcm_pointer
as a standalone legacy function, which can be used by the old platforms
until their dmaengine drivers have cached up. And add a new residue-only
implementation which will be mandatory for new drivers. That would make it
more explicit that those platforms are sort of broken and need to be fixed.
After all of them have been fixed the legacy pcm_pointer implementation can
be removed.

I still think though that residue should never be reported as 0 for active
cyclic transfers.

- Lars


More information about the Alsa-devel mailing list