svn commit: r359867 - stable/12/sys/dev/sound/usb

Hans Petter Selasky hselasky at FreeBSD.org
Mon Apr 13 16:18:39 UTC 2020


Author: hselasky
Date: Mon Apr 13 16:18:38 2020
New Revision: 359867
URL: https://svnweb.freebsd.org/changeset/base/359867

Log:
  MFC r359320:
  Avoid scaling USB audio mixer values twice.
  
  Sponsored by:	Mellanox Technologies

Modified:
  stable/12/sys/dev/sound/usb/uaudio.c
Directory Properties:
  stable/12/   (props changed)

Modified: stable/12/sys/dev/sound/usb/uaudio.c
==============================================================================
--- stable/12/sys/dev/sound/usb/uaudio.c	Mon Apr 13 16:14:21 2020	(r359866)
+++ stable/12/sys/dev/sound/usb/uaudio.c	Mon Apr 13 16:18:38 2020	(r359867)
@@ -554,10 +554,7 @@ static void	uaudio_mixer_add_ctl(struct uaudio_softc *
 		    struct uaudio_mixer_node *);
 static void	uaudio_mixer_fill_info(struct uaudio_softc *,
 		    struct usb_device *, void *);
-static void	uaudio_mixer_ctl_set(struct uaudio_softc *,
-		    struct uaudio_mixer_node *, uint8_t, int32_t val);
 static int	uaudio_mixer_signext(uint8_t, int);
-static int	uaudio_mixer_bsd2value(struct uaudio_mixer_node *, int32_t val);
 static void	uaudio_mixer_init(struct uaudio_softc *);
 static const struct uaudio_terminal_node *uaudio_mixer_get_input(
 		    const struct uaudio_terminal_node *, uint8_t);
@@ -5375,7 +5372,7 @@ uaudio_mixer_signext(uint8_t type, int val)
 }
 
 static int
-uaudio_mixer_bsd2value(struct uaudio_mixer_node *mc, int32_t val)
+uaudio_mixer_bsd2value(struct uaudio_mixer_node *mc, int val)
 {
 	if (mc->type == MIX_ON_OFF) {
 		val = (val != 0);
@@ -5387,7 +5384,7 @@ uaudio_mixer_bsd2value(struct uaudio_mixer_node *mc, i
 	} else {
 
 		/* compute actual volume */
-		val = (val * mc->mul) / 255;
+		val = (val * mc->mul) / 100;
 
 		/* add lower offset */
 		val = val + mc->minval;
@@ -5406,7 +5403,7 @@ uaudio_mixer_bsd2value(struct uaudio_mixer_node *mc, i
 
 static void
 uaudio_mixer_ctl_set(struct uaudio_softc *sc, struct uaudio_mixer_node *mc,
-    uint8_t chan, int32_t val)
+    uint8_t chan, int val)
 {
 	val = uaudio_mixer_bsd2value(mc, val);
 
@@ -5495,8 +5492,7 @@ uaudio_mixer_set(struct uaudio_softc *sc, unsigned typ
 		if (mc->ctl == type) {
 			for (chan = 0; chan < mc->nchan; chan++) {
 				uaudio_mixer_ctl_set(sc, mc, chan,
-				    (int)((chan == 0 ? left : right) *
-				    255) / 100);
+				    chan == 0 ? left : right);
 			}
 		}
 	}


More information about the svn-src-all mailing list