2005-03-10 23:25:43

by Grzegorz Kulewski

[permalink] [raw]
Subject: Re: Fw: Anybody? 2.6.11 (stable and -rc) ACPI breaks USB

Anything new about it?

Can I provide more usefull info?


Thanks,

Grzegorz Kulewski


On Fri, 4 Mar 2005, Andrew Morton wrote:

>
>
> Begin forwarded message:
>
> Date: Fri, 4 Mar 2005 21:40:19 +0100 (CET)
> From: Grzegorz Kulewski <[email protected]>
> To: [email protected]
> Subject: Anybody? 2.6.11 (stable and -rc) ACPI breaks USB
>
>
> [ I posted it before but nobody anwsered... ]
>
> Hi,
>
> I just installed 2.6.11 and I was hit by the same bug (or feature?) I found in
> -rcs. Basically my USB will work only if acpi=off was passed to the kernel. It
> looks like without acpi=off it will assign IRQ 10 and with acpi=off it will
> assign IRQ9. It worked at least with 2.6.9. I do not know if the USB is
> completly broken but at least my speedtouch modem will not work (the red led
> will be on for some time then completly black).
>
>
> My lspci -vvv (2.6.11 with acpi=off):
> # lspci -vvv
> 0000:00:00.0 Host bridge: Advanced Micro Devices [AMD] AMD-760 [IGD4-1P] System
> Controller (rev 13)
> 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-
> Latency: 32
> Region 0: Memory at f0000000 (32-bit, prefetchable)
> Region 1: Memory at f7003000 (32-bit, prefetchable) [size=4K]
> Region 2: I/O ports at c000 [disabled] [size=4]
> Capabilities: [a0] AGP version 2.0
> Status: RQ=16 Iso- ArqSz=0 Cal=0 SBA+ ITACoh- GART64- HTrans-
> 64bit- FW+ AGP3- Rate=x1,x2,x4
> Command: RQ=1 ArqSz=0 Cal=0 SBA+ AGP+ GART64- 64bit- FW+
> Rate=x4
>
> 0000:00:01.0 PCI bridge: Advanced Micro Devices [AMD] AMD-760 [IGD4-1P] AGP
> Bridge (prog-if 00 [Normal decode])
> 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-
> Latency: 32
> Bus: primary=00, secondary=01, subordinate=01, sec-latency=32
> I/O behind bridge: 0000f000-00000fff
> Memory behind bridge: f4000000-f5ffffff
> Prefetchable memory behind bridge: e8000000-efffffff
> BridgeCtl: Parity- SERR+ NoISA+ VGA+ MAbort- >Reset- FastB2B-
>
> 0000:00:07.0 ISA bridge: VIA Technologies, Inc. VT82C686 [Apollo Super South]
> (rev 40)
> Subsystem: ABIT Computer Corp. KG7-Lite Mainboard
> 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-
> Latency: 0
> 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-
>
> 0000:00:07.1 IDE interface: VIA Technologies, Inc.
> VT82C586A/B/VT82C686/A/B/VT8233/A/C/VT8235 PIPC Bus Master IDE (rev 06)
> (prog-if 8a [Master SecP PriP])
> Subsystem: VIA Technologies, Inc.
> VT82C586/B/VT82C686/A/B/VT8233/A/C/VT8235 PIPC Bus Master IDE
> 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-
> Latency: 32
> Region 4: I/O ports at c400 [size=16]
> 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-
>
> 0000:00:07.2 USB Controller: VIA Technologies, Inc. USB (rev 1a) (prog-if 00
> [UHCI])
> Subsystem: VIA Technologies, Inc. (Wrong ID) USB Controller
> 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-
> Latency: 32, cache line size 08
> Interrupt: pin D routed to IRQ 9
> Region 4: I/O ports at c800 [size=32]
> Capabilities: [80] 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-
>
> 0000:00:07.3 USB Controller: VIA Technologies, Inc. USB (rev 1a) (prog-if 00
> [UHCI])
> Subsystem: VIA Technologies, Inc. (Wrong ID) USB Controller
> 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-
> Latency: 32, cache line size 08
> Interrupt: pin D routed to IRQ 9
> Region 4: I/O ports at cc00 [size=32]
> Capabilities: [80] 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-
>
> 0000:00:07.4 SMBus: VIA Technologies, Inc. VT82C686 [Apollo Super ACPI] (rev
> 40)
> Subsystem: VIA Technologies, Inc. VT82C686 [Apollo Super ACPI]
> 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 ? routed to IRQ 11
> Capabilities: [68] 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-
>
> 0000:00:09.0 Multimedia video controller: Brooktree Corporation Bt878 Video
> Capture (rev 11)
> 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+
> Latency: 32 (4000ns min, 10000ns max)
> Interrupt: pin A routed to IRQ 5
> Region 0: Memory at f7000000 (32-bit, prefetchable)
> Capabilities: [44] Vital Product Data
> Capabilities: [4c] 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-
>
> 0000:00:09.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture
> (rev 11)
> 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+
> Latency: 32 (1000ns min, 63750ns max)
> Interrupt: pin A routed to IRQ 5
> Region 0: Memory at f7001000 (32-bit, prefetchable)
> Capabilities: [44] Vital Product Data
> Capabilities: [4c] 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-
>
> 0000:00:0b.0 Multimedia audio controller: Creative Labs SB Live! EMU10k1 (rev
> 08)
> Subsystem: Creative Labs SB Live! 5.1 Model SB0100
> 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-
> Latency: 32 (500ns min, 5000ns max)
> Interrupt: pin A routed to IRQ 9
> Region 0: I/O ports at d000
> Capabilities: [dc] 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-
>
> 0000:00:0b.1 Input device controller: Creative Labs SB Live! MIDI/Game Port
> (rev 08)
> Subsystem: Creative Labs Gameport Joystick
> 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-
> Latency: 32
> Region 0: I/O ports at d400
> Capabilities: [dc] 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-
>
> 0000:00:0d.0 Unknown mass storage controller: CMD Technology Inc Silicon Image
> SiI 3112 SATARaid Controller (rev 02)
> Subsystem: CMD Technology Inc Silicon Image SiI 3112 SATARaid
> Controller
> 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+
> Latency: 32, cache line size 08
> Interrupt: pin A routed to IRQ 11
> Region 0: I/O ports at d800
> Region 1: I/O ports at dc00 [size=4]
> Region 2: I/O ports at e000 [size=8]
> Region 3: I/O ports at e400 [size=4]
> Region 4: I/O ports at e800 [size=16]
> Region 5: Memory at f7002000 (32-bit, non-prefetchable) [size=512]
> Capabilities: [60] Power Management version 2
> Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=0mA
> PME(D0-,D1-,D2-,D3hot-,D3cold-)
> Status: D0 PME-Enable- DSel=0 DScale=2 PME-
>
> 0000:00:0f.0 Ethernet controller: Realtek Semiconductor Co., Ltd.
> RTL-8139/8139C/8139C+ (rev 10)
> Subsystem: Realtek Semiconductor Co., Ltd. RT8139
> 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+
> Latency: 32 (8000ns min, 16000ns max)
> Interrupt: pin A routed to IRQ 11
> Region 0: I/O ports at ec00
> Region 1: Memory at f7004000 (32-bit, non-prefetchable) [size=256]
> Capabilities: [50] Power Management version 2
> Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA
> PME(D0-,D1+,D2+,D3hot+,D3cold+)
> Status: D0 PME-Enable- DSel=0 DScale=0 PME-
>
> 0000:01:05.0 VGA compatible controller: nVidia Corporation NV15 [GeForce2
> GTS/Pro] (rev a4) (prog-if 00 [VGA])
> 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-
> Latency: 248 (1250ns min, 250ns max)
> Interrupt: pin A routed to IRQ 10
> Region 0: Memory at f4000000 (32-bit, non-prefetchable)
> Region 1: Memory at e8000000 (32-bit, prefetchable) [size=128M]
> Capabilities: [60] Power Management version 1
> Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
> PME(D0-,D1-,D2-,D3hot-,D3cold-)
> Status: D0 PME-Enable- DSel=0 DScale=0 PME-
> Capabilities: [44] AGP version 2.0
> Status: RQ=32 Iso- ArqSz=0 Cal=0 SBA+ ITACoh- GART64- HTrans-
> 64bit- FW+ AGP3- Rate=x1,x2,x4
> Command: RQ=16 ArqSz=0 Cal=0 SBA+ AGP+ GART64- 64bit- FW+
> Rate=x4
>
>
> My log (2.6.11 without acpi=off):
> Mar 2 23:36:56 kangur usbcore: registered new driver usbfs
> Mar 2 23:36:56 kangur usbcore: registered new driver hub
> Mar 2 23:36:56 kangur ACPI: PCI Interrupt Link [LNKD] enabled at IRQ 10
> Mar 2 23:36:56 kangur PCI: setting IRQ 10 as level-triggered
> Mar 2 23:36:56 kangur ACPI: PCI interrupt 0000:00:0b.0[A] -> GSI 10 (level,
> low) -> IRQ 10
> Mar 2 23:36:56 kangur parport_pc: VIA 686A/8231 detected
> Mar 2 23:36:56 kangur parport_pc: probing current configuration
> Mar 2 23:36:56 kangur parport_pc: Current parallel port base: 0x378
> Mar 2 23:36:56 kangur parport_pc: Strange, can't probe VIA parallel port:
> io=0x378, irq=7, dma=-1
> Mar 2 23:36:56 kangur pnp: the driver 'parport_pc' has been registered
> Mar 2 23:36:56 kangur pnp: match found with the PnP device '00:09' and the
> driver 'parport_pc'
> Mar 2 23:36:56 kangur parport: PnPBIOS parport detected.
> Mar 2 23:36:56 kangur parport0: PC-style at 0x378, irq 7 [PCSPP(,...)]
> Mar 2 23:36:56 kangur USB Universal Host Controller Interface driver v2.2
> Mar 2 23:36:56 kangur ACPI: PCI interrupt 0000:00:07.2[D] -> GSI 10 (level,
> low) -> IRQ 10
> Mar 2 23:36:56 kangur uhci_hcd 0000:00:07.2: UHCI Host Controller
> Mar 2 23:36:56 kangur uhci_hcd 0000:00:07.2: irq 10, io base 0xc800
> Mar 2 23:36:56 kangur uhci_hcd 0000:00:07.2: new USB bus registered, assigned
> bus number 1
> Mar 2 23:36:56 kangur hub 1-0:1.0: USB hub found
> Mar 2 23:36:56 kangur hub 1-0:1.0: 2 ports detected
> Mar 2 23:36:56 kangur ACPI: PCI interrupt 0000:00:07.3[D] -> GSI 10 (level,
> low) -> IRQ 10
> Mar 2 23:36:56 kangur uhci_hcd 0000:00:07.3: UHCI Host Controller
> Mar 2 23:36:56 kangur uhci_hcd 0000:00:07.3: irq 10, io base 0xcc00
> Mar 2 23:36:56 kangur uhci_hcd 0000:00:07.3: new USB bus registered, assigned
> bus number 2
> Mar 2 23:36:56 kangur hub 2-0:1.0: USB hub found
> Mar 2 23:36:56 kangur hub 2-0:1.0: 2 ports detected
> Mar 2 23:36:56 kangur usb 1-2: new full speed USB device using uhci_hcd and
> address 2
> Mar 2 23:36:56 kangur Linux video capture interface: v1.00
> Mar 2 23:36:56 kangur bttv: driver version 0.9.15 loaded
> Mar 2 23:36:56 kangur bttv: using 32 buffers with 2080k (520 pages) each for
> capture
> Mar 2 23:36:56 kangur bttv: Bt8xx card found (0).
> Mar 2 23:36:56 kangur ACPI: PCI Interrupt Link [LNKC] enabled at IRQ 5
> Mar 2 23:36:56 kangur PCI: setting IRQ 5 as level-triggered
> Mar 2 23:36:56 kangur ACPI: PCI interrupt 0000:00:09.0[A] -> GSI 5 (level,
> low) -> IRQ 5
> Mar 2 23:36:56 kangur bttv0: Bt878 (rev 17) at 0000:00:09.0, irq: 5, latency:
> 32, mmio: 0xf7000000
> Mar 2 23:36:56 kangur bttv0: using: Prolink Pixelview PV-BT878P+ (Rev.4C,8E)
> [card=70,insmod option]
> Mar 2 23:36:56 kangur bttv0: gpio: en=00000000, out=00000000 in=00ffc0ff
> [init]
> Mar 2 23:36:56 kangur bttv0: using tuner=25
> Mar 2 23:36:56 kangur bttv0: i2c: checking for MSP34xx @ 0x80... not found
> Mar 2 23:36:56 kangur bttv0: i2c: checking for TDA9875 @ 0xb0... not found
> Mar 2 23:36:56 kangur bttv0: i2c: checking for TDA7432 @ 0x8a... not found
> Mar 2 23:36:56 kangur tvaudio: TV audio decoder + audio/video mux driver
> Mar 2 23:36:56 kangur tvaudio: known chips:
> tda9840,tda9873h,tda9874h/a,tda9850,tda9855,tea6300,tea6320,tea6420,tda8425,pic16c54
> (PV951),ta8874z
> Mar 2 23:36:56 kangur bttv0: i2c: checking for TDA9887 @ 0x86... not found
> Mar 2 23:36:56 kangur tuner 0-0061: chip found @ 0xc2 (bt878 #0 [sw])
> Mar 2 23:36:56 kangur tuner 0-0061: type set to 25 (LG PAL_I+FM (TAPC-I001D))
> Mar 2 23:36:56 kangur bttv0: registered device video0
> Mar 2 23:36:56 kangur bttv0: registered device vbi0
> Mar 2 23:36:56 kangur bttv0: registered device radio0
> Mar 2 23:36:56 kangur bttv0: PLL: 28636363 => 35468950 .. ok
> Mar 2 23:36:56 kangur bttv0: add subdevice "remote0"
> Mar 2 23:36:56 kangur uhci_hcd 0000:00:07.2: Unlink after no-IRQ? Controller
> is probably using the wrong IRQ.
> Mar 2 23:36:56 kangur usb 1-2: khubd timed out on ep0in
> Mar 2 23:36:56 kangur gameport: pci0000:00:0b.1 speed 1242 kHz
> Mar 2 23:36:56 kangur Real Time Clock Driver v1.12
> Mar 2 23:36:56 kangur Serial: 8250/16550 driver $Revision: 1.90 $ 8 ports, IRQ
> sharing disabled
> Mar 2 23:36:56 kangur ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
> Mar 2 23:36:56 kangur ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
> Mar 2 23:36:56 kangur pnp: the driver 'serial' has been registered
> Mar 2 23:36:56 kangur pnp: match found with the PnP device '00:07' and the
> driver 'serial'
> Mar 2 23:36:56 kangur ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
> Mar 2 23:36:56 kangur pnp: match found with the PnP device '00:08' and the
> driver 'serial'
> Mar 2 23:36:56 kangur ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
> Mar 2 23:36:56 kangur usb 1-2: khubd timed out on ep0out
> Mar 2 23:36:56 kangur eth0: link down
> Mar 2 23:36:56 kangur eth0: link down
> Mar 2 23:36:56 kangur usb 1-2: khubd timed out on ep0out
> Mar 2 23:36:56 kangur usb 1-2: device not accepting address 2, error -110
> Mar 2 23:36:56 kangur usb 1-2: new full speed USB device using uhci_hcd and
> address 3
> Mar 2 23:36:56 kangur usb 1-2: khubd timed out on ep0in
> Mar 2 23:36:56 kangur usb 1-2: khubd timed out on ep0out
> Mar 2 23:36:56 kangur usb 1-2: khubd timed out on ep0out
> Mar 2 23:36:56 kangur usb 1-2: device not accepting address 3, error -110
>
>
> My log (2.6.11 with acpi=off):
> Mar 3 01:45:48 kangur usbcore: registered new driver usbfs
> Mar 3 01:45:48 kangur usbcore: registered new driver hub
> Mar 3 01:45:48 kangur PCI: Found IRQ 9 for device 0000:00:0b.0
> Mar 3 01:45:48 kangur PCI: Sharing IRQ 9 with 0000:00:07.2
> Mar 3 01:45:48 kangur PCI: Sharing IRQ 9 with 0000:00:07.3
> Mar 3 01:45:48 kangur parport_pc: VIA 686A/8231 detected
> Mar 3 01:45:48 kangur parport_pc: probing current configuration
> Mar 3 01:45:48 kangur parport_pc: Current parallel port base: 0x378
> Mar 3 01:45:48 kangur parport_pc: Strange, can't probe VIA parallel port:
> io=0x378, irq=7, dma=-1
> Mar 3 01:45:48 kangur pnp: the driver 'parport_pc' has been registered
> Mar 3 01:45:48 kangur parport0: PC-style at 0x378 [PCSPP(,...)]
> Mar 3 01:45:48 kangur USB Universal Host Controller Interface driver v2.2
> Mar 3 01:45:48 kangur PCI: Found IRQ 9 for device 0000:00:07.2
> Mar 3 01:45:48 kangur PCI: Sharing IRQ 9 with 0000:00:07.3
> Mar 3 01:45:48 kangur PCI: Sharing IRQ 9 with 0000:00:0b.0
> Mar 3 01:45:48 kangur uhci_hcd 0000:00:07.2: UHCI Host Controller
> Mar 3 01:45:48 kangur uhci_hcd 0000:00:07.2: irq 9, io base 0xc800
> Mar 3 01:45:48 kangur uhci_hcd 0000:00:07.2: new USB bus registered, assigned
> bus number 1
> Mar 3 01:45:48 kangur hub 1-0:1.0: USB hub found
> Mar 3 01:45:48 kangur hub 1-0:1.0: 2 ports detected
> Mar 3 01:45:48 kangur PCI: Found IRQ 9 for device 0000:00:07.3
> Mar 3 01:45:48 kangur PCI: Sharing IRQ 9 with 0000:00:07.2
> Mar 3 01:45:48 kangur PCI: Sharing IRQ 9 with 0000:00:0b.0
> Mar 3 01:45:48 kangur uhci_hcd 0000:00:07.3: UHCI Host Controller
> Mar 3 01:45:48 kangur uhci_hcd 0000:00:07.3: irq 9, io base 0xcc00
> Mar 3 01:45:48 kangur uhci_hcd 0000:00:07.3: new USB bus registered, assigned
> bus number 2
> Mar 3 01:45:48 kangur hub 2-0:1.0: USB hub found
> Mar 3 01:45:48 kangur hub 2-0:1.0: 2 ports detected
> Mar 3 01:45:48 kangur usb 1-2: new full speed USB device using uhci_hcd and
> address 2
>
>
> Could somebody produce fast patch for me?
>
>
> Thanks in advance,
>
> Grzegorz Kulewski
>
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>


2005-03-11 16:50:30

by Bjorn Helgaas

[permalink] [raw]
Subject: Re: [ACPI] Re: Fw: Anybody? 2.6.11 (stable and -rc) ACPI breaks USB

On Fri, 2005-03-11 at 00:08 +0100, Grzegorz Kulewski wrote:
> Anything new about it?
>
> Can I provide more usefull info?

Can you check to see whether there are any BIOS updates available
for your box? It looks to me like your USB controllers are wired
to IRQ9, and that's how the BIOS is leaving them configured.

But ACPI is telling us they're on IRQ10, which seems like a BIOS
bug.

Can you also post the complete dmesg log without "acpi=off"? There
might be an ACPI interrupt link device for the USB controller, and
maybe there's something wrong there.

> My log (2.6.11 without acpi=off):
> Mar 2 23:36:56 kangur USB Universal Host Controller Interface driver v2.2
> Mar 2 23:36:56 kangur ACPI: PCI interrupt 0000:00:07.2[D] -> GSI 10 (level, low) -> IRQ 10
> Mar 2 23:36:56 kangur uhci_hcd 0000:00:07.2: UHCI Host Controller
> Mar 2 23:36:56 kangur uhci_hcd 0000:00:07.2: irq 10, io base 0xc800
> Mar 2 23:36:56 kangur uhci_hcd 0000:00:07.2: new USB bus registered, assigned bus number 1
> Mar 2 23:36:56 kangur hub 1-0:1.0: USB hub found
> Mar 2 23:36:56 kangur hub 1-0:1.0: 2 ports detected
> Mar 2 23:36:56 kangur ACPI: PCI interrupt 0000:00:07.3[D] -> GSI 10 (level, low) -> IRQ 10
> Mar 2 23:36:56 kangur uhci_hcd 0000:00:07.3: UHCI Host Controller
> Mar 2 23:36:56 kangur uhci_hcd 0000:00:07.3: irq 10, io base 0xcc00
> Mar 2 23:36:56 kangur uhci_hcd 0000:00:07.3: new USB bus registered, assigned bus number 2
> Mar 2 23:36:56 kangur hub 2-0:1.0: USB hub found
> Mar 2 23:36:56 kangur hub 2-0:1.0: 2 ports detected

> My log (2.6.11 with acpi=off):
> Mar 3 01:45:48 kangur USB Universal Host Controller Interface driver v2.2
> Mar 3 01:45:48 kangur PCI: Found IRQ 9 for device 0000:00:07.2
> Mar 3 01:45:48 kangur PCI: Sharing IRQ 9 with 0000:00:07.3
> Mar 3 01:45:48 kangur PCI: Sharing IRQ 9 with 0000:00:0b.0
> Mar 3 01:45:48 kangur uhci_hcd 0000:00:07.2: UHCI Host Controller
> Mar 3 01:45:48 kangur uhci_hcd 0000:00:07.2: irq 9, io base 0xc800
> Mar 3 01:45:48 kangur uhci_hcd 0000:00:07.2: new USB bus registered, assigned bus number 1
> Mar 3 01:45:48 kangur hub 1-0:1.0: USB hub found
> Mar 3 01:45:48 kangur hub 1-0:1.0: 2 ports detected
> Mar 3 01:45:48 kangur PCI: Found IRQ 9 for device 0000:00:07.3
> Mar 3 01:45:48 kangur PCI: Sharing IRQ 9 with 0000:00:07.2
> Mar 3 01:45:48 kangur PCI: Sharing IRQ 9 with 0000:00:0b.0
> Mar 3 01:45:48 kangur uhci_hcd 0000:00:07.3: UHCI Host Controller
> Mar 3 01:45:48 kangur uhci_hcd 0000:00:07.3: irq 9, io base 0xcc00
> Mar 3 01:45:48 kangur uhci_hcd 0000:00:07.3: new USB bus registered, assigned bus number 2
> Mar 3 01:45:48 kangur hub 2-0:1.0: USB hub found
> Mar 3 01:45:48 kangur hub 2-0:1.0: 2 ports detected


2005-03-11 19:54:47

by Grzegorz Kulewski

[permalink] [raw]
Subject: Re: [ACPI] Re: Fw: Anybody? 2.6.11 (stable and -rc) ACPI breaks USB

Hi,

Thanks for your prompt anwser.


On Fri, 11 Mar 2005, Bjorn Helgaas wrote:
> On Fri, 2005-03-11 at 00:08 +0100, Grzegorz Kulewski wrote:
>> Anything new about it?
>>
>> Can I provide more usefull info?
>
> Can you check to see whether there are any BIOS updates available
> for your box? It looks to me like your USB controllers are wired
> to IRQ9, and that's how the BIOS is leaving them configured.

Unfortunatelly its 3 years ABIT KG7-Lite. I was begging ABIT for update
(to fix some other problems with new CPUs) some time ago but they refused
to make new BIOS for this board. And I have the newset release.

And if this is a BIOS issue then why it worked for 3 years with all
kernels up to at least 2.6.9 (only -mm kernels had some problems with USB
and other subsystems since I think 2.6.3-mm? or something like that - I
stopped using them soon after)?

BTW. My mainboard manual says: "PCI-4 and USB controllers share an IRQ"
(the manual is on http://www.abit.com.tw so you can check it).


> But ACPI is telling us they're on IRQ10, which seems like a BIOS
> bug.

Maybe this is just some off-by-one in recent kernels? ;-)


> Can you also post the complete dmesg log without "acpi=off"? There
> might be an ACPI interrupt link device for the USB controller, and
> maybe there's something wrong there.

Ok, here it goes:

Mar 2 23:36:56 kangur syslog-ng[10153]: syslog-ng version 1.6.4 starting
Mar 2 23:36:56 kangur syslog-ng[10153]: Changing permissions on special
file /dev/tty12
Mar 2 23:36:56 kangur Linux version 2.6.11-cko1 (root@kangur) (gcc
version 3.3.3 20040412 (Gentoo Linux 3.3.3-r6, ssp-3.3.2-2, pie-8.7.6)) #1
Wed Mar 2 20:48:19 CET 2005
Mar 2 23:36:56 kangur BIOS-provided physical RAM map:
Mar 2 23:36:56 kangur BIOS-e820: 0000000000000000 - 000000000009fc00
(usable)
Mar 2 23:36:56 kangur BIOS-e820: 000000000009fc00 - 00000000000a0000
(reserved)
Mar 2 23:36:56 kangur BIOS-e820: 00000000000f0000 - 0000000000100000
(reserved)
Mar 2 23:36:56 kangur BIOS-e820: 0000000000100000 - 000000001fff0000
(usable)
Mar 2 23:36:56 kangur BIOS-e820: 000000001fff0000 - 000000001fff3000
(ACPI NVS)
Mar 2 23:36:56 kangur BIOS-e820: 000000001fff3000 - 0000000020000000
(ACPI data)
Mar 2 23:36:56 kangur BIOS-e820: 00000000ffff0000 - 0000000100000000
(reserved)
Mar 2 23:36:56 kangur 511MB LOWMEM available.
Mar 2 23:36:56 kangur On node 0 totalpages: 131056
Mar 2 23:36:56 kangur DMA zone: 4096 pages, LIFO batch:1
Mar 2 23:36:56 kangur Normal zone: 126960 pages, LIFO batch:16
Mar 2 23:36:56 kangur HighMem zone: 0 pages, LIFO batch:1
Mar 2 23:36:56 kangur DMI 2.2 present.
Mar 2 23:36:56 kangur ACPI: RSDP (v000 761686
) @ 0x000f6a70
Mar 2 23:36:56 kangur ACPI: RSDT (v001 761686 AWRDACPI 0x42302e31 AWRD
0x00000000) @ 0x1fff3000
Mar 2 23:36:56 kangur ACPI: FADT (v001 761686 AWRDACPI 0x42302e31 AWRD
0x00000000) @ 0x1fff3040
Mar 2 23:36:56 kangur ACPI: DSDT (v001 761686 AWRDACPI 0x00001000 MSFT
0x0100000c) @ 0x00000000
Mar 2 23:36:56 kangur ACPI: PM-Timer IO Port: 0x4008
Mar 2 23:36:56 kangur Allocating PCI resources starting at 20000000 (gap:
20000000:dfff0000)
Mar 2 23:36:56 kangur Built 1 zonelists
Mar 2 23:36:56 kangur Kernel command line: ro root=/dev/hdb4
Mar 2 23:36:56 kangur Local APIC disabled by BIOS -- you can enable it
with "lapic"
Mar 2 23:36:56 kangur mapped APIC to ffffd000 (01402000)
Mar 2 23:36:56 kangur Initializing CPU#0
Mar 2 23:36:56 kangur CPU 0 irqstacks, hard=b0476000 soft=b0475000
Mar 2 23:36:56 kangur PID hash table entries: 2048 (order: 11, 32768
bytes)
Mar 2 23:36:56 kangur Detected 1203.036 MHz processor.
Mar 2 23:36:56 kangur Using pmtmr for high-res timesource
Mar 2 23:36:56 kangur Console: colour VGA+ 80x25
Mar 2 23:36:56 kangur Dentry cache hash table entries: 131072 (order: 7,
524288 bytes)
Mar 2 23:36:56 kangur Inode-cache hash table entries: 65536 (order: 6,
262144 bytes)
Mar 2 23:36:56 kangur Memory: 514944k/524224k available (2543k kernel
code, 8728k reserved, 815k data, 156k init, 0k highmem)
Mar 2 23:36:56 kangur Checking if this processor honours the WP bit even
in supervisor mode... Ok.
Mar 2 23:36:56 kangur Calibrating delay loop... 2375.68 BogoMIPS
(lpj=1187840)
Mar 2 23:36:56 kangur Security Framework v1.0.0 initialized
Mar 2 23:36:56 kangur Capability LSM initialized
Mar 2 23:36:56 kangur Mount-cache hash table entries: 512 (order: 0, 4096
bytes)
Mar 2 23:36:56 kangur CPU: After generic identify, caps: 0383f9ff
c1cbf9ff 00000000 00000000 00000000 00000000 00000000Mar 2 23:36:56
kangur CPU: After vendor identify, caps: 0383f9ff c1cbf9ff 00000000
00000000 00000000 00000000 00000000
Mar 2 23:36:56 kangur CPU: CLK_CTL MSR was 60071263. Reprogramming to
20071263
Mar 2 23:36:56 kangur CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K
(64 bytes/line)
Mar 2 23:36:56 kangur CPU: L2 Cache: 512K (64 bytes/line)
Mar 2 23:36:56 kangur CPU: After all inits, caps: 0383f9ff c1cbf9ff
00000000 00000020 00000000 00000000 00000000
Mar 2 23:36:56 kangur Intel machine check architecture supported.
Mar 2 23:36:56 kangur Intel machine check reporting enabled on CPU#0.
Mar 2 23:36:56 kangur CPU: AMD Unknown CPU Type stepping 00
Mar 2 23:36:56 kangur Enabling fast FPU save and restore... done.
Mar 2 23:36:56 kangur Enabling unmasked SIMD FPU exception support...
done.
Mar 2 23:36:56 kangur Checking 'hlt' instruction... OK.
Mar 2 23:36:56 kangur ACPI: setting ELCR to 0800 (from 0e20)
Mar 2 23:36:56 kangur NET: Registered protocol family 16
Mar 2 23:36:56 kangur PCI: PCI BIOS revision 2.10 entry at 0xfb690, last
bus=1
Mar 2 23:36:56 kangur PCI: Using configuration type 1
Mar 2 23:36:56 kangur mtrr: v2.0 (20020519)
Mar 2 23:36:56 kangur ACPI: Subsystem revision 20050211
Mar 2 23:36:56 kangur ACPI: Interpreter enabled
Mar 2 23:36:56 kangur ACPI: Using PIC for interrupt routing
Mar 2 23:36:56 kangur ACPI: PCI Root Bridge [PCI0] (00:00)
Mar 2 23:36:56 kangur PCI: Probing PCI hardware (bus 00)
Mar 2 23:36:56 kangur ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
Mar 2 23:36:56 kangur ACPI: PCI Interrupt Link [LNKA] (IRQs 1 3 4 5 6 7
*10 11 12 14 15)
Mar 2 23:36:56 kangur ACPI: PCI Interrupt Link [LNKB] (IRQs 1 3 4 5 6 7
10 *11 12 14 15)
Mar 2 23:36:56 kangur ACPI: PCI Interrupt Link [LNKC] (IRQs 1 3 4 *5 6 7
10 11 12 14 15)
Mar 2 23:36:56 kangur ACPI: PCI Interrupt Link [LNKD] (IRQs 1 3 4 5 6 7
10 11 12 14 15) *9
Mar 2 23:36:56 kangur Linux Plug and Play Support v0.97 (c) Adam Belay
Mar 2 23:36:56 kangur pnp: PnP ACPI init
Mar 2 23:36:56 kangur pnp: PnP ACPI: found 12 devices
Mar 2 23:36:56 kangur SCSI subsystem initialized
Mar 2 23:36:56 kangur PCI: Using ACPI for IRQ routing
Mar 2 23:36:56 kangur ** PCI interrupts are no longer routed
automatically. If this
Mar 2 23:36:56 kangur ** causes a device to stop working, it is probably
because the
Mar 2 23:36:56 kangur ** driver failed to call pci_enable_device(). As a
temporary
Mar 2 23:36:56 kangur ** workaround, the "pci=routeirq" argument restores
the old
Mar 2 23:36:56 kangur ** behavior. If this argument makes the device
work again,
Mar 2 23:36:56 kangur ** please email the output of "lspci" to
[email protected]
Mar 2 23:36:56 kangur ** so I can fix the driver.
Mar 2 23:36:56 kangur pnp: the driver 'system' has been registered
Mar 2 23:36:56 kangur pnp: match found with the PnP device '00:00' and
the driver 'system'
Mar 2 23:36:56 kangur pnp: match found with the PnP device '00:01' and
the driver 'system'
Mar 2 23:36:56 kangur Total HugeTLB memory allocated, 0
Mar 2 23:36:56 kangur VFS: Disk quotas dquot_6.5.1
Mar 2 23:36:56 kangur Dquot-cache hash table entries: 1024 (order 0, 4096
bytes)
Mar 2 23:36:56 kangur SGI XFS with ACLs, security attributes, realtime,
no debug enabled
Mar 2 23:36:56 kangur SGI XFS Quota Management subsystem
Mar 2 23:36:56 kangur Initializing Cryptographic API
Mar 2 23:36:56 kangur inotify device minor=63
Mar 2 23:36:56 kangur ACPI: PS/2 Keyboard Controller [PS2K] at I/O 0x60,
0x64, irq 1
Mar 2 23:36:56 kangur ACPI: PS/2 Mouse Controller [PS2M] at irq 12
Mar 2 23:36:56 kangur serio: i8042 AUX port at 0x60,0x64 irq 12
Mar 2 23:36:56 kangur serio: i8042 KBD port at 0x60,0x64 irq 1
Mar 2 23:36:56 kangur io scheduler noop registered
Mar 2 23:36:56 kangur io scheduler anticipatory registered
Mar 2 23:36:56 kangur io scheduler deadline registered
Mar 2 23:36:56 kangur io scheduler cfq registered
Mar 2 23:36:56 kangur 8139too Fast Ethernet driver 0.9.27
Mar 2 23:36:56 kangur ACPI: PCI Interrupt Link [LNKB] enabled at IRQ 11
Mar 2 23:36:56 kangur PCI: setting IRQ 11 as level-triggered
Mar 2 23:36:56 kangur ACPI: PCI interrupt 0000:00:0f.0[A] -> GSI 11
(level, low) -> IRQ 11
Mar 2 23:36:56 kangur eth0: RealTek RTL8139 at 0xec00, 00:06:4f:00:73:8b,
IRQ 11
Mar 2 23:36:56 kangur eth0: Identified 8139 chip type 'RTL-8139C'
Mar 2 23:36:56 kangur Uniform Multi-Platform E-IDE driver Revision:
7.00alpha2
Mar 2 23:36:56 kangur ide: Assuming 33MHz system bus speed for PIO modes;
override with idebus=xx
Mar 2 23:36:56 kangur VP_IDE: IDE controller at PCI slot 0000:00:07.1
Mar 2 23:36:56 kangur VP_IDE: chipset revision 6
Mar 2 23:36:56 kangur VP_IDE: not 100% native mode: will probe irqs later
Mar 2 23:36:56 kangur VP_IDE: VIA vt82c686b (rev 40) IDE UDMA100
controller on pci0000:00:07.1
Mar 2 23:36:56 kangur ide0: BM-DMA at 0xc400-0xc407, BIOS settings:
hda:pio, hdb:DMA
Mar 2 23:36:56 kangur ide1: BM-DMA at 0xc408-0xc40f, BIOS settings:
hdc:pio, hdd:DMA
Mar 2 23:36:56 kangur Probing IDE interface ide0...
Mar 2 23:36:56 kangur hdb: SAMSUNG SV3063H, ATA DISK drive
Mar 2 23:36:56 kangur ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
Mar 2 23:36:56 kangur Probing IDE interface ide1...
Mar 2 23:36:56 kangur hdd: HL-DT-ST DVDRAM GSA-4082B, ATAPI CD/DVD-ROM
drive
Mar 2 23:36:56 kangur ide1 at 0x170-0x177,0x376 on irq 15
Mar 2 23:36:56 kangur pnp: the driver 'ide' has been registered
Mar 2 23:36:56 kangur hdb: max request size: 128KiB
Mar 2 23:36:56 kangur hdb: 59797584 sectors (30616 MB) w/426KiB Cache,
CHS=59323/16/63, UDMA(100)
Mar 2 23:36:56 kangur hdb: cache flushes not supported
Mar 2 23:36:56 kangur hdb: hdb1 hdb2 hdb3 hdb4
Mar 2 23:36:56 kangur libata version 1.10 loaded.
Mar 2 23:36:56 kangur sata_sil version 0.8
Mar 2 23:36:56 kangur ACPI: PCI interrupt 0000:00:0d.0[A] -> GSI 11
(level, low) -> IRQ 11
Mar 2 23:36:56 kangur ata1: SATA max UDMA/100 cmd 0xD0802080 ctl
0xD080208A bmdma 0xD0802000 irq 11
Mar 2 23:36:56 kangur ata2: SATA max UDMA/100 cmd 0xD08020C0 ctl
0xD08020CA bmdma 0xD0802008 irq 11
Mar 2 23:36:56 kangur ata1: dev 0 cfg 49:2f00 82:346b 83:7f61 84:4003
85:3469 86:3c41 87:4003 88:207f
Mar 2 23:36:56 kangur ata1: dev 0 ATA, max UDMA/133, 312581808 sectors:
lba48
Mar 2 23:36:56 kangur ata1: dev 0 configured for UDMA/100
Mar 2 23:36:56 kangur scsi0 : sata_sil
Mar 2 23:36:56 kangur ata2: no device found (phy stat 00000000)
Mar 2 23:36:56 kangur scsi1 : sata_sil
Mar 2 23:36:56 kangur Vendor: ATA Model: WDC WD1600JD-00H Rev:
08.0
Mar 2 23:36:56 kangur Type: Direct-Access ANSI
SCSI revision: 05
Mar 2 23:36:56 kangur SCSI device sda: 312581808 512-byte hdwr sectors
(160042 MB)
Mar 2 23:36:56 kangur SCSI device sda: drive cache: write back
Mar 2 23:36:56 kangur SCSI device sda: 312581808 512-byte hdwr sectors
(160042 MB)
Mar 2 23:36:56 kangur SCSI device sda: drive cache: write back
Mar 2 23:36:56 kangur sda: sda1 sda2 sda3 sda4 < sda5 sda6 sda7 sda8 sda9
sda10 sda11 sda12 sda13 sda14 sda15 >
Mar 2 23:36:56 kangur Attached scsi disk sda at scsi0, channel 0, id 0,
lun 0
Mar 2 23:36:56 kangur mice: PS/2 mouse device common for all mice
Mar 2 23:36:56 kangur input: AT Translated Set 2 keyboard on
isa0060/serio0
Mar 2 23:36:56 kangur NET: Registered protocol family 2
Mar 2 23:36:56 kangur IP: routing cache hash table of 4096 buckets,
32Kbytes
Mar 2 23:36:56 kangur TCP established hash table entries: 32768 (order:
6, 262144 bytes)
Mar 2 23:36:56 kangur TCP bind hash table entries: 32768 (order: 5,
131072 bytes)
Mar 2 23:36:56 kangur TCP: Hash tables configured (established 32768 bind
32768)
Mar 2 23:36:56 kangur ip_conntrack version 2.1 (4095 buckets, 32760 max)
- 216 bytes per conntrack
Mar 2 23:36:56 kangur ip_tables: (C) 2000-2002 Netfilter core team
Mar 2 23:36:56 kangur ipt_recent v0.3.1: Stephen Frost
<[email protected]>. http://snowman.net/projects/ipt_recent/
Mar 2 23:36:56 kangur arp_tables: (C) 2002 David S. Miller
Mar 2 23:36:56 kangur NET: Registered protocol family 17
Mar 2 23:36:56 kangur ACPI wakeup devices:
Mar 2 23:36:56 kangur SLPB PCI0 USB0 USB1
Mar 2 23:36:56 kangur ACPI: (supports S0 S1 S4 S5)
Mar 2 23:36:56 kangur kjournald starting. Commit interval 5 seconds
Mar 2 23:36:56 kangur EXT3-fs: mounted filesystem with ordered data mode.
Mar 2 23:36:56 kangur VFS: Mounted root (ext3 filesystem) readonly.
Mar 2 23:36:56 kangur Freeing unused kernel memory: 156k freed
Mar 2 23:36:56 kangur NET: Registered protocol family 1
Mar 2 23:36:56 kangur EXT3 FS on hdb4, internal journal
Mar 2 23:36:56 kangur CSLIP: code copyright 1989 Regents of the
University of California
Mar 2 23:36:56 kangur PPP generic driver version 2.4.2
Mar 2 23:36:56 kangur PPP Deflate Compression module registered
Mar 2 23:36:56 kangur NET: Registered protocol family 8
Mar 2 23:36:56 kangur NET: Registered protocol family 20
Mar 2 23:36:56 kangur input: PS/2 Generic Mouse on isa0060/serio1
Mar 2 23:36:56 kangur ACPI: Power Button (FF) [PWRF]
Mar 2 23:36:56 kangur ACPI: Sleep Button (CM) [SLPB]
Mar 2 23:36:56 kangur ACPI: Processor [CPU0] (supports 2 throttling
states)
Mar 2 23:36:56 kangur input: PC Speaker
Mar 2 23:36:56 kangur Floppy drive(s): fd0 is 1.44M
Mar 2 23:36:56 kangur FDC 0 is a post-1991 82077
Mar 2 23:36:56 kangur loop: loaded (max 8 devices)
Mar 2 23:36:56 kangur Non-volatile memory driver v1.2
Mar 2 23:36:56 kangur BIOS EDD facility v0.16 2004-Jun-25, 2 devices
found
Mar 2 23:36:56 kangur vesafb: NVidia Corporation, NV15 Reference Board,
Chip Rev A0 (OEM: NVidia)
Mar 2 23:36:56 kangur vesafb: VBE version: 3.0
Mar 2 23:36:56 kangur vesafb: protected mode interface info at c000:0f03
Mar 2 23:36:56 kangur vesafb: pmi: set display start = b00c0f3c, set
palette = b00c0fb2
Mar 2 23:36:56 kangur vesafb: pmi: ports = 3b4 3b5 3ba 3c0 3c1 3c4 3c5
3c6 3c7 3c8 3c9 3cc 3ce 3cf 3d0 3d1 3d2 3d3 3d4 3d5 3da
Mar 2 23:36:56 kangur vesafb: hardware supports DCC2 transfers
Mar 2 23:36:56 kangur vesafb: monitor limits: vf = 85 Hz, hf = 64 kHz,
clk = 108 MHz
Mar 2 23:36:56 kangur vesafb: scrolling: redraw
Mar 2 23:36:56 kangur vesafb: framebuffer at 0xe8000000, mapped to
0xd0900000, using 6144k, total 65536k
Mar 2 23:36:56 kangur fb0: VESA VGA frame buffer device
Mar 2 23:36:56 kangur Console: switching to colour frame buffer device
128x48
Mar 2 23:36:56 kangur device-mapper: 4.4.0-ioctl (2005-01-12)
initialised: [email protected]
Mar 2 23:36:56 kangur NTFS driver 2.1.22 [Flags: R/O MODULE].
Mar 2 23:36:56 kangur NTFS volume version 3.1.
Mar 2 23:36:56 kangur NTFS volume version 3.1.
Mar 2 23:36:56 kangur usbcore: registered new driver usbfs
Mar 2 23:36:56 kangur usbcore: registered new driver hub
Mar 2 23:36:56 kangur ACPI: PCI Interrupt Link [LNKD] enabled at IRQ 10
Mar 2 23:36:56 kangur PCI: setting IRQ 10 as level-triggered
Mar 2 23:36:56 kangur ACPI: PCI interrupt 0000:00:0b.0[A] -> GSI 10
(level, low) -> IRQ 10
Mar 2 23:36:56 kangur parport_pc: VIA 686A/8231 detected
Mar 2 23:36:56 kangur parport_pc: probing current configuration
Mar 2 23:36:56 kangur parport_pc: Current parallel port base: 0x378
Mar 2 23:36:56 kangur parport_pc: Strange, can't probe VIA parallel port:
io=0x378, irq=7, dma=-1
Mar 2 23:36:56 kangur pnp: the driver 'parport_pc' has been registered
Mar 2 23:36:56 kangur pnp: match found with the PnP device '00:09' and
the driver 'parport_pc'
Mar 2 23:36:56 kangur parport: PnPBIOS parport detected.
Mar 2 23:36:56 kangur parport0: PC-style at 0x378, irq 7 [PCSPP(,...)]
Mar 2 23:36:56 kangur USB Universal Host Controller Interface driver v2.2
Mar 2 23:36:56 kangur ACPI: PCI interrupt 0000:00:07.2[D] -> GSI 10
(level, low) -> IRQ 10
Mar 2 23:36:56 kangur uhci_hcd 0000:00:07.2: UHCI Host Controller
Mar 2 23:36:56 kangur uhci_hcd 0000:00:07.2: irq 10, io base 0xc800
Mar 2 23:36:56 kangur uhci_hcd 0000:00:07.2: new USB bus registered,
assigned bus number 1
Mar 2 23:36:56 kangur hub 1-0:1.0: USB hub found
Mar 2 23:36:56 kangur hub 1-0:1.0: 2 ports detected
Mar 2 23:36:56 kangur ACPI: PCI interrupt 0000:00:07.3[D] -> GSI 10
(level, low) -> IRQ 10
Mar 2 23:36:56 kangur uhci_hcd 0000:00:07.3: UHCI Host Controller
Mar 2 23:36:56 kangur uhci_hcd 0000:00:07.3: irq 10, io base 0xcc00
Mar 2 23:36:56 kangur uhci_hcd 0000:00:07.3: new USB bus registered,
assigned bus number 2
Mar 2 23:36:56 kangur hub 2-0:1.0: USB hub found
Mar 2 23:36:56 kangur hub 2-0:1.0: 2 ports detected
Mar 2 23:36:56 kangur usb 1-2: new full speed USB device using uhci_hcd
and address 2
Mar 2 23:36:56 kangur Linux video capture interface: v1.00
Mar 2 23:36:56 kangur bttv: driver version 0.9.15 loaded
Mar 2 23:36:56 kangur bttv: using 32 buffers with 2080k (520 pages) each
for capture
Mar 2 23:36:56 kangur bttv: Bt8xx card found (0).
Mar 2 23:36:56 kangur ACPI: PCI Interrupt Link [LNKC] enabled at IRQ 5
Mar 2 23:36:56 kangur PCI: setting IRQ 5 as level-triggered
Mar 2 23:36:56 kangur ACPI: PCI interrupt 0000:00:09.0[A] -> GSI 5
(level, low) -> IRQ 5
Mar 2 23:36:56 kangur bttv0: Bt878 (rev 17) at 0000:00:09.0, irq: 5,
latency: 32, mmio: 0xf7000000
Mar 2 23:36:56 kangur bttv0: using: Prolink Pixelview PV-BT878P+
(Rev.4C,8E) [card=70,insmod option]
Mar 2 23:36:56 kangur bttv0: gpio: en=00000000, out=00000000 in=00ffc0ff
[init]
Mar 2 23:36:56 kangur bttv0: using tuner=25
Mar 2 23:36:56 kangur bttv0: i2c: checking for MSP34xx @ 0x80... not
found
Mar 2 23:36:56 kangur bttv0: i2c: checking for TDA9875 @ 0xb0... not
found
Mar 2 23:36:56 kangur bttv0: i2c: checking for TDA7432 @ 0x8a... not
found
Mar 2 23:36:56 kangur tvaudio: TV audio decoder + audio/video mux driver
Mar 2 23:36:56 kangur tvaudio: known chips:
tda9840,tda9873h,tda9874h/a,tda9850,tda9855,tea6300,tea6320,tea6420,tda8425,pic16c54
(PV951),ta8874z
Mar 2 23:36:56 kangur bttv0: i2c: checking for TDA9887 @ 0x86... not
found
Mar 2 23:36:56 kangur tuner 0-0061: chip found @ 0xc2 (bt878 #0 [sw])
Mar 2 23:36:56 kangur tuner 0-0061: type set to 25 (LG PAL_I+FM
(TAPC-I001D))
Mar 2 23:36:56 kangur bttv0: registered device video0
Mar 2 23:36:56 kangur bttv0: registered device vbi0
Mar 2 23:36:56 kangur bttv0: registered device radio0
Mar 2 23:36:56 kangur bttv0: PLL: 28636363 => 35468950 .. ok
Mar 2 23:36:56 kangur bttv0: add subdevice "remote0"
Mar 2 23:36:56 kangur uhci_hcd 0000:00:07.2: Unlink after no-IRQ?
Controller is probably using the wrong IRQ.
Mar 2 23:36:56 kangur usb 1-2: khubd timed out on ep0in
Mar 2 23:36:56 kangur gameport: pci0000:00:0b.1 speed 1242 kHz
Mar 2 23:36:56 kangur Real Time Clock Driver v1.12
Mar 2 23:36:56 kangur Serial: 8250/16550 driver $Revision: 1.90 $ 8
ports, IRQ sharing disabled
Mar 2 23:36:56 kangur ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
Mar 2 23:36:56 kangur ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
Mar 2 23:36:56 kangur pnp: the driver 'serial' has been registered
Mar 2 23:36:56 kangur pnp: match found with the PnP device '00:07' and
the driver 'serial'
Mar 2 23:36:56 kangur ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
Mar 2 23:36:56 kangur pnp: match found with the PnP device '00:08' and
the driver 'serial'
Mar 2 23:36:56 kangur ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
Mar 2 23:36:56 kangur usb 1-2: khubd timed out on ep0out
Mar 2 23:36:56 kangur eth0: link down
Mar 2 23:36:56 kangur eth0: link down
Mar 2 23:36:56 kangur usb 1-2: khubd timed out on ep0out
Mar 2 23:36:56 kangur usb 1-2: device not accepting address 2, error -110
Mar 2 23:36:56 kangur usb 1-2: new full speed USB device using uhci_hcd
and address 3
Mar 2 23:36:56 kangur usb 1-2: khubd timed out on ep0in
Mar 2 23:36:56 kangur usb 1-2: khubd timed out on ep0out
Mar 2 23:36:56 kangur usb 1-2: khubd timed out on ep0out
Mar 2 23:36:56 kangur usb 1-2: device not accepting address 3, error -110
Mar 2 23:36:56 kangur NET: Registered protocol family 10
Mar 2 23:36:56 kangur IPv6 over IPv4 tunneling driver


And for comparision whole log with acpi=off:


Mar 3 01:45:48 kangur Linux version 2.6.11-cko1 (root@kangur) (gcc
version 3.3.3 20040412 (Gentoo Linux 3.3.3-r6, ssp-3.3.2-2, pie-8.7.6)) #1
Wed Mar 2 20:48:19 CET 2005
Mar 3 01:45:48 kangur BIOS-provided physical RAM map:
Mar 3 01:45:48 kangur BIOS-e820: 0000000000000000 - 000000000009fc00
(usable)
Mar 3 01:45:48 kangur BIOS-e820: 000000000009fc00 - 00000000000a0000
(reserved)
Mar 3 01:45:48 kangur BIOS-e820: 00000000000f0000 - 0000000000100000
(reserved)
Mar 3 01:45:48 kangur BIOS-e820: 0000000000100000 - 000000001fff0000
(usable)
Mar 3 01:45:48 kangur BIOS-e820: 000000001fff0000 - 000000001fff3000
(ACPI NVS)
Mar 3 01:45:48 kangur BIOS-e820: 000000001fff3000 - 0000000020000000
(ACPI data)
Mar 3 01:45:48 kangur BIOS-e820: 00000000ffff0000 - 0000000100000000
(reserved)
Mar 3 01:45:48 kangur 511MB LOWMEM available.
Mar 3 01:45:48 kangur On node 0 totalpages: 131056
Mar 3 01:45:48 kangur DMA zone: 4096 pages, LIFO batch:1
Mar 3 01:45:48 kangur Normal zone: 126960 pages, LIFO batch:16
Mar 3 01:45:48 kangur HighMem zone: 0 pages, LIFO batch:1
Mar 3 01:45:48 kangur DMI 2.2 present.
Mar 3 01:45:48 kangur Allocating PCI resources starting at 20000000 (gap:
20000000:dfff0000)
Mar 3 01:45:48 kangur Built 1 zonelists
Mar 3 01:45:48 kangur Kernel command line: ro root=/dev/hdb4 acpi=off
Mar 3 01:45:48 kangur Local APIC disabled by BIOS -- you can enable it
with "lapic"
Mar 3 01:45:48 kangur mapped APIC to ffffd000 (01402000)
Mar 3 01:45:48 kangur Initializing CPU#0
Mar 3 01:45:48 kangur CPU 0 irqstacks, hard=b0476000 soft=b0475000
Mar 3 01:45:48 kangur PID hash table entries: 2048 (order: 11, 32768
bytes)
Mar 3 01:45:48 kangur Detected 1203.036 MHz processor.
Mar 3 01:45:48 kangur Using tsc for high-res timesource
Mar 3 01:45:48 kangur Console: colour VGA+ 80x25
Mar 3 01:45:48 kangur Dentry cache hash table entries: 131072 (order: 7,
524288 bytes)
Mar 3 01:45:48 kangur Inode-cache hash table entries: 65536 (order: 6,
262144 bytes)
Mar 3 01:45:48 kangur Memory: 514944k/524224k available (2543k kernel
code, 8728k reserved, 815k data, 156k init, 0k highmem)
Mar 3 01:45:48 kangur Checking if this processor honours the WP bit even
in supervisor mode... Ok.
Mar 3 01:45:48 kangur Calibrating delay loop... 2359.29 BogoMIPS
(lpj=1179648)
Mar 3 01:45:48 kangur Security Framework v1.0.0 initialized
Mar 3 01:45:48 kangur Capability LSM initialized
Mar 3 01:45:48 kangur Mount-cache hash table entries: 512 (order: 0, 4096
bytes)
Mar 3 01:45:48 kangur CPU: After generic identify, caps: 0383f9ff
c1cbf9ff 00000000 00000000 00000000 00000000 00000000Mar 3 01:45:48
kangur CPU: After vendor identify, caps: 0383f9ff c1cbf9ff 00000000
00000000 00000000 00000000 00000000
Mar 3 01:45:48 kangur CPU: CLK_CTL MSR was 60071263. Reprogramming to
20071263
Mar 3 01:45:48 kangur CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K
(64 bytes/line)
Mar 3 01:45:48 kangur CPU: L2 Cache: 512K (64 bytes/line)
Mar 3 01:45:48 kangur CPU: After all inits, caps: 0383f9ff c1cbf9ff
00000000 00000020 00000000 00000000 00000000
Mar 3 01:45:48 kangur Intel machine check architecture supported.
Mar 3 01:45:48 kangur Intel machine check reporting enabled on CPU#0.
Mar 3 01:45:48 kangur CPU: AMD Unknown CPU Type stepping 00
Mar 3 01:45:48 kangur Enabling fast FPU save and restore... done.
Mar 3 01:45:48 kangur Enabling unmasked SIMD FPU exception support...
done.
Mar 3 01:45:48 kangur Checking 'hlt' instruction... OK.
Mar 3 01:45:48 kangur NET: Registered protocol family 16
Mar 3 01:45:48 kangur PCI: PCI BIOS revision 2.10 entry at 0xfb690, last
bus=1
Mar 3 01:45:48 kangur PCI: Using configuration type 1
Mar 3 01:45:48 kangur mtrr: v2.0 (20020519)
Mar 3 01:45:48 kangur ACPI: Subsystem revision 20050211
Mar 3 01:45:48 kangur ACPI: Interpreter disabled.
Mar 3 01:45:48 kangur Linux Plug and Play Support v0.97 (c) Adam Belay
Mar 3 01:45:48 kangur pnp: PnP ACPI: disabled
Mar 3 01:45:48 kangur SCSI subsystem initialized
Mar 3 01:45:48 kangur PCI: Probing PCI hardware
Mar 3 01:45:48 kangur PCI: Probing PCI hardware (bus 00)
Mar 3 01:45:48 kangur PCI: Using IRQ router VIA [1106/0686] at
0000:00:07.0
Mar 3 01:45:48 kangur pnp: the driver 'system' has been registered
Mar 3 01:45:48 kangur Total HugeTLB memory allocated, 0
Mar 3 01:45:48 kangur VFS: Disk quotas dquot_6.5.1
Mar 3 01:45:48 kangur Dquot-cache hash table entries: 1024 (order 0, 4096
bytes)
Mar 3 01:45:48 kangur SGI XFS with ACLs, security attributes, realtime,
no debug enabled
Mar 3 01:45:48 kangur SGI XFS Quota Management subsystem
Mar 3 01:45:48 kangur Initializing Cryptographic API
Mar 3 01:45:48 kangur inotify device minor=63
Mar 3 01:45:48 kangur i8042: ACPI detection disabled
Mar 3 01:45:48 kangur serio: i8042 AUX port at 0x60,0x64 irq 12
Mar 3 01:45:48 kangur serio: i8042 KBD port at 0x60,0x64 irq 1
Mar 3 01:45:48 kangur io scheduler noop registered
Mar 3 01:45:48 kangur io scheduler anticipatory registered
Mar 3 01:45:48 kangur io scheduler deadline registered
Mar 3 01:45:48 kangur io scheduler cfq registered
Mar 3 01:45:48 kangur 8139too Fast Ethernet driver 0.9.27
Mar 3 01:45:48 kangur PCI: Found IRQ 11 for device 0000:00:0f.0
Mar 3 01:45:48 kangur PCI: Sharing IRQ 11 with 0000:00:0d.0
Mar 3 01:45:48 kangur eth0: RealTek RTL8139 at 0xec00, 00:06:4f:00:73:8b,
IRQ 11
Mar 3 01:45:48 kangur eth0: Identified 8139 chip type 'RTL-8139C'
Mar 3 01:45:48 kangur Uniform Multi-Platform E-IDE driver Revision:
7.00alpha2
Mar 3 01:45:48 kangur ide: Assuming 33MHz system bus speed for PIO modes;
override with idebus=xx
Mar 3 01:45:48 kangur VP_IDE: IDE controller at PCI slot 0000:00:07.1
Mar 3 01:45:48 kangur VP_IDE: chipset revision 6
Mar 3 01:45:48 kangur VP_IDE: not 100% native mode: will probe irqs later
Mar 3 01:45:48 kangur VP_IDE: VIA vt82c686b (rev 40) IDE UDMA100
controller on pci0000:00:07.1
Mar 3 01:45:48 kangur ide0: BM-DMA at 0xc400-0xc407, BIOS settings:
hda:pio, hdb:DMA
Mar 3 01:45:48 kangur ide1: BM-DMA at 0xc408-0xc40f, BIOS settings:
hdc:pio, hdd:DMA
Mar 3 01:45:48 kangur Probing IDE interface ide0...
Mar 3 01:45:48 kangur hdb: SAMSUNG SV3063H, ATA DISK drive
Mar 3 01:45:48 kangur ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
Mar 3 01:45:48 kangur Probing IDE interface ide1...
Mar 3 01:45:48 kangur hdd: HL-DT-ST DVDRAM GSA-4082B, ATAPI CD/DVD-ROM
drive
Mar 3 01:45:48 kangur ide1 at 0x170-0x177,0x376 on irq 15
Mar 3 01:45:48 kangur pnp: the driver 'ide' has been registered
Mar 3 01:45:48 kangur hdb: max request size: 128KiB
Mar 3 01:45:48 kangur hdb: 59797584 sectors (30616 MB) w/426KiB Cache,
CHS=59323/16/63, UDMA(100)
Mar 3 01:45:48 kangur hdb: cache flushes not supported
Mar 3 01:45:48 kangur hdb: hdb1 hdb2 hdb3 hdb4
Mar 3 01:45:48 kangur libata version 1.10 loaded.
Mar 3 01:45:48 kangur sata_sil version 0.8
Mar 3 01:45:48 kangur PCI: Found IRQ 11 for device 0000:00:0d.0
Mar 3 01:45:48 kangur PCI: Sharing IRQ 11 with 0000:00:0f.0
Mar 3 01:45:48 kangur ata1: SATA max UDMA/100 cmd 0xD084E080 ctl
0xD084E08A bmdma 0xD084E000 irq 11
Mar 3 01:45:48 kangur ata2: SATA max UDMA/100 cmd 0xD084E0C0 ctl
0xD084E0CA bmdma 0xD084E008 irq 11
Mar 3 01:45:48 kangur ata1: dev 0 cfg 49:2f00 82:346b 83:7f61 84:4003
85:3469 86:3c41 87:4003 88:207f
Mar 3 01:45:48 kangur ata1: dev 0 ATA, max UDMA/133, 312581808 sectors:
lba48
Mar 3 01:45:48 kangur ata1: dev 0 configured for UDMA/100
Mar 3 01:45:48 kangur scsi0 : sata_sil
Mar 3 01:45:48 kangur ata2: no device found (phy stat 00000000)
Mar 3 01:45:48 kangur scsi1 : sata_sil
Mar 3 01:45:48 kangur Vendor: ATA Model: WDC WD1600JD-00H Rev:
08.0
Mar 3 01:45:48 kangur Type: Direct-Access ANSI
SCSI revision: 05
Mar 3 01:45:48 kangur SCSI device sda: 312581808 512-byte hdwr sectors
(160042 MB)
Mar 3 01:45:48 kangur SCSI device sda: drive cache: write back
Mar 3 01:45:48 kangur SCSI device sda: 312581808 512-byte hdwr sectors
(160042 MB)
Mar 3 01:45:48 kangur SCSI device sda: drive cache: write back
Mar 3 01:45:48 kangur sda: sda1 sda2 sda3 sda4 < sda5 sda6 sda7 sda8 sda9
sda10 sda11 sda12 sda13 sda14 sda15 >
Mar 3 01:45:48 kangur Attached scsi disk sda at scsi0, channel 0, id 0,
lun 0
Mar 3 01:45:48 kangur mice: PS/2 mouse device common for all mice
Mar 3 01:45:48 kangur input: AT Translated Set 2 keyboard on
isa0060/serio0
Mar 3 01:45:48 kangur NET: Registered protocol family 2
Mar 3 01:45:48 kangur IP: routing cache hash table of 4096 buckets,
32Kbytes
Mar 3 01:45:48 kangur TCP established hash table entries: 32768 (order:
6, 262144 bytes)
Mar 3 01:45:48 kangur TCP bind hash table entries: 32768 (order: 5,
131072 bytes)
Mar 3 01:45:48 kangur TCP: Hash tables configured (established 32768 bind
32768)
Mar 3 01:45:48 kangur ip_conntrack version 2.1 (4095 buckets, 32760 max)
- 216 bytes per conntrack
Mar 3 01:45:48 kangur ip_tables: (C) 2000-2002 Netfilter core team
Mar 3 01:45:48 kangur ipt_recent v0.3.1: Stephen Frost
<[email protected]>. http://snowman.net/projects/ipt_recent/
Mar 3 01:45:48 kangur arp_tables: (C) 2002 David S. Miller
Mar 3 01:45:48 kangur NET: Registered protocol family 17
Mar 3 01:45:48 kangur kjournald starting. Commit interval 5 seconds
Mar 3 01:45:48 kangur EXT3-fs: mounted filesystem with ordered data mode.
Mar 3 01:45:48 kangur VFS: Mounted root (ext3 filesystem) readonly.
Mar 3 01:45:48 kangur Freeing unused kernel memory: 156k freed
Mar 3 01:45:48 kangur NET: Registered protocol family 1
Mar 3 01:45:48 kangur EXT3 FS on hdb4, internal journal
Mar 3 01:45:48 kangur input: PC Speaker
Mar 3 01:45:48 kangur loop: loaded (max 8 devices)
Mar 3 01:45:48 kangur Non-volatile memory driver v1.2
Mar 3 01:45:48 kangur BIOS EDD facility v0.16 2004-Jun-25, 2 devices
found
Mar 3 01:45:48 kangur vesafb: NVidia Corporation, NV15 Reference Board,
Chip Rev A0 (OEM: NVidia)
Mar 3 01:45:48 kangur vesafb: VBE version: 3.0
Mar 3 01:45:48 kangur vesafb: protected mode interface info at c000:0f03
Mar 3 01:45:48 kangur vesafb: pmi: set display start = b00c0f3c, set
palette = b00c0fb2
Mar 3 01:45:48 kangur vesafb: pmi: ports = 3b4 3b5 3ba 3c0 3c1 3c4 3c5
3c6 3c7 3c8 3c9 3cc 3ce 3cf 3d0 3d1 3d2 3d3 3d4 3d5 3da
Mar 3 01:45:48 kangur vesafb: hardware supports DCC2 transfers
Mar 3 01:45:48 kangur vesafb: monitor limits: vf = 85 Hz, hf = 64 kHz,
clk = 108 MHz
Mar 3 01:45:48 kangur vesafb: scrolling: redraw
Mar 3 01:45:48 kangur vesafb: framebuffer at 0xe8000000, mapped to
0xd0900000, using 6144k, total 65536k
Mar 3 01:45:48 kangur fb0: VESA VGA frame buffer device
Mar 3 01:45:48 kangur Console: switching to colour frame buffer device
128x48
Mar 3 01:45:48 kangur device-mapper: 4.4.0-ioctl (2005-01-12)
initialised: [email protected]
Mar 3 01:45:48 kangur NTFS driver 2.1.22 [Flags: R/O MODULE].
Mar 3 01:45:48 kangur NTFS volume version 3.1.
Mar 3 01:45:48 kangur NTFS volume version 3.1.
Mar 3 01:45:48 kangur usbcore: registered new driver usbfs
Mar 3 01:45:48 kangur usbcore: registered new driver hub
Mar 3 01:45:48 kangur PCI: Found IRQ 9 for device 0000:00:0b.0
Mar 3 01:45:48 kangur PCI: Sharing IRQ 9 with 0000:00:07.2
Mar 3 01:45:48 kangur PCI: Sharing IRQ 9 with 0000:00:07.3
Mar 3 01:45:48 kangur parport_pc: VIA 686A/8231 detected
Mar 3 01:45:48 kangur parport_pc: probing current configuration
Mar 3 01:45:48 kangur parport_pc: Current parallel port base: 0x378
Mar 3 01:45:48 kangur parport_pc: Strange, can't probe VIA parallel port:
io=0x378, irq=7, dma=-1
Mar 3 01:45:48 kangur pnp: the driver 'parport_pc' has been registered
Mar 3 01:45:48 kangur parport0: PC-style at 0x378 [PCSPP(,...)]
Mar 3 01:45:48 kangur USB Universal Host Controller Interface driver v2.2
Mar 3 01:45:48 kangur PCI: Found IRQ 9 for device 0000:00:07.2
Mar 3 01:45:48 kangur PCI: Sharing IRQ 9 with 0000:00:07.3
Mar 3 01:45:48 kangur PCI: Sharing IRQ 9 with 0000:00:0b.0
Mar 3 01:45:48 kangur uhci_hcd 0000:00:07.2: UHCI Host Controller
Mar 3 01:45:48 kangur uhci_hcd 0000:00:07.2: irq 9, io base 0xc800
Mar 3 01:45:48 kangur uhci_hcd 0000:00:07.2: new USB bus registered,
assigned bus number 1
Mar 3 01:45:48 kangur hub 1-0:1.0: USB hub found
Mar 3 01:45:48 kangur hub 1-0:1.0: 2 ports detected
Mar 3 01:45:48 kangur PCI: Found IRQ 9 for device 0000:00:07.3
Mar 3 01:45:48 kangur PCI: Sharing IRQ 9 with 0000:00:07.2
Mar 3 01:45:48 kangur PCI: Sharing IRQ 9 with 0000:00:0b.0
Mar 3 01:45:48 kangur uhci_hcd 0000:00:07.3: UHCI Host Controller
Mar 3 01:45:48 kangur uhci_hcd 0000:00:07.3: irq 9, io base 0xcc00
Mar 3 01:45:48 kangur uhci_hcd 0000:00:07.3: new USB bus registered,
assigned bus number 2
Mar 3 01:45:48 kangur hub 2-0:1.0: USB hub found
Mar 3 01:45:48 kangur hub 2-0:1.0: 2 ports detected
Mar 3 01:45:48 kangur usb 1-2: new full speed USB device using uhci_hcd
and address 2
Mar 3 01:45:48 kangur NET: Registered protocol family 8
Mar 3 01:45:48 kangur NET: Registered protocol family 20
Mar 3 01:45:48 kangur Linux video capture interface: v1.00
Mar 3 01:45:48 kangur bttv: driver version 0.9.15 loaded
Mar 3 01:45:48 kangur bttv: using 32 buffers with 2080k (520 pages) each
for capture
Mar 3 01:45:48 kangur bttv: Bt8xx card found (0).
Mar 3 01:45:48 kangur PCI: Found IRQ 5 for device 0000:00:09.0
Mar 3 01:45:48 kangur PCI: Sharing IRQ 5 with 0000:00:09.1
Mar 3 01:45:48 kangur bttv0: Bt878 (rev 17) at 0000:00:09.0, irq: 5,
latency: 32, mmio: 0xf7000000
Mar 3 01:45:48 kangur bttv0: using: Prolink Pixelview PV-BT878P+
(Rev.4C,8E) [card=70,insmod option]
Mar 3 01:45:48 kangur bttv0: gpio: en=00000000, out=00000000 in=00ffc0ff
[init]
Mar 3 01:45:48 kangur bttv0: using tuner=25
Mar 3 01:45:48 kangur bttv0: i2c: checking for MSP34xx @ 0x80... not
found
Mar 3 01:45:48 kangur bttv0: i2c: checking for TDA9875 @ 0xb0... not
found
Mar 3 01:45:48 kangur bttv0: i2c: checking for TDA7432 @ 0x8a... not
found
Mar 3 01:45:48 kangur tvaudio: TV audio decoder + audio/video mux driver
Mar 3 01:45:48 kangur tvaudio: known chips:
tda9840,tda9873h,tda9874h/a,tda9850,tda9855,tea6300,tea6320,tea6420,tda8425,pic16c54
(PV951),ta8874z
Mar 3 01:45:48 kangur bttv0: i2c: checking for TDA9887 @ 0x86... not
found
Mar 3 01:45:48 kangur tuner 0-0061: chip found @ 0xc2 (bt878 #0 [sw])
Mar 3 01:45:48 kangur tuner 0-0061: type set to 25 (LG PAL_I+FM
(TAPC-I001D))
Mar 3 01:45:48 kangur bttv0: registered device video0
Mar 3 01:45:48 kangur bttv0: registered device vbi0
Mar 3 01:45:48 kangur bttv0: registered device radio0
Mar 3 01:45:48 kangur bttv0: PLL: 28636363 => 35468950 .. ok
Mar 3 01:45:48 kangur bttv0: add subdevice "remote0"
Mar 3 01:45:48 kangur usb 1-2: modprobe timed out on ep0in
Mar 3 01:45:48 kangur usbcore: registered new driver speedtch
Mar 3 01:45:48 kangur usb 1-2: found stage 1 firmware speedtch-1.bin
Mar 3 01:45:48 kangur gameport: pci0000:00:0b.1 speed 1242 kHz
Mar 3 01:45:48 kangur nvidia: module license 'NVIDIA' taints kernel.
Mar 3 01:45:48 kangur PCI: Found IRQ 10 for device 0000:01:05.0
Mar 3 01:45:48 kangur NVRM: loading NVIDIA Linux x86 NVIDIA Kernel Module
1.0-6629 Wed Nov 3 13:12:51 PST 2004
Mar 3 01:45:48 kangur usb 1-2: found stage 2 firmware speedtch-2.bin
Mar 3 01:45:50 kangur eth0: link down
Mar 3 01:45:50 kangur eth0: link down
Mar 3 01:45:50 kangur ADSL line is synchronising
Mar 3 01:45:50 kangur CSLIP: code copyright 1989 Regents of the
University of California
Mar 3 01:45:50 kangur PPP generic driver version 2.4.2
Mar 3 01:45:51 kangur pppd[9623]: Plugin /usr/lib/pppd/2.4.3/pppoatm.so
loaded.
Mar 3 01:45:51 kangur pppd[9623]: PPPoATM plugin_init
Mar 3 01:45:51 kangur pppd[9623]: PPPoATM setdevname_pppoatm -
SUCCESS:0.35
Mar 3 01:45:51 kangur pppd[9624]: pppd 2.4.3 started by root, uid 0
Mar 3 01:45:51 kangur pppd[9624]: Using interface ppp0
Mar 3 01:45:51 kangur pppd[9624]: Connect: ppp0 <--> 0.35
Mar 3 01:45:52 kangur NET: Registered protocol family 10
Mar 3 01:45:52 kangur Disabled Privacy Extensions on device b03e6aa0(lo)
Mar 3 01:45:52 kangur IPv6 over IPv4 tunneling driver


And a log from 2.6.9:

Mar 1 23:51:22 kangur Linux version 2.6.9-cko2 (root@kangur) (gcc version
3.3.3 20040412 (Gentoo Linux 3.3.3-r6, ssp-3.3.2-2, pie-8.7.6)) #5 Thu Nov
11 21:44:36 CET 2004
Mar 1 23:51:22 kangur BIOS-provided physical RAM map:
Mar 1 23:51:22 kangur BIOS-e820: 0000000000000000 - 000000000009fc00
(usable)
Mar 1 23:51:22 kangur BIOS-e820: 000000000009fc00 - 00000000000a0000
(reserved)
Mar 1 23:51:22 kangur BIOS-e820: 00000000000f0000 - 0000000000100000
(reserved)
Mar 1 23:51:22 kangur BIOS-e820: 0000000000100000 - 000000001fff0000
(usable)
Mar 1 23:51:22 kangur BIOS-e820: 000000001fff0000 - 000000001fff3000
(ACPI NVS)
Mar 1 23:51:22 kangur BIOS-e820: 000000001fff3000 - 0000000020000000
(ACPI data)
Mar 1 23:51:22 kangur BIOS-e820: 00000000ffff0000 - 0000000100000000
(reserved)
Mar 1 23:51:22 kangur 511MB LOWMEM available.
Mar 1 23:51:22 kangur On node 0 totalpages: 131056
Mar 1 23:51:22 kangur DMA zone: 4096 pages, LIFO batch:1
Mar 1 23:51:22 kangur Normal zone: 126960 pages, LIFO batch:16
Mar 1 23:51:22 kangur HighMem zone: 0 pages, LIFO batch:1
Mar 1 23:51:22 kangur DMI 2.2 present.
Mar 1 23:51:22 kangur ACPI: RSDP (v000 761686
) @ 0x000f6a70
Mar 1 23:51:22 kangur ACPI: RSDT (v001 761686 AWRDACPI 0x42302e31 AWRD
0x00000000) @ 0x1fff3000
Mar 1 23:51:22 kangur ACPI: FADT (v001 761686 AWRDACPI 0x42302e31 AWRD
0x00000000) @ 0x1fff3040
Mar 1 23:51:22 kangur ACPI: DSDT (v001 761686 AWRDACPI 0x00001000 MSFT
0x0100000c) @ 0x00000000
Mar 1 23:51:22 kangur ACPI: PM-Timer IO Port: 0x4008
Mar 1 23:51:22 kangur Built 1 zonelists
Mar 1 23:51:22 kangur Kernel command line: ro root=/dev/hdb4
Mar 1 23:51:22 kangur No local APIC present or hardware disabled
Mar 1 23:51:22 kangur Initializing CPU#0
Mar 1 23:51:22 kangur PID hash table entries: 2048 (order: 11, 32768
bytes)
Mar 1 23:51:22 kangur Detected 1203.074 MHz processor.
Mar 1 23:51:22 kangur Using pmtmr for high-res timesource
Mar 1 23:51:22 kangur Console: colour VGA+ 80x25
Mar 1 23:51:22 kangur Dentry cache hash table entries: 131072 (order: 7,
524288 bytes)
Mar 1 23:51:22 kangur Inode-cache hash table entries: 65536 (order: 6,
262144 bytes)
Mar 1 23:51:22 kangur Memory: 514704k/524224k available (2740k kernel
code, 8984k reserved, 867k data, 152k init, 0k highmem)
Mar 1 23:51:22 kangur Checking if this processor honours the WP bit even
in supervisor mode... Ok.
Mar 1 23:51:22 kangur Calibrating delay loop... 2375.68 BogoMIPS
(lpj=1187840)
Mar 1 23:51:22 kangur Security Scaffold v1.0.0 initialized
Mar 1 23:51:22 kangur Capability LSM initialized
Mar 1 23:51:22 kangur Mount-cache hash table entries: 512 (order: 0, 4096
bytes)
Mar 1 23:51:22 kangur CPU: After generic identify, caps: 0383f9ff
c1cbf9ff 00000000 00000000
Mar 1 23:51:22 kangur CPU: After vendor identify, caps: 0383f9ff
c1cbf9ff 00000000 00000000
Mar 1 23:51:22 kangur CPU: CLK_CTL MSR was 60071263. Reprogramming to
20071263
Mar 1 23:51:22 kangur CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K
(64 bytes/line)
Mar 1 23:51:22 kangur CPU: L2 Cache: 512K (64 bytes/line)
Mar 1 23:51:22 kangur CPU: After all inits, caps: 0383f9ff
c1cbf9ff 00000000 00000020
Mar 1 23:51:22 kangur Intel machine check architecture supported.
Mar 1 23:51:22 kangur Intel machine check reporting enabled on CPU#0.
Mar 1 23:51:22 kangur CPU: AMD Unknown CPU Type stepping 00
Mar 1 23:51:22 kangur Enabling fast FPU save and restore... done.
Mar 1 23:51:22 kangur Enabling unmasked SIMD FPU exception support...
done.
Mar 1 23:51:22 kangur Checking 'hlt' instruction... OK.
Mar 1 23:51:22 kangur ACPI: IRQ11 SCI: Level Trigger.
Mar 1 23:51:22 kangur NET: Registered protocol family 16
Mar 1 23:51:22 kangur PCI: PCI BIOS revision 2.10 entry at 0xfb690, last
bus=1
Mar 1 23:51:22 kangur PCI: Using configuration type 1
Mar 1 23:51:22 kangur mtrr: v2.0 (20020519)
Mar 1 23:51:22 kangur ACPI: Subsystem revision 20041015
Mar 1 23:51:22 kangur ACPI: Interpreter enabled
Mar 1 23:51:22 kangur ACPI: Using PIC for interrupt routing
Mar 1 23:51:22 kangur ACPI: PCI Root Bridge [PCI0] (00:00)
Mar 1 23:51:22 kangur PCI: Probing PCI hardware (bus 00)
Mar 1 23:51:22 kangur ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
Mar 1 23:51:22 kangur ACPI: PCI Interrupt Link [LNKA] (IRQs 1 3 4 5 6 7
*10 11 12 14 15)
Mar 1 23:51:22 kangur ACPI: PCI Interrupt Link [LNKB] (IRQs 1 3 4 5 6 7
10 *11 12 14 15)
Mar 1 23:51:22 kangur ACPI: PCI Interrupt Link [LNKC] (IRQs 1 3 4 *5 6 7
10 11 12 14 15)
Mar 1 23:51:22 kangur ACPI: PCI Interrupt Link [LNKD] (IRQs 1 3 4 5 6 7
10 11 12 14 15) *9
Mar 1 23:51:22 kangur SCSI subsystem initialized
Mar 1 23:51:22 kangur PCI: Using ACPI for IRQ routing
Mar 1 23:51:22 kangur ACPI: PCI Interrupt Link [LNKD] enabled at IRQ 10
Mar 1 23:51:22 kangur ACPI: PCI interrupt 0000:00:07.2[D] -> GSI 10
(level, low) -> IRQ 10
Mar 1 23:51:22 kangur ACPI: PCI interrupt 0000:00:07.3[D] -> GSI 10
(level, low) -> IRQ 10
Mar 1 23:51:22 kangur ACPI: PCI Interrupt Link [LNKC] enabled at IRQ 5
Mar 1 23:51:22 kangur ACPI: PCI interrupt 0000:00:09.0[A] -> GSI 5
(level, low) -> IRQ 5
Mar 1 23:51:22 kangur ACPI: PCI interrupt 0000:00:09.1[A] -> GSI 5
(level, low) -> IRQ 5
Mar 1 23:51:22 kangur ACPI: PCI interrupt 0000:00:0b.0[A] -> GSI 10
(level, low) -> IRQ 10
Mar 1 23:51:22 kangur ACPI: PCI Interrupt Link [LNKB] enabled at IRQ 11
Mar 1 23:51:22 kangur ACPI: PCI interrupt 0000:00:0d.0[A] -> GSI 11
(level, low) -> IRQ 11
Mar 1 23:51:22 kangur ACPI: PCI interrupt 0000:00:0f.0[A] -> GSI 11
(level, low) -> IRQ 11
Mar 1 23:51:22 kangur ACPI: PCI Interrupt Link [LNKA] enabled at IRQ 10
Mar 1 23:51:22 kangur ACPI: PCI interrupt 0000:01:05.0[A] -> GSI 10
(level, low) -> IRQ 10
Mar 1 23:51:22 kangur Total HugeTLB memory allocated, 0
Mar 1 23:51:22 kangur VFS: Disk quotas dquot_6.5.1
Mar 1 23:51:22 kangur Dquot-cache hash table entries: 1024 (order 0, 4096
bytes)
Mar 1 23:51:22 kangur SGI XFS with ACLs, security attributes, realtime,
no debug enabled
Mar 1 23:51:22 kangur SGI XFS Quota Management subsystem
Mar 1 23:51:22 kangur Initializing Cryptographic API
Mar 1 23:51:22 kangur PCI: Via IRQ fixup for 0000:00:07.2, from 9 to 10
Mar 1 23:51:22 kangur PCI: Via IRQ fixup for 0000:00:07.3, from 9 to 10
Mar 1 23:51:22 kangur serio: i8042 AUX port at 0x60,0x64 irq 12
Mar 1 23:51:22 kangur serio: i8042 KBD port at 0x60,0x64 irq 1
Mar 1 23:51:22 kangur 8139too Fast Ethernet driver 0.9.27
Mar 1 23:51:22 kangur ACPI: PCI interrupt 0000:00:0f.0[A] -> GSI 11
(level, low) -> IRQ 11
Mar 1 23:51:22 kangur eth0: RealTek RTL8139 at 0xec00, 00:06:4f:00:73:8b,
IRQ 11
Mar 1 23:51:22 kangur eth0: Identified 8139 chip type 'RTL-8139C'
Mar 1 23:51:22 kangur Uniform Multi-Platform E-IDE driver Revision:
7.00alpha2
Mar 1 23:51:22 kangur ide: Assuming 33MHz system bus speed for PIO modes;
override with idebus=xx
Mar 1 23:51:22 kangur VP_IDE: IDE controller at PCI slot 0000:00:07.1
Mar 1 23:51:22 kangur VP_IDE: chipset revision 6
Mar 1 23:51:22 kangur VP_IDE: not 100% native mode: will probe irqs later
Mar 1 23:51:22 kangur VP_IDE: VIA vt82c686b (rev 40) IDE UDMA100
controller on pci0000:00:07.1
Mar 1 23:51:22 kangur ide0: BM-DMA at 0xc400-0xc407, BIOS settings:
hda:pio, hdb:DMA
Mar 1 23:51:22 kangur ide1: BM-DMA at 0xc408-0xc40f, BIOS settings:
hdc:pio, hdd:DMA
Mar 1 23:51:22 kangur Probing IDE interface ide0...
Mar 1 23:51:22 kangur hdb: SAMSUNG SV3063H, ATA DISK drive
Mar 1 23:51:22 kangur Using cfq io scheduler
Mar 1 23:51:22 kangur ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
Mar 1 23:51:22 kangur Probing IDE interface ide1...
Mar 1 23:51:22 kangur hdd: HL-DT-ST DVDRAM GSA-4082B, ATAPI CD/DVD-ROM
drive
Mar 1 23:51:22 kangur ide1 at 0x170-0x177,0x376 on irq 15
Mar 1 23:51:22 kangur hdb: max request size: 128KiB
Mar 1 23:51:22 kangur hdb: 59797584 sectors (30616 MB) w/426KiB Cache,
CHS=59323/16/63, UDMA(100)
Mar 1 23:51:22 kangur hdb: cache flushes not supported
Mar 1 23:51:22 kangur hdb: hdb1 hdb2 hdb3 hdb4
Mar 1 23:51:22 kangur libata version 1.02 loaded.
Mar 1 23:51:22 kangur sata_sil version 0.54
Mar 1 23:51:22 kangur ACPI: PCI interrupt 0000:00:0d.0[A] -> GSI 11
(level, low) -> IRQ 11
Mar 1 23:51:22 kangur ata1: SATA max UDMA/100 cmd 0xD0802080 ctl
0xD080208A bmdma 0xD0802000 irq 11
Mar 1 23:51:22 kangur ata2: SATA max UDMA/100 cmd 0xD08020C0 ctl
0xD08020CA bmdma 0xD0802008 irq 11
Mar 1 23:51:22 kangur ata1: dev 0 cfg 49:2f00 82:346b 83:7f61 84:4003
85:3469 86:3c41 87:4003 88:207f
Mar 1 23:51:22 kangur ata1: dev 0 ATA, max UDMA/133, 312581808 sectors:
lba48
Mar 1 23:51:22 kangur ata1: dev 0 configured for UDMA/100
Mar 1 23:51:22 kangur scsi0 : sata_sil
Mar 1 23:51:22 kangur ata2: no device found (phy stat 00000000)
Mar 1 23:51:22 kangur scsi1 : sata_sil
Mar 1 23:51:22 kangur Vendor: ATA Model: WDC WD1600JD-00H Rev:
08.0
Mar 1 23:51:22 kangur Type: Direct-Access ANSI
SCSI revision: 05
Mar 1 23:51:22 kangur SCSI device sda: 312581808 512-byte hdwr sectors
(160042 MB)
Mar 1 23:51:22 kangur SCSI device sda: drive cache: write back
Mar 1 23:51:22 kangur sda: sda1 sda2 sda3 sda4 < sda5 sda6 sda7 sda8 sda9
sda10 sda11 sda12 sda13 sda14 sda15 >
Mar 1 23:51:22 kangur Attached scsi disk sda at scsi0, channel 0, id 0,
lun 0
Mar 1 23:51:22 kangur mice: PS/2 mouse device common for all mice
Mar 1 23:51:22 kangur input: AT Translated Set 2 keyboard on
isa0060/serio0
Mar 1 23:51:22 kangur NET: Registered protocol family 2
Mar 1 23:51:22 kangur IP: routing cache hash table of 4096 buckets,
32Kbytes
Mar 1 23:51:22 kangur TCP: Hash tables configured (established 32768 bind
65536)
Mar 1 23:51:22 kangur ip_conntrack version 2.1 (4095 buckets, 32760 max)
- 300 bytes per conntrack
Mar 1 23:51:22 kangur ip_tables: (C) 2000-2002 Netfilter core team
Mar 1 23:51:22 kangur ipt_recent v0.3.1: Stephen Frost
<[email protected]>. http://snowman.net/projects/ipt_recent/
Mar 1 23:51:22 kangur arp_tables: (C) 2002 David S. Miller
Mar 1 23:51:22 kangur NET: Registered protocol family 17
Mar 1 23:51:22 kangur ACPI: (supports S0 S1 S4 S5)
Mar 1 23:51:22 kangur ACPI wakeup devices:
Mar 1 23:51:22 kangur SLPB PCI0 USB0 USB1
Mar 1 23:51:22 kangur kjournald starting. Commit interval 5 seconds
Mar 1 23:51:22 kangur EXT3-fs: mounted filesystem with ordered data mode.
Mar 1 23:51:22 kangur VFS: Mounted root (ext3 filesystem) readonly.
Mar 1 23:51:22 kangur Freeing unused kernel memory: 152k freed
Mar 1 23:51:22 kangur NET: Registered protocol family 1
Mar 1 23:51:22 kangur EXT3 FS on hdb4, internal journal
Mar 1 23:51:22 kangur CSLIP: code copyright 1989 Regents of the
University of California
Mar 1 23:51:22 kangur PPP generic driver version 2.4.2
Mar 1 23:51:22 kangur PPP Deflate Compression module registered
Mar 1 23:51:22 kangur NET: Registered protocol family 8
Mar 1 23:51:22 kangur NET: Registered protocol family 20
Mar 1 23:51:22 kangur input: PS/2 Generic Mouse on isa0060/serio1
Mar 1 23:51:22 kangur ACPI: Power Button (FF) [PWRF]
Mar 1 23:51:22 kangur ACPI: Sleep Button (CM) [SLPB]
Mar 1 23:51:22 kangur ACPI: Processor [CPU0] (supports C1, 2 throttling
states)
Mar 1 23:51:22 kangur input: PC Speaker
Mar 1 23:51:22 kangur inserting floppy driver for 2.6.9-cko2
Mar 1 23:51:22 kangur Floppy drive(s): fd0 is 1.44M
Mar 1 23:51:22 kangur FDC 0 is a post-1991 82077
Mar 1 23:51:22 kangur loop: loaded (max 8 devices)
Mar 1 23:51:22 kangur Non-volatile memory driver v1.2
Mar 1 23:51:22 kangur BIOS EDD facility v0.16 2004-Jun-25, 2 devices
found
Mar 1 23:51:22 kangur vesafb: NVidia Corporation, NV15 Reference Board,
Chip Rev A0 (OEM: NVidia)
Mar 1 23:51:22 kangur vesafb: VBE version: 3.0
Mar 1 23:51:22 kangur vesafb: protected mode interface info at c000:0f03
Mar 1 23:51:22 kangur vesafb: pmi: set display start = b00c0f3c, set
palette = b00c0fb2
Mar 1 23:51:22 kangur vesafb: pmi: ports = 3b4 3b5 3ba 3c0 3c1 3c4 3c5
3c6 3c7 3c8 3c9 3cc 3ce 3cf 3d0 3d1 3d2 3d3 3d4 3d5 3da
Mar 1 23:51:22 kangur vesafb: hardware supports DCC2 transfers
Mar 1 23:51:22 kangur vesafb: monitor limits: vf = 85 Hz, hf = 64 kHz,
clk = 108 MHz
Mar 1 23:51:22 kangur vesafb: scrolling: redraw
Mar 1 23:51:22 kangur vesafb: framebuffer at 0xe8000000, mapped to
0xd0900000, size 16384k
Mar 1 23:51:22 kangur fb0: VESA VGA frame buffer device
Mar 1 23:51:22 kangur Console: switching to colour frame buffer device
128x48
Mar 1 23:51:22 kangur device-mapper: 4.3.0-ioctl (2004-09-30)
initialised: [email protected]
Mar 1 23:51:22 kangur NTFS driver 2.1.20 [Flags: R/O MODULE].
Mar 1 23:51:22 kangur NTFS volume version 3.1.
Mar 1 23:51:22 kangur NTFS volume version 3.1.
Mar 1 23:51:22 kangur usbcore: registered new driver usbfs
Mar 1 23:51:22 kangur usbcore: registered new driver hub
Mar 1 23:51:22 kangur Real Time Clock Driver v1.12
Mar 1 23:51:22 kangur ACPI: PCI interrupt 0000:00:0b.0[A] -> GSI 10
(level, low) -> IRQ 10
Mar 1 23:51:22 kangur ACPI: PCI interrupt 0000:00:09.1[A] -> GSI 5
(level, low) -> IRQ 5
Mar 1 23:51:22 kangur parport_pc: Strange, can't probe Via 686A parallel
port: io=0x378, irq=-1, dma=-1
Mar 1 23:51:22 kangur USB Universal Host Controller Interface driver v2.2
Mar 1 23:51:22 kangur ACPI: PCI interrupt 0000:00:07.2[D] -> GSI 10
(level, low) -> IRQ 10
Mar 1 23:51:22 kangur uhci_hcd 0000:00:07.2: UHCI Host Controller
Mar 1 23:51:22 kangur uhci_hcd 0000:00:07.2: irq 10, io base 0000c800
Mar 1 23:51:22 kangur uhci_hcd 0000:00:07.2: new USB bus registered,
assigned bus number 1
Mar 1 23:51:22 kangur hub 1-0:1.0: USB hub found
Mar 1 23:51:22 kangur hub 1-0:1.0: 2 ports detected
Mar 1 23:51:22 kangur ACPI: PCI interrupt 0000:00:07.3[D] -> GSI 10
(level, low) -> IRQ 10
Mar 1 23:51:22 kangur uhci_hcd 0000:00:07.3: UHCI Host Controller
Mar 1 23:51:22 kangur uhci_hcd 0000:00:07.3: irq 10, io base 0000cc00
Mar 1 23:51:22 kangur uhci_hcd 0000:00:07.3: new USB bus registered,
assigned bus number 2
Mar 1 23:51:22 kangur hub 2-0:1.0: USB hub found
Mar 1 23:51:22 kangur hub 2-0:1.0: 2 ports detected
Mar 1 23:51:22 kangur usb 1-2: new full speed USB device using address 2
Mar 1 23:51:22 kangur usbcore: registered new driver speedtch
Mar 1 23:51:22 kangur Linux video capture interface: v1.00
Mar 1 23:51:22 kangur bttv: driver version 0.9.15 loaded
Mar 1 23:51:22 kangur bttv: using 32 buffers with 2080k (520 pages) each
for capture
Mar 1 23:51:22 kangur bttv: Bt8xx card found (0).
Mar 1 23:51:22 kangur ACPI: PCI interrupt 0000:00:09.0[A] -> GSI 5
(level, low) -> IRQ 5
Mar 1 23:51:22 kangur bttv0: Bt878 (rev 17) at 0000:00:09.0, irq: 5,
latency: 32, mmio: 0xf7000000
Mar 1 23:51:22 kangur bttv0: using: Prolink Pixelview PV-BT878P+
(Rev.4C,8E) [card=70,insmod option]
Mar 1 23:51:22 kangur bttv0: gpio: en=00000000, out=00000000 in=00ffc0ff
[init]
Mar 1 23:51:22 kangur ALSA sound/pci/bt87x.c:265: Aieee - PCI error!
status 0x008008, PCI status 0x8290
Mar 1 23:51:22 kangur bttv0: using tuner=25
Mar 1 23:51:22 kangur bttv0: i2c: checking for MSP34xx @ 0x80... not
found
Mar 1 23:51:22 kangur bttv0: i2c: checking for TDA9875 @ 0xb0... not
found
Mar 1 23:51:22 kangur bttv0: i2c: checking for TDA7432 @ 0x8a... not
found
Mar 1 23:51:22 kangur tvaudio: Ignoring new-style parameters in presence
of obsolete ones
Mar 1 23:51:22 kangur tvaudio: TV audio decoder + audio/video mux driver
Mar 1 23:51:22 kangur tvaudio: known chips:
tda9840,tda9873h,tda9874h/a,tda9850,tda9855,tea6300,tea6420,tda8425,pic16c54
(PV951),ta8874z
Mar 1 23:51:22 kangur bttv0: i2c: checking for TDA9887 @ 0x86... not
found
Mar 1 23:51:22 kangur tuner: Ignoring new-style parameters in presence of
obsolete ones
Mar 1 23:51:22 kangur tuner: chip found at addr 0xc2 i2c-bus bt878 #0
[sw]
Mar 1 23:51:22 kangur tuner: type set to 25 (LG PAL_I+FM (TAPC-I001D)) by
bt878 #0 [sw]
Mar 1 23:51:22 kangur bttv0: registered device video0
Mar 1 23:51:22 kangur bttv0: registered device vbi0
Mar 1 23:51:22 kangur bttv0: registered device radio0
Mar 1 23:51:22 kangur bttv0: PLL: 28636363 => 35468950 .. ok
Mar 1 23:51:22 kangur bttv0: add subdevice "remote0"
Mar 1 23:51:22 kangur gameport: pci0000:00:0b.1 speed 1242 kHz
Mar 1 23:51:22 kangur nvidia: module license 'NVIDIA' taints kernel.
Mar 1 23:51:22 kangur ACPI: PCI interrupt 0000:01:05.0[A] -> GSI 10
(level, low) -> IRQ 10
Mar 1 23:51:22 kangur NVRM: loading NVIDIA Linux x86 NVIDIA Kernel Module
1.0-6629 Wed Nov 3 13:12:51 PST 2004
Mar 1 23:51:22 kangur eth0: link down
Mar 1 23:51:22 kangur NET: Registered protocol family 10
Mar 1 23:51:22 kangur Disabled Privacy Extensions on device b0417640(lo)
Mar 1 23:51:22 kangur IPv6 over IPv4 tunneling driver


Thanks,

Grzegorz Kulewski

2005-03-11 21:03:57

by Bjorn Helgaas

[permalink] [raw]
Subject: Re: [ACPI] Re: Fw: Anybody? 2.6.11 (stable and -rc) ACPI breaks USB

On Fri, 2005-03-11 at 20:36 +0100, Grzegorz Kulewski wrote:
> On Fri, 11 Mar 2005, Bjorn Helgaas wrote:
> > Can you check to see whether there are any BIOS updates available
> > for your box? It looks to me like your USB controllers are wired
> > to IRQ9, and that's how the BIOS is leaving them configured.
>
> And if this is a BIOS issue then why it worked for 3 years with all
> kernels up to at least 2.6.9

Good point.

Thanks for posting the 2.6.9 output as well. It contains this:

ACPI: PCI Interrupt Link [LNKD] enabled at IRQ 10
ACPI: PCI interrupt 0000:00:07.2[D] -> GSI 10 (level, low) -> IRQ 10
ACPI: PCI interrupt 0000:00:07.3[D] -> GSI 10 (level, low) -> IRQ 10
PCI: Via IRQ fixup for 0000:00:07.2, from 9 to 10
PCI: Via IRQ fixup for 0000:00:07.3, from 9 to 10

In 2.6.9, we did all the ACPI IRQ routing early, then did the
Via IRQ fixups. In 2.6.11, ACPI IRQ routing is done only when
a driver claims a device, and the Via IRQ fixup is done a little
differently. In fact, the Via fixup happens before we twiddle
the IOAPIC, where in 2.6.9, it happened after.

Can you try the attached patch to see whether it makes any
difference?

===== drivers/acpi/pci_irq.c 1.37 vs edited =====
--- 1.37/drivers/acpi/pci_irq.c 2005-03-01 09:57:29 -07:00
+++ edited/drivers/acpi/pci_irq.c 2005-03-11 13:45:56 -07:00
@@ -30,6 +30,7 @@
#include <linux/module.h>
#include <linux/init.h>
#include <linux/types.h>
+#include <linux/delay.h>
#include <linux/proc_fs.h>
#include <linux/spinlock.h>
#include <linux/pm.h>
@@ -438,10 +439,19 @@
}
}

- if (via_interrupt_line_quirk)
- pci_write_config_byte(dev, PCI_INTERRUPT_LINE, irq & 15);
-
dev->irq = acpi_register_gsi(irq, edge_level, active_high_low);
+
+ if (via_interrupt_line_quirk) {
+ u8 old_irq, new_irq = dev->irq & 0xf;
+
+ pci_read_config_byte(dev, PCI_INTERRUPT_LINE, &old_irq);
+ if (new_irq != old_irq) {
+ printk(KERN_INFO PREFIX "Via IRQ fixup for %s, from %d "
+ "to %d\n", pci_name(dev), old_irq, new_irq);
+ udelay(15);
+ pci_write_config_byte(dev, PCI_INTERRUPT_LINE, new_irq);
+ }
+ }

printk(KERN_INFO PREFIX "PCI interrupt %s[%c] -> GSI %u "
"(%s, %s) -> IRQ %d\n",


2005-03-11 21:48:36

by Grzegorz Kulewski

[permalink] [raw]
Subject: Re: [ACPI] Re: Fw: Anybody? 2.6.11 (stable and -rc) ACPI breaks USB

On Fri, 11 Mar 2005, Bjorn Helgaas wrote:

> On Fri, 2005-03-11 at 20:36 +0100, Grzegorz Kulewski wrote:
>> On Fri, 11 Mar 2005, Bjorn Helgaas wrote:
>>> Can you check to see whether there are any BIOS updates available
>>> for your box? It looks to me like your USB controllers are wired
>>> to IRQ9, and that's how the BIOS is leaving them configured.
>>
>> And if this is a BIOS issue then why it worked for 3 years with all
>> kernels up to at least 2.6.9
>
> Good point.
>
> Thanks for posting the 2.6.9 output as well. It contains this:
>
> ACPI: PCI Interrupt Link [LNKD] enabled at IRQ 10
> ACPI: PCI interrupt 0000:00:07.2[D] -> GSI 10 (level, low) -> IRQ 10
> ACPI: PCI interrupt 0000:00:07.3[D] -> GSI 10 (level, low) -> IRQ 10
> PCI: Via IRQ fixup for 0000:00:07.2, from 9 to 10
> PCI: Via IRQ fixup for 0000:00:07.3, from 9 to 10
>
> In 2.6.9, we did all the ACPI IRQ routing early, then did the
> Via IRQ fixups. In 2.6.11, ACPI IRQ routing is done only when
> a driver claims a device, and the Via IRQ fixup is done a little
> differently. In fact, the Via fixup happens before we twiddle
> the IOAPIC, where in 2.6.9, it happened after.
>
> Can you try the attached patch to see whether it makes any
> difference?
>
> ===== drivers/acpi/pci_irq.c 1.37 vs edited =====
> --- 1.37/drivers/acpi/pci_irq.c 2005-03-01 09:57:29 -07:00
> +++ edited/drivers/acpi/pci_irq.c 2005-03-11 13:45:56 -07:00
> @@ -30,6 +30,7 @@
> #include <linux/module.h>
> #include <linux/init.h>
> #include <linux/types.h>
> +#include <linux/delay.h>
> #include <linux/proc_fs.h>
> #include <linux/spinlock.h>
> #include <linux/pm.h>
> @@ -438,10 +439,19 @@
> }
> }
>
> - if (via_interrupt_line_quirk)
> - pci_write_config_byte(dev, PCI_INTERRUPT_LINE, irq & 15);
> -
> dev->irq = acpi_register_gsi(irq, edge_level, active_high_low);
> +
> + if (via_interrupt_line_quirk) {
> + u8 old_irq, new_irq = dev->irq & 0xf;
> +
> + pci_read_config_byte(dev, PCI_INTERRUPT_LINE, &old_irq);
> + if (new_irq != old_irq) {
> + printk(KERN_INFO PREFIX "Via IRQ fixup for %s, from %d "
> + "to %d\n", pci_name(dev), old_irq, new_irq);
> + udelay(15);
> + pci_write_config_byte(dev, PCI_INTERRUPT_LINE, new_irq);
> + }
> + }
>
> printk(KERN_INFO PREFIX "PCI interrupt %s[%c] -> GSI %u "
> "(%s, %s) -> IRQ %d\n",

Unfortunatelly no. Here is the log:

Mar 11 23:47:44 kangur Linux version 2.6.11-cko1 (root@kangur) (gcc
version 3.3.3 20040412 (Gentoo Linux 3.3.3-r6, ssp-3.3.2-2, pie-8.7.6)) #2
Fri Mar 11 23:32:57 CET 2005
Mar 11 23:47:44 kangur BIOS-provided physical RAM map:
Mar 11 23:47:44 kangur BIOS-e820: 0000000000000000 - 000000000009fc00
(usable)
Mar 11 23:47:44 kangur BIOS-e820: 000000000009fc00 - 00000000000a0000
(reserved)
Mar 11 23:47:44 kangur BIOS-e820: 00000000000f0000 - 0000000000100000
(reserved)
Mar 11 23:47:44 kangur BIOS-e820: 0000000000100000 - 000000001fff0000
(usable)
Mar 11 23:47:44 kangur BIOS-e820: 000000001fff0000 - 000000001fff3000
(ACPI NVS)
Mar 11 23:47:44 kangur BIOS-e820: 000000001fff3000 - 0000000020000000
(ACPI data)
Mar 11 23:47:44 kangur BIOS-e820: 00000000ffff0000 - 0000000100000000
(reserved)
Mar 11 23:47:44 kangur 511MB LOWMEM available.
Mar 11 23:47:44 kangur On node 0 totalpages: 131056
Mar 11 23:47:44 kangur DMA zone: 4096 pages, LIFO batch:1
Mar 11 23:47:44 kangur Normal zone: 126960 pages, LIFO batch:16
Mar 11 23:47:44 kangur HighMem zone: 0 pages, LIFO batch:1
Mar 11 23:47:44 kangur DMI 2.2 present.
Mar 11 23:47:44 kangur ACPI: RSDP (v000 761686
) @ 0x000f6a70
Mar 11 23:47:44 kangur ACPI: RSDT (v001 761686 AWRDACPI 0x42302e31 AWRD
0x00000000) @ 0x1fff3000
Mar 11 23:47:44 kangur ACPI: FADT (v001 761686 AWRDACPI 0x42302e31 AWRD
0x00000000) @ 0x1fff3040
Mar 11 23:47:44 kangur ACPI: DSDT (v001 761686 AWRDACPI 0x00001000 MSFT
0x0100000c) @ 0x00000000
Mar 11 23:47:44 kangur ACPI: PM-Timer IO Port: 0x4008
Mar 11 23:47:44 kangur Allocating PCI resources starting at 20000000 (gap:
20000000:dfff0000)
Mar 11 23:47:44 kangur Built 1 zonelists
Mar 11 23:47:44 kangur Kernel command line: ro root=/dev/hdb4
Mar 11 23:47:44 kangur Local APIC disabled by BIOS -- you can enable it
with "lapic"
Mar 11 23:47:44 kangur mapped APIC to ffffd000 (01402000)
Mar 11 23:47:44 kangur Initializing CPU#0
Mar 11 23:47:44 kangur CPU 0 irqstacks, hard=b0477000 soft=b0476000
Mar 11 23:47:44 kangur PID hash table entries: 2048 (order: 11, 32768
bytes)
Mar 11 23:47:44 kangur Detected 1203.228 MHz processor.
Mar 11 23:47:44 kangur Using pmtmr for high-res timesource
Mar 11 23:47:44 kangur Console: colour VGA+ 80x25
Mar 11 23:47:44 kangur Dentry cache hash table entries: 131072 (order: 7,
524288 bytes)
Mar 11 23:47:44 kangur Inode-cache hash table entries: 65536 (order: 6,
262144 bytes)
Mar 11 23:47:44 kangur Memory: 514940k/524224k available (2543k kernel
code, 8732k reserved, 819k data, 156k init, 0k highmem)
Mar 11 23:47:44 kangur Checking if this processor honours the WP bit even
in supervisor mode... Ok.
Mar 11 23:47:44 kangur Calibrating delay loop... 2375.68 BogoMIPS
(lpj=1187840)
Mar 11 23:47:44 kangur Security Framework v1.0.0 initialized
Mar 11 23:47:44 kangur Capability LSM initialized
Mar 11 23:47:44 kangur Mount-cache hash table entries: 512 (order: 0, 4096
bytes)
Mar 11 23:47:44 kangur CPU: After generic identify, caps: 0383f9ff
c1cbf9ff 00000000 00000000 00000000 00000000 00000000Mar 11 23:47:44
kangur CPU: After vendor identify, caps: 0383f9ff c1cbf9ff 00000000
00000000 00000000 00000000 00000000
Mar 11 23:47:44 kangur CPU: CLK_CTL MSR was 60071263. Reprogramming to
20071263
Mar 11 23:47:44 kangur CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K
(64 bytes/line)
Mar 11 23:47:44 kangur CPU: L2 Cache: 512K (64 bytes/line)
Mar 11 23:47:44 kangur CPU: After all inits, caps: 0383f9ff c1cbf9ff
00000000 00000020 00000000 00000000 00000000
Mar 11 23:47:44 kangur Intel machine check architecture supported.
Mar 11 23:47:44 kangur Intel machine check reporting enabled on CPU#0.
Mar 11 23:47:44 kangur CPU: AMD Unknown CPU Type stepping 00
Mar 11 23:47:44 kangur Enabling fast FPU save and restore... done.
Mar 11 23:47:44 kangur Enabling unmasked SIMD FPU exception support...
done.
Mar 11 23:47:44 kangur Checking 'hlt' instruction... OK.
Mar 11 23:47:44 kangur ACPI: setting ELCR to 0800 (from 0e20)
Mar 11 23:47:44 kangur NET: Registered protocol family 16
Mar 11 23:47:44 kangur PCI: PCI BIOS revision 2.10 entry at 0xfb690, last
bus=1
Mar 11 23:47:44 kangur PCI: Using configuration type 1
Mar 11 23:47:44 kangur mtrr: v2.0 (20020519)
Mar 11 23:47:44 kangur ACPI: Subsystem revision 20050211
Mar 11 23:47:44 kangur ACPI: Interpreter enabled
Mar 11 23:47:44 kangur ACPI: Using PIC for interrupt routing
Mar 11 23:47:44 kangur ACPI: PCI Root Bridge [PCI0] (00:00)
Mar 11 23:47:44 kangur PCI: Probing PCI hardware (bus 00)
Mar 11 23:47:44 kangur ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
Mar 11 23:47:44 kangur ACPI: PCI Interrupt Link [LNKA] (IRQs 1 3 4 5 6 7
*10 11 12 14 15)
Mar 11 23:47:44 kangur ACPI: PCI Interrupt Link [LNKB] (IRQs 1 3 4 5 6 7
10 *11 12 14 15)
Mar 11 23:47:44 kangur ACPI: PCI Interrupt Link [LNKC] (IRQs 1 3 4 *5 6 7
10 11 12 14 15)
Mar 11 23:47:44 kangur ACPI: PCI Interrupt Link [LNKD] (IRQs 1 3 4 5 6 7
10 11 12 14 15) *9
Mar 11 23:47:44 kangur Linux Plug and Play Support v0.97 (c) Adam Belay
Mar 11 23:47:44 kangur pnp: PnP ACPI init
Mar 11 23:47:44 kangur pnp: PnP ACPI: found 12 devices
Mar 11 23:47:44 kangur SCSI subsystem initialized
Mar 11 23:47:44 kangur PCI: Using ACPI for IRQ routing
Mar 11 23:47:44 kangur ** PCI interrupts are no longer routed
automatically. If this
Mar 11 23:47:44 kangur ** causes a device to stop working, it is probably
because the
Mar 11 23:47:44 kangur ** driver failed to call pci_enable_device(). As a
temporary
Mar 11 23:47:44 kangur ** workaround, the "pci=routeirq" argument restores
the old
Mar 11 23:47:44 kangur ** behavior. If this argument makes the device
work again,
Mar 11 23:47:44 kangur ** please email the output of "lspci" to
[email protected]
Mar 11 23:47:44 kangur ** so I can fix the driver.
Mar 11 23:47:44 kangur pnp: the driver 'system' has been registered
Mar 11 23:47:44 kangur pnp: match found with the PnP device '00:00' and
the driver 'system'
Mar 11 23:47:44 kangur pnp: match found with the PnP device '00:01' and
the driver 'system'
Mar 11 23:47:44 kangur Total HugeTLB memory allocated, 0
Mar 11 23:47:44 kangur VFS: Disk quotas dquot_6.5.1
Mar 11 23:47:44 kangur Dquot-cache hash table entries: 1024 (order 0, 4096
bytes)
Mar 11 23:47:44 kangur SGI XFS with ACLs, security attributes, realtime,
no debug enabled
Mar 11 23:47:44 kangur SGI XFS Quota Management subsystem
Mar 11 23:47:44 kangur Initializing Cryptographic API
Mar 11 23:47:44 kangur inotify device minor=63
Mar 11 23:47:44 kangur ACPI: PS/2 Keyboard Controller [PS2K] at I/O 0x60,
0x64, irq 1
Mar 11 23:47:44 kangur ACPI: PS/2 Mouse Controller [PS2M] at irq 12
Mar 11 23:47:44 kangur serio: i8042 AUX port at 0x60,0x64 irq 12
Mar 11 23:47:44 kangur serio: i8042 KBD port at 0x60,0x64 irq 1
Mar 11 23:47:44 kangur io scheduler noop registered
Mar 11 23:47:44 kangur io scheduler anticipatory registered
Mar 11 23:47:44 kangur io scheduler deadline registered
Mar 11 23:47:44 kangur io scheduler cfq registered
Mar 11 23:47:44 kangur 8139too Fast Ethernet driver 0.9.27
Mar 11 23:47:44 kangur ACPI: PCI Interrupt Link [LNKB] enabled at IRQ 11
Mar 11 23:47:44 kangur PCI: setting IRQ 11 as level-triggered
Mar 11 23:47:44 kangur ACPI: PCI interrupt 0000:00:0f.0[A] -> GSI 11
(level, low) -> IRQ 11
Mar 11 23:47:44 kangur eth0: RealTek RTL8139 at 0xec00, 00:06:4f:00:73:8b,
IRQ 11
Mar 11 23:47:44 kangur eth0: Identified 8139 chip type 'RTL-8139C'
Mar 11 23:47:44 kangur Uniform Multi-Platform E-IDE driver Revision:
7.00alpha2
Mar 11 23:47:44 kangur ide: Assuming 33MHz system bus speed for PIO modes;
override with idebus=xx
Mar 11 23:47:44 kangur VP_IDE: IDE controller at PCI slot 0000:00:07.1
Mar 11 23:47:44 kangur VP_IDE: chipset revision 6
Mar 11 23:47:44 kangur VP_IDE: not 100% native mode: will probe irqs later
Mar 11 23:47:44 kangur VP_IDE: VIA vt82c686b (rev 40) IDE UDMA100
controller on pci0000:00:07.1
Mar 11 23:47:44 kangur ide0: BM-DMA at 0xc400-0xc407, BIOS settings:
hda:pio, hdb:DMA
Mar 11 23:47:44 kangur ide1: BM-DMA at 0xc408-0xc40f, BIOS settings:
hdc:pio, hdd:DMA
Mar 11 23:47:44 kangur Probing IDE interface ide0...
Mar 11 23:47:44 kangur hdb: SAMSUNG SV3063H, ATA DISK drive
Mar 11 23:47:44 kangur ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
Mar 11 23:47:44 kangur Probing IDE interface ide1...
Mar 11 23:47:44 kangur hdd: HL-DT-ST DVDRAM GSA-4082B, ATAPI CD/DVD-ROM
drive
Mar 11 23:47:44 kangur ide1 at 0x170-0x177,0x376 on irq 15
Mar 11 23:47:44 kangur pnp: the driver 'ide' has been registered
Mar 11 23:47:44 kangur hdb: max request size: 128KiB
Mar 11 23:47:44 kangur hdb: 59797584 sectors (30616 MB) w/426KiB Cache,
CHS=59323/16/63, UDMA(100)
Mar 11 23:47:44 kangur hdb: cache flushes not supported
Mar 11 23:47:44 kangur hdb: hdb1 hdb2 hdb3 hdb4
Mar 11 23:47:44 kangur libata version 1.10 loaded.
Mar 11 23:47:44 kangur sata_sil version 0.8
Mar 11 23:47:44 kangur ACPI: PCI interrupt 0000:00:0d.0[A] -> GSI 11
(level, low) -> IRQ 11
Mar 11 23:47:44 kangur ata1: SATA max UDMA/100 cmd 0xD0802080 ctl
0xD080208A bmdma 0xD0802000 irq 11
Mar 11 23:47:44 kangur ata2: SATA max UDMA/100 cmd 0xD08020C0 ctl
0xD08020CA bmdma 0xD0802008 irq 11
Mar 11 23:47:44 kangur ata1: dev 0 cfg 49:2f00 82:346b 83:7f61 84:4003
85:3469 86:3c41 87:4003 88:207f
Mar 11 23:47:44 kangur ata1: dev 0 ATA, max UDMA/133, 312581808 sectors:
lba48
Mar 11 23:47:44 kangur ata1: dev 0 configured for UDMA/100
Mar 11 23:47:44 kangur scsi0 : sata_sil
Mar 11 23:47:44 kangur ata2: no device found (phy stat 00000000)
Mar 11 23:47:44 kangur scsi1 : sata_sil
Mar 11 23:47:44 kangur Vendor: ATA Model: WDC WD1600JD-00H Rev:
08.0
Mar 11 23:47:44 kangur Type: Direct-Access ANSI
SCSI revision: 05
Mar 11 23:47:44 kangur SCSI device sda: 312581808 512-byte hdwr sectors
(160042 MB)
Mar 11 23:47:44 kangur SCSI device sda: drive cache: write back
Mar 11 23:47:44 kangur SCSI device sda: 312581808 512-byte hdwr sectors
(160042 MB)
Mar 11 23:47:44 kangur SCSI device sda: drive cache: write back
Mar 11 23:47:44 kangur sda: sda1 sda2 sda3 sda4 < sda5 sda6 sda7 sda8 sda9
sda10 sda11 sda12 sda13 sda14 sda15 >
Mar 11 23:47:44 kangur Attached scsi disk sda at scsi0, channel 0, id 0,
lun 0
Mar 11 23:47:44 kangur mice: PS/2 mouse device common for all mice
Mar 11 23:47:44 kangur input: AT Translated Set 2 keyboard on
isa0060/serio0
Mar 11 23:47:44 kangur NET: Registered protocol family 2
Mar 11 23:47:44 kangur IP: routing cache hash table of 4096 buckets,
32Kbytes
Mar 11 23:47:44 kangur TCP established hash table entries: 32768 (order:
6, 262144 bytes)
Mar 11 23:47:44 kangur TCP bind hash table entries: 32768 (order: 5,
131072 bytes)
Mar 11 23:47:44 kangur TCP: Hash tables configured (established 32768 bind
32768)
Mar 11 23:47:44 kangur ip_conntrack version 2.1 (4095 buckets, 32760 max)
- 216 bytes per conntrack
Mar 11 23:47:44 kangur ip_tables: (C) 2000-2002 Netfilter core team
Mar 11 23:47:44 kangur ipt_recent v0.3.1: Stephen Frost
<[email protected]>. http://snowman.net/projects/ipt_recent/
Mar 11 23:47:44 kangur arp_tables: (C) 2002 David S. Miller
Mar 11 23:47:44 kangur NET: Registered protocol family 17
Mar 11 23:47:44 kangur ACPI wakeup devices:
Mar 11 23:47:44 kangur SLPB PCI0 USB0 USB1
Mar 11 23:47:44 kangur ACPI: (supports S0 S1 S4 S5)
Mar 11 23:47:44 kangur kjournald starting. Commit interval 5 seconds
Mar 11 23:47:44 kangur EXT3-fs: mounted filesystem with ordered data mode.
Mar 11 23:47:44 kangur VFS: Mounted root (ext3 filesystem) readonly.
Mar 11 23:47:44 kangur Freeing unused kernel memory: 156k freed
Mar 11 23:47:44 kangur NET: Registered protocol family 1
Mar 11 23:47:44 kangur EXT3 FS on hdb4, internal journal
Mar 11 23:47:44 kangur NET: Registered protocol family 8
Mar 11 23:47:44 kangur NET: Registered protocol family 20
Mar 11 23:47:44 kangur CSLIP: code copyright 1989 Regents of the
University of California
Mar 11 23:47:44 kangur PPP generic driver version 2.4.2
Mar 11 23:47:44 kangur input: PS/2 Generic Mouse on isa0060/serio1
Mar 11 23:47:44 kangur input: PC Speaker
Mar 11 23:47:44 kangur loop: loaded (max 8 devices)
Mar 11 23:47:44 kangur Non-volatile memory driver v1.2
Mar 11 23:47:44 kangur BIOS EDD facility v0.16 2004-Jun-25, 2 devices
found
Mar 11 23:47:44 kangur vesafb: NVidia Corporation, NV15 Reference Board,
Chip Rev A0 (OEM: NVidia)
Mar 11 23:47:44 kangur vesafb: VBE version: 3.0
Mar 11 23:47:44 kangur vesafb: protected mode interface info at c000:0f03
Mar 11 23:47:44 kangur vesafb: pmi: set display start = b00c0f3c, set
palette = b00c0fb2
Mar 11 23:47:44 kangur vesafb: pmi: ports = 3b4 3b5 3ba 3c0 3c1 3c4 3c5
3c6 3c7 3c8 3c9 3cc 3ce 3cf 3d0 3d1 3d2 3d3 3d4 3d5 3da
Mar 11 23:47:44 kangur vesafb: hardware supports DCC2 transfers
Mar 11 23:47:44 kangur vesafb: monitor limits: vf = 85 Hz, hf = 64 kHz,
clk = 108 MHz
Mar 11 23:47:44 kangur vesafb: scrolling: redraw
Mar 11 23:47:44 kangur vesafb: framebuffer at 0xe8000000, mapped to
0xd0900000, using 6144k, total 65536k
Mar 11 23:47:44 kangur fb0: VESA VGA frame buffer device
Mar 11 23:47:44 kangur Console: switching to colour frame buffer device
128x48
Mar 11 23:47:44 kangur device-mapper: 4.4.0-ioctl (2005-01-12)
initialised: [email protected]
Mar 11 23:47:44 kangur NTFS driver 2.1.22 [Flags: R/O MODULE].
Mar 11 23:47:44 kangur NTFS volume version 3.1.
Mar 11 23:47:44 kangur NTFS volume version 3.1.
Mar 11 23:47:44 kangur usbcore: registered new driver usbfs
Mar 11 23:47:44 kangur usbcore: registered new driver hub
Mar 11 23:47:44 kangur ACPI: PCI Interrupt Link [LNKD] enabled at IRQ 10
Mar 11 23:47:44 kangur PCI: setting IRQ 10 as level-triggered
Mar 11 23:47:44 kangur ACPI: PCI interrupt 0000:00:0b.0[A] -> GSI 10
(level, low) -> IRQ 10
Mar 11 23:47:44 kangur parport_pc: VIA 686A/8231 detected
Mar 11 23:47:44 kangur parport_pc: probing current configuration
Mar 11 23:47:44 kangur parport_pc: Current parallel port base: 0x378
Mar 11 23:47:44 kangur parport_pc: Strange, can't probe VIA parallel port:
io=0x378, irq=7, dma=-1
Mar 11 23:47:44 kangur pnp: the driver 'parport_pc' has been registered
Mar 11 23:47:44 kangur pnp: match found with the PnP device '00:09' and
the driver 'parport_pc'
Mar 11 23:47:44 kangur parport: PnPBIOS parport detected.
Mar 11 23:47:44 kangur parport0: PC-style at 0x378, irq 7 [PCSPP(,...)]
Mar 11 23:47:44 kangur USB Universal Host Controller Interface driver v2.2
Mar 11 23:47:44 kangur ACPI: PCI interrupt 0000:00:07.2[D] -> GSI 10
(level, low) -> IRQ 10
Mar 11 23:47:44 kangur uhci_hcd 0000:00:07.2: UHCI Host Controller
Mar 11 23:47:44 kangur uhci_hcd 0000:00:07.2: irq 10, io base 0xc800
Mar 11 23:47:44 kangur uhci_hcd 0000:00:07.2: new USB bus registered,
assigned bus number 1
Mar 11 23:47:44 kangur hub 1-0:1.0: USB hub found
Mar 11 23:47:44 kangur hub 1-0:1.0: 2 ports detected
Mar 11 23:47:44 kangur ACPI: PCI interrupt 0000:00:07.3[D] -> GSI 10
(level, low) -> IRQ 10
Mar 11 23:47:44 kangur uhci_hcd 0000:00:07.3: UHCI Host Controller
Mar 11 23:47:44 kangur uhci_hcd 0000:00:07.3: irq 10, io base 0xcc00
Mar 11 23:47:44 kangur uhci_hcd 0000:00:07.3: new USB bus registered,
assigned bus number 2
Mar 11 23:47:44 kangur hub 2-0:1.0: USB hub found
Mar 11 23:47:44 kangur hub 2-0:1.0: 2 ports detected
Mar 11 23:47:44 kangur usb 1-2: new full speed USB device using uhci_hcd
and address 2
Mar 11 23:47:44 kangur Linux video capture interface: v1.00
Mar 11 23:47:44 kangur bttv: driver version 0.9.15 loaded
Mar 11 23:47:44 kangur bttv: using 32 buffers with 2080k (520 pages) each
for capture
Mar 11 23:47:44 kangur bttv: Bt8xx card found (0).
Mar 11 23:47:44 kangur ACPI: PCI Interrupt Link [LNKC] enabled at IRQ 5
Mar 11 23:47:44 kangur PCI: setting IRQ 5 as level-triggered
Mar 11 23:47:44 kangur ACPI: PCI interrupt 0000:00:09.0[A] -> GSI 5
(level, low) -> IRQ 5
Mar 11 23:47:44 kangur bttv0: Bt878 (rev 17) at 0000:00:09.0, irq: 5,
latency: 32, mmio: 0xf7000000
Mar 11 23:47:44 kangur bttv0: using: Prolink Pixelview PV-BT878P+
(Rev.4C,8E) [card=70,insmod option]
Mar 11 23:47:44 kangur bttv0: gpio: en=00000000, out=00000000 in=00ffc0ff
[init]
Mar 11 23:47:44 kangur bttv0: using tuner=25
Mar 11 23:47:44 kangur bttv0: i2c: checking for MSP34xx @ 0x80... not
found
Mar 11 23:47:44 kangur bttv0: i2c: checking for TDA9875 @ 0xb0... not
found
Mar 11 23:47:44 kangur bttv0: i2c: checking for TDA7432 @ 0x8a... not
found
Mar 11 23:47:44 kangur tvaudio: TV audio decoder + audio/video mux driver
Mar 11 23:47:44 kangur tvaudio: known chips:
tda9840,tda9873h,tda9874h/a,tda9850,tda9855,tea6300,tea6320,tea6420,tda8425,pic16c54
(PV951),ta8874z
Mar 11 23:47:44 kangur bttv0: i2c: checking for TDA9887 @ 0x86... not
found
Mar 11 23:47:44 kangur tuner 0-0061: chip found @ 0xc2 (bt878 #0 [sw])
Mar 11 23:47:44 kangur tuner 0-0061: type set to 25 (LG PAL_I+FM
(TAPC-I001D))
Mar 11 23:47:44 kangur bttv0: registered device video0
Mar 11 23:47:44 kangur bttv0: registered device vbi0
Mar 11 23:47:44 kangur bttv0: registered device radio0
Mar 11 23:47:44 kangur bttv0: PLL: 28636363 => 35468950 .. ok
Mar 11 23:47:44 kangur bttv0: add subdevice "remote0"
Mar 11 23:47:44 kangur uhci_hcd 0000:00:07.2: Unlink after no-IRQ?
Controller is probably using the wrong IRQ.
Mar 11 23:47:44 kangur usb 1-2: khubd timed out on ep0in
Mar 11 23:47:44 kangur gameport: pci0000:00:0b.1 speed 1242 kHz
Mar 11 23:47:44 kangur nvidia: module license 'NVIDIA' taints kernel.
Mar 11 23:47:44 kangur ACPI: PCI Interrupt Link [LNKA] enabled at IRQ 10
Mar 11 23:47:44 kangur ACPI: PCI interrupt 0000:01:05.0[A] -> GSI 10
(level, low) -> IRQ 10
Mar 11 23:47:44 kangur NVRM: loading NVIDIA Linux x86 NVIDIA Kernel Module
1.0-6629 Wed Nov 3 13:12:51 PST 2004
Mar 11 23:47:44 kangur Real Time Clock Driver v1.12
Mar 11 23:47:44 kangur Floppy drive(s): fd0 is 1.44M
Mar 11 23:47:44 kangur FDC 0 is a post-1991 82077
Mar 11 23:47:44 kangur Serial: 8250/16550 driver $Revision: 1.90 $ 8
ports, IRQ sharing disabled
Mar 11 23:47:44 kangur ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
Mar 11 23:47:44 kangur ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
Mar 11 23:47:44 kangur pnp: the driver 'serial' has been registered
Mar 11 23:47:44 kangur pnp: match found with the PnP device '00:07' and
the driver 'serial'
Mar 11 23:47:44 kangur ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
Mar 11 23:47:44 kangur pnp: match found with the PnP device '00:08' and
the driver 'serial'
Mar 11 23:47:44 kangur ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
Mar 11 23:47:44 kangur usb 1-2: khubd timed out on ep0out
Mar 11 23:47:45 kangur eth0: link down
Mar 11 23:47:46 kangur eth0: link down
Mar 11 23:47:47 kangur NET: Registered protocol family 10
Mar 11 23:47:47 kangur Disabled Privacy Extensions on device b03e7aa0(lo)
Mar 11 23:47:47 kangur IPv6 over IPv4 tunneling driver


Also two more questions:

1. What is VIA fixup? Is it some hardware bug? Or BIOS problem? Why is it
needed? On what hardware / software it is needed?

2. Why this patch shrinked bzImage that much:

-rw-r--r-- 1 root root 1828186 mar 11 23:33 vmlinuz-2.6.11-cko1
-rw-r--r-- 1 root root 1828355 mar 2 20:48 vmlinuz-2.6.11-cko1.old


What is your next guess?


Thanks,

Grzegorz Kulewski

2005-03-11 22:33:53

by Bjorn Helgaas

[permalink] [raw]
Subject: Re: [ACPI] Re: Fw: Anybody? 2.6.11 (stable and -rc) ACPI breaks USB

Can you do an "lspci -vvn"? I'm looking at quirk_via_irqpic() in
2.6.9, which is what printed this:

> > PCI: Via IRQ fixup for 0000:00:07.2, from 9 to 10
> > PCI: Via IRQ fixup for 0000:00:07.3, from 9 to 10

but it looks like it should only run for PCI_DEVICE_ID_VIA_82C586_2,
PCI_DEVICE_ID_VIA_82C686_5, and PCI_DEVICE_ID_VIA_82C686_6.

You have:

0000:00:07.0 ISA bridge: VIA Technologies, Inc. VT82C686 [Apollo Super South] (rev 40)
0000:00:07.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT8233/A/C/VT8235 PIPC Bus Master IDE (rev 06)
0000:00:07.2 USB Controller: VIA Technologies, Inc. USB (rev 1a) (prog-if 00 [UHCI])
0000:00:07.3 USB Controller: VIA Technologies, Inc. USB (rev 1a) (prog-if 00 [UHCI])

and we apparently ran the quirk for 07.2 and 07.3. I wouldn't
have thought those would have one of the above device IDs. The
"lspci -vvn" should tell us for sure.

2.6.11 removed that quirk and runs quirk_via_bridge() for
all VIA devices, but only sets via_interrupt_line_quirk if
(pdev->devfn == 0), which you don't have. So that's why
my patch didn't do anything.

> Also two more questions:
>
> 1. What is VIA fixup? Is it some hardware bug? Or BIOS problem? Why is it
> needed? On what hardware / software it is needed?

I really don't know much about the VIA fixup. I just noticed
that we seem to be doing it slightly differently in 2.6.11 than
we did in 2.6.9, and thought maybe it was related to your problem.
Here's a changeset that has a couple pointers:

http://linux.bkbits.net:8080/linux-2.5/cset%4041cb9d48DRV4TYe77gvstTawuZFYyQ

> 2. Why this patch shrinked bzImage that much:
>
> -rw-r--r-- 1 root root 1828186 mar 11 23:33 vmlinuz-2.6.11-cko1
> -rw-r--r-- 1 root root 1828355 mar 2 20:48 vmlinuz-2.6.11-cko1.old

I have no idea about this. But it's only a couple hundred bytes.

So here's another patch to try (revert the first one, then apply this).

===== drivers/acpi/pci_irq.c 1.37 vs edited =====
--- 1.37/drivers/acpi/pci_irq.c 2005-03-01 09:57:29 -07:00
+++ edited/drivers/acpi/pci_irq.c 2005-03-11 15:13:49 -07:00
@@ -30,6 +30,7 @@
#include <linux/module.h>
#include <linux/init.h>
#include <linux/types.h>
+#include <linux/delay.h>
#include <linux/proc_fs.h>
#include <linux/spinlock.h>
#include <linux/pm.h>
@@ -438,10 +439,17 @@
}
}

