diff options
author | joel <joel@FreeBSD.org> | 2010-04-01 11:30:46 +0000 |
---|---|---|
committer | joel <joel@FreeBSD.org> | 2010-04-01 11:30:46 +0000 |
commit | 1a85220ab58d79540370a49fd4773d952ae552c4 (patch) | |
tree | ee67c0b1a4a2659c943b7149d287fda62488b7a9 /sys/dev/sound/pci | |
parent | 648144045d4aa71db14153ad891b5e3563af8de7 (diff) | |
download | FreeBSD-src-1a85220ab58d79540370a49fd4773d952ae552c4.zip FreeBSD-src-1a85220ab58d79540370a49fd4773d952ae552c4.tar.gz |
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 <jtsn@gmx.de>
Approved by: kib
Diffstat (limited to 'sys/dev/sound/pci')
-rw-r--r-- | sys/dev/sound/pci/es137x.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/dev/sound/pci/es137x.c b/sys/dev/sound/pci/es137x.c index 8d04f70..5b9591a 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, |