lkml.org 
[lkml]   [2014]   [May]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH] dma: pl330: Add support for DMA_PAUSE command
From
On 14 May 2014 17:54, Lars-Peter Clausen <lars@metafoo.de> wrote:
> On 05/14/2014 02:07 PM, Tushar Behera wrote:
>>
>> On 14 May 2014 17:29, Jassi Brar <jassisinghbrar@gmail.com> wrote:
>>>
>>> On Wed, May 14, 2014 at 8:53 AM, Tushar Behera <tushar.behera@linaro.org>
>>> wrote:
>>>>
>>>> While playing back audio, pmc_dmaengine requests the DMA channel to
>>>> stop DMA transmission through DMA_PAUSE command.
>>>>
>>>> Currently PL330 driver doesn't support DMA pause command, leaving
>>>> the DMA state inconsistent when the system resumes. Instead, it would
>>>> be better to terminate the DMA transfer during suspend and restart
>>>> again during resume.
>>>>
>>>> Tested with audio playback across a suspend-resume cycle.
>>>>
>>> What is pmc_dmaengine? How does DMA_PAUSE help, when there is no
>>> DMA_RESUME?
>>>
>>
>> Sorry, it is a typo.
>>
>> sound/core/pcm_dmaengine.c:snd_dmaengine_pcm_trigger() -->
>> dmaengine_pause() is called during system suspend.
>
>
> It is only called if the DMA driver has support for pausing and resuming DMA
> transfers. Or at least that is the intention.
>
> - Lars

During suspend, snd_dmaengine_pcm_trigger():SNDRV_PCM_TRIGGER_SUSPEND
is called which unconditionally calls dmaengine_pause(). Should we
update snd_dmaengine_pcm_trigger() to check for DMA pause/resume
support and call dmaengine_pause() or dmaengine_terminate_all()
accordingly?


--
Tushar Behera


\
 
 \ /
  Last update: 2014-05-15 14:41    [W:0.079 / U:0.372 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site