Browse Source

[ALSA] MC97 registers reset

AC97 Codec
Separated ac97 registers reset for audio and modem (or both) as recommended
in AC97 spec.

Signed-off-by: Sasha Khapyorsky <sashak@smlink.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Sasha Khapyorsky 20 years ago
parent
commit
23fea4dad6
1 changed files with 5 additions and 1 deletions
  1. 5 1
      sound/pci/ac97/ac97_codec.c

+ 5 - 1
sound/pci/ac97/ac97_codec.c

@@ -1872,7 +1872,11 @@ int snd_ac97_mixer(ac97_bus_t *bus, ac97_template_t *template, ac97_t **rac97)
 			goto __access_ok;
 	}
 
-	snd_ac97_write(ac97, AC97_RESET, 0);	/* reset to defaults */
+	/* reset to defaults */
+	if (!(ac97->scaps & AC97_SCAP_SKIP_AUDIO))
+		snd_ac97_write(ac97, AC97_RESET, 0);
+	if (!(ac97->scaps & AC97_SCAP_SKIP_MODEM))
+		snd_ac97_write(ac97, AC97_EXTENDED_MID, 0);
 	if (bus->ops->wait)
 		bus->ops->wait(ac97);
 	else {