Commit 6bc29062 authored by Takashi Iwai's avatar Takashi Iwai

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: 2a48218f ("ALSA: usb-audio: Add mixer workaround for TRX40 and co")
Link: https://lore.kernel.org/r/20220809073259.18849-1-tiwai@suse.deSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent f71c70df
...@@ -387,6 +387,14 @@ static const struct usb_audio_device_name usb_audio_names[] = { ...@@ -387,6 +387,14 @@ static const struct usb_audio_device_name usb_audio_names[] = {
DEVICE_NAME(0x05e1, 0x0408, "Syntek", "STK1160"), DEVICE_NAME(0x05e1, 0x0408, "Syntek", "STK1160"),
DEVICE_NAME(0x05e1, 0x0480, "Hauppauge", "Woodbury"), 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 */ /* ASUS ROG Strix */
PROFILE_NAME(0x0b05, 0x1917, PROFILE_NAME(0x0b05, 0x1917,
"Realtek", "ALC1220-VB-DT", "Realtek-ALC1220-VB-Desktop"), "Realtek", "ALC1220-VB-DT", "Realtek-ALC1220-VB-Desktop"),
......
...@@ -374,13 +374,28 @@ static const struct usbmix_name_map corsair_virtuoso_map[] = { ...@@ -374,13 +374,28 @@ static const struct usbmix_name_map corsair_virtuoso_map[] = {
{ 0 } { 0 }
}; };
/* Some mobos shipped with a dummy HD-audio show the invalid GET_MIN/GET_MAX /* ASUS ROG Zenith II with Realtek ALC1220-VB */
* response for Input Gain Pad (id=19, control=12) and the connector status static const struct usbmix_name_map asus_zenith_ii_map[] = {
* for SPDIF terminal (id=18). Skip them. { 19, NULL, 12 }, /* FU, Input Gain Pad - broken response, disabled */
*/ { 16, "Speaker" }, /* OT */
static const struct usbmix_name_map asus_rog_map[] = { { 22, "Speaker Playback" }, /* FU */
{ 18, NULL }, /* OT, connector control */ { 7, "Line" }, /* IT */
{ 19, NULL, 12 }, /* FU, Input Gain Pad */ { 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 */
{} {}
}; };
...@@ -611,9 +626,10 @@ static const struct usbmix_ctl_map usbmix_ctl_maps[] = { ...@@ -611,9 +626,10 @@ static const struct usbmix_ctl_map usbmix_ctl_maps[] = {
.map = gigabyte_b450_map, .map = gigabyte_b450_map,
.connector_map = gigabyte_b450_connector_map, .connector_map = gigabyte_b450_connector_map,
}, },
{ /* ASUS ROG Zenith II */ { /* ASUS ROG Zenith II (main audio) */
.id = USB_ID(0x0b05, 0x1916), .id = USB_ID(0x0b05, 0x1916),
.map = asus_rog_map, .map = asus_zenith_ii_map,
.connector_map = asus_zenith_ii_connector_map,
}, },
{ /* ASUS ROG Strix */ { /* ASUS ROG Strix */
.id = USB_ID(0x0b05, 0x1917), .id = USB_ID(0x0b05, 0x1917),
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment