svn commit: r359868 - stable/11/sys/dev/sound/usb
Hans Petter Selasky
hselasky at FreeBSD.org
Mon Apr 13 16:19:12 UTC 2020
Author: hselasky
Date: Mon Apr 13 16:19:12 2020
New Revision: 359868
URL: https://svnweb.freebsd.org/changeset/base/359868
Log:
MFC r359320:
Avoid scaling USB audio mixer values twice.
Sponsored by: Mellanox Technologies
Modified:
stable/11/sys/dev/sound/usb/uaudio.c
Directory Properties:
stable/11/ (props changed)
Modified: stable/11/sys/dev/sound/usb/uaudio.c
==============================================================================
--- stable/11/sys/dev/sound/usb/uaudio.c Mon Apr 13 16:18:38 2020 (r359867)
+++ stable/11/sys/dev/sound/usb/uaudio.c Mon Apr 13 16:19:12 2020 (r359868)
@@ -552,10 +552,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);
@@ -5373,7 +5370,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);
@@ -5385,7 +5382,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;
@@ -5404,7 +5401,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);
@@ -5493,8 +5490,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