summaryrefslogtreecommitdiff
path: root/sound/usb/quirks-table.h
diff options
context:
space:
mode:
authorKai-Heng Feng <kai.heng.feng@canonical.com>2020-08-03 22:26:08 +0800
committerTakashi Iwai <tiwai@suse.de>2020-08-03 16:31:20 +0200
commitf8c11eb7da4a99f7777d5afd7ed80dec8a593064 (patch)
treed2b46d349b1e92532375e5f564026d924402822c /sound/usb/quirks-table.h
parent103f528d3bc35d2b6e726a3fffd879e492d191c2 (diff)
downloadlwn-f8c11eb7da4a99f7777d5afd7ed80dec8a593064.tar.gz
lwn-f8c11eb7da4a99f7777d5afd7ed80dec8a593064.zip
ALSA: usb-audio: Add support for Lenovo ThinkStation P620
Lenovo ThinkStation P620 is like other TRX40 boards, is equipped with two USB audio cards. USB device (17aa:104d) provides functionality for Internal Speaker and Front Headset. It's UAC v2, so it supports insertion control (jack detection). However, when trying to get the connector status of the speaker, an error occurs: [ 5.787405] usb 3-1: cannot get connectors status: req = 0x81, wValue = 0x200, wIndex = 0x1000, type = 0 Since the insertion control works perfectly for the headset, the error for speaker is probably casued by connecting internally. So let's relax the error for a bit if it's a speaker, and always reports it's connected. USB device (17aa:1046) is for rear Line-in, Line-out and Microphone. The insertion control works for all three jacks. However, there's an Function Unit that doesn't work: [ 5.905415] usb 3-6: cannot get ctl value: req = 0x83, wValue = 0xc00, wIndex = 0x1300, type = 4 [ 5.905418] usb 3-6: 19:0: cannot get min/max values for control 12 (id 19) So turn off the FU to avoid the error. Also, add specific card name for both devices, so userspace can easily indentify both cards. Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com> Link: https://lore.kernel.org/r/20200803142612.17156-1-kai.heng.feng@canonical.com Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/usb/quirks-table.h')
-rw-r--r--sound/usb/quirks-table.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/sound/usb/quirks-table.h b/sound/usb/quirks-table.h
index 75368ce8febc..2617e7415296 100644
--- a/sound/usb/quirks-table.h
+++ b/sound/usb/quirks-table.h
@@ -2794,6 +2794,19 @@ YAMAHA_DEVICE(0x7010, "UB99"),
QUIRK_RENAME_DEVICE("Rane", "SL-1")
},
+/* Lenovo ThinkStation P620 Rear Line-in, Line-out and Microphone */
+{
+ USB_DEVICE(0x17aa, 0x1046),
+ QUIRK_DEVICE_PROFILE("Lenovo", "ThinkStation P620 Rear",
+ "Lenovo-ThinkStation-P620-Rear"),
+},
+/* Lenovo ThinkStation P620 Internal Speaker + Front Headset */
+{
+ USB_DEVICE(0x17aa, 0x104d),
+ QUIRK_DEVICE_PROFILE("Lenovo", "ThinkStation P620 Main",
+ "Lenovo-ThinkStation-P620-Main"),
+},
+
/* Native Instruments MK2 series */
{
/* Komplete Audio 6 */