summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2005-08-15 15:02:28 +0200
committerJaroslav Kysela <perex@suse.cz>2005-08-30 08:46:09 +0200
commit16d3f140fc265c9b9c0f8975e0b36fe15912508f (patch)
tree4f1a8c3e3ab7626112cf27439ad38a2ad747cca4
parent[ALSA] Fix PCM 32bit compat layer (diff)
downloadlinux-16d3f140fc265c9b9c0f8975e0b36fe15912508f.tar.xz
linux-16d3f140fc265c9b9c0f8975e0b36fe15912508f.zip
[ALSA] via82xx - Fix SPDIF sample rates
VIA82xx driver Fixed the sample rates set in the fourth DXS channel with Non-VRA mode. Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r--sound/pci/via82xx.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/sound/pci/via82xx.c b/sound/pci/via82xx.c
index 38b96eabea60..819f27b2762b 100644
--- a/sound/pci/via82xx.c
+++ b/sound/pci/via82xx.c
@@ -929,12 +929,12 @@ static int snd_via8233_playback_prepare(snd_pcm_substream_t *substream)
if ((rate_changed = via_lock_rate(&chip->rates[0], ac97_rate)) < 0)
return rate_changed;
- if (rate_changed) {
+ if (rate_changed)
snd_ac97_set_rate(chip->ac97, AC97_PCM_FRONT_DAC_RATE,
chip->no_vra ? 48000 : runtime->rate);
- snd_ac97_set_rate(chip->ac97, AC97_SPDIF,
- chip->no_vra ? 48000 : runtime->rate);
- }
+ if (chip->spdif_on && viadev->reg_offset == 0x30)
+ snd_ac97_set_rate(chip->ac97, AC97_SPDIF, runtime->rate);
+
if (runtime->rate == 48000)
rbits = 0xfffff;
else