From 249d628ab8859f65d20d4c61cf8a3b3299053aa3 Mon Sep 17 00:00:00 2001 From: Michael Sparmann Date: Thu, 6 Jan 2011 23:59:32 +0000 Subject: iPod Classic: Unmute amplifiers when setting volume (fixes resuming paused playback) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28982 a1c6a512-1295-4272-9138-f99709370657 --- firmware/drivers/audio/cs42l55.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/firmware/drivers/audio/cs42l55.c b/firmware/drivers/audio/cs42l55.c index 4d922d77d2..79b6d283b6 100644 --- a/firmware/drivers/audio/cs42l55.c +++ b/firmware/drivers/audio/cs42l55.c @@ -128,8 +128,10 @@ void audiohw_set_master_vol(int vol_l, int vol_r) /* 0000000 == 0dB (0x0) */ /* 1000100 == -60dB (0x44, this is actually -58dB) */ - cscodec_setbits(HPACTL, HPACTL_HPAVOL_MASK, vol_l << HPACTL_HPAVOL_SHIFT); - cscodec_setbits(HPBCTL, HPBCTL_HPBVOL_MASK, vol_r << HPBCTL_HPBVOL_SHIFT); + cscodec_setbits(HPACTL, HPACTL_HPAVOL_MASK | HPACTL_HPAMUTE, + vol_l << HPACTL_HPAVOL_SHIFT); + cscodec_setbits(HPBCTL, HPBCTL_HPBVOL_MASK | HPBCTL_HPBMUTE, + vol_r << HPBCTL_HPBVOL_SHIFT); } void audiohw_set_lineout_vol(int vol_l, int vol_r) @@ -139,9 +141,9 @@ void audiohw_set_lineout_vol(int vol_l, int vol_r) /* 0000000 == 0dB (0x0) */ /* 1000100 == -60dB (0x44, this is actually -58dB) */ - cscodec_setbits(LINEACTL, LINEACTL_LINEAVOL_MASK, + cscodec_setbits(LINEACTL, LINEACTL_LINEAVOL_MASK | LINEACTL_LINEAMUTE, vol_l << LINEACTL_LINEAVOL_SHIFT); - cscodec_setbits(LINEBCTL, LINEBCTL_LINEBVOL_MASK, + cscodec_setbits(LINEBCTL, LINEBCTL_LINEBVOL_MASK | LINEBCTL_LINEBMUTE, vol_r << LINEBCTL_LINEBVOL_SHIFT); } -- cgit v1.2.3