Skip to content

Commit 6bc2906

Browse files
committed
ALSA: usb-audio: More comprehensive mixer map for ASUS ROG Zenith II
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: 2a48218 ("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>
1 parent f71c70d commit 6bc2906

2 files changed

Lines changed: 33 additions & 9 deletions

File tree

sound/usb/card.c

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -387,6 +387,14 @@ static const struct usb_audio_device_name usb_audio_names[] = {
387387
DEVICE_NAME(0x05e1, 0x0408, "Syntek", "STK1160"),
388388
DEVICE_NAME(0x05e1, 0x0480, "Hauppauge", "Woodbury"),
389389

390+
/* ASUS ROG Zenith II: this machine has also two devices, one for
391+
* the front headphone and another for the rest
392+
*/
393+
PROFILE_NAME(0x0b05, 0x1915, "ASUS", "Zenith II Front Headphone",
394+
"Zenith-II-Front-Headphone"),
395+
PROFILE_NAME(0x0b05, 0x1916, "ASUS", "Zenith II Main Audio",
396+
"Zenith-II-Main-Audio"),
397+
390398
/* ASUS ROG Strix */
391399
PROFILE_NAME(0x0b05, 0x1917,
392400
"Realtek", "ALC1220-VB-DT", "Realtek-ALC1220-VB-Desktop"),

sound/usb/mixer_maps.c

Lines changed: 25 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -374,13 +374,28 @@ static const struct usbmix_name_map corsair_virtuoso_map[] = {
374374
{ 0 }
375375
};
376376

377-
/* Some mobos shipped with a dummy HD-audio show the invalid GET_MIN/GET_MAX
378-
* response for Input Gain Pad (id=19, control=12) and the connector status
379-
* for SPDIF terminal (id=18). Skip them.
380-
*/
381-
static const struct usbmix_name_map asus_rog_map[] = {
382-
{ 18, NULL }, /* OT, connector control */
383-
{ 19, NULL, 12 }, /* FU, Input Gain Pad */
377+
/* ASUS ROG Zenith II with Realtek ALC1220-VB */
378+
static const struct usbmix_name_map asus_zenith_ii_map[] = {
379+
{ 19, NULL, 12 }, /* FU, Input Gain Pad - broken response, disabled */
380+
{ 16, "Speaker" }, /* OT */
381+
{ 22, "Speaker Playback" }, /* FU */
382+
{ 7, "Line" }, /* IT */
383+
{ 19, "Line Capture" }, /* FU */
384+
{ 8, "Mic" }, /* IT */
385+
{ 20, "Mic Capture" }, /* FU */
386+
{ 9, "Front Mic" }, /* IT */
387+
{ 21, "Front Mic Capture" }, /* FU */
388+
{ 17, "IEC958" }, /* OT */
389+
{ 23, "IEC958 Playback" }, /* FU */
390+
{}
391+
};
392+
393+
static const struct usbmix_connector_map asus_zenith_ii_connector_map[] = {
394+
{ 10, 16 }, /* (Back) Speaker */
395+
{ 11, 17 }, /* SPDIF */
396+
{ 13, 7 }, /* Line */
397+
{ 14, 8 }, /* Mic */
398+
{ 15, 9 }, /* Front Mic */
384399
{}
385400
};
386401

@@ -611,9 +626,10 @@ static const struct usbmix_ctl_map usbmix_ctl_maps[] = {
611626
.map = gigabyte_b450_map,
612627
.connector_map = gigabyte_b450_connector_map,
613628
},
614-
{ /* ASUS ROG Zenith II */
629+
{ /* ASUS ROG Zenith II (main audio) */
615630
.id = USB_ID(0x0b05, 0x1916),
616-
.map = asus_rog_map,
631+
.map = asus_zenith_ii_map,
632+
.connector_map = asus_zenith_ii_connector_map,
617633
},
618634
{ /* ASUS ROG Strix */
619635
.id = USB_ID(0x0b05, 0x1917),

0 commit comments

Comments
 (0)