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
This commit is contained in:
parent
bde72efa30
commit
28b9c8bfeb
|
@ -71,7 +71,11 @@ void audiohw_preinit(void)
|
|||
{
|
||||
alsa_controls_init();
|
||||
hw_open();
|
||||
#if defined(AUDIOHW_MUTE_ON_PAUSE) || defined (AUDIOHW_NEEDS_INITIAL_UNMUTE)
|
||||
audiohw_mute(true); /* Start muted to avoid the POP */
|
||||
#else
|
||||
audiohw_mute(false);
|
||||
#endif
|
||||
}
|
||||
|
||||
void audiohw_postinit(void)
|
||||
|
|
|
@ -2,9 +2,12 @@
|
|||
#define __ROCKER_CODEC__
|
||||
|
||||
#define AUDIOHW_CAPS 0
|
||||
AUDIOHW_SETTING(VOLUME, "dB", 1, 5, -102*10, 0, -30*10)
|
||||
AUDIOHW_SETTING(VOLUME, "dB", 1, 5, -115*10, 0, -30*10)
|
||||
#endif
|
||||
|
||||
#define AUDIOHW_MUTE_ON_PAUSE
|
||||
//#define AUDIOHW_MUTE_ON_PAUSE
|
||||
//#define AUDIOHW_NEEDS_INITIAL_UNMUTE
|
||||
|
||||
/* Note: Due to Kernel bug, we can't use MUTE_ON_PAUSE with backlight fading */
|
||||
|
||||
void audiohw_mute(int mute);
|
||||
|
|
Loading…
Reference in New Issue