OSDN Git Service

ALSA: usb-audio: Fix dB level of Bose Revolve+ SoundLink
authorTakashi Iwai <tiwai@suse.de>
Tue, 16 Nov 2021 06:54:15 +0000 (07:54 +0100)
committerTakashi Iwai <tiwai@suse.de>
Tue, 16 Nov 2021 06:55:16 +0000 (07:55 +0100)
Bose Revolve+ SoundLink (0a57:40fa) advertises invalid dB level for
the speaker volume.  This patch provides the correction in the mixer
map quirk table entry.

Note that this requires the prerequisite change to add min_mute flag
to the dB map table.

BugLink: https://bugzilla.suse.com/show_bug.cgi?id=1192375
Link: https://lore.kernel.org/r/20211116065415.11159-4-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/usb/mixer_maps.c

index 9d71c56..5d391f6 100644 (file)
@@ -337,6 +337,13 @@ static const struct usbmix_name_map bose_companion5_map[] = {
        { 0 }   /* terminator */
 };
 
+/* Bose Revolve+ SoundLink, correction of dB maps */
+static const struct usbmix_dB_map bose_soundlink_dB = {-8283, -0, true};
+static const struct usbmix_name_map bose_soundlink_map[] = {
+       { 2, NULL, .dB = &bose_soundlink_dB },
+       { 0 }   /* terminator */
+};
+
 /* Sennheiser Communications Headset [PC 8], the dB value is reported as -6 negative maximum  */
 static const struct usbmix_dB_map sennheiser_pc8_dB = {-9500, 0};
 static const struct usbmix_name_map sennheiser_pc8_map[] = {
@@ -523,6 +530,11 @@ static const struct usbmix_ctl_map usbmix_ctl_maps[] = {
                .map = bose_companion5_map,
        },
        {
+               /* Bose Revolve+ SoundLink */
+               .id = USB_ID(0x05a7, 0x40fa),
+               .map = bose_soundlink_map,
+       },
+       {
                /* Corsair Virtuoso SE (wired mode) */
                .id = USB_ID(0x1b1c, 0x0a3d),
                .map = corsair_virtuoso_map,