diff options
author | Jaroslav Kysela <perex@suse.cz> | 2004-04-24 19:57:05 +0200 |
---|---|---|
committer | Jaroslav Kysela <perex@suse.cz> | 2004-04-24 19:57:05 +0200 |
commit | bbc4ce241df19f2bb59fbf9313b35ff6a7d17889 (patch) | |
tree | 8608cecc685becb7d6e89c094d2d9c89d1d706dd /sound | |
parent | 5ea317ac11eb1d05f324ca218374ed47c6fda93d (diff) | |
download | history-bbc4ce241df19f2bb59fbf9313b35ff6a7d17889.tar.gz |
ALSA CVS update - Takashi Iwai <tiwai@suse.de>
Intel8x0 driver
fixed MX440 workaround in suspend/resume.
Diffstat (limited to 'sound')
-rw-r--r-- | sound/pci/intel8x0.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/sound/pci/intel8x0.c b/sound/pci/intel8x0.c index 7a50c1826b7c25..6ed2b01c88534d 100644 --- a/sound/pci/intel8x0.c +++ b/sound/pci/intel8x0.c @@ -2215,10 +2215,27 @@ static int intel8x0_resume(snd_card_t *card, unsigned int state) pci_enable_device(chip->pci); pci_set_master(chip->pci); snd_intel8x0_chip_init(chip, 0); + + /* refill nocache */ + if (chip->fix_nocache) + fill_nocache(chip->bdbars.area, chip->bdbars.bytes, 1); + for (i = 0; i < 3; i++) if (chip->ac97[i]) snd_ac97_resume(chip->ac97[i]); + /* refill nocache */ + if (chip->fix_nocache) { + for (i = 0; i < chip->bdbars_count; i++) { + ichdev_t *ichdev = &chip->ichd[i]; + if (ichdev->substream) { + snd_pcm_runtime_t *runtime = ichdev->substream->runtime; + if (runtime->dma_area) + fill_nocache(runtime->dma_area, runtime->dma_bytes, 1); + } + } + } + snd_power_change_state(card, SNDRV_CTL_POWER_D0); return 0; } |