[alsa-devel] [PATCH] ALSA: hda_intel - revert a quirk that breaks all VIA chipsets
This quirk sould be reverted. It has the following probems:
1) It breaks the default setup of all VIA chipset models (vendor 0x1106, product 0x3288), at least a dozen models are concerned, from VIA-VT82xx to VIA-VT17xx and VT20xx. All those chips rely on azx_via_get_position() to handle correctly dma transfers during capture. Using POS_FIX_LPIB instead of POS_FIX_VIACOMBO leads to partially corrupted input buffers during capture. The effects of this bug are not immediately visible, it took strong DSP expertise, some expensive signal generator and a spectrum analyzer to identify it and verify correct behaviour using original default.
2) The string "ASUS MV2-MX SE" refers to a motherboard, not a sound chipset family, which is misleading on the impact of the quirk.
3) It's almost certain that the quirk did not fix the real problem, if there was one. Refer to original submission: http://mailman.alsa-project.org/pipermail/alsa-devel/2010-February/025109.ht...
Thanks,
Marc --
Signed-of-by: Marc Vertes mvertes@sigfox.com
--- linux-3.2-rc3/sound/pci/hda/hda_intel.c.orig 2011-11-24 05:20:28.000000000 +0100 +++ linux-3.2-rc3/sound/pci/hda/hda_intel.c 2011-11-28 17:29:01.044095455 +0100 @@ -2508,7 +2508,6 @@ static struct snd_pci_quirk position_fix SND_PCI_QUIRK(0x1043, 0x81b3, "ASUS", POS_FIX_LPIB), SND_PCI_QUIRK(0x1043, 0x81e7, "ASUS M2V", POS_FIX_LPIB), SND_PCI_QUIRK(0x104d, 0x9069, "Sony VPCS11V9E", POS_FIX_LPIB), - SND_PCI_QUIRK(0x1106, 0x3288, "ASUS M2V-MX SE", POS_FIX_LPIB), SND_PCI_QUIRK(0x1297, 0x3166, "Shuttle", POS_FIX_LPIB), SND_PCI_QUIRK(0x1458, 0xa022, "ga-ma770-ud3", POS_FIX_LPIB), SND_PCI_QUIRK(0x1462, 0x1002, "MSI Wind U115", POS_FIX_LPIB),
At Tue, 29 Nov 2011 11:13:19 +0100, Marc Vertes wrote:
This quirk sould be reverted. It has the following probems:
- It breaks the default setup of all VIA chipset models (vendor
0x1106, product 0x3288),
Not exactly true. It's a PCI subsystem ID, not PCI ID. A sane machine with a proper PCI SSID won't hit this problem. Only machines with lazy BIOS programmers hit since they have no proper PCI SSID but copy PCI ID.
Though, it doesn't look good to add a broken ID like this, indeed.
at least a dozen models are concerned, from VIA-VT82xx to VIA-VT17xx and VT20xx. All those chips rely on azx_via_get_position() to handle correctly dma transfers during capture. Using POS_FIX_LPIB instead of POS_FIX_VIACOMBO leads to partially corrupted input buffers during capture. The effects of this bug are not immediately visible, it took strong DSP expertise, some expensive signal generator and a spectrum analyzer to identify it and verify correct behaviour using original default.
- The string "ASUS MV2-MX SE" refers to a motherboard, not a sound chipset
family, which is misleading on the impact of the quirk.
The quirk was intended really only for this ASUS mobo, not for chipset.
- It's almost certain that the quirk did not fix the real problem, if there
was one. Refer to original submission: http://mailman.alsa-project.org/pipermail/alsa-devel/2010-February/025109.ht...
So, I'm for applying it. But could you rephrase the change log with the consideration of the above and re-submit?
thanks,
Takashi
Thanks,
Marc
Signed-of-by: Marc Vertes mvertes@sigfox.com
--- linux-3.2-rc3/sound/pci/hda/hda_intel.c.orig 2011-11-24 05:20:28.000000000 +0100 +++ linux-3.2-rc3/sound/pci/hda/hda_intel.c 2011-11-28 17:29:01.044095455 +0100 @@ -2508,7 +2508,6 @@ static struct snd_pci_quirk position_fix SND_PCI_QUIRK(0x1043, 0x81b3, "ASUS", POS_FIX_LPIB), SND_PCI_QUIRK(0x1043, 0x81e7, "ASUS M2V", POS_FIX_LPIB), SND_PCI_QUIRK(0x104d, 0x9069, "Sony VPCS11V9E", POS_FIX_LPIB),
- SND_PCI_QUIRK(0x1106, 0x3288, "ASUS M2V-MX SE", POS_FIX_LPIB), SND_PCI_QUIRK(0x1297, 0x3166, "Shuttle", POS_FIX_LPIB), SND_PCI_QUIRK(0x1458, 0xa022, "ga-ma770-ud3", POS_FIX_LPIB), SND_PCI_QUIRK(0x1462, 0x1002, "MSI Wind U115", POS_FIX_LPIB),
participants (2)
-
Marc Vertes
-
Takashi Iwai