[VIA686A/686B only]
ac97_clock - AC'97 codec clock base (default 48000Hz)
dxs_support - support DXS channels,
- 0 = auto (default), 1 = enable, 2 = disable,
- 3 = 48k only
+ 0 = auto, 1 = enable, 2 = disable,
+ 3 = 48k only (default)
[VIA8233/C,8235 only]
Module supports autoprobe and multiple bus-master chips (max 8).
Note: VIA8233/5 (not VIA8233A) can support DXS (direct sound)
channels as the first PCM. With this device, up to 4
streams can be played at the same time. On some motherboards,
- these channels don't work properly due to the bug of BIOS.
- If you experience that the playback on this PCM is noisy,
- try to specify dxs_support option to 2 or 3. In most cases
- dxs_support=3 would suffice, so you can keep the multi-play
- capability.
+ these channels don't work properly except for 48k due to the
+ bug of BIOS. For supporting other sample rates, try to
+ specify dxs_support=0.
Note: for the MPU401 on VIA823x, use snd-mpu401 driver
additonally. The mpu_port option is for VIA686 chips only.
static int enable[SNDRV_CARDS] = SNDRV_DEFAULT_ENABLE_PNP; /* Enable this card */
static long mpu_port[SNDRV_CARDS] = {[0 ... (SNDRV_CARDS - 1)] = -1};
static int ac97_clock[SNDRV_CARDS] = {[0 ... (SNDRV_CARDS - 1)] = 48000};
-static int dxs_support[SNDRV_CARDS];
+static int dxs_support[SNDRV_CARDS] = {[0 ... (SNDRV_CARDS - 1)] = 3};
MODULE_PARM(index, "1-" __MODULE_STRING(SNDRV_CARDS) "i");
MODULE_PARM_DESC(index, "Index value for VIA 82xx bridge.");
#ifndef MODULE
/* format is: snd-via82xx=enable,index,id,
- mpu_port,ac97_clock */
+ mpu_port,ac97_clock,dxs_support */
static int __init alsa_card_via82xx_setup(char *str)
{
get_option(&str,&index[nr_dev]) == 2 &&
get_id(&str,&id[nr_dev]) == 2 &&
get_option(&str,(int *)&mpu_port[nr_dev]) == 2 &&
- get_option(&str,&ac97_clock[nr_dev]) == 2);
+ get_option(&str,&ac97_clock[nr_dev]) == 2 &&
+ get_option(&str,&dxs_support[nr_dev]) == 2);
nr_dev++;
return 1;
}