[alsa-devel] [PATCH 3/3] ASoC: core: Change power state before rechecking endpoint

Lars-Peter Clausen lars at metafoo.de
Mon Nov 23 19:13:12 CET 2015


On 11/23/2015 06:28 PM, Vinod Koul wrote:
> On Mon, Nov 23, 2015 at 05:06:41PM +0100, Lars-Peter Clausen wrote:
>> On 11/23/2015 04:52 PM, Vinod Koul wrote:
>>> From: Jeeja KP <jeeja.kp at intel.com>
>>>
>>> For DAPM resume, we should first change the power state of the
>>> card and then recheck the endpoints. This ensures the dapm is
>>> resumed first and then userspace can resume the streams.
>>
>> The problem is that DAPM uses the userspace state to decide whether to power
>> up or not. So this change won't work, it will keep the endpoints suspended.
> 
> Well our observation are bit different...
> 
> When testing with aplay and suspending the system the DAPM was suspending
> fine and then alsa suspends PCMs, but on resume the DAPM is resumed last and
> the PCMs first, due to which the devices start underun!
> The DAPM should be resumed first and then we should allow userspace access
> (PCM resume from aplay)
> 
> The change of order here helps in that

Sorry, overlooked something. We go to D2 earlier on and DAPM only is
suspended when the state is D3 and not only when it is not in D0.

Patch looks good.

Reviewed-by: Lars-Peter Clausen <lars at metafoo.de>


More information about the Alsa-devel mailing list