diff options
Diffstat (limited to 'firmware/drivers/uda1380.c')
-rw-r--r-- | firmware/drivers/uda1380.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/firmware/drivers/uda1380.c b/firmware/drivers/uda1380.c index bcc94474fa..721bce41d8 100644 --- a/firmware/drivers/uda1380.c +++ b/firmware/drivers/uda1380.c | |||
@@ -96,8 +96,8 @@ int uda1380_setvol(int vol) | |||
96 | 96 | ||
97 | uda1380_volume = vol; | 97 | uda1380_volume = vol; |
98 | /* Simple linear volume crossfade curves */ | 98 | /* Simple linear volume crossfade curves */ |
99 | vol_l = MAX(uda1380_balance*0xff/100, 0); | 99 | vol_l = MAX(uda1380_balance*(255 - vol)/100 + vol, vol); |
100 | vol_r = MAX(-uda1380_balance*0xff/100, 0); | 100 | vol_r = MAX(-uda1380_balance*(255 - vol)/100 + vol, vol); |
101 | return uda1380_write_reg(REG_MASTER_VOL, | 101 | return uda1380_write_reg(REG_MASTER_VOL, |
102 | MASTER_VOL_LEFT(vol_l) | MASTER_VOL_RIGHT(vol_r)); | 102 | MASTER_VOL_LEFT(vol_l) | MASTER_VOL_RIGHT(vol_r)); |
103 | } | 103 | } |