Re: Regression found (Stop-marking-clocks-as-CLK_IS_CRITICAL)

From: Pierre-Louis Bossart
Date: Mon Oct 29 2018 - 18:03:15 EST



On 10/29/18 2:08 PM, Dean Wallace wrote:
On 29-10-18, Andy Shevchenko wrote:
On Mon, Oct 29, 2018 at 7:52 PM Andy Shevchenko
<andy.shevchenko@xxxxxxxxx> wrote:
Cc: Pierre as well.

On Mon, Oct 29, 2018 at 7:48 PM Stephen Boyd <sboyd@xxxxxxxxxx> wrote:
Quoting Dean Wallace (2018-10-25 16:25:17)
I have found a regression in 4.18.15 that means I lose sound on my old
Toshiba Chromebook 2 (Swanky). My system details are:-

Toshiba Chromebook (Swanky)
MrChromebox UEFI coreboot
Arch Linux running latest alsa/pulseaudio

Upgraded kernel from 4.18.14 to 4.18.15 and lost all sound output. By
output I mean, the card is still detected, the module loaded, all apps
showing sound is being playing, but no actual audible sound comes
through. Upgraded to 4.18.16 same issue.

Dug around and found Upstream commit 648e921888ad96ea3dc922739e96716ad3225d7f
clk: x86: Stop marking clocks as CLK_IS_CRITICAL
"This commit removes the CLK_IS_CRITICAL marking, fixing Cherry Trail
devices not being able to reach S0i3 greatly decreasing their battery
drain when suspended."

I reverted it and compiled 4.18.16 and have sound back again. Could
this be looked into, with possibility of fix.

Thanks for the bug report. I'm adding some people involved in the commit
you mention is causing audio regressions. The best plan is to probably
revert the commit from the 4.18 linux stable tree. Or there may be
another patch missing that would be useful to make this backported patch
work. Hopefully Hans or Andy knows.
Hans has been investigating S0ix issues on Baytrail and Cherrytrail machines.
I have a feeling that the problem can be fixed by properly handling
clock in ASoC driver(s). Perhaps Hans and Pierre can figure this out
better than me.
Looking to sound/soc/intel/boards/cht_bsw_rt5672.c I see no
suspend-resume hooks. Perhaps, adding them like in the commit
ac8bd9e13be2 ("r8169: Disable clk during suspend / resume") would
help.

I missed this change while i was away. It's indeed the expectation that the audio mclk is handled by the firmware, not sure I understand why removing the CLK_IS_CRITICAL was necessary or what it has to do with S0ix.



Btw, what the drivers are in use for the machine you have? It's better
you run alsa-info.sh or alike to collect necessary information along
with output of `lsmod`, `dmesg`, etc.

--
With Best Regards,
Andy Shevchenko
alsa-info.txt [1], cpuinfo [2], dmesg [3], and 'ls /sys/bus/i2c/devices' [4]
[1] https://gist.github.com/duffydack/480be8ddced44515dbf981dc09f593ec#file-alsa-info
[2] https://gist.github.com/duffydack/480be8ddced44515dbf981dc09f593ec#file-cpuinfo-log
[3] https://gist.github.com/duffydack/480be8ddced44515dbf981dc09f593ec#file-dmesg-log
[4] https://gist.github.com/duffydack/480be8ddced44515dbf981dc09f593ec#file-sys-bus-i2c-devices-log

Regards