From 706f236348f2ab72c1a5f26b6dab4e17b2596ead Mon Sep 17 00:00:00 2001 From: Matthew Ranostay Date: Thu, 22 Jan 2009 20:53:29 -0500 Subject: [PATCH] --- yaml --- r: 129927 b: refs/heads/master c: 32ed3f4640631ab7a4c0bc0f1463cf019d510341 h: refs/heads/master i: 129925: 0bbeeaa9d1d571e1e814f21badbeb92db95c5540 129923: d836378ed02275e8795f8c2383979d5cdd324251 129919: 5f575e7c7d7c2e2da0c2eb93c4d3240f9c38f5f8 v: v3 --- [refs] | 2 +- .../sound/alsa/HD-Audio-Models.txt | 1 + trunk/sound/pci/hda/patch_sigmatel.c | 19 ++++++++++++------- 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/[refs] b/[refs] index cc28ce8b8994..416c2582e9d6 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 87e88a746d6d93242c15e380dc8cd2579b524974 +refs/heads/master: 32ed3f4640631ab7a4c0bc0f1463cf019d510341 diff --git a/trunk/Documentation/sound/alsa/HD-Audio-Models.txt b/trunk/Documentation/sound/alsa/HD-Audio-Models.txt index 64eb1100eec1..0f5d26bea80f 100644 --- a/trunk/Documentation/sound/alsa/HD-Audio-Models.txt +++ b/trunk/Documentation/sound/alsa/HD-Audio-Models.txt @@ -349,6 +349,7 @@ STAC92HD73* STAC92HD83* =========== ref Reference board + mic-ref Reference board with power managment for ports STAC9872 ======== diff --git a/trunk/sound/pci/hda/patch_sigmatel.c b/trunk/sound/pci/hda/patch_sigmatel.c index c553fdb2b149..3dd4eee70b7c 100644 --- a/trunk/sound/pci/hda/patch_sigmatel.c +++ b/trunk/sound/pci/hda/patch_sigmatel.c @@ -81,6 +81,7 @@ enum { enum { STAC_92HD83XXX_REF, + STAC_92HD83XXX_PWR_REF, STAC_92HD83XXX_MODELS }; @@ -1734,10 +1735,12 @@ static unsigned int ref92hd83xxx_pin_configs[14] = { static unsigned int *stac92hd83xxx_brd_tbl[STAC_92HD83XXX_MODELS] = { [STAC_92HD83XXX_REF] = ref92hd83xxx_pin_configs, + [STAC_92HD83XXX_PWR_REF] = ref92hd83xxx_pin_configs, }; static const char *stac92hd83xxx_models[STAC_92HD83XXX_MODELS] = { [STAC_92HD83XXX_REF] = "ref", + [STAC_92HD83XXX_PWR_REF] = "mic-ref", }; static struct snd_pci_quirk stac92hd83xxx_cfg_tbl[] = { @@ -4783,13 +4786,6 @@ static int patch_stac92hd83xxx(struct hda_codec *codec) AC_VERB_SET_CONNECT_SEL, num_dacs); spec->init = stac92hd83xxx_core_init; - switch (codec->vendor_id) { - case 0x111d7605: - break; - default: - spec->num_pwrs--; - } - spec->mixer = stac92hd83xxx_mixer; spec->num_pins = ARRAY_SIZE(stac92hd83xxx_pin_nids); spec->num_dmuxes = ARRAY_SIZE(stac92hd83xxx_dmux_nids); @@ -4815,6 +4811,15 @@ static int patch_stac92hd83xxx(struct hda_codec *codec) return err; } + switch (codec->vendor_id) { + case 0x111d7604: + case 0x111d7605: + if (spec->board_config == STAC_92HD83XXX_PWR_REF) + break; + spec->num_pwrs = 0; + break; + } + err = stac92xx_parse_auto_config(codec, 0x1d, 0); if (!err) { if (spec->board_config < 0) {