lkml.org 
[lkml]   [2019]   [Apr]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.0 058/146] ALSA: hda/realtek - Fixed Headset Mic JD not stable
    Date
    5.0-stable review patch.  If anyone has any objections, please let me know.

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

    From: Kailang Yang <kailang@realtek.com>

    commit 10f5b1b85ed10a80d45bc2db450e65bd792efaad upstream.

    It will be lose Mic JD state when Chrome OS boot and headset was plugged.
    Implement of reset combo jack JD. It will show normally.

    Fixes: e854747d7593 ("ALSA: hda/realtek - Enable headset button support for new codec")
    Signed-off-by: Kailang Yang <kailang@realtek.com>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    sound/pci/hda/patch_realtek.c | 29 ++++++++++++++++++++++++++++-
    1 file changed, 28 insertions(+), 1 deletion(-)

    --- a/sound/pci/hda/patch_realtek.c
    +++ b/sound/pci/hda/patch_realtek.c
    @@ -5519,6 +5519,26 @@ static void alc_fixup_headset_jack(struc
    }
    }

    +static void alc295_fixup_chromebook(struct hda_codec *codec,
    + const struct hda_fixup *fix, int action)
    +{
    +
    + switch (action) {
    + case HDA_FIXUP_ACT_PRE_PROBE:
    + switch (codec->core.vendor_id) {
    + case 0x10ec0295:
    + alc_update_coef_idx(codec, 0x4a, 0x8000, 1 << 15); /* Reset HP JD */
    + alc_update_coef_idx(codec, 0x4a, 0x8000, 0 << 15);
    + break;
    + case 0x10ec0236:
    + alc_update_coef_idx(codec, 0x1b, 0x8000, 1 << 15); /* Reset HP JD */
    + alc_update_coef_idx(codec, 0x1b, 0x8000, 0 << 15);
    + break;
    + }
    + break;
    + }
    +}
    +
    static void alc_fixup_disable_mic_vref(struct hda_codec *codec,
    const struct hda_fixup *fix, int action)
    {
    @@ -5672,6 +5692,7 @@ enum {
    ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE,
    ALC285_FIXUP_LENOVO_PC_BEEP_IN_NOISE,
    ALC255_FIXUP_ACER_HEADSET_MIC,
    + ALC295_FIXUP_CHROME_BOOK,
    };

    static const struct hda_fixup alc269_fixups[] = {
    @@ -6648,6 +6669,12 @@ static const struct hda_fixup alc269_fix
    .chained = true,
    .chain_id = ALC255_FIXUP_HEADSET_MODE_NO_HP_MIC
    },
    + [ALC295_FIXUP_CHROME_BOOK] = {
    + .type = HDA_FIXUP_FUNC,
    + .v.func = alc295_fixup_chromebook,
    + .chained = true,
    + .chain_id = ALC225_FIXUP_HEADSET_JACK
    + },
    };

    static const struct snd_pci_quirk alc269_fixup_tbl[] = {
    @@ -7060,7 +7087,7 @@ static const struct hda_model_fixup alc2
    {.id = ALC255_FIXUP_DUMMY_LINEOUT_VERB, .name = "alc255-dummy-lineout"},
    {.id = ALC255_FIXUP_DELL_HEADSET_MIC, .name = "alc255-dell-headset"},
    {.id = ALC295_FIXUP_HP_X360, .name = "alc295-hp-x360"},
    - {.id = ALC225_FIXUP_HEADSET_JACK, .name = "alc-sense-combo"},
    + {.id = ALC295_FIXUP_CHROME_BOOK, .name = "alc-sense-combo"},
    {}
    };
    #define ALC225_STANDARD_PINS \

    \
     
     \ /
      Last update: 2019-04-01 19:06    [W:4.131 / U:0.340 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site