- if (via_interrupt_line_quirk)
- pci_write_config_byte(dev, PCI_INTERRUPT_LINE, irq & 15);
-
dev->irq = acpi_register_gsi(irq, edge_level, active_high_low);
+
+ if (dev->vendor == PCI_VENDOR_ID_VIA) {
+ u8 old_irq, new_irq = dev->irq & 0xf;
+
+ pci_read_config_byte(dev, PCI_INTERRUPT_LINE, &old_irq);
+ printk(KERN_INFO PREFIX "Via IRQ fixup for %s, from %d "
+ "to %d\n", pci_name(dev), old_irq, new_irq);
+ udelay(15);
+ pci_write_config_byte(dev, PCI_INTERRUPT_LINE, new_irq);
+ }

printk(KERN_INFO PREFIX "PCI interrupt %s[%c] -> GSI %u "
"(%s, %s) -> IRQ %d\n",


2005-03-12 00:16:36

by Grzegorz Kulewski

[permalink] [raw]
Subject: Re: [ACPI] Re: Fw: Anybody? 2.6.11 (stable and -rc) ACPI breaks USB

On Fri, 11 Mar 2005, Bjorn Helgaas wrote:

> Can you do an "lspci -vvn"?

# lspci -vvn
0000:00:00.0 Class 0600: 1022:700e (rev 13)
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-
Latency: 32
Region 0: Memory at f0000000 (32-bit, prefetchable)
Region 1: Memory at f7003000 (32-bit, prefetchable) [size=4K]
Region 2: I/O ports at c000 [disabled] [size=4]
Capabilities: [a0] AGP version 2.0
Status: RQ=16 Iso- ArqSz=0 Cal=0 SBA+ ITACoh- GART64-
HTrans- 64bit- FW+ AGP3- Rate=x1,x2,x4
Command: RQ=1 ArqSz=0 Cal=0 SBA+ AGP+ GART64- 64bit- FW+
Rate=x4

0000:00:01.0 Class 0604: 1022:700f
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-
Latency: 32
Bus: primary=00, secondary=01, subordinate=01, sec-latency=32
Memory behind bridge: f4000000-f5ffffff
Prefetchable memory behind bridge: e8000000-efffffff
BridgeCtl: Parity- SERR+ NoISA+ VGA+ MAbort- >Reset- FastB2B-

0000:00:07.0 Class 0601: 1106:0686 (rev 40)
Subsystem: 147b:a702
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-
Latency: 0
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-

0000:00:07.1 Class 0101: 1106:0571 (rev 06) (prog-if 8a [Master SecP
PriP])
Subsystem: 1106:0571
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-
Latency: 32
Region 4: I/O ports at c400 [size=16]
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-

0000:00:07.2 Class 0c03: 1106:3038 (rev 1a)
Subsystem: 0925:1234
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-
Latency: 32, cache line size 08
Interrupt: pin D routed to IRQ 9
Region 4: I/O ports at c800 [size=32]
Capabilities: [80] 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-

0000:00:07.3 Class 0c03: 1106:3038 (rev 1a)
Subsystem: 0925:1234
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-
Latency: 32, cache line size 08
Interrupt: pin D routed to IRQ 9
Region 4: I/O ports at cc00 [size=32]
Capabilities: [80] 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-

0000:00:07.4 Class 0c05: 1106:3057 (rev 40)
Subsystem: 1106:3057
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 ? routed to IRQ 11
Capabilities: [68] 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-

0000:00:09.0 Class 0400: 109e:036e (rev 11)
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+
Latency: 32 (4000ns min, 10000ns max)
Interrupt: pin A routed to IRQ 5
Region 0: Memory at f7000000 (32-bit, prefetchable)
Capabilities: [44] Vital Product Data
Capabilities: [4c] 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-

0000:00:09.1 Class 0480: 109e:0878 (rev 11)
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+
Latency: 32 (1000ns min, 63750ns max)
Interrupt: pin A routed to IRQ 5
Region 0: Memory at f7001000 (32-bit, prefetchable)
Capabilities: [44] Vital Product Data
Capabilities: [4c] 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-

0000:00:0b.0 Class 0401: 1102:0002 (rev 08)
Subsystem: 1102:8064
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-
Latency: 32 (500ns min, 5000ns max)
Interrupt: pin A routed to IRQ 9
Region 0: I/O ports at d000
Capabilities: [dc] 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-

0000:00:0b.1 Class 0980: 1102:7002 (rev 08)
Subsystem: 1102:0020
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-
Latency: 32
Region 0: I/O ports at d400
Capabilities: [dc] 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-

0000:00:0d.0 Class 0180: 1095:3112 (rev 02)
Subsystem: 1095:3112
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+
Latency: 32, cache line size 08
Interrupt: pin A routed to IRQ 11
Region 0: I/O ports at d800
Region 1: I/O ports at dc00 [size=4]
Region 2: I/O ports at e000 [size=8]
Region 3: I/O ports at e400 [size=4]
Region 4: I/O ports at e800 [size=16]
Region 5: Memory at f7002000 (32-bit, non-prefetchable) [size=512]
Capabilities: [60] Power Management version 2
Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=2 PME-

0000:00:0f.0 Class 0200: 10ec:8139 (rev 10)
Subsystem: 10ec:8139
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+
Latency: 32 (8000ns min, 16000ns max)
Interrupt: pin A routed to IRQ 11
Region 0: I/O ports at ec00
Region 1: Memory at f7004000 (32-bit, non-prefetchable) [size=256]
Capabilities: [50] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA
PME(D0-,D1+,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-

0000:01:05.0 Class 0300: 10de:0150 (rev a4)
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-
Latency: 248 (1250ns min, 250ns max)
Interrupt: pin A routed to IRQ 10
Region 0: Memory at f4000000 (32-bit, non-prefetchable)
Region 1: Memory at e8000000 (32-bit, prefetchable) [size=128M]
Capabilities: [60] Power Management version 1
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [44] AGP version 2.0
Status: RQ=32 Iso- ArqSz=0 Cal=0 SBA+ ITACoh- GART64-
HTrans- 64bit- FW+ AGP3- Rate=x1,x2,x4
Command: RQ=16 ArqSz=0 Cal=0 SBA+ AGP+ GART64- 64bit- FW+
Rate=x4

What do you think about this?

I will try new patch in the morning.


Thanks,

Grzegorz Kulewski

2005-03-13 15:15:02

by Grzegorz Kulewski

[permalink] [raw]
Subject: Re: [ACPI] Re: Fw: Anybody? 2.6.11 (stable and -rc) ACPI breaks USB

On Fri, 11 Mar 2005, Bjorn Helgaas wrote:

> Can you do an "lspci -vvn"? I'm looking at quirk_via_irqpic() in
> 2.6.9, which is what printed this:
>
>>> PCI: Via IRQ fixup for 0000:00:07.2, from 9 to 10
>>> PCI: Via IRQ fixup for 0000:00:07.3, from 9 to 10
>
> but it looks like it should only run for PCI_DEVICE_ID_VIA_82C586_2,
> PCI_DEVICE_ID_VIA_82C686_5, and PCI_DEVICE_ID_VIA_82C686_6.
>
> You have:
>
> 0000:00:07.0 ISA bridge: VIA Technologies, Inc. VT82C686 [Apollo Super South] (rev 40)
> 0000:00:07.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT8233/A/C/VT8235 PIPC Bus Master IDE (rev 06)
> 0000:00:07.2 USB Controller: VIA Technologies, Inc. USB (rev 1a) (prog-if 00 [UHCI])
> 0000:00:07.3 USB Controller: VIA Technologies, Inc. USB (rev 1a) (prog-if 00 [UHCI])
>
> and we apparently ran the quirk for 07.2 and 07.3. I wouldn't
> have thought those would have one of the above device IDs. The
> "lspci -vvn" should tell us for sure.
>
> 2.6.11 removed that quirk and runs quirk_via_bridge() for
> all VIA devices, but only sets via_interrupt_line_quirk if
> (pdev->devfn == 0), which you don't have. So that's why
> my patch didn't do anything.
>
>> Also two more questions:
>>
>> 1. What is VIA fixup? Is it some hardware bug? Or BIOS problem? Why is it
>> needed? On what hardware / software it is needed?
>
> I really don't know much about the VIA fixup. I just noticed
> that we seem to be doing it slightly differently in 2.6.11 than
> we did in 2.6.9, and thought maybe it was related to your problem.
> Here's a changeset that has a couple pointers:
>
> http://linux.bkbits.net:8080/linux-2.5/cset%4041cb9d48DRV4TYe77gvstTawuZFYyQ
>
>> 2. Why this patch shrinked bzImage that much:
>>
>> -rw-r--r-- 1 root root 1828186 mar 11 23:33 vmlinuz-2.6.11-cko1
>> -rw-r--r-- 1 root root 1828355 mar 2 20:48 vmlinuz-2.6.11-cko1.old
>
> I have no idea about this. But it's only a couple hundred bytes.
>
> So here's another patch to try (revert the first one, then apply this).
>
> ===== drivers/acpi/pci_irq.c 1.37 vs edited =====
> --- 1.37/drivers/acpi/pci_irq.c 2005-03-01 09:57:29 -07:00
> +++ edited/drivers/acpi/pci_irq.c 2005-03-11 15:13:49 -07:00
> @@ -30,6 +30,7 @@
> #include <linux/module.h>
> #include <linux/init.h>
> #include <linux/types.h>
> +#include <linux/delay.h>
> #include <linux/proc_fs.h>
> #include <linux/spinlock.h>
> #include <linux/pm.h>
> @@ -438,10 +439,17 @@
> }
> }
>
> - if (via_interrupt_line_quirk)
> - pci_write_config_byte(dev, PCI_INTERRUPT_LINE, irq & 15);
> -
> dev->irq = acpi_register_gsi(irq, edge_level, active_high_low);
> +
> + if (dev->vendor == PCI_VENDOR_ID_VIA) {
> + u8 old_irq, new_irq = dev->irq & 0xf;
> +
> + pci_read_config_byte(dev, PCI_INTERRUPT_LINE, &old_irq);
> + printk(KERN_INFO PREFIX "Via IRQ fixup for %s, from %d "
> + "to %d\n", pci_name(dev), old_irq, new_irq);
> + udelay(15);
> + pci_write_config_byte(dev, PCI_INTERRUPT_LINE, new_irq);
> + }
>
> printk(KERN_INFO PREFIX "PCI interrupt %s[%c] -> GSI %u "
> "(%s, %s) -> IRQ %d\n",
>

Ok, this patch works. Here is the log:

Mar 13 17:16:17 kangur Linux version 2.6.11-cko1 (root@kangur) (gcc
version 3.3.3 20040412 (Gentoo Linux 3.3.3-r6, ssp-3.3.2-2, pie-8.7.6)) #3
Sun Mar 13 17:10:10 CET 2005
Mar 13 17:16:17 kangur BIOS-provided physical RAM map:
Mar 13 17:16:17 kangur BIOS-e820: 0000000000000000 - 000000000009fc00
(usable)
Mar 13 17:16:17 kangur BIOS-e820: 000000000009fc00 - 00000000000a0000
(reserved)
Mar 13 17:16:17 kangur BIOS-e820: 00000000000f0000 - 0000000000100000
(reserved)
Mar 13 17:16:17 kangur BIOS-e820: 0000000000100000 - 000000001fff0000
(usable)
Mar 13 17:16:17 kangur BIOS-e820: 000000001fff0000 - 000000001fff3000
(ACPI NVS)
Mar 13 17:16:17 kangur BIOS-e820: 000000001fff3000 - 0000000020000000
(ACPI data)
Mar 13 17:16:17 kangur BIOS-e820: 00000000ffff0000 - 0000000100000000
(reserved)
Mar 13 17:16:17 kangur 511MB LOWMEM available.
Mar 13 17:16:17 kangur On node 0 totalpages: 131056
Mar 13 17:16:17 kangur DMA zone: 4096 pages, LIFO batch:1
Mar 13 17:16:17 kangur Normal zone: 126960 pages, LIFO batch:16
Mar 13 17:16:17 kangur HighMem zone: 0 pages, LIFO batch:1
Mar 13 17:16:17 kangur DMI 2.2 present.
Mar 13 17:16:17 kangur ACPI: RSDP (v000 761686
) @ 0x000f6a70
Mar 13 17:16:17 kangur ACPI: RSDT (v001 761686 AWRDACPI 0x42302e31 AWRD
0x00000000) @ 0x1fff3000
Mar 13 17:16:17 kangur ACPI: FADT (v001 761686 AWRDACPI 0x42302e31 AWRD
0x00000000) @ 0x1fff3040
Mar 13 17:16:17 kangur ACPI: DSDT (v001 761686 AWRDACPI 0x00001000 MSFT
0x0100000c) @ 0x00000000
Mar 13 17:16:17 kangur ACPI: PM-Timer IO Port: 0x4008
Mar 13 17:16:17 kangur Allocating PCI resources starting at 20000000 (gap:
20000000:dfff0000)
Mar 13 17:16:17 kangur Built 1 zonelists
Mar 13 17:16:17 kangur Kernel command line: ro root=/dev/hdb4
Mar 13 17:16:17 kangur Local APIC disabled by BIOS -- you can enable it
with "lapic"
Mar 13 17:16:17 kangur mapped APIC to ffffd000 (01402000)
Mar 13 17:16:17 kangur Initializing CPU#0
Mar 13 17:16:17 kangur CPU 0 irqstacks, hard=b0477000 soft=b0476000
Mar 13 17:16:17 kangur PID hash table entries: 2048 (order: 11, 32768
bytes)
Mar 13 17:16:17 kangur Detected 1203.036 MHz processor.
Mar 13 17:16:17 kangur Using pmtmr for high-res timesource
Mar 13 17:16:17 kangur Console: colour VGA+ 80x25
Mar 13 17:16:17 kangur Dentry cache hash table entries: 131072 (order: 7,
524288 bytes)
Mar 13 17:16:17 kangur Inode-cache hash table entries: 65536 (order: 6,
262144 bytes)
Mar 13 17:16:17 kangur Memory: 514940k/524224k available (2543k kernel
code, 8732k reserved, 819k data, 156k init, 0k highmem)
Mar 13 17:16:17 kangur Checking if this processor honours the WP bit even
in supervisor mode... Ok.
Mar 13 17:16:17 kangur Calibrating delay loop... 2375.68 BogoMIPS
(lpj=1187840)
Mar 13 17:16:17 kangur Security Framework v1.0.0 initialized
Mar 13 17:16:17 kangur Capability LSM initialized
Mar 13 17:16:17 kangur Mount-cache hash table entries: 512 (order: 0, 4096
bytes)
Mar 13 17:16:17 kangur CPU: After generic identify, caps: 0383f9ff
c1cbf9ff 00000000 00000000 00000000 00000000 00000000Mar 13 17:16:17
kangur CPU: After vendor identify, caps: 0383f9ff c1cbf9ff 00000000
00000000 00000000 00000000 00000000
Mar 13 17:16:17 kangur CPU: CLK_CTL MSR was 60071263. Reprogramming to
20071263
Mar 13 17:16:17 kangur CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K
(64 bytes/line)
Mar 13 17:16:17 kangur CPU: L2 Cache: 512K (64 bytes/line)
Mar 13 17:16:17 kangur CPU: After all inits, caps: 0383f9ff c1cbf9ff
00000000 00000020 00000000 00000000 00000000
Mar 13 17:16:17 kangur Intel machine check architecture supported.
Mar 13 17:16:17 kangur Intel machine check reporting enabled on CPU#0.
Mar 13 17:16:17 kangur CPU: AMD Unknown CPU Type stepping 00
Mar 13 17:16:17 kangur Enabling fast FPU save and restore... done.
Mar 13 17:16:17 kangur Enabling unmasked SIMD FPU exception support...
done.
Mar 13 17:16:17 kangur Checking 'hlt' instruction... OK.
Mar 13 17:16:17 kangur ACPI: setting ELCR to 0800 (from 0e20)
Mar 13 17:16:17 kangur NET: Registered protocol family 16
Mar 13 17:16:17 kangur PCI: PCI BIOS revision 2.10 entry at 0xfb690, last
bus=1
Mar 13 17:16:17 kangur PCI: Using configuration type 1
Mar 13 17:16:17 kangur mtrr: v2.0 (20020519)
Mar 13 17:16:17 kangur ACPI: Subsystem revision 20050211
Mar 13 17:16:17 kangur ACPI: Interpreter enabled
Mar 13 17:16:17 kangur ACPI: Using PIC for interrupt routing
Mar 13 17:16:17 kangur ACPI: PCI Root Bridge [PCI0] (00:00)
Mar 13 17:16:17 kangur PCI: Probing PCI hardware (bus 00)
Mar 13 17:16:17 kangur ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
Mar 13 17:16:17 kangur ACPI: PCI Interrupt Link [LNKA] (IRQs 1 3 4 5 6 7
*10 11 12 14 15)
Mar 13 17:16:17 kangur ACPI: PCI Interrupt Link [LNKB] (IRQs 1 3 4 5 6 7
10 *11 12 14 15)
Mar 13 17:16:17 kangur ACPI: PCI Interrupt Link [LNKC] (IRQs 1 3 4 *5 6 7
10 11 12 14 15)
Mar 13 17:16:17 kangur ACPI: PCI Interrupt Link [LNKD] (IRQs 1 3 4 5 6 7
10 11 12 14 15) *9
Mar 13 17:16:17 kangur Linux Plug and Play Support v0.97 (c) Adam Belay
Mar 13 17:16:17 kangur pnp: PnP ACPI init
Mar 13 17:16:17 kangur pnp: PnP ACPI: found 12 devices
Mar 13 17:16:17 kangur SCSI subsystem initialized
Mar 13 17:16:17 kangur PCI: Using ACPI for IRQ routing
Mar 13 17:16:17 kangur ** PCI interrupts are no longer routed
automatically. If this
Mar 13 17:16:17 kangur ** causes a device to stop working, it is probably
because the
Mar 13 17:16:17 kangur ** driver failed to call pci_enable_device(). As a
temporary
Mar 13 17:16:17 kangur ** workaround, the "pci=routeirq" argument restores
the old
Mar 13 17:16:17 kangur ** behavior. If this argument makes the device
work again,
Mar 13 17:16:17 kangur ** please email the output of "lspci" to
[email protected]
Mar 13 17:16:17 kangur ** so I can fix the driver.
Mar 13 17:16:17 kangur pnp: the driver 'system' has been registered
Mar 13 17:16:17 kangur pnp: match found with the PnP device '00:00' and
the driver 'system'
Mar 13 17:16:17 kangur pnp: match found with the PnP device '00:01' and
the driver 'system'
Mar 13 17:16:17 kangur Total HugeTLB memory allocated, 0
Mar 13 17:16:17 kangur VFS: Disk quotas dquot_6.5.1
Mar 13 17:16:17 kangur Dquot-cache hash table entries: 1024 (order 0, 4096
bytes)
Mar 13 17:16:17 kangur SGI XFS with ACLs, security attributes, realtime,
no debug enabled
Mar 13 17:16:17 kangur SGI XFS Quota Management subsystem
Mar 13 17:16:17 kangur Initializing Cryptographic API
Mar 13 17:16:17 kangur inotify device minor=63
Mar 13 17:16:17 kangur ACPI: PS/2 Keyboard Controller [PS2K] at I/O 0x60,
0x64, irq 1
Mar 13 17:16:17 kangur ACPI: PS/2 Mouse Controller [PS2M] at irq 12
Mar 13 17:16:17 kangur serio: i8042 AUX port at 0x60,0x64 irq 12
Mar 13 17:16:17 kangur serio: i8042 KBD port at 0x60,0x64 irq 1
Mar 13 17:16:17 kangur io scheduler noop registered
Mar 13 17:16:17 kangur io scheduler anticipatory registered
Mar 13 17:16:17 kangur io scheduler deadline registered
Mar 13 17:16:17 kangur io scheduler cfq registered
Mar 13 17:16:17 kangur 8139too Fast Ethernet driver 0.9.27
Mar 13 17:16:17 kangur ACPI: PCI Interrupt Link [LNKB] enabled at IRQ 11
Mar 13 17:16:17 kangur PCI: setting IRQ 11 as level-triggered
Mar 13 17:16:17 kangur ACPI: PCI interrupt 0000:00:0f.0[A] -> GSI 11
(level, low) -> IRQ 11
Mar 13 17:16:17 kangur eth0: RealTek RTL8139 at 0xec00, 00:06:4f:00:73:8b,
IRQ 11
Mar 13 17:16:17 kangur eth0: Identified 8139 chip type 'RTL-8139C'
Mar 13 17:16:17 kangur Uniform Multi-Platform E-IDE driver Revision:
7.00alpha2
Mar 13 17:16:17 kangur ide: Assuming 33MHz system bus speed for PIO modes;
override with idebus=xx
Mar 13 17:16:17 kangur VP_IDE: IDE controller at PCI slot 0000:00:07.1
Mar 13 17:16:17 kangur VP_IDE: chipset revision 6
Mar 13 17:16:17 kangur VP_IDE: not 100% native mode: will probe irqs later
Mar 13 17:16:17 kangur VP_IDE: VIA vt82c686b (rev 40) IDE UDMA100
controller on pci0000:00:07.1
Mar 13 17:16:17 kangur ide0: BM-DMA at 0xc400-0xc407, BIOS settings:
hda:pio, hdb:DMA
Mar 13 17:16:17 kangur ide1: BM-DMA at 0xc408-0xc40f, BIOS settings:
hdc:pio, hdd:DMA
Mar 13 17:16:17 kangur Probing IDE interface ide0...
Mar 13 17:16:17 kangur hdb: SAMSUNG SV3063H, ATA DISK drive
Mar 13 17:16:17 kangur ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
Mar 13 17:16:17 kangur Probing IDE interface ide1...
Mar 13 17:16:17 kangur hdd: HL-DT-ST DVDRAM GSA-4082B, ATAPI CD/DVD-ROM
drive
Mar 13 17:16:17 kangur ide1 at 0x170-0x177,0x376 on irq 15
Mar 13 17:16:17 kangur pnp: the driver 'ide' has been registered
Mar 13 17:16:17 kangur hdb: max request size: 128KiB
Mar 13 17:16:17 kangur hdb: 59797584 sectors (30616 MB) w/426KiB Cache,
CHS=59323/16/63, UDMA(100)
Mar 13 17:16:17 kangur hdb: cache flushes not supported
Mar 13 17:16:17 kangur hdb: hdb1 hdb2 hdb3 hdb4
Mar 13 17:16:17 kangur libata version 1.10 loaded.
Mar 13 17:16:17 kangur sata_sil version 0.8
Mar 13 17:16:17 kangur ACPI: PCI interrupt 0000:00:0d.0[A] -> GSI 11
(level, low) -> IRQ 11
Mar 13 17:16:17 kangur ata1: SATA max UDMA/100 cmd 0xD0802080 ctl
0xD080208A bmdma 0xD0802000 irq 11
Mar 13 17:16:17 kangur ata2: SATA max UDMA/100 cmd 0xD08020C0 ctl
0xD08020CA bmdma 0xD0802008 irq 11
Mar 13 17:16:17 kangur ata1: dev 0 cfg 49:2f00 82:346b 83:7f61 84:4003
85:3469 86:3c41 87:4003 88:207f
Mar 13 17:16:17 kangur ata1: dev 0 ATA, max UDMA/133, 312581808 sectors:
lba48
Mar 13 17:16:17 kangur ata1: dev 0 configured for UDMA/100
Mar 13 17:16:17 kangur scsi0 : sata_sil
Mar 13 17:16:17 kangur ata2: no device found (phy stat 00000000)
Mar 13 17:16:17 kangur scsi1 : sata_sil
Mar 13 17:16:17 kangur Vendor: ATA Model: WDC WD1600JD-00H Rev:
08.0
Mar 13 17:16:17 kangur Type: Direct-Access ANSI
SCSI revision: 05
Mar 13 17:16:17 kangur SCSI device sda: 312581808 512-byte hdwr sectors
(160042 MB)
Mar 13 17:16:17 kangur SCSI device sda: drive cache: write back
Mar 13 17:16:17 kangur SCSI device sda: 312581808 512-byte hdwr sectors
(160042 MB)
Mar 13 17:16:17 kangur SCSI device sda: drive cache: write back
Mar 13 17:16:17 kangur sda: sda1 sda2 sda3 sda4 < sda5 sda6 sda7 sda8 sda9
sda10 sda11 sda12 sda13 sda14 sda15 >
Mar 13 17:16:17 kangur Attached scsi disk sda at scsi0, channel 0, id 0,
lun 0
Mar 13 17:16:17 kangur mice: PS/2 mouse device common for all mice
Mar 13 17:16:17 kangur input: AT Translated Set 2 keyboard on
isa0060/serio0
Mar 13 17:16:17 kangur NET: Registered protocol family 2
Mar 13 17:16:17 kangur IP: routing cache hash table of 4096 buckets,
32Kbytes
Mar 13 17:16:17 kangur TCP established hash table entries: 32768 (order:
6, 262144 bytes)
Mar 13 17:16:17 kangur TCP bind hash table entries: 32768 (order: 5,
131072 bytes)
Mar 13 17:16:17 kangur TCP: Hash tables configured (established 32768 bind
32768)
Mar 13 17:16:17 kangur ip_conntrack version 2.1 (4095 buckets, 32760 max)
- 216 bytes per conntrack
Mar 13 17:16:17 kangur ip_tables: (C) 2000-2002 Netfilter core team
Mar 13 17:16:17 kangur ipt_recent v0.3.1: Stephen Frost
<[email protected]>. http://snowman.net/projects/ipt_recent/
Mar 13 17:16:17 kangur arp_tables: (C) 2002 David S. Miller
Mar 13 17:16:17 kangur NET: Registered protocol family 17
Mar 13 17:16:17 kangur ACPI wakeup devices:
Mar 13 17:16:17 kangur SLPB PCI0 USB0 USB1
Mar 13 17:16:17 kangur ACPI: (supports S0 S1 S4 S5)
Mar 13 17:16:17 kangur kjournald starting. Commit interval 5 seconds
Mar 13 17:16:17 kangur EXT3-fs: mounted filesystem with ordered data mode.
Mar 13 17:16:17 kangur VFS: Mounted root (ext3 filesystem) readonly.
Mar 13 17:16:17 kangur Freeing unused kernel memory: 156k freed
Mar 13 17:16:17 kangur NET: Registered protocol family 1
Mar 13 17:16:17 kangur EXT3 FS on hdb4, internal journal
Mar 13 17:16:17 kangur NET: Registered protocol family 8
Mar 13 17:16:17 kangur NET: Registered protocol family 20
Mar 13 17:16:17 kangur CSLIP: code copyright 1989 Regents of the
University of California
Mar 13 17:16:17 kangur PPP generic driver version 2.4.2
Mar 13 17:16:17 kangur input: PS/2 Generic Mouse on isa0060/serio1
Mar 13 17:16:17 kangur input: PC Speaker
Mar 13 17:16:17 kangur loop: loaded (max 8 devices)
Mar 13 17:16:17 kangur Non-volatile memory driver v1.2
Mar 13 17:16:17 kangur BIOS EDD facility v0.16 2004-Jun-25, 2 devices
found
Mar 13 17:16:17 kangur vesafb: NVidia Corporation, NV15 Reference Board,
Chip Rev A0 (OEM: NVidia)
Mar 13 17:16:17 kangur vesafb: VBE version: 3.0
Mar 13 17:16:17 kangur vesafb: protected mode interface info at c000:0f03
Mar 13 17:16:17 kangur vesafb: pmi: set display start = b00c0f3c, set
palette = b00c0fb2
Mar 13 17:16:17 kangur vesafb: pmi: ports = 3b4 3b5 3ba 3c0 3c1 3c4 3c5
3c6 3c7 3c8 3c9 3cc 3ce 3cf 3d0 3d1 3d2 3d3 3d4 3d5 3da
Mar 13 17:16:17 kangur vesafb: hardware supports DCC2 transfers
Mar 13 17:16:17 kangur vesafb: monitor limits: vf = 85 Hz, hf = 64 kHz,
clk = 108 MHz
Mar 13 17:16:17 kangur vesafb: scrolling: redraw
Mar 13 17:16:17 kangur vesafb: framebuffer at 0xe8000000, mapped to
0xd0900000, using 6144k, total 65536k
Mar 13 17:16:17 kangur fb0: VESA VGA frame buffer device
Mar 13 17:16:17 kangur Console: switching to colour frame buffer device
128x48
Mar 13 17:16:17 kangur device-mapper: 4.4.0-ioctl (2005-01-12)
initialised: [email protected]
Mar 13 17:16:17 kangur NTFS driver 2.1.22 [Flags: R/O MODULE].
Mar 13 17:16:17 kangur NTFS volume version 3.1.
Mar 13 17:16:17 kangur NTFS volume version 3.1.
Mar 13 17:16:17 kangur usbcore: registered new driver usbfs
Mar 13 17:16:17 kangur usbcore: registered new driver hub
Mar 13 17:16:17 kangur ACPI: PCI Interrupt Link [LNKD] enabled at IRQ 10
Mar 13 17:16:17 kangur PCI: setting IRQ 10 as level-triggered
Mar 13 17:16:17 kangur ACPI: PCI interrupt 0000:00:0b.0[A] -> GSI 10
(level, low) -> IRQ 10
Mar 13 17:16:17 kangur parport_pc: VIA 686A/8231 detected
Mar 13 17:16:17 kangur parport_pc: probing current configuration
Mar 13 17:16:17 kangur parport_pc: Current parallel port base: 0x378
Mar 13 17:16:17 kangur parport_pc: Strange, can't probe VIA parallel port:
io=0x378, irq=7, dma=-1
Mar 13 17:16:17 kangur pnp: the driver 'parport_pc' has been registered
Mar 13 17:16:17 kangur pnp: match found with the PnP device '00:09' and
the driver 'parport_pc'
Mar 13 17:16:17 kangur parport: PnPBIOS parport detected.
Mar 13 17:16:17 kangur parport0: PC-style at 0x378, irq 7 [PCSPP(,...)]
Mar 13 17:16:17 kangur USB Universal Host Controller Interface driver v2.2
Mar 13 17:16:17 kangur ACPI: Via IRQ fixup for 0000:00:07.2, from 9 to 10
Mar 13 17:16:17 kangur ACPI: PCI interrupt 0000:00:07.2[D] -> GSI 10
(level, low) -> IRQ 10
Mar 13 17:16:17 kangur uhci_hcd 0000:00:07.2: UHCI Host Controller
Mar 13 17:16:17 kangur uhci_hcd 0000:00:07.2: irq 10, io base 0xc800
Mar 13 17:16:17 kangur uhci_hcd 0000:00:07.2: new USB bus registered,
assigned bus number 1
Mar 13 17:16:17 kangur hub 1-0:1.0: USB hub found
Mar 13 17:16:17 kangur hub 1-0:1.0: 2 ports detected
Mar 13 17:16:17 kangur ACPI: Via IRQ fixup for 0000:00:07.3, from 9 to 10
Mar 13 17:16:17 kangur ACPI: PCI interrupt 0000:00:07.3[D] -> GSI 10
(level, low) -> IRQ 10
Mar 13 17:16:17 kangur uhci_hcd 0000:00:07.3: UHCI Host Controller
Mar 13 17:16:17 kangur uhci_hcd 0000:00:07.3: irq 10, io base 0xcc00
Mar 13 17:16:17 kangur uhci_hcd 0000:00:07.3: new USB bus registered,
assigned bus number 2
Mar 13 17:16:17 kangur hub 2-0:1.0: USB hub found
Mar 13 17:16:17 kangur hub 2-0:1.0: 2 ports detected
Mar 13 17:16:17 kangur usb 1-2: new full speed USB device using uhci_hcd
and address 2
Mar 13 17:16:17 kangur Linux video capture interface: v1.00
Mar 13 17:16:17 kangur bttv: driver version 0.9.15 loaded
Mar 13 17:16:17 kangur bttv: using 32 buffers with 2080k (520 pages) each
for capture
Mar 13 17:16:17 kangur bttv: Bt8xx card found (0).
Mar 13 17:16:17 kangur ACPI: PCI Interrupt Link [LNKC] enabled at IRQ 5
Mar 13 17:16:17 kangur PCI: setting IRQ 5 as level-triggered
Mar 13 17:16:17 kangur ACPI: PCI interrupt 0000:00:09.0[A] -> GSI 5
(level, low) -> IRQ 5
Mar 13 17:16:17 kangur bttv0: Bt878 (rev 17) at 0000:00:09.0, irq: 5,
latency: 32, mmio: 0xf7000000
Mar 13 17:16:17 kangur bttv0: using: Prolink Pixelview PV-BT878P+
(Rev.4C,8E) [card=70,insmod option]
Mar 13 17:16:17 kangur bttv0: gpio: en=00000000, out=00000000 in=00ffc0ff
[init]
Mar 13 17:16:17 kangur bttv0: using tuner=25
Mar 13 17:16:17 kangur bttv0: i2c: checking for MSP34xx @ 0x80... not
found
Mar 13 17:16:17 kangur bttv0: i2c: checking for TDA9875 @ 0xb0... not
found
Mar 13 17:16:17 kangur bttv0: i2c: checking for TDA7432 @ 0x8a... not
found
Mar 13 17:16:17 kangur tvaudio: TV audio decoder + audio/video mux driver
Mar 13 17:16:17 kangur tvaudio: known chips:
tda9840,tda9873h,tda9874h/a,tda9850,tda9855,tea6300,tea6320,tea6420,tda8425,pic16c54
(PV951),ta8874z
Mar 13 17:16:17 kangur bttv0: i2c: checking for TDA9887 @ 0x86... not
found
Mar 13 17:16:17 kangur tuner 0-0061: chip found @ 0xc2 (bt878 #0 [sw])
Mar 13 17:16:17 kangur tuner 0-0061: type set to 25 (LG PAL_I+FM
(TAPC-I001D))
Mar 13 17:16:17 kangur bttv0: registered device video0
Mar 13 17:16:17 kangur bttv0: registered device vbi0
Mar 13 17:16:17 kangur bttv0: registered device radio0
Mar 13 17:16:17 kangur bttv0: PLL: 28636363 => 35468950 .. ok
Mar 13 17:16:17 kangur bttv0: add subdevice "remote0"
Mar 13 17:16:17 kangur usb 1-2: modprobe timed out on ep0in
Mar 13 17:16:17 kangur usbcore: registered new driver speedtch
Mar 13 17:16:17 kangur usb 1-2: found stage 1 firmware speedtch-1.bin
Mar 13 17:16:17 kangur gameport: pci0000:00:0b.1 speed 1242 kHz
Mar 13 17:16:17 kangur nvidia: module license 'NVIDIA' taints kernel.
Mar 13 17:16:17 kangur ACPI: PCI Interrupt Link [LNKA] enabled at IRQ 10
Mar 13 17:16:17 kangur ACPI: PCI interrupt 0000:01:05.0[A] -> GSI 10
(level, low) -> IRQ 10
Mar 13 17:16:17 kangur NVRM: loading NVIDIA Linux x86 NVIDIA Kernel Module
1.0-6629 Wed Nov 3 13:12:51 PST 2004
Mar 13 17:16:17 kangur usb 1-2: found stage 2 firmware speedtch-2.bin
Mar 13 17:16:17 kangur Real Time Clock Driver v1.12
Mar 13 17:16:17 kangur Floppy drive(s): fd0 is 1.44M
Mar 13 17:16:17 kangur FDC 0 is a post-1991 82077
Mar 13 17:16:17 kangur Serial: 8250/16550 driver $Revision: 1.90 $ 8
ports, IRQ sharing disabled
Mar 13 17:16:17 kangur ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
Mar 13 17:16:17 kangur ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
Mar 13 17:16:17 kangur pnp: the driver 'serial' has been registered
Mar 13 17:16:17 kangur pnp: match found with the PnP device '00:07' and
the driver 'serial'
Mar 13 17:16:17 kangur ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
Mar 13 17:16:17 kangur pnp: match found with the PnP device '00:08' and
the driver 'serial'
Mar 13 17:16:17 kangur ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
Mar 13 17:16:17 kangur ADSL line is synchronising
Mar 13 17:16:19 kangur eth0: link down
Mar 13 17:16:19 kangur eth0: link down
Mar 13 17:16:20 kangur NET: Registered protocol family 10
Mar 13 17:16:20 kangur Disabled Privacy Extensions on device b03e7aa0(lo)
Mar 13 17:16:20 kangur IPv6 over IPv4 tunneling driver


It generated the following warning:
CC drivers/acpi/pci_irq.o
drivers/acpi/pci_irq.c: In function `acpi_pci_irq_enable':
drivers/acpi/pci_irq.c:392: warning: unused variable
`via_interrupt_line_quirk'

(I think this warning is new).

The lspci:

# lspci -vvn
0000:00:00.0 Class 0600: 1022:700e (rev 13)
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-
Latency: 32
Region 0: Memory at f0000000 (32-bit, prefetchable)
Region 1: Memory at f7003000 (32-bit, prefetchable) [size=4K]
Region 2: I/O ports at c000 [disabled] [size=4]
Capabilities: [a0] AGP version 2.0
Status: RQ=16 Iso- ArqSz=0 Cal=0 SBA+ ITACoh- GART64-
HTrans- 64bit- FW+ AGP3- Rate=x1,x2,x4
Command: RQ=1 ArqSz=0 Cal=0 SBA+ AGP+ GART64- 64bit- FW+
Rate=x4

0000:00:01.0 Class 0604: 1022:700f
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-
Latency: 32
Bus: primary=00, secondary=01, subordinate=01, sec-latency=32
Memory behind bridge: f4000000-f5ffffff
Prefetchable memory behind bridge: e8000000-efffffff
BridgeCtl: Parity- SERR+ NoISA+ VGA+ MAbort- >Reset- FastB2B-

0000:00:07.0 Class 0601: 1106:0686 (rev 40)
Subsystem: 147b:a702
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-
Latency: 0
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-

0000:00:07.1 Class 0101: 1106:0571 (rev 06) (prog-if 8a [Master SecP
PriP])
Subsystem: 1106:0571
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-
Latency: 32
Region 4: I/O ports at c400 [size=16]
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-

0000:00:07.2 Class 0c03: 1106:3038 (rev 1a)
Subsystem: 0925:1234
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-
Latency: 32, cache line size 08
Interrupt: pin D routed to IRQ 10
Region 4: I/O ports at c800 [size=32]
Capabilities: [80] 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-

0000:00:07.3 Class 0c03: 1106:3038 (rev 1a)
Subsystem: 0925:1234
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-
Latency: 32, cache line size 08
Interrupt: pin D routed to IRQ 10
Region 4: I/O ports at cc00 [size=32]
Capabilities: [80] 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-

0000:00:07.4 Class 0c05: 1106:3057 (rev 40)
Subsystem: 1106:3057
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 ? routed to IRQ 11
Capabilities: [68] 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-

0000:00:09.0 Class 0400: 109e:036e (rev 11)
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+
Latency: 32 (4000ns min, 10000ns max)
Interrupt: pin A routed to IRQ 5
Region 0: Memory at f7000000 (32-bit, prefetchable)
Capabilities: [44] Vital Product Data
Capabilities: [4c] 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-

0000:00:09.1 Class 0480: 109e:0878 (rev 11)
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+
Latency: 32 (1000ns min, 63750ns max)
Interrupt: pin A routed to IRQ 5
Region 0: Memory at f7001000 (32-bit, prefetchable)
Capabilities: [44] Vital Product Data
Capabilities: [4c] 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-

0000:00:0b.0 Class 0401: 1102:0002 (rev 08)
Subsystem: 1102:8064
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-
Latency: 32 (500ns min, 5000ns max)
Interrupt: pin A routed to IRQ 10
Region 0: I/O ports at d000
Capabilities: [dc] 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-

0000:00:0b.1 Class 0980: 1102:7002 (rev 08)
Subsystem: 1102:0020
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-
Latency: 32
Region 0: I/O ports at d400
Capabilities: [dc] 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-

0000:00:0d.0 Class 0180: 1095:3112 (rev 02)
Subsystem: 1095:3112
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+
Latency: 32, cache line size 08
Interrupt: pin A routed to IRQ 11
Region 0: I/O ports at d800
Region 1: I/O ports at dc00 [size=4]
Region 2: I/O ports at e000 [size=8]
Region 3: I/O ports at e400 [size=4]
Region 4: I/O ports at e800 [size=16]
Region 5: Memory at f7002000 (32-bit, non-prefetchable) [size=512]
Capabilities: [60] Power Management version 2
Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=2 PME-

0000:00:0f.0 Class 0200: 10ec:8139 (rev 10)
Subsystem: 10ec:8139
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+
Latency: 32 (8000ns min, 16000ns max)
Interrupt: pin A routed to IRQ 11
Region 0: I/O ports at ec00
Region 1: Memory at f7004000 (32-bit, non-prefetchable) [size=256]
Capabilities: [50] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA
PME(D0-,D1+,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-

0000:01:05.0 Class 0300: 10de:0150 (rev a4)
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-
Latency: 248 (1250ns min, 250ns max)
Interrupt: pin A routed to IRQ 10
Region 0: Memory at f4000000 (32-bit, non-prefetchable)
Region 1: Memory at e8000000 (32-bit, prefetchable) [size=128M]
Capabilities: [60] Power Management version 1
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [44] AGP version 2.0
Status: RQ=32 Iso- ArqSz=0 Cal=0 SBA+ ITACoh- GART64-
HTrans- 64bit- FW+ AGP3- Rate=x1,x2,x4
Command: RQ=16 ArqSz=0 Cal=0 SBA+ AGP+ GART64- 64bit- FW+
Rate=x4


To me everything works (at least now). Can this patch be pushed into
2.6.12 and/or 2.6.11.4 fast?


Thanks,

Grzegorz Kulewski

2005-03-15 19:43:03

by Bjorn Helgaas

[permalink] [raw]
Subject: Re: [ACPI] Re: Fw: Anybody? 2.6.11 (stable and -rc) ACPI breaks USB

On Sun, 2005-03-13 at 16:14 +0100, Grzegorz Kulewski wrote:
> On Fri, 11 Mar 2005, Bjorn Helgaas wrote:
> > So here's another patch to try (revert the first one, then apply this).
> >
> > ===== drivers/acpi/pci_irq.c 1.37 vs edited =====
> > --- 1.37/drivers/acpi/pci_irq.c 2005-03-01 09:57:29 -07:00
> > +++ edited/drivers/acpi/pci_irq.c 2005-03-11 15:13:49 -07:00
> > @@ -438,10 +439,17 @@
> > }
> > }
> >
> > - if (via_interrupt_line_quirk)
> > - pci_write_config_byte(dev, PCI_INTERRUPT_LINE, irq & 15);
> > -
> > dev->irq = acpi_register_gsi(irq, edge_level, active_high_low);
> > +
> > + if (dev->vendor == PCI_VENDOR_ID_VIA) {
> > + u8 old_irq, new_irq = dev->irq & 0xf;
> > +
> > + pci_read_config_byte(dev, PCI_INTERRUPT_LINE, &old_irq);
> > + printk(KERN_INFO PREFIX "Via IRQ fixup for %s, from %d "
> > + "to %d\n", pci_name(dev), old_irq, new_irq);
> > + udelay(15);
> > + pci_write_config_byte(dev, PCI_INTERRUPT_LINE, new_irq);
> > + }
> >
> > printk(KERN_INFO PREFIX "PCI interrupt %s[%c] -> GSI %u "
> > "(%s, %s) -> IRQ %d\n",
> >

> Ok, this patch works. Here is the log:
> Mar 13 17:16:17 kangur USB Universal Host Controller Interface driver v2.2
> Mar 13 17:16:17 kangur ACPI: Via IRQ fixup for 0000:00:07.2, from 9 to 10
> Mar 13 17:16:17 kangur ACPI: PCI interrupt 0000:00:07.2[D] -> GSI 10
> (level, low) -> IRQ 10
> Mar 13 17:16:17 kangur uhci_hcd 0000:00:07.2: UHCI Host Controller
> Mar 13 17:16:17 kangur uhci_hcd 0000:00:07.2: irq 10, io base 0xc800
> Mar 13 17:16:17 kangur uhci_hcd 0000:00:07.2: new USB bus registered,
> assigned bus number 1
> Mar 13 17:16:17 kangur hub 1-0:1.0: USB hub found
> Mar 13 17:16:17 kangur hub 1-0:1.0: 2 ports detected
> Mar 13 17:16:17 kangur ACPI: Via IRQ fixup for 0000:00:07.3, from 9 to 10
> Mar 13 17:16:17 kangur ACPI: PCI interrupt 0000:00:07.3[D] -> GSI 10
> (level, low) -> IRQ 10

> To me everything works (at least now). Can this patch be pushed into
> 2.6.12 and/or 2.6.11.4 fast?

The patch I sent you was just for debugging -- I think we can come
up with a cleaner fix.

I think the INTERRUPT_LINE write should actually happen in a
pci_enable_device() fixup. Then we could get rid of all gunk
in pirq_enable_irq() and acpi_pci_irq_enable().

Something like the following will probably work for you, Grzegorz,
but I expect that it won't be enough for somebody with a Via
northbridge.

The previous quirk_via_bridge() says "if the system contains any
Via device with devfn==0, then do the INTERRUPT_LINE fixup for
every PCI device in the system, regardless of what the Via
device is or where it is relative to the current device."

That seems awfully suspicious to me. So the following is
probably safe as far as it goes, but not sufficient for all
cases.

Shaohua, Len, Zwane? This is related to
http://bugzilla.kernel.org/show_bug.cgi?id=3319

===== arch/i386/pci/irq.c 1.55 vs edited =====
--- 1.55/arch/i386/pci/irq.c 2005-02-07 22:39:15 -07:00
+++ edited/arch/i386/pci/irq.c 2005-03-15 10:11:44 -07:00
@@ -1026,7 +1026,6 @@
static int pirq_enable_irq(struct pci_dev *dev)
{
u8 pin;
- extern int via_interrupt_line_quirk;
struct pci_dev *temp_dev;

pci_read_config_byte(dev, PCI_INTERRUPT_PIN, &pin);
@@ -1081,10 +1080,6 @@
printk(KERN_WARNING "PCI: No IRQ known for interrupt pin %c of device %s.%s\n",
'A' + pin, pci_name(dev), msg);
}
- /* VIA bridges use interrupt line for apic/pci steering across
- the V-Link */
- else if (via_interrupt_line_quirk)
- pci_write_config_byte(dev, PCI_INTERRUPT_LINE, dev->irq & 15);
return 0;
}

===== drivers/acpi/pci_irq.c 1.37 vs edited =====
--- 1.37/drivers/acpi/pci_irq.c 2005-03-01 09:57:29 -07:00
+++ edited/drivers/acpi/pci_irq.c 2005-03-15 10:10:57 -07:00
@@ -388,7 +388,6 @@
u8 pin = 0;
int edge_level = ACPI_LEVEL_SENSITIVE;
int active_high_low = ACPI_ACTIVE_LOW;
- extern int via_interrupt_line_quirk;

ACPI_FUNCTION_TRACE("acpi_pci_irq_enable");

@@ -437,9 +436,6 @@
return_VALUE(0);
}
}
-
- if (via_interrupt_line_quirk)
- pci_write_config_byte(dev, PCI_INTERRUPT_LINE, irq & 15);

