diff options
Diffstat (limited to 'sound/pci/via82xx.c')
-rw-r--r-- | sound/pci/via82xx.c | 10 |
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; | |||
85 | static int ac97_clock = 48000; | 85 | static int ac97_clock = 48000; |
86 | static char *ac97_quirk; | 86 | static char *ac97_quirk; |
87 | static int dxs_support; | 87 | static int dxs_support; |
88 | static int nodelay; | ||
88 | 89 | ||
89 | module_param(index, int, 0444); | 90 | module_param(index, int, 0444); |
90 | MODULE_PARM_DESC(index, "Index value for VIA 82xx bridge."); | 91 | MODULE_PARM_DESC(index, "Index value for VIA 82xx bridge."); |
@@ -102,6 +103,8 @@ module_param(ac97_quirk, charp, 0444); | |||
102 | MODULE_PARM_DESC(ac97_quirk, "AC'97 workaround for strange hardware."); | 103 | MODULE_PARM_DESC(ac97_quirk, "AC'97 workaround for strange hardware."); |
103 | module_param(dxs_support, int, 0444); | 104 | module_param(dxs_support, int, 0444); |
104 | MODULE_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)"); | 105 | MODULE_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)"); |
106 | module_param(nodelay, int, 0444); | ||
107 | MODULE_PARM_DESC(nodelay, "Disable 500ms init delay"); | ||
105 | 108 | ||
106 | /* just for backward compatibility */ | 109 | /* just for backward compatibility */ |
107 | static int enable; | 110 | static int enable; |
@@ -399,9 +402,9 @@ struct via82xx { | |||
399 | 402 | ||
400 | static struct pci_device_id snd_via82xx_ids[] = { | 403 | static 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 | ||
555 | static void snd_via82xx_codec_write(struct snd_ac97 *ac97, | 559 | static void snd_via82xx_codec_write(struct snd_ac97 *ac97, |