lkml.org 
[lkml]   [2012]   [Dec]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 057/241] ALSA: hda - Fix invalid connections in VT1802 codec
    Date
    3.5.7.2 -stable review patch.  If anyone has any objections, please let me know.

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

    From: Takashi Iwai <tiwai@suse.de>

    commit ef4da45828603df57e5e21b8aa21a66ce309f79b upstream.

    VT1802 codec provides the invalid connection lists of NID 0x24 and
    0x33 containing the routes to a non-exist widget 0x3e. This confuses
    the auto-parser. Fix it up in the driver by overriding these
    connections.

    Reported-by: Massimo Del Fedele <max@veneto.com>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Herton Ronaldo Krzesinski <herton.krzesinski@canonical.com>
    ---
    sound/pci/hda/patch_via.c | 14 ++++++++++++++
    1 file changed, 14 insertions(+)

    diff --git a/sound/pci/hda/patch_via.c b/sound/pci/hda/patch_via.c
    index b601888..a0e708d 100644
    --- a/sound/pci/hda/patch_via.c
    +++ b/sound/pci/hda/patch_via.c
    @@ -3688,6 +3688,18 @@ static const struct snd_pci_quirk vt2002p_fixups[] = {
    {}
    };

    +/* NIDs 0x24 and 0x33 on VT1802 have connections to non-existing NID 0x3e
    + * Replace this with mixer NID 0x1c
    + */
    +static void fix_vt1802_connections(struct hda_codec *codec)
    +{
    + static hda_nid_t conn_24[] = { 0x14, 0x1c };
    + static hda_nid_t conn_33[] = { 0x1c };
    +
    + snd_hda_override_conn_list(codec, 0x24, ARRAY_SIZE(conn_24), conn_24);
    + snd_hda_override_conn_list(codec, 0x33, ARRAY_SIZE(conn_33), conn_33);
    +}
    +
    /* patch for vt2002P */
    static int patch_vt2002P(struct hda_codec *codec)
    {
    @@ -3702,6 +3714,8 @@ static int patch_vt2002P(struct hda_codec *codec)
    spec->aa_mix_nid = 0x21;
    override_mic_boost(codec, 0x2b, 0, 3, 40);
    override_mic_boost(codec, 0x29, 0, 3, 40);
    + if (spec->codec_type == VT1802)
    + fix_vt1802_connections(codec);
    add_secret_dac_path(codec);

    snd_hda_pick_fixup(codec, NULL, vt2002p_fixups, via_fixups);
    --
    1.7.9.5


    \
     
     \ /
      Last update: 2012-12-13 16:21    [W:2.290 / U:0.152 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site