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 /sound/pci/hda/hda_intel.c | |
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>
Diffstat (limited to 'sound/pci/hda/hda_intel.c')
-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 | ||