Author: hselasky
Date: Mon Apr 13 16:19:45 2020
New Revision: 359869
URL: https://svnweb.freebsd.org/changeset/base/359869

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

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

Modified: stable/10/sys/dev/sound/usb/uaudio.c
==============================================================================
--- stable/10/sys/dev/sound/usb/uaudio.c        Mon Apr 13 16:19:12 2020        
(r359868)
+++ stable/10/sys/dev/sound/usb/uaudio.c        Mon Apr 13 16:19:45 2020        
(r359869)
@@ -558,10 +558,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);
@@ -5379,7 +5376,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);
@@ -5391,7 +5388,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;
@@ -5410,7 +5407,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);
 
@@ -5499,8 +5496,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);
                        }
                }
        }
_______________________________________________
svn-src-stable-10@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-stable-10
To unsubscribe, send any mail to "svn-src-stable-10-unsubscr...@freebsd.org"

Reply via email to