dev->irq = acpi_register_gsi(irq, edge_level, active_high_low);

===== drivers/pci/quirks.c 1.72 vs edited =====
--- 1.72/drivers/pci/quirks.c 2005-03-10 01:38:25 -07:00
+++ edited/drivers/pci/quirks.c 2005-03-15 12:15:00 -07:00
@@ -683,19 +683,23 @@
}
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82454NX, quirk_disable_pxb );

-/*
- * VIA northbridges care about PCI_INTERRUPT_LINE
- */
-int via_interrupt_line_quirk;
-
-static void __devinit quirk_via_bridge(struct pci_dev *pdev)
+static void __devinit quirk_via_irqpic(struct pci_dev *dev)
{
- if(pdev->devfn == 0) {
- printk(KERN_INFO "PCI: Via IRQ fixup\n");
- via_interrupt_line_quirk = 1;
+ u8 irq, new_irq = dev->irq & 0xf;
+
+ pci_read_config_byte(dev, PCI_INTERRUPT_LINE, &irq);
+ if (new_irq != irq) {
+ printk(KERN_INFO "PCI: Via IRQ fixup for %s, from %d to %d\n",
+ pci_name(dev), irq, new_irq);
+ udelay(15);
+ pci_write_config_byte(dev, PCI_INTERRUPT_LINE, new_irq);
}
}
-DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_VIA, PCI_ANY_ID, quirk_via_bridge );
+DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_2, quirk_via_irqpic);
+DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686_5, quirk_via_irqpic);
+DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686_6, quirk_via_irqpic);
+DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8233_5, quirk_via_irqpic);
+DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8233_7, quirk_via_irqpic);

