From 072c01194df6e4843582d09380b780987f642d6d Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Sat, 9 Jul 2005 10:07:55 +0200 Subject: [ALSA] ens1371 - added extra delay for ac97 codec initialization ENS1370/1+ driver Signed-off-by: Jaroslav Kysela --- sound/pci/ens1370.c | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'sound/pci/ens1370.c') diff --git a/sound/pci/ens1370.c b/sound/pci/ens1370.c index 4e63498a58b..d4287338c04 100644 --- a/sound/pci/ens1370.c +++ b/sound/pci/ens1370.c @@ -685,6 +685,15 @@ static unsigned short snd_es1371_codec_read(ac97_t *ac97, return 0; } +static void snd_es1371_codec_wait(ac97_t *ac97) +{ + msleep(750); + snd_es1371_codec_read(ac97, AC97_RESET); + snd_es1371_codec_read(ac97, AC97_VENDOR_ID1); + snd_es1371_codec_read(ac97, AC97_VENDOR_ID2); + msleep(50); +} + static void snd_es1371_adc_rate(ensoniq_t * ensoniq, unsigned int rate) { unsigned int n, truncm, freq, result; @@ -1585,6 +1594,7 @@ static int snd_ensoniq_1371_mixer(ensoniq_t * ensoniq) static ac97_bus_ops_t ops = { .write = snd_es1371_codec_write, .read = snd_es1371_codec_read, + .wait = snd_es1371_codec_wait, }; if ((err = snd_ac97_bus(card, 0, &ops, NULL, &pbus)) < 0) -- cgit v1.2.3