FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Ubuntu > Ubuntu Kernel Team

 
 
LinkBack Thread Tools
 
Old 10-04-2010, 11:13 AM
David Henningsson
 
Default ALSA: HDA: Correctly apply position_fix quirks for ATI and VIA controllers

BugLink: http://launchpad.net/bugs/465942
BugLink: http://launchpad.net/bugs/580749
BugLink: http://launchpad.net/bugs/587546

Position_fix quirks for specific machines now override the default
position_fix behavior for all HDA controllers.

Signed-off-by: David Henningsson <david.henningsson@canonical.com>
---
sound/pci/hda/hda_intel.c | 21 ++++++++++++---------
1 files changed, 12 insertions(+), 9 deletions(-)

diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c
index 741ad32..51b088e 100644
--- a/sound/pci/hda/hda_intel.c
+++ b/sound/pci/hda/hda_intel.c
@@ -2264,12 +2264,24 @@ static int __devinit check_position_fix(struct azx *chip, int fix)
{
const struct snd_pci_quirk *q;

+ chip->via_dmapos_patch = 0;
+
switch (fix) {
case POS_FIX_LPIB:
case POS_FIX_POSBUF:
return fix;
}

+ q = snd_pci_quirk_lookup(chip->pci, position_fix_list);
+ if (q) {
+ /* Note that this implicitly sets via_dmapos_patch to zero */
+ printk(KERN_INFO
+ "hda_intel: position_fix set to %d "
+ "for device %04x:%04x
",
+ q->value, q->subvendor, q->subdevice);
+ return q->value;
+ }
+
/* Check VIA/ATI HD Audio Controller exist */
switch (chip->driver_type) {
case AZX_DRIVER_VIA:
@@ -2278,16 +2290,7 @@ static int __devinit check_position_fix(struct azx *chip, int fix)
/* Use link position directly, avoid any transfer problem. */
return POS_FIX_LPIB;
}
- chip->via_dmapos_patch = 0;

- q = snd_pci_quirk_lookup(chip->pci, position_fix_list);
- if (q) {
- printk(KERN_INFO
- "hda_intel: position_fix set to %d "
- "for device %04x:%04x
",
- q->value, q->subvendor, q->subdevice);
- return q->value;
- }
return POS_FIX_AUTO;
}

--
1.7.1


--------------090809070904060001080908
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

--
kernel-team mailing list
kernel-team@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/kernel-team

--------------090809070904060001080908--
 
Old 10-04-2010, 11:13 AM
David Henningsson
 
Default ALSA: HDA: Correctly apply position_fix quirks for ATI and VIA controllers

BugLink: http://launchpad.net/bugs/465942
BugLink: http://launchpad.net/bugs/580749
BugLink: http://launchpad.net/bugs/587546

Position_fix quirks for specific machines now override the default
position_fix behavior for all HDA controllers.

Signed-off-by: David Henningsson <david.henningsson@canonical.com>
---
sound/pci/hda/hda_intel.c | 21 ++++++++++++---------
1 files changed, 12 insertions(+), 9 deletions(-)

diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c
index 741ad32..51b088e 100644
--- a/sound/pci/hda/hda_intel.c
+++ b/sound/pci/hda/hda_intel.c
@@ -2264,12 +2264,24 @@ static int __devinit check_position_fix(struct azx *chip, int fix)
{
const struct snd_pci_quirk *q;

+ chip->via_dmapos_patch = 0;
+
switch (fix) {
case POS_FIX_LPIB:
case POS_FIX_POSBUF:
return fix;
}

+ q = snd_pci_quirk_lookup(chip->pci, position_fix_list);
+ if (q) {
+ /* Note that this implicitly sets via_dmapos_patch to zero */
+ printk(KERN_INFO
+ "hda_intel: position_fix set to %d "
+ "for device %04x:%04x
",
+ q->value, q->subvendor, q->subdevice);
+ return q->value;
+ }
+
/* Check VIA/ATI HD Audio Controller exist */
switch (chip->driver_type) {
case AZX_DRIVER_VIA:
@@ -2278,16 +2290,7 @@ static int __devinit check_position_fix(struct azx *chip, int fix)
/* Use link position directly, avoid any transfer problem. */
return POS_FIX_LPIB;
}
- chip->via_dmapos_patch = 0;

- q = snd_pci_quirk_lookup(chip->pci, position_fix_list);
- if (q) {
- printk(KERN_INFO
- "hda_intel: position_fix set to %d "
- "for device %04x:%04x
",
- q->value, q->subvendor, q->subdevice);
- return q->value;
- }
return POS_FIX_AUTO;
}

--
1.7.1


--------------060201060701040808080009
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

--
kernel-team mailing list
kernel-team@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/kernel-team

--------------060201060701040808080009--
 

Thread Tools




All times are GMT. The time now is 04:08 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org