/*
* Serverworks CSB5 IDE does not fully support native mode


2005-03-15 23:05:06

by Zwane Mwaikambo

[permalink] [raw]
Subject: Re: [ACPI] Re: Fw: Anybody? 2.6.11 (stable and -rc) ACPI breaks USB

Hi Bjorn,

On Tue, 15 Mar 2005, Bjorn Helgaas wrote:

> That seems awfully suspicious to me. So the following is
> probably safe as far as it goes, but not sufficient for all
> cases.

VIA bridges allow for IRQ routing updates by programming
PCI_INTERRUPT_LINE, so it is supposed to work even if we do it for all the
devices, so it appears to be a board/bios specific problem.

> Shaohua, Len, Zwane? This is related to
> http://bugzilla.kernel.org/show_bug.cgi?id=3319
>
> ===== arch/i386/pci/irq.c 1.55 vs edited =====
> --- 1.55/arch/i386/pci/irq.c 2005-02-07 22:39:15 -07:00
> +++ edited/arch/i386/pci/irq.c 2005-03-15 10:11:44 -07:00
> @@ -1026,7 +1026,6 @@
> static int pirq_enable_irq(struct pci_dev *dev)
> {
> u8 pin;
> - extern int via_interrupt_line_quirk;
> struct pci_dev *temp_dev;
>
> pci_read_config_byte(dev, PCI_INTERRUPT_PIN, &pin);
> @@ -1081,10 +1080,6 @@
> printk(KERN_WARNING "PCI: No IRQ known for interrupt pin %c of device %s.%s\n",
> 'A' + pin, pci_name(dev), msg);
> }
> - /* VIA bridges use interrupt line for apic/pci steering across
> - the V-Link */
> - else if (via_interrupt_line_quirk)
> - pci_write_config_byte(dev, PCI_INTERRUPT_LINE, dev->irq & 15);
> return 0;
> }
>
> ===== drivers/acpi/pci_irq.c 1.37 vs edited =====
> --- 1.37/drivers/acpi/pci_irq.c 2005-03-01 09:57:29 -07:00
> +++ edited/drivers/acpi/pci_irq.c 2005-03-15 10:10:57 -07:00
> @@ -388,7 +388,6 @@
> u8 pin = 0;
> int edge_level = ACPI_LEVEL_SENSITIVE;
> int active_high_low = ACPI_ACTIVE_LOW;
> - extern int via_interrupt_line_quirk;
>
> ACPI_FUNCTION_TRACE("acpi_pci_irq_enable");
>
> @@ -437,9 +436,6 @@
> return_VALUE(0);
> }
> }
> -
> - if (via_interrupt_line_quirk)
> - pci_write_config_byte(dev, PCI_INTERRUPT_LINE, irq & 15);
>
> dev->irq = acpi_register_gsi(irq, edge_level, active_high_low);
>
> ===== drivers/pci/quirks.c 1.72 vs edited =====
> --- 1.72/drivers/pci/quirks.c 2005-03-10 01:38:25 -07:00
> +++ edited/drivers/pci/quirks.c 2005-03-15 12:15:00 -07:00
> @@ -683,19 +683,23 @@
> }
> DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82454NX, quirk_disable_pxb );
>
> -/*
> - * VIA northbridges care about PCI_INTERRUPT_LINE
> - */
> -int via_interrupt_line_quirk;
> -
> -static void __devinit quirk_via_bridge(struct pci_dev *pdev)
> +static void __devinit quirk_via_irqpic(struct pci_dev *dev)
> {
> - if(pdev->devfn == 0) {
> - printk(KERN_INFO "PCI: Via IRQ fixup\n");
> - via_interrupt_line_quirk = 1;
> + u8 irq, new_irq = dev->irq & 0xf;
> +
> + pci_read_config_byte(dev, PCI_INTERRUPT_LINE, &irq);
> + if (new_irq != irq) {
> + printk(KERN_INFO "PCI: Via IRQ fixup for %s, from %d to %d\n",
> + pci_name(dev), irq, new_irq);
> + udelay(15);
> + pci_write_config_byte(dev, PCI_INTERRUPT_LINE, new_irq);
> }
> }
> -DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_VIA, PCI_ANY_ID, quirk_via_bridge );
> +DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_2, quirk_via_irqpic);
> +DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686_5, quirk_via_irqpic);
> +DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686_6, quirk_via_irqpic);
> +DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8233_5, quirk_via_irqpic);
> +DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8233_7, quirk_via_irqpic);

