[PATCH] ASoC: pcm512x: Mend accesses to the I2S_1 and I2S_2 registers

Péter Ujfalusi peter.ujfalusi at gmail.com
Tue Sep 21 19:22:45 CEST 2021



On 21/09/2021 16:30, Peter Rosin wrote:
> On 2021-09-21 14:01, Mark Brown wrote:
>> On Tue, Sep 21, 2021 at 10:48:01AM +0200, Peter Rosin wrote:
>>> On 2021-09-21 10:10, Peter Rosin wrote:
>>
>>> Ok, so the attached works for me as well. But I don't know if it's
>>> appropriate to resume/suspend like that?
>>
>>> is:
>>>
>>> pcm512x 0-004c: Failed to set data format: -16
>>>
>>> The root cause is that the chip is in Powerdown mode when
>>> pcm512x_set_fmt runs. So, bring the chip out of suspend for
>>> the update of the format.
>>
>> How would this work if the device looses power while in suspend (eg, due
>> to the regulators being software controllable)?  If the data isn't being
>> stored in the cache then it'll need to be stored somewhere else and
>> restored on resume.
> 
> Right. Scratch v2. I'd go with the original patch. We have verified
> that the original content of the I2S_1 register is the expected 0x02
> (at least on one pcm5142) and besides, the four RSV bits are probably
> don't care anyway.
> 
> Péter might have a different opinion?

The original patch is correct, the defaults are those exactly (by TRM
and by your register read).

This at some point needs to be addressed when someone comes along with
wanting something else than I2S as default format.

Thanks for the debugging!

-- 
Péter


More information about the Alsa-devel mailing list