Bugzilla – Attachment 49249 Details for
Bug 115837
ALSA: snd_intel8x0 doesn't work
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
IDP Log In
|
Forgot Password
[patch]
Fixed patch for buggy_semaphore option
alsa-intel8x0-buggy-semaphore (text/plain), 3.26 KB, created by
Takashi Iwai
on 2005-09-08 17:44:54 UTC
(
hide
)
Description:
Fixed patch for buggy_semaphore option
Filename:
MIME Type:
Creator:
Takashi Iwai
Created:
2005-09-08 17:44:54 UTC
Size:
3.26 KB
patch
obsolete
>From: Takashi Iwai <tiwai@suse.de> >Subject: [ALSA] Add buggy_semaphore option >Patch-mainline: >References: 115837 > >Added buggy_semaphore module option to snd-intel8x0 driver >for a workaround for hardwards with buggy codec semaphores. > > >Signed-off-by: Takashi Iwai <tiwai@suse.de> > >--- linux/sound/pci/intel8x0.c 7 Sep 2005 12:56:34 -0000 1.207 >+++ linux/sound/pci/intel8x0.c 8 Sep 2005 16:29:58 -0000 >@@ -69,6 +69,7 @@ > static int enable[SNDRV_CARDS] = SNDRV_DEFAULT_ENABLE_PNP; /* Enable this card */ > static int ac97_clock[SNDRV_CARDS] = {[0 ... (SNDRV_CARDS - 1)] = 0}; > static char *ac97_quirk[SNDRV_CARDS]; >+static int buggy_semaphore[SNDRV_CARDS]; > static int buggy_irq[SNDRV_CARDS]; > static int xbox[SNDRV_CARDS]; > >@@ -86,6 +87,8 @@ > MODULE_PARM_DESC(ac97_clock, "AC'97 codec clock (0 = auto-detect)."); > module_param_array(ac97_quirk, charp, NULL, 0444); > MODULE_PARM_DESC(ac97_quirk, "AC'97 workaround for strange hardware."); >+module_param_array(buggy_semaphore, bool, NULL, 0444); >+MODULE_PARM_DESC(buggy_semaphore, "Enable workaround for hardwares with problematic codec semaphores."); > module_param_array(buggy_irq, bool, NULL, 0444); > MODULE_PARM_DESC(buggy_irq, "Enable workaround for buggy interrupts on some motherboards."); > module_param_array(xbox, bool, NULL, 0444); >@@ -367,6 +370,7 @@ > unsigned fix_nocache: 1; /* workaround for 440MX */ > unsigned buggy_irq: 1; /* workaround for buggy mobos */ > unsigned xbox: 1; /* workaround for Xbox AC'97 detection */ >+ unsigned buggy_semaphore: 1; /* workaround for buggy codec semaphore */ > > int spdif_idx; /* SPDIF BAR index; *_SPBAR or -1 if use PCMOUT */ > unsigned int sdm_saved; /* SDM reg value */ >@@ -521,6 +525,9 @@ > if ((igetdword(chip, ICHREG(GLOB_STA)) & codec) == 0) > return -EIO; > >+ if (chip->buggy_semaphore) >+ return 0; /* just ignore ... */ >+ > /* Anyone holding a semaphore for 1 msec should be shot... */ > time = 100; > do { >@@ -2549,6 +2556,7 @@ > static int __devinit snd_intel8x0_create(snd_card_t * card, > struct pci_dev *pci, > unsigned long device_type, >+ int buggy_sem, > intel8x0_t ** r_intel8x0) > { > intel8x0_t *chip; >@@ -2606,6 +2614,7 @@ > chip->card = card; > chip->pci = pci; > chip->irq = -1; >+ chip->buggy_semaphore = buggy_sem; > > if (pci->vendor == PCI_VENDOR_ID_INTEL && > pci->device == PCI_DEVICE_ID_INTEL_440MX) >@@ -2810,7 +2819,8 @@ > } > } > >- if ((err = snd_intel8x0_create(card, pci, pci_id->driver_data, &chip)) < 0) { >+ if ((err = snd_intel8x0_create(card, pci, pci_id->driver_data, >+ buggy_semaphore[dev], &chip)) < 0) { > snd_card_free(card); > return err; > } >--- linux/Documentation/sound/alsa/ALSA-Configuration.txt 8 Sep 2005 12:44:55 -0000 1.98 >+++ linux/Documentation/sound/alsa/ALSA-Configuration.txt 8 Sep 2005 16:29:58 -0000 >@@ -805,7 +805,11 @@ > ac97_quirk - AC'97 workaround for strange hardware > See "AC97 Quirk Option" section below. > buggy_irq - Enable workaround for buggy interrupts on some >- motherboards (default off) >+ motherboards (default yes on nForce chips, >+ otherwise off) >+ buggy_semaphore - Enable workaround for hardwares with buggy >+ semaphores (e.g. on some ASUS laptops) >+ (default off) > > Module supports autoprobe and multiple bus-master chips (max 8). >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
Actions:
View
|
Diff
Attachments on
bug 115837
:
49184
|
49217
|
49234
| 49249