Skip to contentSkip to conversation

hda: add eapd support to additional idt codecs

PATCH In review Matthew Ranostay 2 participants 2 messages Jun 19, 2007

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 hda: add eapd support to additional idt codecs

Added support for EAPD on the 927x, and 9227-8 IDT HDA codecs.
Enabling EAPD powers the internal speaker amp otherwise there is no sound on systems with an internal amp.
---

pci/hda/patch_sigmatel.c +15 -13
diff -r 96495fe7cc13 pci/hda/patch_sigmatel.c
@@ -832,6 +832,18 @@ static void stac92xx_set_config_regs(str
 	}
 }
 
+static void stac92xx_enable_eapd(struct hda_codec *codec)
+{
+	/* Configure GPIO0 as output */
+	snd_hda_codec_write(codec, codec->afg, 0, AC_VERB_SET_GPIO_DIRECTION, 0x00000001);
+	/* Configure GPIO0 as CMOS */
+	snd_hda_codec_write(codec, codec->afg, 0, 0x7e7, 0x00000000);
+	/* Assert GPIO0 high */
+	snd_hda_codec_write(codec, codec->afg, 0, AC_VERB_SET_GPIO_DATA, 0x00000001);
+	/* Enable GPIO0 */
+	snd_hda_codec_write(codec, codec->afg, 0, AC_VERB_SET_GPIO_MASK, 0x00000001);
+}
+
 /*
  * Analog playback callbacks
  */
@@ -2193,7 +2205,8 @@ static int patch_stac927x(struct hda_cod
 	}
 
 	spec->multiout.dac_nids = spec->dac_nids;
-
+	stac92xx_enable_eapd(codec);
+	
 	err = stac92xx_parse_auto_config(codec, 0x1e, 0x20);
 	if (!err) {
 		if (spec->board_config < 0) {
@@ -2254,18 +2267,7 @@ static int patch_stac9205(struct hda_cod
 	spec->mixer = stac9205_mixer;
 
 	spec->multiout.dac_nids = spec->dac_nids;
-
-	/* Configure GPIO0 as EAPD output */
-	snd_hda_codec_write(codec, codec->afg, 0,
-			    AC_VERB_SET_GPIO_DIRECTION, 0x00000001);
-	/* Configure GPIO0 as CMOS */
-	snd_hda_codec_write(codec, codec->afg, 0, 0x7e7, 0x00000000);
-	/* Assert GPIO0 high */
-	snd_hda_codec_write(codec, codec->afg, 0,
-			    AC_VERB_SET_GPIO_DATA, 0x00000001);
-	/* Enable GPIO0 */
-	snd_hda_codec_write(codec, codec->afg, 0,
-			    AC_VERB_SET_GPIO_MASK, 0x00000001);
+	stac92xx_enable_eapd(codec);
 
 	err = stac92xx_parse_auto_config(codec, 0x1f, 0x20);
 	if (!err) {

_______________________________________________
Alsa-devel mailing list
[email protected]
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

#1 lore raw

At Tue, 19 Jun 2007 10:27:25 -0400,

Quoted 6 lines · Matthew Ranostay

Added support for EAPD on the 927x, and 9227-8 IDT HDA codecs. Enabling EAPD powers the internal speaker amp otherwise there is no sound on systems with an internal amp.
---

Thanks, added to HG tree now (with slight modification to follow the standard coding style).

Takashi