Skip to contentSkip to conversation

ALSA: HDA: Use LPIB Position fix for Intel SCH Poulsbo

PATCH In review David Henningsson 2 participants 2 messages Dec 14, 2011 Sound

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 ALSA: HDA: Use LPIB Position fix for Intel SCH Poulsbo

Hi Takashi,

I just got another position_fix=1 report for the same vendor/deviceID [1] as I sent you the other day, and I assume Eric Piel (a month ago on this list) have the same chipset as well, although I cannot see his alsa-info. I think you have it, can you verify?

So...can we consider quirking the entire chip to use LPIB, like in the attached patch (untested)? If so I'll send another patch later to remove existing quirks for this chipset.

// David

[1] http://www.alsa-project.org/db/?f=b7421521b8d8a4db3842ee14cdb54b4f440cae5e

Quoted 1 line

From 4f6630ecafc2246c4237f0be5008d4a15cfce733 Mon Sep 17 00:00:00 2001

From: David Henningsson <[email protected]>
Date: Wed, 14 Dec 2011 15:52:30 +0800
Subject: [PATCH] ALSA: HDA: Use LPIB Position fix for Intel SCH Poulsbo

Several people with this chipset have reported inconsistent/sloppy values for position reporting when the DMA position buffer is used, and that setting position_fix=1 have fixed their problems.

---
 sound/pci/hda/hda_intel.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)
sound/pci/hda/hda_intel.c +2 -1
index 0746ab4..f19d7fa 100644
@@ -2971,7 +2971,8 @@ static DEFINE_PCI_DEVICE_TABLE(azx_ids) = {
 	/* SCH */
 	{ PCI_DEVICE(0x8086, 0x811b),
 	  .driver_data = AZX_DRIVER_SCH | AZX_DCAPS_SCH_SNOOP |
-	  AZX_DCAPS_BUFSIZE},
+	  AZX_DCAPS_BUFSIZE | AZX_DCAPS_POSFIX_LPIB }, /* Poulsbo */
+	/* ICH */
 	{ PCI_DEVICE(0x8086, 0x2668),
 	  .driver_data = AZX_DRIVER_ICH | AZX_DCAPS_OLD_SSYNC |
 	  AZX_DCAPS_BUFSIZE },  /* ICH6 */
Signature · 1 line
1.7.5.4
#1 lore raw

At Wed, 14 Dec 2011 16:01:08 +0800,

Quoted 7 lines · David Henningsson

Hi Takashi,

I just got another position_fix=1 report for the same vendor/deviceID
[1] as I sent you the other day, and I assume Eric Piel (a month ago on this list) have the same chipset as well, although I cannot see his alsa-info. I think you have it, can you verify?

You can find it in

	https://lkml.org/lkml/2011/10/18/54

Yes, the controller is same. Just a different SSID.

Quoted 2 lines

So...can we consider quirking the entire chip to use LPIB, like in the attached patch (untested)?

I guess this would be good. A question is whether to put this into 3.2 or 3.3. I think it can be put to 3.2-rc6, although it's a bit late. Changing to LPIB is basically harmless.

Quoted 2 lines

If so I'll send another patch later to remove existing quirks for this chipset.

Thanks.

Takashi

Quoted 38 lines

// David

[1]
http://www.alsa-project.org/db/?f=b7421521b8d8a4db3842ee14cdb54b4f440cae5e
[2 0001-ALSA-HDA-Use-LPIB-Position-fix-for-Intel-SCH-Poulsbo.patch <text/x-patch (7bit)>]

Quoted 1 line

From 4f6630ecafc2246c4237f0be5008d4a15cfce733 Mon Sep 17 00:00:00 2001

From: David Henningsson <[email protected]>
Date: Wed, 14 Dec 2011 15:52:30 +0800
Subject: [PATCH] ALSA: HDA: Use LPIB Position fix for Intel SCH Poulsbo

Several people with this chipset have reported inconsistent/sloppy values for position reporting when the DMA position buffer is used, and that setting position_fix=1 have fixed their problems.

---
 sound/pci/hda/hda_intel.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)
sound/pci/hda/hda_intel.c +2 -1
index 0746ab4..f19d7fa 100644
@@ -2971,7 +2971,8 @@ static DEFINE_PCI_DEVICE_TABLE(azx_ids) = {
 	/* SCH */
 	{ PCI_DEVICE(0x8086, 0x811b),
 	  .driver_data = AZX_DRIVER_SCH | AZX_DCAPS_SCH_SNOOP |
-	  AZX_DCAPS_BUFSIZE},
+	  AZX_DCAPS_BUFSIZE | AZX_DCAPS_POSFIX_LPIB }, /* Poulsbo */
+	/* ICH */
 	{ PCI_DEVICE(0x8086, 0x2668),
 	  .driver_data = AZX_DRIVER_ICH | AZX_DCAPS_OLD_SSYNC |
 	  AZX_DCAPS_BUFSIZE },  /* ICH6 */
Signature · 1 line
1.7.5.4