ALSA: usb-audio: More comprehensive mixer map for ASUS ROG Zenith II

commit 6bc2906253 upstream.

ASUS ROG Zenith II has two USB interfaces, one for the front headphone
and another for the rest I/O.  Currently we provided the mixer mapping
for the latter but with an incomplete form.

This patch corrects and provides more comprehensive mixer mapping, as
well as providing the proper device names for both the front headphone
and main audio.

BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=211005
Fixes: 2a48218f8e ("ALSA: usb-audio: Add mixer workaround for TRX40 and co")
Link: https://lore.kernel.org/r/20220809073259.18849-1-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Takashi Iwai 2022-08-09 09:32:59 +02:00 коммит произвёл Greg Kroah-Hartman
Родитель 2fb8f62ee3
Коммит 2294f43a07
2 изменённых файлов: 33 добавлений и 9 удалений

Просмотреть файл

@ -387,6 +387,14 @@ static const struct usb_audio_device_name usb_audio_names[] = {
DEVICE_NAME(0x05e1, 0x0408, "Syntek", "STK1160"),
DEVICE_NAME(0x05e1, 0x0480, "Hauppauge", "Woodbury"),
/* ASUS ROG Zenith II: this machine has also two devices, one for
* the front headphone and another for the rest
*/
PROFILE_NAME(0x0b05, 0x1915, "ASUS", "Zenith II Front Headphone",
"Zenith-II-Front-Headphone"),
PROFILE_NAME(0x0b05, 0x1916, "ASUS", "Zenith II Main Audio",
"Zenith-II-Main-Audio"),
/* ASUS ROG Strix */
PROFILE_NAME(0x0b05, 0x1917,
"Realtek", "ALC1220-VB-DT", "Realtek-ALC1220-VB-Desktop"),

Просмотреть файл

@ -366,13 +366,28 @@ static const struct usbmix_name_map corsair_virtuoso_map[] = {
{ 0 }
};
/* Some mobos shipped with a dummy HD-audio show the invalid GET_MIN/GET_MAX
* response for Input Gain Pad (id=19, control=12) and the connector status
* for SPDIF terminal (id=18). Skip them.
*/
static const struct usbmix_name_map asus_rog_map[] = {
{ 18, NULL }, /* OT, connector control */
{ 19, NULL, 12 }, /* FU, Input Gain Pad */
/* ASUS ROG Zenith II with Realtek ALC1220-VB */
static const struct usbmix_name_map asus_zenith_ii_map[] = {
{ 19, NULL, 12 }, /* FU, Input Gain Pad - broken response, disabled */
{ 16, "Speaker" }, /* OT */
{ 22, "Speaker Playback" }, /* FU */
{ 7, "Line" }, /* IT */
{ 19, "Line Capture" }, /* FU */
{ 8, "Mic" }, /* IT */
{ 20, "Mic Capture" }, /* FU */
{ 9, "Front Mic" }, /* IT */
{ 21, "Front Mic Capture" }, /* FU */
{ 17, "IEC958" }, /* OT */
{ 23, "IEC958 Playback" }, /* FU */
{}
};
static const struct usbmix_connector_map asus_zenith_ii_connector_map[] = {
{ 10, 16 }, /* (Back) Speaker */
{ 11, 17 }, /* SPDIF */
{ 13, 7 }, /* Line */
{ 14, 8 }, /* Mic */
{ 15, 9 }, /* Front Mic */
{}
};
@ -568,9 +583,10 @@ static const struct usbmix_ctl_map usbmix_ctl_maps[] = {
.map = trx40_mobo_map,
.connector_map = trx40_mobo_connector_map,
},
{ /* ASUS ROG Zenith II */
{ /* ASUS ROG Zenith II (main audio) */
.id = USB_ID(0x0b05, 0x1916),
.map = asus_rog_map,
.map = asus_zenith_ii_map,
.connector_map = asus_zenith_ii_connector_map,
},
{ /* ASUS ROG Strix */
.id = USB_ID(0x0b05, 0x1917),