From d821b5aa4013cb274f8bda2f877cb327ac2b44bf Mon Sep 17 00:00:00 2001 From: Joel Dahl Date: Thu, 1 Apr 2010 11:30:46 +0000 Subject: [PATCH] Fix the gap between mute and lowest possible volume. The es1370 mixer volumes were incorrectly calculated. I've tested this with one of my es1370 cards and I can confirm that it works. PR: 98167 Submitted by: Joseph Terner Approved by: kib --- sys/dev/sound/pci/es137x.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/dev/sound/pci/es137x.c b/sys/dev/sound/pci/es137x.c index 8d04f7085d0e..5b9591abe3dd 100644 --- a/sys/dev/sound/pci/es137x.c +++ b/sys/dev/sound/pci/es137x.c @@ -355,7 +355,7 @@ es1370_mixset(struct snd_mixer *m, unsigned dev, unsigned left, unsigned right) if (mixtable[dev].left == 0xf) rl = (l < 2) ? 0x80 : 7 - (l - 2) / 14; else - rl = (l < 10) ? 0x80 : 15 - (l - 10) / 6; + rl = (l < 7) ? 0x80 : 31 - (l - 7) / 3; es = mix_getdevinfo(m); ES_LOCK(es); if (dev == SOUND_MIXER_PCM && (ES_SINGLE_PCM_MIX(es->escfg)) && @@ -364,7 +364,7 @@ es1370_mixset(struct snd_mixer *m, unsigned dev, unsigned left, unsigned right) else set_dac1 = 0; if (mixtable[dev].stereo) { - rr = (r < 10) ? 0x80 : 15 - (r - 10) / 6; + rr = (r < 7) ? 0x80 : 31 - (r - 7) / 3; es1370_wrcodec(es, mixtable[dev].right, rr); if (set_dac1 && mixtable[SOUND_MIXER_SYNTH].stereo) es1370_wrcodec(es,