lkml.org 
[lkml]   [2018]   [Feb]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.15 05/55] ALSA: hda - Reduce the suspend time consumption for ALC256
    Date
    4.15-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Takashi Iwai <tiwai@suse.de>

    commit 1c9609e3a8cf5997bd35205cfda1ff2218ee793b upstream.

    ALC256 has its own quirk to override the shutup call, and it contains
    the COEF update for pulling down the headset jack control. Currently,
    the COEF update is called after clearing the headphone pin, and this
    seems triggering a stall of the codec communication, and results in a
    long delay over a second at suspend.

    A quick resolution is to swap the calls: at first with the COEF
    update, then clear the headphone pin.

    Fixes: 4a219ef8f370 ("ALSA: hda/realtek - Add ALC256 HP depop function")
    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=198503
    Reported-by: Paul Menzel <pmenzel@molgen.mpg.de>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    sound/pci/hda/patch_realtek.c | 6 ++++--
    1 file changed, 4 insertions(+), 2 deletions(-)

    --- a/sound/pci/hda/patch_realtek.c
    +++ b/sound/pci/hda/patch_realtek.c
    @@ -3154,11 +3154,13 @@ static void alc256_shutup(struct hda_cod
    if (hp_pin_sense)
    msleep(85);

    + /* 3k pull low control for Headset jack. */
    + /* NOTE: call this before clearing the pin, otherwise codec stalls */
    + alc_update_coef_idx(codec, 0x46, 0, 3 << 12);
    +
    snd_hda_codec_write(codec, hp_pin, 0,
    AC_VERB_SET_PIN_WIDGET_CONTROL, 0x0);

    - alc_update_coef_idx(codec, 0x46, 0, 3 << 12); /* 3k pull low control for Headset jack. */
    -
    if (hp_pin_sense)
    msleep(100);


    \
     
     \ /
      Last update: 2018-02-02 18:42    [W:4.406 / U:0.624 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site