This looks like it'll only affect the PCI device associated with the
listed south bridges, which might break systems which relied on the per
device setting. Your 'debug' patch actually made sense to me, that is,
moving the PCI_INTERRUPT_LINE fixup at gsi register.

Thanks,
Zwane

2005-03-16 16:11:38

by Bjorn Helgaas

[permalink] [raw]
Subject: Re: [ACPI] Re: Fw: Anybody? 2.6.11 (stable and -rc) ACPI breaks USB

On Tue, 2005-03-15 at 16:02 -0700, Zwane Mwaikambo wrote:
> On Tue, 15 Mar 2005, Bjorn Helgaas wrote:
> > That seems awfully suspicious to me. So the following is
> > probably safe as far as it goes, but not sufficient for all
> > cases.
>
> VIA bridges allow for IRQ routing updates by programming
> PCI_INTERRUPT_LINE, so it is supposed to work even if we do it for all the
> devices, so it appears to be a board/bios specific problem.

This just feels like a sledgehammer approach, i.e., we're
programming PCI_INTERRUPT_LINE in more cases that we actually
need to. I especially don't like that any Via device with
devfn==0 triggers the quirk. That doesn't seem like the
right test if we're really looking for a Via bridge.

> > -static void __devinit quirk_via_bridge(struct pci_dev *pdev)
> > +static void __devinit quirk_via_irqpic(struct pci_dev *dev)
> > {
> > - if(pdev->devfn == 0) {
> > - printk(KERN_INFO "PCI: Via IRQ fixup\n");
> > - via_interrupt_line_quirk = 1;
> > + u8 irq, new_irq = dev->irq & 0xf;
> > +
> > + pci_read_config_byte(dev, PCI_INTERRUPT_LINE, &irq);
> > + if (new_irq != irq) {
> > + printk(KERN_INFO "PCI: Via IRQ fixup for %s, from %d to %d\n",
> > + pci_name(dev), irq, new_irq);
> > + udelay(15);
> > + pci_write_config_byte(dev, PCI_INTERRUPT_LINE, new_irq);
> > }
> > }
> > -DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_VIA, PCI_ANY_ID, quirk_via_bridge );
> > +DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_2, quirk_via_irqpic);
> > +DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686_5, quirk_via_irqpic);
> > +DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686_6, quirk_via_irqpic);
> > +DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8233_5, quirk_via_irqpic);
> > +DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8233_7, quirk_via_irqpic);
>
> This looks like it'll only affect the PCI device associated with the
> listed south bridges, which might break systems which relied on the per
> device setting. Your 'debug' patch actually made sense to me, that is,
> moving the PCI_INTERRUPT_LINE fixup at gsi register.

