diff options
author | Michael Sparmann <theseven@rockbox.org> | 2011-01-06 23:59:32 +0000 |
---|---|---|
committer | Michael Sparmann <theseven@rockbox.org> | 2011-01-06 23:59:32 +0000 |
commit | 249d628ab8859f65d20d4c61cf8a3b3299053aa3 (patch) | |
tree | 226991c7036cddc4e985ceb85afded87d8666a1e | |
parent | daa3c36248d6dc1f2d1f529870a29a4fcf77b110 (diff) | |
download | rockbox-249d628ab8859f65d20d4c61cf8a3b3299053aa3.tar.gz rockbox-249d628ab8859f65d20d4c61cf8a3b3299053aa3.zip |
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
-rw-r--r-- | firmware/drivers/audio/cs42l55.c | 10 |
1 files 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) | |||
128 | /* 0000000 == 0dB (0x0) */ | 128 | /* 0000000 == 0dB (0x0) */ |
129 | /* 1000100 == -60dB (0x44, this is actually -58dB) */ | 129 | /* 1000100 == -60dB (0x44, this is actually -58dB) */ |
130 | 130 | ||
131 | cscodec_setbits(HPACTL, HPACTL_HPAVOL_MASK, vol_l << HPACTL_HPAVOL_SHIFT); | 131 | cscodec_setbits(HPACTL, HPACTL_HPAVOL_MASK | HPACTL_HPAMUTE, |
132 | cscodec_setbits(HPBCTL, HPBCTL_HPBVOL_MASK, vol_r << HPBCTL_HPBVOL_SHIFT); | 132 | vol_l << HPACTL_HPAVOL_SHIFT); |
133 | cscodec_setbits(HPBCTL, HPBCTL_HPBVOL_MASK | HPBCTL_HPBMUTE, | ||
134 | vol_r << HPBCTL_HPBVOL_SHIFT); | ||
133 | } | 135 | } |
134 | 136 | ||
135 | void audiohw_set_lineout_vol(int vol_l, int vol_r) | 137 | 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) | |||
139 | /* 0000000 == 0dB (0x0) */ | 141 | /* 0000000 == 0dB (0x0) */ |
140 | /* 1000100 == -60dB (0x44, this is actually -58dB) */ | 142 | /* 1000100 == -60dB (0x44, this is actually -58dB) */ |
141 | 143 | ||
142 | cscodec_setbits(LINEACTL, LINEACTL_LINEAVOL_MASK, | 144 | cscodec_setbits(LINEACTL, LINEACTL_LINEAVOL_MASK | LINEACTL_LINEAMUTE, |
143 | vol_l << LINEACTL_LINEAVOL_SHIFT); | 145 | vol_l << LINEACTL_LINEAVOL_SHIFT); |
144 | cscodec_setbits(LINEBCTL, LINEBCTL_LINEBVOL_MASK, | 146 | cscodec_setbits(LINEBCTL, LINEBCTL_LINEBVOL_MASK | LINEBCTL_LINEBMUTE, |
145 | vol_r << LINEBCTL_LINEBVOL_SHIFT); | 147 | vol_r << LINEBCTL_LINEBVOL_SHIFT); |
146 | } | 148 | } |
147 | 149 | ||