Update of /cvsroot/alsa/alsa-kernel/pci/ac97
In directory sc8-pr-cvs1:/tmp/cvs-serv29801
Modified Files:
ac97_codec.c
Log Message:
fixed snd_ac97_set_rate() to accept surround and LFE sample rates, too.
Index: ac97_codec.c
===================================================================
RCS file: /cvsroot/alsa/alsa-kernel/pci/ac97/ac97_codec.c,v
retrieving revision 1.103
retrieving revision 1.104
diff -u -r1.103 -r1.104
--- ac97_codec.c 28 Aug 2003 15:36:44 -0000 1.103
+++ ac97_codec.c 30 Sep 2003 13:54:33 -0000 1.104
@@ -2067,6 +2067,8 @@
*
* The valid registers are AC97_PMC_MIC_ADC_RATE,
* AC97_PCM_FRONT_DAC_RATE, AC97_PCM_LR_ADC_RATE and AC97_SPDIF.
+ * AC97_PCM_SURR_DAC_RATE and AC97_PCM_LFE_DAC_RATE are accepted
+ * if the codec supports them.
* The SPDIF register is a pseudo-register to change the rate of SPDIF
* (only if supported).
*
@@ -2074,27 +2076,27 @@
*/
int snd_ac97_set_rate(ac97_t *ac97, int reg, unsigned short rate)
{
- unsigned short mask;
unsigned int tmp;
switch (reg) {
case AC97_PCM_MIC_ADC_RATE:
- mask = 0x0000;
if ((ac97->regs[AC97_EXTENDED_STATUS] & AC97_EA_VRM) == 0) /* MIC
VRA */
if (rate != 48000)
return -EINVAL;
break;
case AC97_PCM_FRONT_DAC_RATE:
- mask = 0x0200;
- if ((ac97->regs[AC97_EXTENDED_STATUS] & AC97_EA_VRA) == 0) /* VRA
*/
- if (rate != 48000)
- return -EINVAL;
- break;
case AC97_PCM_LR_ADC_RATE:
- mask = 0x0100;
if ((ac97->regs[AC97_EXTENDED_STATUS] & AC97_EA_VRA) == 0) /* VRA
*/
if (rate != 48000)
return -EINVAL;
+ break;
+ case AC97_PCM_SURR_DAC_RATE:
+ if (! (ac97->ext_id & AC97_SCAP_SURROUND_DAC))
+ return -EINVAL;
+ break;
+ case AC97_PCM_LFE_DAC_RATE:
+ if (! (ac97->ext_id & AC97_SCAP_CENTER_LFE_DAC))
+ return -EINVAL;
break;
case AC97_SPDIF:
return set_spdif_rate(ac97, rate);
-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Alsa-cvslog mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-cvslog