Yes, that's what I meant by the above probably not being sufficient.

The main thing the debug patch did was to move the write to after
the IOAPIC programming. (And I think it added back the mysterious
udelay().) My point is that the write could just as easily be done
in a pci_enable fixup, because that also happens after the IOAPIC
update.

The quirk would have to be something like this:

static void __devinit quirk_via_irq(struct pci_dev *dev)
{
if (!via_interrupt_line_quirk)
return;

/* update PCI_INTERRUPT_LINE */
...
}
DECLARE_PCI_FIXUP_ENABLE(PCI_ANY_ID, PCI_ANY_ID, quirk_via_irq);

with a PCI_FIXUP_HEADER quirk that sets via_interrupt_line_quirk when
we find a Via bridge.

But I'm uneasy even about this -- what if there are multiple bridges,
with only one of them being a Via? Why would we want to apply this
quirk to the devices under the non-Via bridges? Wouldn't it be better
to search up the hierarchy of each device, looking for a Via bridge,
and apply the quirk only if we find one?

2005-03-17 03:59:18

by Shaohua Li

[permalink] [raw]
Subject: Re: [ACPI] Re: Fw: Anybody? 2.6.11 (stable and -rc) ACPI breaks USB

Hi,
On Thu, 2005-03-17 at 00:10, Bjorn Helgaas wrote:
> On Tue, 2005-03-15 at 16:02 -0700, Zwane Mwaikambo wrote:
> > On Tue, 15 Mar 2005, Bjorn Helgaas wrote:
> > > That seems awfully suspicious to me. So the following is
> > > probably safe as far as it goes, but not sufficient for all
> > > cases.
> >
> > VIA bridges allow for IRQ routing updates by programming
> > PCI_INTERRUPT_LINE, so it is supposed to work even if we do it for
> all the
> > devices, so it appears to be a board/bios specific problem.
>
> This just feels like a sledgehammer approach, i.e., we're
> programming PCI_INTERRUPT_LINE in more cases that we actually
> need to. I especially don't like that any Via device with
> devfn==0 triggers the quirk. That doesn't seem like the
> right test if we're really looking for a Via bridge.
>
> > > -static void __devinit quirk_via_bridge(struct pci_dev *pdev)
> > > +static void __devinit quirk_via_irqpic(struct pci_dev *dev)
> > > {
> > > - if(pdev->devfn == 0) {
> > > - printk(KERN_INFO "PCI: Via IRQ fixup\n");
> > > - via_interrupt_line_quirk = 1;
> > > + u8 irq, new_irq = dev->irq & 0xf;
> > > +
> > > + pci_read_config_byte(dev, PCI_INTERRUPT_LINE, &irq);
> > > + if (new_irq != irq) {
> > > + printk(KERN_INFO "PCI: Via IRQ fixup for %s, from %d
> to %d\n",
> > > + pci_name(dev), irq, new_irq);
> > > + udelay(15);
> > > + pci_write_config_byte(dev, PCI_INTERRUPT_LINE,
> new_irq);
> > > }
> > > }
> > > -DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_VIA,
> PCI_ANY_ID, quirk_via_bridge );
> > > +DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA,
> PCI_DEVICE_ID_VIA_82C586_2, quirk_via_irqpic);
> > > +DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA,
> PCI_DEVICE_ID_VIA_82C686_5, quirk_via_irqpic);
> > > +DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA,
> PCI_DEVICE_ID_VIA_82C686_6, quirk_via_irqpic);
> > > +DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA,
> PCI_DEVICE_ID_VIA_8233_5, quirk_via_irqpic);
> > > +DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA,
> PCI_DEVICE_ID_VIA_8233_7, quirk_via_irqpic);
> >
> > This looks like it'll only affect the PCI device associated with the
> > listed south bridges, which might break systems which relied on the
> per
> > device setting. Your 'debug' patch actually made sense to me, that
> is,
> > moving the PCI_INTERRUPT_LINE fixup at gsi register.
>
> Yes, that's what I meant by the above probably not being sufficient.
>
> The main thing the debug patch did was to move the write to after
> the IOAPIC programming. (And I think it added back the mysterious
> udelay().) My point is that the write could just as easily be done
> in a pci_enable fixup, because that also happens after the IOAPIC
> update.
The comments in previous quirk said it's required only in PIC mode.

