diff options
author | Yao-Wen Mao <yaowen@google.com> | 2015-07-29 15:13:54 +0800 |
---|---|---|
committer | Sasha Levin <sasha.levin@oracle.com> | 2015-08-27 13:25:42 -0400 |
commit | 4e8e9e996e630fe86aeff5c9c258e0cfe2840b08 (patch) | |
tree | 3e845f03121a9be45c3511571e333c60284bb9ca /sound | |
parent | a20f7f285a4f8a665d15c4c564597ffd4677d2cf (diff) | |
download | lwn-4e8e9e996e630fe86aeff5c9c258e0cfe2840b08.tar.gz lwn-4e8e9e996e630fe86aeff5c9c258e0cfe2840b08.zip |
ALSA: usb-audio: add dB range mapping for some devices
[ Upstream commit 2d1cb7f658fb9c3ba8f9dab8aca297d4dfdec835 ]
Add the correct dB ranges of Bose Companion 5 and Drangonfly DAC 1.2.
Signed-off-by: Yao-Wen Mao <yaowen@google.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
Diffstat (limited to 'sound')
-rw-r--r-- | sound/usb/mixer_maps.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/sound/usb/mixer_maps.c b/sound/usb/mixer_maps.c index b16be3944213..9a3e1076a5b1 100644 --- a/sound/usb/mixer_maps.c +++ b/sound/usb/mixer_maps.c @@ -336,6 +336,20 @@ static const struct usbmix_name_map scms_usb3318_map[] = { { 0 } }; +/* Bose companion 5, the dB conversion factor is 16 instead of 256 */ +static struct usbmix_dB_map bose_companion5_dB = {-5006, -6}; +static struct usbmix_name_map bose_companion5_map[] = { + { 3, NULL, .dB = &bose_companion5_dB }, + { 0 } /* terminator */ +}; + +/* Dragonfly DAC 1.2, the dB conversion factor is 1 instead of 256 */ +static struct usbmix_dB_map dragonfly_1_2_dB = {0, 5000}; +static struct usbmix_name_map dragonfly_1_2_map[] = { + { 7, NULL, .dB = &dragonfly_1_2_dB }, + { 0 } /* terminator */ +}; + /* * Control map entries */ @@ -442,6 +456,16 @@ static struct usbmix_ctl_map usbmix_ctl_maps[] = { .id = USB_ID(0x25c4, 0x0003), .map = scms_usb3318_map, }, + { + /* Bose Companion 5 */ + .id = USB_ID(0x05a7, 0x1020), + .map = bose_companion5_map, + }, + { + /* Dragonfly DAC 1.2 */ + .id = USB_ID(0x21b4, 0x0081), + .map = dragonfly_1_2_map, + }, { 0 } /* terminator */ }; |