diff options
author | Solomon Peachy <pizza@shaftnet.org> | 2020-10-25 21:00:50 -0400 |
---|---|---|
committer | Solomon Peachy <pizza@shaftnet.org> | 2020-10-26 01:07:59 +0000 |
commit | 28b9c8bfeb13748abcb850884e538d4a5ca3d5ce (patch) | |
tree | 8fa30594285c98a2fc05e7e33bf2a9980a7701ee /firmware/drivers | |
parent | bde72efa30218d6467f07cd0b0a223899484d640 (diff) | |
download | rockbox-28b9c8bfeb13748abcb850884e538d4a5ca3d5ce.tar.gz rockbox-28b9c8bfeb13748abcb850884e538d4a5ca3d5ce.zip |
rocker: Disable mute-on-pause, due to a platform kernel bug.
In short, the display fading back in after a pause resuming interferes
with the audio codec, causing BadThings(tm) that cannot be recovered from
This really is just avoiding a known trigger; there's no guarantee this
condition won't occur under random circumstances during normal use,
and there's no good way to work around this from within rockbox.
I suspect the underlying problem is that both the display control and
codec control share an i2c bus, but the kernel drivers implementing them
isn't using proper linux bus access/locking.
Change-Id: Id4f56f9cb269ed74aac2f041146b3630cef09030
Diffstat (limited to 'firmware/drivers')
-rw-r--r-- | firmware/drivers/audio/rocker_codec.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/firmware/drivers/audio/rocker_codec.c b/firmware/drivers/audio/rocker_codec.c index abe13be285..4beda4b572 100644 --- a/firmware/drivers/audio/rocker_codec.c +++ b/firmware/drivers/audio/rocker_codec.c | |||
@@ -71,7 +71,11 @@ void audiohw_preinit(void) | |||
71 | { | 71 | { |
72 | alsa_controls_init(); | 72 | alsa_controls_init(); |
73 | hw_open(); | 73 | hw_open(); |
74 | #if defined(AUDIOHW_MUTE_ON_PAUSE) || defined (AUDIOHW_NEEDS_INITIAL_UNMUTE) | ||
74 | audiohw_mute(true); /* Start muted to avoid the POP */ | 75 | audiohw_mute(true); /* Start muted to avoid the POP */ |
76 | #else | ||
77 | audiohw_mute(false); | ||
78 | #endif | ||
75 | } | 79 | } |
76 | 80 | ||
77 | void audiohw_postinit(void) | 81 | void audiohw_postinit(void) |