>
> The quirk would have to be something like this:
>
> static void __devinit quirk_via_irq(struct pci_dev *dev)
> {
> if (!via_interrupt_line_quirk)
> return;
>
> /* update PCI_INTERRUPT_LINE */
> ...
> }
> DECLARE_PCI_FIXUP_ENABLE(PCI_ANY_ID, PCI_ANY_ID,
> quirk_via_irq);
>
> with a PCI_FIXUP_HEADER quirk that sets via_interrupt_line_quirk when
> we find a Via bridge.
>
> But I'm uneasy even about this -- what if there are multiple bridges,
> with only one of them being a Via? Why would we want to apply this
> quirk to the devices under the non-Via bridges? Wouldn't it be better
> to search up the hierarchy of each device, looking for a Via bridge,
> and apply the quirk only if we find one?
I feel we concerned too much. Changing the interrupt line isn't harmful,
right? Linux actually ignored interrupt line. Maybe just a
PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_ANY_ID, quirk_via_irq) is
sufficient.
and
quirk_via_irq(..)
{
update_interrupt_line
}

Thanks,
Shaohua

2005-03-17 18:10:00

by Bjorn Helgaas

[permalink] [raw]
Subject: Re: [ACPI] Re: Fw: Anybody? 2.6.11 (stable and -rc) ACPI breaks USB

On Thu, 2005-03-17 at 09:33 +0800, Li Shaohua wrote:
> The comments in previous quirk said it's required only in PIC mode.
...
> I feel we concerned too much. Changing the interrupt line isn't harmful,
> right? Linux actually ignored interrupt line. Maybe just a
> PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_ANY_ID, quirk_via_irq) is
> sufficient.

I think it's good to limit the scope of the quirk as much as
possible because that makes it easier to do future restructuring,
such as device-specific interrupt routers.

The comment (before quirk_via_acpi(), nowhere near quirk_via_irqpic())
says *on-chip devices* have this unusual behavior when the interrupt
line is written. That makes sense to me.

Writing the interrupt line on random plug-in Via PCI devices does
not make sense to me, because for that to have any effect, an
upstream bridge would have to be snooping the traffic going through
it. That doesn't sound plausible to me.

What about this:

===== arch/i386/pci/irq.c 1.55 vs edited =====
--- 1.55/arch/i386/pci/irq.c 2005-02-07 22:39:15 -07:00
+++ edited/arch/i386/pci/irq.c 2005-03-15 10:11:44 -07:00
@@ -1026,7 +1026,6 @@
static int pirq_enable_irq(struct pci_dev *dev)
{
u8 pin;
- extern int via_interrupt_line_quirk;
struct pci_dev *temp_dev;

pci_read_config_byte(dev, PCI_INTERRUPT_PIN, &pin);
@@ -1081,10 +1080,6 @@
printk(KERN_WARNING "PCI: No IRQ known for interrupt pin %c of device %s.%s\n",
'A' + pin, pci_name(dev), msg);
}
- /* VIA bridges use interrupt line for apic/pci steering across
- the V-Link */
- else if (via_interrupt_line_quirk)
- pci_write_config_byte(dev, PCI_INTERRUPT_LINE, dev->irq & 15);
return 0;
}

===== drivers/acpi/pci_irq.c 1.37 vs edited =====
--- 1.37/drivers/acpi/pci_irq.c 2005-03-01 09:57:29 -07:00
+++ edited/drivers/acpi/pci_irq.c 2005-03-15 10:10:57 -07:00
@@ -388,7 +388,6 @@
u8 pin = 0;
int edge_level = ACPI_LEVEL_SENSITIVE;
int active_high_low = ACPI_ACTIVE_LOW;
- extern int via_interrupt_line_quirk;

ACPI_FUNCTION_TRACE("acpi_pci_irq_enable");

@@ -437,9 +436,6 @@
return_VALUE(0);
}
}
-
- if (via_interrupt_line_quirk)
- pci_write_config_byte(dev, PCI_INTERRUPT_LINE, irq & 15);

dev->irq = acpi_register_gsi(irq, edge_level, active_high_low);

===== drivers/pci/quirks.c 1.72 vs edited =====
--- 1.72/drivers/pci/quirks.c 2005-03-10 01:38:25 -07:00
+++ edited/drivers/pci/quirks.c 2005-03-17 10:48:04 -07:00
@@ -683,19 +683,33 @@
}
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82454NX, quirk_disable_pxb );

-/*
- * VIA northbridges care about PCI_INTERRUPT_LINE
- */
-int via_interrupt_line_quirk;
+#ifdef CONFIG_ACPI
+#include <linux/acpi.h>
+#endif

-static void __devinit quirk_via_bridge(struct pci_dev *pdev)
+static void __devinit quirk_via_irqpic(struct pci_dev *dev)
{
- if(pdev->devfn == 0) {
- printk(KERN_INFO "PCI: Via IRQ fixup\n");
- via_interrupt_line_quirk = 1;
+ u8 irq, new_irq;
+
+#ifdef CONFIG_ACPI
+ if (acpi_irq_model != ACPI_IRQ_MODEL_PIC)
+ return;
+#endif
+
+ new_irq = dev->irq & 0xf;
+ pci_read_config_byte(dev, PCI_INTERRUPT_LINE, &irq);
+ if (new_irq != irq) {
+ printk(KERN_INFO "PCI: Via PIC IRQ fixup for %s, from %d to %d\n",
+ pci_name(dev), irq, new_irq);
+ udelay(15);
+ pci_write_config_byte(dev, PCI_INTERRUPT_LINE, new_irq);
}
}
-DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_VIA, PCI_ANY_ID, quirk_via_bridge );
+DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_2, quirk_via_irqpic);
+DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686_5, quirk_via_irqpic);
+DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686_6, quirk_via_irqpic);
+DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8233_5, quirk_via_irqpic);
+DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8233_7, quirk_via_irqpic);

/*
* Serverworks CSB5 IDE does not fully support native mode


2005-03-18 01:25:04

by Shaohua Li

[permalink] [raw]
Subject: Re: [ACPI] Re: Fw: Anybody? 2.6.11 (stable and -rc) ACPI breaks USB

On Fri, 2005-03-18 at 02:08, Bjorn Helgaas wrote:
> On Thu, 2005-03-17 at 09:33 +0800, Li Shaohua wrote:
> > The comments in previous quirk said it's required only in PIC mode.
> ...
> > I feel we concerned too much. Changing the interrupt line isn't harmful,
> > right? Linux actually ignored interrupt line. Maybe just a
> > PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_ANY_ID, quirk_via_irq) is
> > sufficient.
>
> I think it's good to limit the scope of the quirk as much as
> possible because that makes it easier to do future restructuring,
> such as device-specific interrupt routers.
>
> The comment (before quirk_via_acpi(), nowhere near quirk_via_irqpic())
> says *on-chip devices* have this unusual behavior when the interrupt
> line is written. That makes sense to me.
>
> Writing the interrupt line on random plug-in Via PCI devices does
> not make sense to me, because for that to have any effect, an
> upstream bridge would have to be snooping the traffic going through
> it. That doesn't sound plausible to me.
>
> What about this:
Hmm, this looks like previous solution. We removed the specific via
quirk is because we don't know how many devices have such issue. Every
time we encounter an IRQ issue in a VIA PCI device, we will suspect it
requires quirk and keep try. This is a big overhead.

Thanks,
Shaohua

2005-03-18 18:07:57

by Bjorn Helgaas

[permalink] [raw]
Subject: Re: [ACPI] Re: Fw: Anybody? 2.6.11 (stable and -rc) ACPI breaks USB

On Fri, 2005-03-18 at 09:09 +0800, Li Shaohua wrote:
> On Fri, 2005-03-18 at 02:08, Bjorn Helgaas wrote:
> > On Thu, 2005-03-17 at 09:33 +0800, Li Shaohua wrote:
> > > The comments in previous quirk said it's required only in PIC mode.
> > ...
> > > I feel we concerned too much. Changing the interrupt line isn't harmful,
> > > right? Linux actually ignored interrupt line. Maybe just a
> > > PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_ANY_ID, quirk_via_irq) is
> > > sufficient.
> >
> > I think it's good to limit the scope of the quirk as much as
> > possible because that makes it easier to do future restructuring,
> > such as device-specific interrupt routers.
> >
> > The comment (before quirk_via_acpi(), nowhere near quirk_via_irqpic())
> > says *on-chip devices* have this unusual behavior when the interrupt
> > line is written. That makes sense to me.
> >
> > Writing the interrupt line on random plug-in Via PCI devices does
> > not make sense to me, because for that to have any effect, an
> > upstream bridge would have to be snooping the traffic going through
> > it. That doesn't sound plausible to me.
> >
> > What about this:
> Hmm, this looks like previous solution. We removed the specific via
> quirk is because we don't know how many devices have such issue. Every
> time we encounter an IRQ issue in a VIA PCI device, we will suspect it
> requires quirk and keep try. This is a big overhead.

OK. Try this one for size. It differs from what's currently in
the tree in these ways:

- It's a quirk, so we don't have to clutter acpi_pci_irq_enable()
and pirq_enable_irq() with Via-specific code.

- It doesn't do anything unless we're in PIC mode. The comment
suggests this issue only affects PIC routing.

- We do this for ALL Via devices. The current code in the tree
does it for all devices in the system IF there is a Via device
with devfn==0, which misses Grzegorz's case.

Does anybody have a pointer to a spec that talks about this? It'd
be awfully nice to have a reference.

Grzegorz, can you check to make sure this still works after all the
tweaking?

===== arch/i386/pci/irq.c 1.55 vs edited =====
--- 1.55/arch/i386/pci/irq.c 2005-02-07 22:39:15 -07:00
+++ edited/arch/i386/pci/irq.c 2005-03-15 10:11:44 -07:00
@@ -1026,7 +1026,6 @@
static int pirq_enable_irq(struct pci_dev *dev)
{
u8 pin;
- extern int via_interrupt_line_quirk;
struct pci_dev *temp_dev;

pci_read_config_byte(dev, PCI_INTERRUPT_PIN, &pin);
@@ -1081,10 +1080,6 @@
printk(KERN_WARNING "PCI: No IRQ known for interrupt pin %c of device %s.%s\n",
'A' + pin, pci_name(dev), msg);
}
- /* VIA bridges use interrupt line for apic/pci steering across
- the V-Link */
- else if (via_interrupt_line_quirk)
- pci_write_config_byte(dev, PCI_INTERRUPT_LINE, dev->irq & 15);
return 0;
}

===== drivers/acpi/pci_irq.c 1.37 vs edited =====
--- 1.37/drivers/acpi/pci_irq.c 2005-03-01 09:57:29 -07:00
+++ edited/drivers/acpi/pci_irq.c 2005-03-15 10:10:57 -07:00
@@ -388,7 +388,6 @@
u8 pin = 0;
int edge_level = ACPI_LEVEL_SENSITIVE;
int active_high_low = ACPI_ACTIVE_LOW;
- extern int via_interrupt_line_quirk;

ACPI_FUNCTION_TRACE("acpi_pci_irq_enable");

@@ -437,9 +436,6 @@
return_VALUE(0);
}
}
-
- if (via_interrupt_line_quirk)
- pci_write_config_byte(dev, PCI_INTERRUPT_LINE, irq & 15);

dev->irq = acpi_register_gsi(irq, edge_level, active_high_low);

===== drivers/pci/quirks.c 1.72 vs edited =====
--- 1.72/drivers/pci/quirks.c 2005-03-10 01:38:25 -07:00
+++ edited/drivers/pci/quirks.c 2005-03-18 10:55:01 -07:00
@@ -683,19 +683,40 @@
}
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82454NX, quirk_disable_pxb );

-/*
- * VIA northbridges care about PCI_INTERRUPT_LINE
- */
-int via_interrupt_line_quirk;
+#ifdef CONFIG_ACPI
+#include <linux/acpi.h>
+#endif

-static void __devinit quirk_via_bridge(struct pci_dev *pdev)
+static void __devinit quirk_via_irqpic(struct pci_dev *dev)
{
- if(pdev->devfn == 0) {
- printk(KERN_INFO "PCI: Via IRQ fixup\n");
- via_interrupt_line_quirk = 1;
+ u8 irq, new_irq;
+
+#ifdef CONFIG_X86_IO_APIC
+ if (skip_ioapic_setup)
+ return;
+#endif
+#ifdef CONFIG_ACPI
+ if (acpi_irq_model != ACPI_IRQ_MODEL_PIC)
+ return;
+#endif
+ /*
+ * Some Via devices make an internal connection to the PIC when the
+ * PCI_INTERRUPT_LINE register is written. If we've changed the
+ * device's IRQ, we need to update this routing.
+ *
+ * I suspect this only happens for devices on the same chip as the
+ * PIC, but I don't know how to identify those without listing them
+ * all individually, which is a maintenance problem.
+ */
+ new_irq = dev->irq & 0xf;
+ pci_read_config_byte(dev, PCI_INTERRUPT_LINE, &irq);
+ if (new_irq != irq) {
+ printk(KERN_INFO "PCI: Via PIC IRQ fixup for %s, from %d to %d\n",
+ pci_name(dev), irq, new_irq);
+ pci_write_config_byte(dev, PCI_INTERRUPT_LINE, new_irq);
}
}
-DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_VIA, PCI_ANY_ID, quirk_via_bridge );
+DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_ANY_ID, quirk_via_irqpic);

/*
* Serverworks CSB5 IDE does not fully support native mode


2005-03-21 16:34:34

by Bjorn Helgaas

[permalink] [raw]
Subject: Re: [ACPI] Re: Fw: Anybody? 2.6.11 (stable and -rc) ACPI breaks USB

On Fri, 2005-03-18 at 11:07 -0700, Bjorn Helgaas wrote:
> OK. Try this one for size. It differs from what's currently in
> the tree in these ways:
>
> - It's a quirk, so we don't have to clutter acpi_pci_irq_enable()
> and pirq_enable_irq() with Via-specific code.
>
> - It doesn't do anything unless we're in PIC mode. The comment
> suggests this issue only affects PIC routing.
>
> - We do this for ALL Via devices. The current code in the tree
> does it for all devices in the system IF there is a Via device
> with devfn==0, which misses Grzegorz's case.
>
> Does anybody have a pointer to a spec that talks about this? It'd
> be awfully nice to have a reference.
>
> Grzegorz, can you check to make sure this still works after all the
> tweaking?

Oops, I had the sense of the skip_ioapic_setup test reversed. Corrected
patch follows.

===== arch/i386/pci/irq.c 1.55 vs edited =====
--- 1.55/arch/i386/pci/irq.c 2005-02-07 22:39:15 -07:00
+++ edited/arch/i386/pci/irq.c 2005-03-15 10:11:44 -07:00
@@ -1026,7 +1026,6 @@
static int pirq_enable_irq(struct pci_dev *dev)
{
u8 pin;
- extern int via_interrupt_line_quirk;
struct pci_dev *temp_dev;

pci_read_config_byte(dev, PCI_INTERRUPT_PIN, &pin);
@@ -1081,10 +1080,6 @@
printk(KERN_WARNING "PCI: No IRQ known for interrupt pin %c of device %s.%s\n",
'A' + pin, pci_name(dev), msg);
}
- /* VIA bridges use interrupt line for apic/pci steering across
- the V-Link */
- else if (via_interrupt_line_quirk)
- pci_write_config_byte(dev, PCI_INTERRUPT_LINE, dev->irq & 15);
return 0;
}

===== drivers/acpi/pci_irq.c 1.37 vs edited =====
--- 1.37/drivers/acpi/pci_irq.c 2005-03-01 09:57:29 -07:00
+++ edited/drivers/acpi/pci_irq.c 2005-03-15 10:10:57 -07:00
@@ -388,7 +388,6 @@
u8 pin = 0;
int edge_level = ACPI_LEVEL_SENSITIVE;
int active_high_low = ACPI_ACTIVE_LOW;
- extern int via_interrupt_line_quirk;

ACPI_FUNCTION_TRACE("acpi_pci_irq_enable");

@@ -437,9 +436,6 @@
return_VALUE(0);
}
}
-
- if (via_interrupt_line_quirk)
- pci_write_config_byte(dev, PCI_INTERRUPT_LINE, irq & 15);

dev->irq = acpi_register_gsi(irq, edge_level, active_high_low);

===== drivers/pci/quirks.c 1.72 vs edited =====
--- 1.72/drivers/pci/quirks.c 2005-03-10 01:38:25 -07:00
+++ edited/drivers/pci/quirks.c 2005-03-21 09:22:23 -07:00
@@ -683,19 +683,40 @@
}
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82454NX, quirk_disable_pxb );

-/*
- * VIA northbridges care about PCI_INTERRUPT_LINE
- */
-int via_interrupt_line_quirk;
+#ifdef CONFIG_ACPI
+#include <linux/acpi.h>
+#endif

-static void __devinit quirk_via_bridge(struct pci_dev *pdev)
+static void __devinit quirk_via_irqpic(struct pci_dev *dev)
{
- if(pdev->devfn == 0) {
- printk(KERN_INFO "PCI: Via IRQ fixup\n");
- via_interrupt_line_quirk = 1;
+ u8 irq, new_irq;
+
+#ifdef CONFIG_X86_IO_APIC
+ if (!skip_ioapic_setup)
+ return;
+#endif
+#ifdef CONFIG_ACPI
+ if (acpi_irq_model != ACPI_IRQ_MODEL_PIC)
+ return;
+#endif
+ /*
+ * Some Via devices make an internal connection to the PIC when the
+ * PCI_INTERRUPT_LINE register is written. If we've changed the
+ * device's IRQ, we need to update this routing.
+ *
+ * I suspect this only happens for devices on the same chip as the
+ * PIC, but I don't know how to identify those without listing them
+ * all individually, which is a maintenance problem.
+ */
+ new_irq = dev->irq & 0xf;
+ pci_read_config_byte(dev, PCI_INTERRUPT_LINE, &irq);
+ if (new_irq != irq) {
+ printk(KERN_INFO "PCI: Via PIC IRQ fixup for %s, from %d to %d\n",
+ pci_name(dev), irq, new_irq);
+ pci_write_config_byte(dev, PCI_INTERRUPT_LINE, new_irq);
}
}
-DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_VIA, PCI_ANY_ID, quirk_via_bridge );
+DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_ANY_ID, quirk_via_irqpic);

