Re: sound skips on 2.6.16.17

From: Sergey Vlasov
Date: Sun Jun 18 2006 - 09:09:56 EST


On Sat, 17 Jun 2006 19:41:30 -0700 Chris Wedgwood wrote:

> On Sat, Jun 17, 2006 at 09:29:56PM +1000, Con Kolivas wrote:
>
> > > > 1) PCI-VIA-quirk-fixup-additional-PCI-IDs.patch
>
> that shouldn't break things, if it does I *really* want to know
>
> > > > 2)
> > PCI-quirk-VIA-IRQ-fixup-should-only-run-for-VIA-southbridges.patch
>
> nor should that, so again i would like to know if this is the one that
> makes a difference
>
> > > Works like a charm. End of the sound skips.
>
> what cpu/mainboard/etc

Here I have ASUS A8V Deluxe (VIA K8T800Pro + VT8237), and cannot
reproduce the problem in a "normal" way (even when booting with
"acpi=off noapic"), but I have some evidence that a problem really
exists.

VT8237 contains this AC97 controller:

0000:00:11.5 Multimedia audio controller: VIA Technologies, Inc. VT8233/A/8235/8237 AC97 Audio Controller (rev 60)
Subsystem: ASUSTeK Computer Inc. A8V Deluxe motherboard (Realtek ALC850 codec)
Control: I/O+ Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Interrupt: pin C routed to IRQ 5
Region 0: I/O ports at d800
Capabilities: [c0] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
00: 06 11 59 30 01 00 10 02 60 00 01 04 00 00 00 00
10: 01 d8 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 43 10 2a 81
30: 00 00 00 00 c0 00 00 00 00 00 00 00 05 03 00 00
40: 01 cc 00 00 10 00 00 00 00 00 00 00 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 01 00 02 06 00 00 00 00 00 00 00 00 00 00 00 00
d0: 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

The device ID is 1106:3059 - it is not included in the list for
quirk_via_irq(). However, I have tried to boot with "noapic", and by
trying to change the INTERRUPT_LINE register with setpci have confirmed
that this register is used to set up interrupt routing. In APIC mode
this register has no effect on VT8237.

We may just add 1106:3059 to the list of PCI IDs which need
quirk_via_irq(). However, is this really a proper solution? What
exactly was broken with the original quirk code, which was applied to
all VIA devices - just a wrong printk, or some real breakage?

Attachment: pgp00000.pgp
Description: PGP signature