diff options
author | Takashi Iwai <tiwai@suse.de> | 2005-10-27 20:56:35 +0200 |
---|---|---|
committer | Jaroslav Kysela <perex@suse.cz> | 2005-11-04 13:20:34 +0100 |
commit | 091e95ee7febf894603475c44d51f8ec4fab4328 (patch) | |
tree | 926e87397150b5d635e2ed113809bbb1957844ea /sound/pci/ac97/ac97_pcm.c | |
parent | beef08a54524e4a657bfb66b6b9758f8bc54fd17 (diff) | |
download | linux-091e95ee7febf894603475c44d51f8ec4fab4328.tar.gz linux-091e95ee7febf894603475c44d51f8ec4fab4328.tar.bz2 linux-091e95ee7febf894603475c44d51f8ec4fab4328.zip |
[ALSA] ac97 - Fix confliction of DRA and surround slots
Modules: AC97 Codec
Fixed the confliction of DRA and surround slots 7/8.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/ac97/ac97_pcm.c')
-rw-r--r-- | sound/pci/ac97/ac97_pcm.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/sound/pci/ac97/ac97_pcm.c b/sound/pci/ac97/ac97_pcm.c index dd289b9512e1..ded13165d635 100644 --- a/sound/pci/ac97/ac97_pcm.c +++ b/sound/pci/ac97/ac97_pcm.c @@ -303,6 +303,15 @@ int snd_ac97_set_rate(ac97_t *ac97, int reg, unsigned int rate) AC97_EA_DRA, dbl ? AC97_EA_DRA : 0); snd_ac97_update(ac97, reg, tmp & 0xffff); snd_ac97_read(ac97, reg); + if ((ac97->ext_id & AC97_EI_DRA) && reg == AC97_PCM_FRONT_DAC_RATE) { + /* Intel controllers require double rate data to be put in + * slots 7+8 + */ + snd_ac97_update_bits(ac97, AC97_GENERAL_PURPOSE, + AC97_GP_DRSS_MASK, + dbl ? AC97_GP_DRSS_78 : 0); + snd_ac97_read(ac97, AC97_GENERAL_PURPOSE); + } return 0; } |