diff options
author | Jaroslav Kysela <perex@suse.cz> | 2005-07-09 10:07:55 +0200 |
---|---|---|
committer | Jaroslav Kysela <perex@suse.cz> | 2005-07-28 12:22:09 +0200 |
commit | 072c01194df6e4843582d09380b780987f642d6d (patch) | |
tree | 2212bb4b69de1187c4c9ee9f838360f374acf4e9 /sound | |
parent | 856def8a4695066e6cbd2919c5987f1df23dbe8a (diff) |
[ALSA] ens1371 - added extra delay for ac97 codec initialization
ENS1370/1+ driver
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Diffstat (limited to 'sound')
-rw-r--r-- | sound/pci/ens1370.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/sound/pci/ens1370.c b/sound/pci/ens1370.c index 4e63498a58b2..d4287338c042 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) |