aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/via82xx.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/pci/via82xx.c')
-rw-r--r--sound/pci/via82xx.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/sound/pci/via82xx.c b/sound/pci/via82xx.c
index 1ef58c51c213..acfa4760da49 100644
--- a/sound/pci/via82xx.c
+++ b/sound/pci/via82xx.c
@@ -85,6 +85,7 @@ static int joystick;
85static int ac97_clock = 48000; 85static int ac97_clock = 48000;
86static char *ac97_quirk; 86static char *ac97_quirk;
87static int dxs_support; 87static int dxs_support;
88static int nodelay;
88 89
89module_param(index, int, 0444); 90module_param(index, int, 0444);
90MODULE_PARM_DESC(index, "Index value for VIA 82xx bridge."); 91MODULE_PARM_DESC(index, "Index value for VIA 82xx bridge.");
@@ -102,6 +103,8 @@ module_param(ac97_quirk, charp, 0444);
102MODULE_PARM_DESC(ac97_quirk, "AC'97 workaround for strange hardware."); 103MODULE_PARM_DESC(ac97_quirk, "AC'97 workaround for strange hardware.");
103module_param(dxs_support, int, 0444); 104module_param(dxs_support, int, 0444);
104MODULE_PARM_DESC(dxs_support, "Support for DXS channels (0 = auto, 1 = enable, 2 = disable, 3 = 48k only, 4 = no VRA, 5 = enable any sample rate)"); 105MODULE_PARM_DESC(dxs_support, "Support for DXS channels (0 = auto, 1 = enable, 2 = disable, 3 = 48k only, 4 = no VRA, 5 = enable any sample rate)");
106module_param(nodelay, int, 0444);
107MODULE_PARM_DESC(nodelay, "Disable 500ms init delay");
105 108
106/* just for backward compatibility */ 109/* just for backward compatibility */
107static int enable; 110static int enable;
@@ -399,9 +402,9 @@ struct via82xx {
399 402
400static struct pci_device_id snd_via82xx_ids[] = { 403static struct pci_device_id snd_via82xx_ids[] = {
401 /* 0x1106, 0x3058 */ 404 /* 0x1106, 0x3058 */
402 { PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686_5, PCI_ANY_ID, PCI_ANY_ID, 0, 0, TYPE_CARD_VIA686, }, /* 686A */ 405 { PCI_VDEVICE(VIA, PCI_DEVICE_ID_VIA_82C686_5), TYPE_CARD_VIA686, }, /* 686A */
403 /* 0x1106, 0x3059 */ 406 /* 0x1106, 0x3059 */
404 { PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8233_5, PCI_ANY_ID, PCI_ANY_ID, 0, 0, TYPE_CARD_VIA8233, }, /* VT8233 */ 407 { PCI_VDEVICE(VIA, PCI_DEVICE_ID_VIA_8233_5), TYPE_CARD_VIA8233, }, /* VT8233 */
405 { 0, } 408 { 0, }
406}; 409};
407 410
@@ -549,7 +552,8 @@ static void snd_via82xx_codec_wait(struct snd_ac97 *ac97)
549 int err; 552 int err;
550 err = snd_via82xx_codec_ready(chip, ac97->num); 553 err = snd_via82xx_codec_ready(chip, ac97->num);
551 /* here we need to wait fairly for long time.. */ 554 /* here we need to wait fairly for long time.. */
552 msleep(500); 555 if (!nodelay)
556 msleep(500);
553} 557}
554 558
555static void snd_via82xx_codec_write(struct snd_ac97 *ac97, 559static void snd_via82xx_codec_write(struct snd_ac97 *ac97,