Hi all, because it may be lost in a more general discussion on the pyra mailing list, I have reworded and resent this mail with a more specific subject.
Am 29.10.2018 um 13:50 schrieb H. Nikolaus Schaller hns@goldelico.com:
Am 29.10.2018 um 12:44 schrieb Michael Mrozek EvilDragon@openpandora.org:
Hi,
With some kernel version, speaker output stopped completely, but Nikolaus is currently looking into what changed with each kernel version and when exactly it stopped working to get this to work again, at least.
Ok, here is the result:
letux-4.16-rc3 is the last version where audio works fine letux-4.16-rc4 makes the play command hang after some random time (ca. 1 .. 8 seconds) and audio sounds fluttering like a damaged capstan
In letux-4.17 and later there is no sound from the handsfree speakers any more, but headsets work. At least sometimes.
I have tried to find diffs for twl6040 or generally sound/ or mcpdm driver or device tree changes. But there aren't any.
What I did find is a diff in the letux_defconfig:
-# CONFIG_CPU_IDLE is not set +CONFIG_CPU_IDLE=y +CONFIG_CPU_IDLE_MULTIPLE_DRIVERS=y +# CONFIG_CPU_IDLE_GOV_LADDER is not set +CONFIG_CPU_IDLE_GOV_MENU=y +CONFIG_DT_IDLE_STATES=y
+# +# ARM CPU Idle Drivers +# +CONFIG_ARM_CPUIDLE=y
+CONFIG_VIDEOBUF2_V4L2=m
Reverting this in 4.19 in letux_defconfig makes audio work again!
If I now look at the commit message where it was introduced into letux-4.16-rc4:
http://git.goldelico.com/?p=letux-kernel.git;a=commit;h=77a30a6c6d8d100022db...
it says:
CPU idle support was not enabled, so lets enable it. That reduces the idle current seen by around 10mA.
(where the 10mA refers to the GTA04 board.)
BTW: omap2plus_defconfig also sets this config (but because the omap5evm has no handsfree speaker connection I assume nobody else than Pyra users can notice such audio problems).
So we face this situation: * CONFIG_CPU_IDLE=y reduces idle current of OMAP3 by 10mA (important for power saving! also for Pyra) * CONFIG_CPU_IDLE=y breaks audio on OMAP5 + twl6040 (but not on Pandaboard ES OMAP4 + twl6040)
What fix is needed to make mainline (does not include AESS) OMAP5+TWL6040 work in combination with CONFIG_CPU_IDLE=y?
BR and thanks, Nikolaus