svn commit: r206033 - head/sys/dev/sound/pci

Joel Dahl joel at FreeBSD.org
Thu Apr 1 11:30:46 UTC 2010


Author: joel (doc committer)
Date: Thu Apr  1 11:30:46 2010
New Revision: 206033
URL: http://svn.freebsd.org/changeset/base/206033

Log:
  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 at gmx.de>
  Approved by:	kib

Modified:
  head/sys/dev/sound/pci/es137x.c

Modified: head/sys/dev/sound/pci/es137x.c
==============================================================================
--- head/sys/dev/sound/pci/es137x.c	Thu Apr  1 10:41:01 2010	(r206032)
+++ head/sys/dev/sound/pci/es137x.c	Thu Apr  1 11:30:46 2010	(r206033)
@@ -355,7 +355,7 @@ es1370_mixset(struct snd_mixer *m, unsig
 	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, unsig
 	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,


More information about the svn-src-all mailing list