diff options
| author | David Henningsson <david.henningsson@canonical.com> | 2010-10-04 06:02:14 -0400 |
|---|---|---|
| committer | Takashi Iwai <tiwai@suse.de> | 2010-10-12 07:05:02 -0400 |
| commit | bdd9ef24cd343c508ed93f1e08f30d4db595b754 (patch) | |
| tree | 0d2a1de82a727b6d642c74eba70ccae862dfc78a | |
| parent | 6a92934d9e987b6363db3e6a08e17bc0f2078c5d (diff) | |
ALSA: HDA: Correctly apply position_fix quirks for ATI and VIA controllers
Position_fix quirks for specific machines now override the default
position_fix behavior for all HDA controllers.
BugLink: http://launchpad.net/bugs/465942
BugLink: http://launchpad.net/bugs/580749
BugLink: http://launchpad.net/bugs/587546
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
| -rw-r--r-- | sound/pci/hda/hda_intel.c | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c index 38b063eb80e9..5cbea85a6453 100644 --- a/sound/pci/hda/hda_intel.c +++ b/sound/pci/hda/hda_intel.c | |||
| @@ -2315,14 +2315,6 @@ static int __devinit check_position_fix(struct azx *chip, int fix) | |||
| 2315 | return fix; | 2315 | return fix; |
| 2316 | } | 2316 | } |
| 2317 | 2317 | ||
| 2318 | /* Check VIA/ATI HD Audio Controller exist */ | ||
| 2319 | switch (chip->driver_type) { | ||
| 2320 | case AZX_DRIVER_VIA: | ||
| 2321 | case AZX_DRIVER_ATI: | ||
| 2322 | /* Use link position directly, avoid any transfer problem. */ | ||
| 2323 | return POS_FIX_VIACOMBO; | ||
| 2324 | } | ||
| 2325 | |||
| 2326 | q = snd_pci_quirk_lookup(chip->pci, position_fix_list); | 2318 | q = snd_pci_quirk_lookup(chip->pci, position_fix_list); |
| 2327 | if (q) { | 2319 | if (q) { |
| 2328 | printk(KERN_INFO | 2320 | printk(KERN_INFO |
| @@ -2331,6 +2323,15 @@ static int __devinit check_position_fix(struct azx *chip, int fix) | |||
| 2331 | q->value, q->subvendor, q->subdevice); | 2323 | q->value, q->subvendor, q->subdevice); |
| 2332 | return q->value; | 2324 | return q->value; |
| 2333 | } | 2325 | } |
| 2326 | |||
| 2327 | /* Check VIA/ATI HD Audio Controller exist */ | ||
| 2328 | switch (chip->driver_type) { | ||
| 2329 | case AZX_DRIVER_VIA: | ||
| 2330 | case AZX_DRIVER_ATI: | ||
| 2331 | /* Use link position directly, avoid any transfer problem. */ | ||
| 2332 | return POS_FIX_VIACOMBO; | ||
| 2333 | } | ||
| 2334 | |||
| 2334 | return POS_FIX_AUTO; | 2335 | return POS_FIX_AUTO; |
| 2335 | } | 2336 | } |
| 2336 | 2337 | ||