/*
* Serverworks CSB5 IDE does not fully support native mode


2005-03-21 23:38:30

by Grzegorz Kulewski

[permalink] [raw]
Subject: Re: [ACPI] Re: Fw: Anybody? 2.6.11 (stable and -rc) ACPI breaks USB

On Mon, 21 Mar 2005, Bjorn Helgaas wrote:
> On Fri, 2005-03-18 at 11:07 -0700, Bjorn Helgaas wrote:
>> OK. Try this one for size. It differs from what's currently in
>> the tree in these ways:
>>
>> - It's a quirk, so we don't have to clutter acpi_pci_irq_enable()
>> and pirq_enable_irq() with Via-specific code.
>>
>> - It doesn't do anything unless we're in PIC mode. The comment
>> suggests this issue only affects PIC routing.
>>
>> - We do this for ALL Via devices. The current code in the tree
>> does it for all devices in the system IF there is a Via device
>> with devfn==0, which misses Grzegorz's case.
>>
>> Does anybody have a pointer to a spec that talks about this? It'd
>> be awfully nice to have a reference.
>>
>> Grzegorz, can you check to make sure this still works after all the
>> tweaking?
>
> Oops, I had the sense of the skip_ioapic_setup test reversed. Corrected
> patch follows.

Hi,

Your patch applied with some problems:

patching file arch/i386/pci/irq.c
Hunk #2 succeeded at 1081 with fuzz 2 (offset 1 line).
patching file drivers/acpi/pci_irq.c
patching file drivers/pci/quirks.c
Hunk #1 succeeded at 678 (offset -5 lines).

(I do not know why).

Then I tested it and it works (at least my speedtouch still works).

Here is the log:

Mar 22 01:32:37 kangur Linux version 2.6.11-cko1 (root@kangur) (gcc
version 3.3.3 20040412 (Gentoo Linux 3.3.3-r6, ssp-3.3.2-2, pie-8.7.6)) #4
Tue Mar 22 01:24:18 CET 2005
Mar 22 01:32:37 kangur BIOS-provided physical RAM map:
Mar 22 01:32:37 kangur BIOS-e820: 0000000000000000 - 000000000009fc00
(usable)
Mar 22 01:32:37 kangur BIOS-e820: 000000000009fc00 - 00000000000a0000
(reserved)
Mar 22 01:32:37 kangur BIOS-e820: 00000000000f0000 - 0000000000100000
(reserved)
Mar 22 01:32:37 kangur BIOS-e820: 0000000000100000 - 000000001fff0000
(usable)
Mar 22 01:32:37 kangur BIOS-e820: 000000001fff0000 - 000000001fff3000
(ACPI NVS)
Mar 22 01:32:37 kangur BIOS-e820: 000000001fff3000 - 0000000020000000
(ACPI data)
Mar 22 01:32:37 kangur BIOS-e820: 00000000ffff0000 - 0000000100000000
(reserved)
Mar 22 01:32:37 kangur 511MB LOWMEM available.
Mar 22 01:32:37 kangur On node 0 totalpages: 131056
Mar 22 01:32:37 kangur DMA zone: 4096 pages, LIFO batch:1
Mar 22 01:32:37 kangur Normal zone: 126960 pages, LIFO batch:16
Mar 22 01:32:37 kangur HighMem zone: 0 pages, LIFO batch:1
Mar 22 01:32:37 kangur DMI 2.2 present.
Mar 22 01:32:37 kangur ACPI: RSDP (v000 761686
) @ 0x000f6a70
Mar 22 01:32:37 kangur ACPI: RSDT (v001 761686 AWRDACPI 0x42302e31 AWRD
0x00000000) @ 0x1fff3000
Mar 22 01:32:37 kangur ACPI: FADT (v001 761686 AWRDACPI 0x42302e31 AWRD
0x00000000) @ 0x1fff3040
Mar 22 01:32:37 kangur ACPI: DSDT (v001 761686 AWRDACPI 0x00001000 MSFT
0x0100000c) @ 0x00000000
Mar 22 01:32:37 kangur ACPI: PM-Timer IO Port: 0x4008
Mar 22 01:32:37 kangur Allocating PCI resources starting at 20000000 (gap:
20000000:dfff0000)
Mar 22 01:32:37 kangur Built 1 zonelists
Mar 22 01:32:37 kangur Kernel command line: ro root=/dev/hdb4
Mar 22 01:32:37 kangur Local APIC disabled by BIOS -- you can enable it
with "lapic"
Mar 22 01:32:37 kangur mapped APIC to ffffd000 (01402000)
Mar 22 01:32:37 kangur Initializing CPU#0
Mar 22 01:32:37 kangur CPU 0 irqstacks, hard=b0477000 soft=b0476000
Mar 22 01:32:37 kangur PID hash table entries: 2048 (order: 11, 32768
bytes)
Mar 22 01:32:37 kangur Detected 1203.036 MHz processor.
Mar 22 01:32:37 kangur Using pmtmr for high-res timesource
Mar 22 01:32:37 kangur Console: colour VGA+ 80x25
Mar 22 01:32:37 kangur Dentry cache hash table entries: 131072 (order: 7,
524288 bytes)
Mar 22 01:32:37 kangur Inode-cache hash table entries: 65536 (order: 6,
262144 bytes)
Mar 22 01:32:37 kangur Memory: 514940k/524224k available (2543k kernel
code, 8732k reserved, 819k data, 156k init, 0k highmem)
Mar 22 01:32:37 kangur Checking if this processor honours the WP bit even
in supervisor mode... Ok.
Mar 22 01:32:37 kangur Calibrating delay loop... 2375.68 BogoMIPS
(lpj=1187840)
Mar 22 01:32:37 kangur Security Framework v1.0.0 initialized
Mar 22 01:32:37 kangur Capability LSM initialized
Mar 22 01:32:37 kangur Mount-cache hash table entries: 512 (order: 0, 4096
bytes)
Mar 22 01:32:37 kangur CPU: After generic identify, caps: 0383f9ff
c1cbf9ff 00000000 00000000 00000000 00000000 00000000Mar 22 01:32:37
kangur CPU: After vendor identify, caps: 0383f9ff c1cbf9ff 00000000
00000000 00000000 00000000 00000000
Mar 22 01:32:37 kangur CPU: CLK_CTL MSR was 60071263. Reprogramming to
20071263
Mar 22 01:32:37 kangur CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K
(64 bytes/line)
Mar 22 01:32:37 kangur CPU: L2 Cache: 512K (64 bytes/line)
Mar 22 01:32:37 kangur CPU: After all inits, caps: 0383f9ff c1cbf9ff
00000000 00000020 00000000 00000000 00000000
Mar 22 01:32:37 kangur Intel machine check architecture supported.
Mar 22 01:32:37 kangur Intel machine check reporting enabled on CPU#0.
Mar 22 01:32:37 kangur CPU: AMD Unknown CPU Type stepping 00
Mar 22 01:32:37 kangur Enabling fast FPU save and restore... done.
Mar 22 01:32:37 kangur Enabling unmasked SIMD FPU exception support...
done.
Mar 22 01:32:37 kangur Checking 'hlt' instruction... OK.
Mar 22 01:32:37 kangur ACPI: setting ELCR to 0800 (from 0e20)
Mar 22 01:32:37 kangur NET: Registered protocol family 16
Mar 22 01:32:37 kangur PCI: PCI BIOS revision 2.10 entry at 0xfb690, last
bus=1
Mar 22 01:32:37 kangur PCI: Using configuration type 1
Mar 22 01:32:37 kangur mtrr: v2.0 (20020519)
Mar 22 01:32:37 kangur ACPI: Subsystem revision 20050211
Mar 22 01:32:37 kangur ACPI: Interpreter enabled
Mar 22 01:32:37 kangur ACPI: Using PIC for interrupt routing
Mar 22 01:32:37 kangur ACPI: PCI Root Bridge [PCI0] (00:00)
Mar 22 01:32:37 kangur PCI: Probing PCI hardware (bus 00)
Mar 22 01:32:37 kangur ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
Mar 22 01:32:37 kangur ACPI: PCI Interrupt Link [LNKA] (IRQs 1 3 4 5 6 7
*10 11 12 14 15)
Mar 22 01:32:37 kangur ACPI: PCI Interrupt Link [LNKB] (IRQs 1 3 4 5 6 7
10 *11 12 14 15)
Mar 22 01:32:37 kangur ACPI: PCI Interrupt Link [LNKC] (IRQs 1 3 4 *5 6 7
10 11 12 14 15)
Mar 22 01:32:37 kangur ACPI: PCI Interrupt Link [LNKD] (IRQs 1 3 4 5 6 7
10 11 12 14 15) *9
Mar 22 01:32:37 kangur Linux Plug and Play Support v0.97 (c) Adam Belay
Mar 22 01:32:37 kangur pnp: PnP ACPI init
Mar 22 01:32:37 kangur pnp: PnP ACPI: found 12 devices
Mar 22 01:32:37 kangur SCSI subsystem initialized
Mar 22 01:32:37 kangur PCI: Using ACPI for IRQ routing
Mar 22 01:32:37 kangur ** PCI interrupts are no longer routed
automatically. If this
Mar 22 01:32:37 kangur ** causes a device to stop working, it is probably
because the
Mar 22 01:32:37 kangur ** driver failed to call pci_enable_device(). As a
temporary
Mar 22 01:32:37 kangur ** workaround, the "pci=routeirq" argument restores
the old
Mar 22 01:32:37 kangur ** behavior. If this argument makes the device
work again,
Mar 22 01:32:37 kangur ** please email the output of "lspci" to
[email protected]
Mar 22 01:32:37 kangur ** so I can fix the driver.
Mar 22 01:32:37 kangur pnp: the driver 'system' has been registered
Mar 22 01:32:37 kangur pnp: match found with the PnP device '00:00' and
the driver 'system'
Mar 22 01:32:37 kangur pnp: match found with the PnP device '00:01' and
the driver 'system'
Mar 22 01:32:37 kangur Total HugeTLB memory allocated, 0
Mar 22 01:32:37 kangur VFS: Disk quotas dquot_6.5.1
Mar 22 01:32:37 kangur Dquot-cache hash table entries: 1024 (order 0, 4096
bytes)
Mar 22 01:32:37 kangur SGI XFS with ACLs, security attributes, realtime,
no debug enabled
Mar 22 01:32:37 kangur SGI XFS Quota Management subsystem
Mar 22 01:32:37 kangur Initializing Cryptographic API
Mar 22 01:32:37 kangur inotify device minor=63
Mar 22 01:32:37 kangur ACPI: PS/2 Keyboard Controller [PS2K] at I/O 0x60,
0x64, irq 1
Mar 22 01:32:37 kangur ACPI: PS/2 Mouse Controller [PS2M] at irq 12
Mar 22 01:32:37 kangur serio: i8042 AUX port at 0x60,0x64 irq 12
Mar 22 01:32:37 kangur serio: i8042 KBD port at 0x60,0x64 irq 1
Mar 22 01:32:37 kangur io scheduler noop registered
Mar 22 01:32:37 kangur io scheduler anticipatory registered
Mar 22 01:32:37 kangur io scheduler deadline registered
Mar 22 01:32:37 kangur io scheduler cfq registered
Mar 22 01:32:37 kangur 8139too Fast Ethernet driver 0.9.27
Mar 22 01:32:37 kangur ACPI: PCI Interrupt Link [LNKB] enabled at IRQ 11
Mar 22 01:32:37 kangur PCI: setting IRQ 11 as level-triggered
Mar 22 01:32:37 kangur ACPI: PCI interrupt 0000:00:0f.0[A] -> GSI 11
(level, low) -> IRQ 11
Mar 22 01:32:37 kangur eth0: RealTek RTL8139 at 0xec00, 00:06:4f:00:73:8b,
IRQ 11
Mar 22 01:32:37 kangur eth0: Identified 8139 chip type 'RTL-8139C'
Mar 22 01:32:37 kangur Uniform Multi-Platform E-IDE driver Revision:
7.00alpha2
Mar 22 01:32:37 kangur ide: Assuming 33MHz system bus speed for PIO modes;
override with idebus=xx
Mar 22 01:32:37 kangur VP_IDE: IDE controller at PCI slot 0000:00:07.1
Mar 22 01:32:37 kangur PCI: Via PIC IRQ fixup for 0000:00:07.1, from 255
to 0
Mar 22 01:32:37 kangur VP_IDE: chipset revision 6
Mar 22 01:32:37 kangur VP_IDE: not 100% native mode: will probe irqs later
Mar 22 01:32:37 kangur VP_IDE: VIA vt82c686b (rev 40) IDE UDMA100
controller on pci0000:00:07.1
Mar 22 01:32:37 kangur ide0: BM-DMA at 0xc400-0xc407, BIOS settings:
hda:pio, hdb:DMA
Mar 22 01:32:37 kangur ide1: BM-DMA at 0xc408-0xc40f, BIOS settings:
hdc:pio, hdd:DMA
Mar 22 01:32:37 kangur Probing IDE interface ide0...
Mar 22 01:32:37 kangur hdb: SAMSUNG SV3063H, ATA DISK drive
Mar 22 01:32:37 kangur ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
Mar 22 01:32:37 kangur Probing IDE interface ide1...
Mar 22 01:32:37 kangur hdd: HL-DT-ST DVDRAM GSA-4082B, ATAPI CD/DVD-ROM
drive
Mar 22 01:32:37 kangur ide1 at 0x170-0x177,0x376 on irq 15
Mar 22 01:32:37 kangur pnp: the driver 'ide' has been registered
Mar 22 01:32:37 kangur hdb: max request size: 128KiB
Mar 22 01:32:37 kangur hdb: 59797584 sectors (30616 MB) w/426KiB Cache,
CHS=59323/16/63, UDMA(100)
Mar 22 01:32:37 kangur hdb: cache flushes not supported
Mar 22 01:32:37 kangur hdb: hdb1 hdb2 hdb3 hdb4
Mar 22 01:32:37 kangur libata version 1.10 loaded.
Mar 22 01:32:37 kangur sata_sil version 0.8
Mar 22 01:32:37 kangur ACPI: PCI interrupt 0000:00:0d.0[A] -> GSI 11
(level, low) -> IRQ 11
Mar 22 01:32:37 kangur ata1: SATA max UDMA/100 cmd 0xD0802080 ctl
0xD080208A bmdma 0xD0802000 irq 11
Mar 22 01:32:37 kangur ata2: SATA max UDMA/100 cmd 0xD08020C0 ctl
0xD08020CA bmdma 0xD0802008 irq 11
Mar 22 01:32:37 kangur ata1: dev 0 cfg 49:2f00 82:346b 83:7f61 84:4003
85:3469 86:3c41 87:4003 88:207f
Mar 22 01:32:37 kangur ata1: dev 0 ATA, max UDMA/133, 312581808 sectors:
lba48
Mar 22 01:32:37 kangur ata1: dev 0 configured for UDMA/100
Mar 22 01:32:37 kangur scsi0 : sata_sil
Mar 22 01:32:37 kangur ata2: no device found (phy stat 00000000)
Mar 22 01:32:37 kangur scsi1 : sata_sil
Mar 22 01:32:37 kangur Vendor: ATA Model: WDC WD1600JD-00H Rev:
08.0
Mar 22 01:32:37 kangur Type: Direct-Access ANSI
SCSI revision: 05
Mar 22 01:32:37 kangur SCSI device sda: 312581808 512-byte hdwr sectors
(160042 MB)
Mar 22 01:32:37 kangur SCSI device sda: drive cache: write back
Mar 22 01:32:37 kangur SCSI device sda: 312581808 512-byte hdwr sectors
(160042 MB)
Mar 22 01:32:37 kangur SCSI device sda: drive cache: write back
Mar 22 01:32:37 kangur sda: sda1 sda2 sda3 sda4 < sda5 sda6 sda7 sda8 sda9
sda10 sda11 sda12 sda13 sda14 sda15 >
Mar 22 01:32:37 kangur Attached scsi disk sda at scsi0, channel 0, id 0,
lun 0
Mar 22 01:32:37 kangur mice: PS/2 mouse device common for all mice
Mar 22 01:32:37 kangur input: AT Translated Set 2 keyboard on
isa0060/serio0
Mar 22 01:32:37 kangur NET: Registered protocol family 2
Mar 22 01:32:37 kangur IP: routing cache hash table of 4096 buckets,
32Kbytes
Mar 22 01:32:37 kangur TCP established hash table entries: 32768 (order:
6, 262144 bytes)
Mar 22 01:32:37 kangur TCP bind hash table entries: 32768 (order: 5,
131072 bytes)
Mar 22 01:32:37 kangur TCP: Hash tables configured (established 32768 bind
32768)
Mar 22 01:32:37 kangur ip_conntrack version 2.1 (4095 buckets, 32760 max)
- 216 bytes per conntrack
Mar 22 01:32:37 kangur ip_tables: (C) 2000-2002 Netfilter core team
Mar 22 01:32:37 kangur ipt_recent v0.3.1: Stephen Frost
<[email protected]>. http://snowman.net/projects/ipt_recent/
Mar 22 01:32:37 kangur arp_tables: (C) 2002 David S. Miller
Mar 22 01:32:37 kangur NET: Registered protocol family 17
Mar 22 01:32:37 kangur ACPI wakeup devices:
Mar 22 01:32:37 kangur SLPB PCI0 USB0 USB1
Mar 22 01:32:37 kangur ACPI: (supports S0 S1 S4 S5)
Mar 22 01:32:37 kangur kjournald starting. Commit interval 5 seconds
Mar 22 01:32:37 kangur EXT3-fs: mounted filesystem with ordered data mode.
Mar 22 01:32:37 kangur VFS: Mounted root (ext3 filesystem) readonly.
Mar 22 01:32:37 kangur Freeing unused kernel memory: 156k freed
Mar 22 01:32:37 kangur NET: Registered protocol family 1
Mar 22 01:32:37 kangur EXT3 FS on hdb4, internal journal
Mar 22 01:32:37 kangur NET: Registered protocol family 8
Mar 22 01:32:37 kangur NET: Registered protocol family 20
Mar 22 01:32:37 kangur CSLIP: code copyright 1989 Regents of the
University of California
Mar 22 01:32:37 kangur PPP generic driver version 2.4.2
Mar 22 01:32:37 kangur input: PS/2 Generic Mouse on isa0060/serio1
Mar 22 01:32:37 kangur input: PC Speaker
Mar 22 01:32:37 kangur loop: loaded (max 8 devices)
Mar 22 01:32:37 kangur Non-volatile memory driver v1.2
Mar 22 01:32:37 kangur BIOS EDD facility v0.16 2004-Jun-25, 2 devices
found
Mar 22 01:32:37 kangur vesafb: NVidia Corporation, NV15 Reference Board,
Chip Rev A0 (OEM: NVidia)
Mar 22 01:32:37 kangur vesafb: VBE version: 3.0
Mar 22 01:32:37 kangur vesafb: protected mode interface info at c000:0f03
Mar 22 01:32:37 kangur vesafb: pmi: set display start = b00c0f3c, set
palette = b00c0fb2
Mar 22 01:32:37 kangur vesafb: pmi: ports = 3b4 3b5 3ba 3c0 3c1 3c4 3c5
3c6 3c7 3c8 3c9 3cc 3ce 3cf 3d0 3d1 3d2 3d3 3d4 3d5 3da
Mar 22 01:32:37 kangur vesafb: hardware supports DCC2 transfers
Mar 22 01:32:37 kangur vesafb: monitor limits: vf = 85 Hz, hf = 64 kHz,
clk = 108 MHz
Mar 22 01:32:37 kangur vesafb: scrolling: redraw
Mar 22 01:32:37 kangur vesafb: framebuffer at 0xe8000000, mapped to
0xd0900000, using 6144k, total 65536k
Mar 22 01:32:37 kangur fb0: VESA VGA frame buffer device
Mar 22 01:32:37 kangur Console: switching to colour frame buffer device
128x48
Mar 22 01:32:37 kangur device-mapper: 4.4.0-ioctl (2005-01-12)
initialised: [email protected]
Mar 22 01:32:37 kangur NTFS driver 2.1.22 [Flags: R/O MODULE].
Mar 22 01:32:37 kangur NTFS volume version 3.1.
Mar 22 01:32:37 kangur NTFS volume version 3.1.
Mar 22 01:32:37 kangur usbcore: registered new driver usbfs
Mar 22 01:32:37 kangur usbcore: registered new driver hub
Mar 22 01:32:37 kangur ACPI: PCI Interrupt Link [LNKD] enabled at IRQ 10
Mar 22 01:32:37 kangur PCI: setting IRQ 10 as level-triggered
Mar 22 01:32:37 kangur ACPI: PCI interrupt 0000:00:0b.0[A] -> GSI 10
(level, low) -> IRQ 10
Mar 22 01:32:37 kangur parport_pc: VIA 686A/8231 detected
Mar 22 01:32:37 kangur parport_pc: probing current configuration
Mar 22 01:32:37 kangur parport_pc: Current parallel port base: 0x378
Mar 22 01:32:37 kangur parport_pc: Strange, can't probe VIA parallel port:
io=0x378, irq=7, dma=-1
Mar 22 01:32:37 kangur pnp: the driver 'parport_pc' has been registered
Mar 22 01:32:37 kangur pnp: match found with the PnP device '00:09' and
the driver 'parport_pc'
Mar 22 01:32:37 kangur parport: PnPBIOS parport detected.
Mar 22 01:32:37 kangur parport0: PC-style at 0x378, irq 7 [PCSPP(,...)]
Mar 22 01:32:37 kangur USB Universal Host Controller Interface driver v2.2
Mar 22 01:32:37 kangur ACPI: PCI interrupt 0000:00:07.2[D] -> GSI 10
(level, low) -> IRQ 10
Mar 22 01:32:37 kangur PCI: Via PIC IRQ fixup for 0000:00:07.2, from 9 to
10
Mar 22 01:32:37 kangur uhci_hcd 0000:00:07.2: UHCI Host Controller
Mar 22 01:32:37 kangur uhci_hcd 0000:00:07.2: irq 10, io base 0xc800
Mar 22 01:32:37 kangur uhci_hcd 0000:00:07.2: new USB bus registered,
assigned bus number 1
Mar 22 01:32:37 kangur hub 1-0:1.0: USB hub found
Mar 22 01:32:37 kangur hub 1-0:1.0: 2 ports detected
Mar 22 01:32:37 kangur ACPI: PCI interrupt 0000:00:07.3[D] -> GSI 10
(level, low) -> IRQ 10
Mar 22 01:32:37 kangur PCI: Via PIC IRQ fixup for 0000:00:07.3, from 9 to
10
Mar 22 01:32:37 kangur uhci_hcd 0000:00:07.3: UHCI Host Controller
Mar 22 01:32:37 kangur uhci_hcd 0000:00:07.3: irq 10, io base 0xcc00
Mar 22 01:32:37 kangur uhci_hcd 0000:00:07.3: new USB bus registered,
assigned bus number 2
Mar 22 01:32:37 kangur hub 2-0:1.0: USB hub found
Mar 22 01:32:37 kangur hub 2-0:1.0: 2 ports detected
Mar 22 01:32:37 kangur usb 1-2: new full speed USB device using uhci_hcd
and address 2
Mar 22 01:32:37 kangur Linux video capture interface: v1.00
Mar 22 01:32:37 kangur speedtch: Unknown symbol release_firmware
Mar 22 01:32:37 kangur speedtch: Unknown symbol request_firmware
Mar 22 01:32:37 kangur speedtch: Unknown symbol release_firmware
Mar 22 01:32:37 kangur speedtch: Unknown symbol request_firmware
Mar 22 01:32:37 kangur speedtch: Unknown symbol release_firmware
Mar 22 01:32:37 kangur speedtch: Unknown symbol request_firmware
Mar 22 01:32:37 kangur bttv: driver version 0.9.15 loaded
Mar 22 01:32:37 kangur bttv: using 32 buffers with 2080k (520 pages) each
for capture
Mar 22 01:32:37 kangur bttv: Bt8xx card found (0).
Mar 22 01:32:37 kangur ACPI: PCI Interrupt Link [LNKC] enabled at IRQ 5
Mar 22 01:32:37 kangur PCI: setting IRQ 5 as level-triggered
Mar 22 01:32:37 kangur ACPI: PCI interrupt 0000:00:09.0[A] -> GSI 5
(level, low) -> IRQ 5
Mar 22 01:32:37 kangur bttv0: Bt878 (rev 17) at 0000:00:09.0, irq: 5,
latency: 32, mmio: 0xf7000000
Mar 22 01:32:37 kangur bttv0: using: Prolink Pixelview PV-BT878P+
(Rev.4C,8E) [card=70,insmod option]
Mar 22 01:32:37 kangur bttv0: gpio: en=00000000, out=00000000 in=00ffc0ff
[init]
Mar 22 01:32:37 kangur bttv0: using tuner=25
Mar 22 01:32:37 kangur bttv0: i2c: checking for MSP34xx @ 0x80... not
found
Mar 22 01:32:37 kangur bttv0: i2c: checking for TDA9875 @ 0xb0... not
found
Mar 22 01:32:37 kangur bttv0: i2c: checking for TDA7432 @ 0x8a... not
found
Mar 22 01:32:37 kangur tvaudio: TV audio decoder + audio/video mux driver
Mar 22 01:32:37 kangur tvaudio: known chips:
tda9840,tda9873h,tda9874h/a,tda9850,tda9855,tea6300,tea6320,tea6420,tda8425,pic16c54
(PV951),ta8874z
Mar 22 01:32:37 kangur bttv0: i2c: checking for TDA9887 @ 0x86... not
found
Mar 22 01:32:37 kangur tuner 0-0061: chip found @ 0xc2 (bt878 #0 [sw])
Mar 22 01:32:37 kangur tuner 0-0061: type set to 25 (LG PAL_I+FM
(TAPC-I001D))
Mar 22 01:32:37 kangur bttv0: registered device video0
Mar 22 01:32:37 kangur bttv0: registered device vbi0
Mar 22 01:32:37 kangur bttv0: registered device radio0
Mar 22 01:32:37 kangur bttv0: PLL: 28636363 => 35468950 .. ok
Mar 22 01:32:37 kangur bttv0: add subdevice "remote0"
Mar 22 01:32:37 kangur gameport: pci0000:00:0b.1 speed 1242 kHz
Mar 22 01:32:37 kangur nvidia: module license 'NVIDIA' taints kernel.
Mar 22 01:32:37 kangur ACPI: PCI Interrupt Link [LNKA] enabled at IRQ 10
Mar 22 01:32:37 kangur ACPI: PCI interrupt 0000:01:05.0[A] -> GSI 10
(level, low) -> IRQ 10
Mar 22 01:32:37 kangur NVRM: loading NVIDIA Linux x86 NVIDIA Kernel Module
1.0-6629 Wed Nov 3 13:12:51 PST 2004
Mar 22 01:32:37 kangur Real Time Clock Driver v1.12
Mar 22 01:32:37 kangur Floppy drive(s): fd0 is 1.44M
Mar 22 01:32:37 kangur FDC 0 is a post-1991 82077
Mar 22 01:32:37 kangur Serial: 8250/16550 driver $Revision: 1.90 $ 8
ports, IRQ sharing disabled
Mar 22 01:32:37 kangur ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
Mar 22 01:32:37 kangur ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
Mar 22 01:32:37 kangur pnp: the driver 'serial' has been registered
Mar 22 01:32:37 kangur pnp: match found with the PnP device '00:07' and
the driver 'serial'
Mar 22 01:32:37 kangur ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
Mar 22 01:32:37 kangur pnp: match found with the PnP device '00:08' and
the driver 'serial'
Mar 22 01:32:37 kangur ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
Mar 22 01:32:37 kangur usb 1-2: modprobe timed out on ep0in
Mar 22 01:32:37 kangur usbcore: registered new driver speedtch
Mar 22 01:32:37 kangur usb 1-2: found stage 1 firmware speedtch-1.bin
Mar 22 01:32:37 kangur usb 1-2: found stage 2 firmware speedtch-2.bin
Mar 22 01:32:39 kangur eth0: link down
Mar 22 01:32:39 kangur eth0: link down
Mar 22 01:32:40 kangur NET: Registered protocol family 10
Mar 22 01:32:40 kangur Disabled Privacy Extensions on device b03e6aa0(lo)
Mar 22 01:32:40 kangur IPv6 over IPv4 tunneling driver
Mar 22 01:32:41 kangur ADSL line is synchronising
Mar 22 01:32:41 kangur init: Entering runlevel: 3
Mar 22 01:32:43 kangur init: Activating demand-procedures for 'A'
Mar 22 01:32:51 kangur eth0: no IPv6 routers present
Mar 22 01:32:53 kangur DSL line goes up
Mar 22 01:32:53 kangur ADSL line is up (768 Kib/s down | 192 Kib/s up)


By the way - since some time I am getting the above

Mar 22 01:32:37 kangur speedtch: Unknown symbol release_firmware

messages on modprobing speedtch in my startup scripts. The message did not
appeared with 2.6.11 at first (even after some VIA quirk related patches)
and it is now 100% reproductible. I do not know what is causing it because
I changed nearly nothing in the system setup. The funniest thing is that
speedtch still works well. Can anybody say something? Is it harmless or
what?

And what is this:

Mar 22 01:32:37 kangur usb 1-2: modprobe timed out on ep0in

???


Thanks,

Grzegorz Kulewski

2005-03-22 20:58:00

by Bjorn Helgaas

[permalink] [raw]
Subject: Re: [ACPI] Re: Fw: Anybody? 2.6.11 (stable and -rc) ACPI breaks USB

> Your patch applied with some problems:
>
> patching file arch/i386/pci/irq.c
> Hunk #2 succeeded at 1081 with fuzz 2 (offset 1 line).
> patching file drivers/acpi/pci_irq.c
> patching file drivers/pci/quirks.c
> Hunk #1 succeeded at 678 (offset -5 lines).

These indicate minor differences in these files between upstream BK
(which is what my patch was against) and the kernel you're building.
You can ignore them.

> Then I tested it and it works (at least my speedtouch still works).

Great. Shaohua, where should we go from here? Do you have more
concerns with the current patch, or should we ask Andrew to put it
in -mm? If you do have concerns, would you like to propose an
alternate patch that fixes the problem for Grzegorz?

> Mar 22 01:32:37 kangur speedtch: Unknown symbol release_firmware
> Mar 22 01:32:37 kangur usb 1-2: modprobe timed out on ep0in

I don't know about the above messages, but I don't think they're
related to the Via quirk we're working on at the moment. Probably
some mismatch between the kernel you built and the modules.

2005-03-23 01:01:01

by Shaohua Li

[permalink] [raw]
Subject: Re: [ACPI] Re: Fw: Anybody? 2.6.11 (stable and -rc) ACPI breaks USB

On Wed, 2005-03-23 at 04:57, Bjorn Helgaas wrote:
> > Your patch applied with some problems:
> >
> > patching file arch/i386/pci/irq.c
> > Hunk #2 succeeded at 1081 with fuzz 2 (offset 1 line).
> > patching file drivers/acpi/pci_irq.c
> > patching file drivers/pci/quirks.c
> > Hunk #1 succeeded at 678 (offset -5 lines).
>
> These indicate minor differences in these files between upstream BK
> (which is what my patch was against) and the kernel you're building.
> You can ignore them.
>
> > Then I tested it and it works (at least my speedtouch still works).
>
> Great. Shaohua, where should we go from here? Do you have more
> concerns with the current patch, or should we ask Andrew to put it
> in -mm? If you do have concerns, would you like to propose an
> alternate patch that fixes the problem for Grzegorz?
No, the patch is great to me.

Thanks,
Shaohua

2005-03-23 03:57:44

by Bjorn Helgaas

[permalink] [raw]
Subject: Re: [ACPI] Re: Fw: Anybody? 2.6.11 (stable and -rc) ACPI breaks USB

> On Wed, 2005-03-23 at 04:57, Bjorn Helgaas wrote:
>> Great. Shaohua, where should we go from here? Do you have more
>> concerns with the current patch, or should we ask Andrew to put it
>> in -mm? If you do have concerns, would you like to propose an
>> alternate patch that fixes the problem for Grzegorz?
> No, the patch is great to me.

Good. Thanks for all the help in refining this!
Andrew, can we put this in -mm?

BTW, I also have a report that this fixes a problem like
the following. I've had several similar reports that initially
seemed to be related to "pci=routeirq", so I'm optimistic that
fixing this Via problem will help several folks.

Probing IDE interface ide2...
hde: _NEC DV-5700A, ATAPI CD/DVD-ROM drive
irq 11: nobody cared!
[<c013769a>] __report_bad_irq+0x2a/0x90
[<c0136f99>] handle_IRQ_event+0x39/0x70
[<c01377c3>] note_interrupt+0xa3/0xd0
[<c0137130>] __do_IRQ+0x160/0x180
[<c0105649>] do_IRQ+0x19/0x30
[<c0103b4e>] common_interrupt+0x1a/0x20
[<c011eb00>] __do_softirq+0x30/0x90
[<c011eb86>] do_softirq+0x26/0x30
[<c0136f55>] irq_exit+0x35/0x40
[<c010564e>] do_IRQ+0x1e/0x30
[<c0103b4e>] common_interrupt+0x1a/0x20
[<c0137243>] enable_irq+0x43/0x110
[<c023adc9>] ide_config_drive_speed+0x149/0x380
[<c022ff38>] hpt370_tune_chipset+0x158/0x160
[<c02303dc>] hpt366_config_drive_xfer_rate+0x3c/0xa0
[<c023d310>] probe_hwif+0x420/0x490
[<c023d39b>] probe_hwif_init_with_fixup+0x1b/0x70
[<c0240a6b>] ide_setup_pci_device+0x5b/0xa0
[<c0231dbe>] init_setup_hpt366+0x17e/0x1b0
[<c0231e18>] hpt366_init_one+0x28/0x30
[<c039ccad>] ide_scan_pcidev+0x4d/0x70
[<c039ccf8>] ide_scan_pcibus+0x28/0xc0
[<c039cbd0>] probe_for_hwifs+0x10/0x20
[<c039cc3e>] ide_init+0x5e/0x80
[<c03808b3>] do_initcalls+0x53/0xc0
[<c0100410>] init+0x0/0x120
[<c010043f>] init+0x2f/0x120
[<c01012c0>] kernel_thread_helper+0x0/0x10
[<c01012c5>] kernel_thread_helper+0x5/0x10
handlers:
[<c01df538>] (acpi_irq+0x0/0x16)
Disabling IRQ #11


Attachments:
Re_ [ACPI] Re_ Fw_ Anybody_ 2[1].6.11 (stable and -rc) ACPI breaks USB.txt (3.87 kB)

2005-03-23 18:41:39

by Brown, Len

[permalink] [raw]
Subject: Re: [ACPI] Re: Fw: Anybody? 2.6.11 (stable and -rc) ACPI breaks USB

Bjorn,

I like how pci_fixup_device() invokes the quirk
when we want at pci_enable_device() time w/o cluttering
the code with VIA specific hooks.

I think you've also identified an improvement by
checking acpi_irq_model -- as the PCI config space
IRQ register is defined only in PIC-mode -- so one
must assume that the quirky via HW can't depend on
us writing reserved bits for IRQs > 15.

But checking skip_ioapic_setup in the non-ACPI case
isn't quite right. This is set for "noapic". But
it is not set in the PIC-mode case where the kernel
supports IOAPIC but the hardware does not -- in that
case the quirk would erroneously exit.

Also, the original quirk_via_irqpic()
had a udelay(15) before the write -- I have no idea
if that was significant or not -- maybe soembody else
on the list does -- as none of us have VIA documentation...

thanks,
-Len

ps. we need to fix this on 2.4 also.


2005-03-24 18:26:34

by Bjorn Helgaas

[permalink] [raw]
Subject: Re: [ACPI] Re: Fw: Anybody? 2.6.11 (stable and -rc) ACPI breaks USB

On Wed, 2005-03-23 at 13:40 -0500, Len Brown wrote:
> But checking skip_ioapic_setup in the non-ACPI case
> isn't quite right. This is set for "noapic". But
> it is not set in the PIC-mode case where the kernel
> supports IOAPIC but the hardware does not -- in that
> case the quirk would erroneously exit.

Ah, right, thanks. I changed it to:

if (nr_ioapics && !skip_ioapic_setup)
return;

Is that better?

> Also, the original quirk_via_irqpic()
> had a udelay(15) before the write -- I have no idea
> if that was significant or not -- maybe soembody else
> on the list does -- as none of us have VIA documentation...

Yes, I was worried about that, too. I added it back.

> ps. we need to fix this on 2.4 also.

Here's yet another iteration for 2.6. If this works OK,
I can back-port it to 2.4.


In PIC mode, some Via devices update IRQ routing when
PCI_INTERRUPT_LINE is written. So if we've updated the
device's IRQ, we also need to update PCI_INTERRUPT_LINE.

This also restores the mysterious "udelay(15)" before the
update because we don't know whether it's necessary and
haven't seen an argument for its removal.

Signed-off-by: Bjorn Helgaas <[email protected]>

===== arch/i386/pci/irq.c 1.55 vs edited =====
--- 1.55/arch/i386/pci/irq.c 2005-02-07 22:39:15 -07:00
+++ edited/arch/i386/pci/irq.c 2005-03-15 10:11:44 -07:00
@@ -1026,7 +1026,6 @@
static int pirq_enable_irq(struct pci_dev *dev)
{
u8 pin;
- extern int via_interrupt_line_quirk;
struct pci_dev *temp_dev;

pci_read_config_byte(dev, PCI_INTERRUPT_PIN, &pin);
@@ -1081,10 +1080,6 @@
printk(KERN_WARNING "PCI: No IRQ known for interrupt pin %c of device %s.%s\n",
'A' + pin, pci_name(dev), msg);
}
- /* VIA bridges use interrupt line for apic/pci steering across
- the V-Link */
- else if (via_interrupt_line_quirk)
- pci_write_config_byte(dev, PCI_INTERRUPT_LINE, dev->irq & 15);
return 0;
}

===== drivers/acpi/pci_irq.c 1.37 vs edited =====
--- 1.37/drivers/acpi/pci_irq.c 2005-03-01 09:57:29 -07:00
+++ edited/drivers/acpi/pci_irq.c 2005-03-15 10:10:57 -07:00
@@ -388,7 +388,6 @@
u8 pin = 0;
int edge_level = ACPI_LEVEL_SENSITIVE;
int active_high_low = ACPI_ACTIVE_LOW;
- extern int via_interrupt_line_quirk;

ACPI_FUNCTION_TRACE("acpi_pci_irq_enable");

@@ -437,9 +436,6 @@
return_VALUE(0);
}
}
-
- if (via_interrupt_line_quirk)
- pci_write_config_byte(dev, PCI_INTERRUPT_LINE, irq & 15);

dev->irq = acpi_register_gsi(irq, edge_level, active_high_low);

===== drivers/pci/quirks.c 1.72 vs edited =====
--- 1.72/drivers/pci/quirks.c 2005-03-10 01:38:25 -07:00
+++ edited/drivers/pci/quirks.c 2005-03-24 11:07:19 -07:00
@@ -683,19 +683,41 @@
}
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82454NX, quirk_disable_pxb );

-/*
- * VIA northbridges care about PCI_INTERRUPT_LINE
- */
-int via_interrupt_line_quirk;
+#ifdef CONFIG_ACPI
+#include <linux/acpi.h>
+#endif

-static void __devinit quirk_via_bridge(struct pci_dev *pdev)
+static void __devinit quirk_via_irqpic(struct pci_dev *dev)
{
- if(pdev->devfn == 0) {
- printk(KERN_INFO "PCI: Via IRQ fixup\n");
- via_interrupt_line_quirk = 1;
+ u8 irq, new_irq;
+
+#ifdef CONFIG_X86_IO_APIC
+ if (nr_ioapics && !skip_ioapic_setup)
+ return;
+#endif
+#ifdef CONFIG_ACPI
+ if (acpi_irq_model != ACPI_IRQ_MODEL_PIC)
+ return;
+#endif
+ /*
+ * Some Via devices make an internal connection to the PIC when the
+ * PCI_INTERRUPT_LINE register is written. If we've changed the
+ * device's IRQ, we need to update this routing.
+ *
+ * I suspect this only happens for devices on the same chip as the
+ * PIC, but I don't know how to identify those without listing them
+ * all individually, which is a maintenance problem.
+ */
+ new_irq = dev->irq & 0xf;
+ pci_read_config_byte(dev, PCI_INTERRUPT_LINE, &irq);
+ if (new_irq != irq) {
+ printk(KERN_INFO "PCI: Via PIC IRQ fixup for %s, from %d to %d\n",
+ pci_name(dev), irq, new_irq);
+ udelay(15);
+ pci_write_config_byte(dev, PCI_INTERRUPT_LINE, new_irq);
}
}
-DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_VIA, PCI_ANY_ID, quirk_via_bridge );
+DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_ANY_ID, quirk_via_irqpic);

/*
* Serverworks CSB5 IDE does not fully support native mode


2005-03-25 19:08:45

by Brown, Len

[permalink] [raw]
Subject: Re: [ACPI] Re: Fw: Anybody? 2.6.11 (stable and -rc) ACPI breaks USB

Applied.

thanks,
-Len

On Thu, 2005-03-24 at 13:24, Bjorn Helgaas wrote:
> On Wed, 2005-03-23 at 13:40 -0500, Len Brown wrote:
> > But checking skip_ioapic_setup in the non-ACPI case
> > isn't quite right. This is set for "noapic". But
> > it is not set in the PIC-mode case where the kernel
> > supports IOAPIC but the hardware does not -- in that
> > case the quirk would erroneously exit.
>
> Ah, right, thanks. I changed it to:
>
> if (nr_ioapics && !skip_ioapic_setup)
> return;
>
> Is that better?
>
> > Also, the original quirk_via_irqpic()
> > had a udelay(15) before the write -- I have no idea
> > if that was significant or not -- maybe soembody else
> > on the list does -- as none of us have VIA documentation...
>
> Yes, I was worried about that, too. I added it back.
>
> > ps. we need to fix this on 2.4 also.
>
> Here's yet another iteration for 2.6. If this works OK,
> I can back-port it to 2.4.
...