lkml.org 
[lkml]   [2022]   [Aug]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.10 011/158] ALSA: usb-audio: More comprehensive mixer map for ASUS ROG Zenith II
    Date
    From: Takashi Iwai <tiwai@suse.de>

    commit 6bc2906253e723d1ab1acc652b55b83e286bfec2 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: 2a48218f8e23 ("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>
    ---
    sound/usb/card.c | 8 ++++++++
    sound/usb/mixer_maps.c | 34 +++++++++++++++++++++++++---------
    2 files changed, 33 insertions(+), 9 deletions(-)

    --- a/sound/usb/card.c
    +++ b/sound/usb/card.c
    @@ -379,6 +379,14 @@ static const struct usb_audio_device_nam

    DEVICE_NAME(0x046d, 0x0990, "Logitech, Inc.", "QuickCam Pro 9000"),

    + /* 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"),
    --- a/sound/usb/mixer_maps.c
    +++ b/sound/usb/mixer_maps.c
    @@ -367,13 +367,28 @@ static const struct usbmix_name_map cors
    { 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 */
    {}
    };

    @@ -590,9 +605,10 @@ static const struct usbmix_ctl_map usbmi
    .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),

    \
     
     \ /
      Last update: 2022-08-23 14:07    [W:4.071 / U:1.216 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site