* RE: 2.6.2-rc3: irq#19 - nobody cared - with an au88xx @ 2004-04-07 4:08 Brown, Len 2004-04-07 14:59 ` Daniel Jacobowitz 0 siblings, 1 reply; 11+ messages in thread From: Brown, Len @ 2004-04-07 4:08 UTC (permalink / raw) To: Daniel Jacobowitz; +Cc: linux-kernel >I'm assuming that it is not the fault of either of these drivers, since >both of those are quite straightforward; they appear to be actually >being triggered when nothing is going on. If IRQ initialization is done incorrectly, it is possible For a driver to request_irq(X), while the hardware is actually on IRQ Y. Then when that device becomes active, it would kill the other devices on Y because its handler is looking for interrupts on X. If this happens with acpi enabled, but doesn't happen with acpi=off or pci=noacpi, then we need to compare the /proc/interrupts between the working and failintg configs to see if the IRQs have moved around when perhaps they should not have. Dmesg from the ACPI case would also be needed. >There was a set of APIC errors an hour before, but they're probably >unrelated: >Apr 6 11:31:31 nevyn kernel: APIC error on CPU1: 00(08) >Apr 6 11:31:31 nevyn kernel: APIC error on CPU0: 00(02) I believe this is due to transient hardware errors on your MB. Though not fatal, it isn't a good indicator. -Len ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: 2.6.2-rc3: irq#19 - nobody cared - with an au88xx 2004-04-07 4:08 2.6.2-rc3: irq#19 - nobody cared - with an au88xx Brown, Len @ 2004-04-07 14:59 ` Daniel Jacobowitz 2004-04-12 18:51 ` Daniel Jacobowitz 0 siblings, 1 reply; 11+ messages in thread From: Daniel Jacobowitz @ 2004-04-07 14:59 UTC (permalink / raw) To: Brown, Len; +Cc: linux-kernel [-- Attachment #1: Type: text/plain, Size: 4085 bytes --] On Wed, Apr 07, 2004 at 12:08:59AM -0400, Brown, Len wrote: > >I'm assuming that it is not the fault of either of these drivers, since > >both of those are quite straightforward; they appear to be actually > >being triggered when nothing is going on. > > If IRQ initialization is done incorrectly, it is possible > For a driver to request_irq(X), while the hardware is actually > on IRQ Y. > > Then when that device becomes active, it would kill the other > devices on Y because its handler is looking for interrupts on X. > > If this happens with acpi enabled, but doesn't happen with acpi=off > or pci=noacpi, then we need to compare the /proc/interrupts between > the working and failintg configs to see if the IRQs have moved around > when perhaps they should not have. Dmesg from the ACPI case would > also be needed. Thanks for your continued help... this gave me some extremely interesting data. Here's some data from /proc/interrupts on 2.6.0-test9, which was quite stable for me: 19: 0 0 IO-APIC-level au88xx 21: 52 0 IO-APIC-level uhci_hcd, uhci_hcd 2.6.5 with ACPI: 11: 300000 0 IO-APIC-level uhci_hcd, uhci_hcd 19: 299999 1 IO-APIC-level au8830 2.6.5 with pci=noacpi: 5: 54 1 IO-APIC-level uhci_hcd, uhci_hcd, au8830 I haven't run that third setup for a lot of time yet, so I don't know for sure that it's stable. Sound seems much more crackly than it was with ACPI enabled, but that could be any problem with the vortex2 driver - or it could be missing interrupts. Here's one interesting bit that only appears in dmesg with ACPI enabled, and only in 2.6.5: PCI: Via IRQ fixup for 0000:00:07.2, from 5 to 11 PCI: Via IRQ fixup for 0000:00:07.3, from 5 to 11 That's the two UHCI devices. So they get quirked off to a different IRQ, and au88x0 somehow ends up routed to yet a third IRQ, but from the symptoms I am guessing that the USB and au8830 are actually connected to the same pin. That would explain both of them getting interrupts with no obvious source, even though they do each get their own interrupts also. The quirk isn't new; it's from 2002. So presumably ACPI is now putting them somewhere different than it used to. Here's a some bits of the dmesg: 2.6.0-test9 ACPI: PCI Interrupt Link [LNKA] enabled at IRQ 11 IOAPIC[0]: Set PCI routing entry (2-11 -> 0xc9 -> IRQ 27 Mode:1 Active:1) 00:00:07[A] -> 2-11 -> IRQ 27 ACPI: PCI Interrupt Link [LNKB] enabled at IRQ 12 IOAPIC[0]: Set PCI routing entry (2-12 -> 0xd1 -> IRQ 28 Mode:1 Active:1) 00:00:07[B] -> 2-12 -> IRQ 28 ACPI: PCI Interrupt Link [LNKC] enabled at IRQ 10 IOAPIC[0]: Set PCI routing entry (2-10 -> 0xd9 -> IRQ 26 Mode:1 Active:1) 00:00:07[C] -> 2-10 -> IRQ 26 ACPI: PCI Interrupt Link [LNKD] enabled at IRQ 5 IOAPIC[0]: Set PCI routing entry (2-5 -> 0xe1 -> IRQ 21 Mode:1 Active:1) 00:00:07[D] -> 2-5 -> IRQ 21 2.6.5 ACPI: PCI Interrupt Link [LNKA] enabled at IRQ 11 IOAPIC[0]: Set PCI routing entry (2-11 -> 0x81 -> IRQ 11 Mode:1 Active:1) 00:00:07[A] -> 2-11 -> IRQ 11 ACPI: PCI Interrupt Link [LNKB] enabled at IRQ 10 IOAPIC[0]: Set PCI routing entry (2-10 -> 0x79 -> IRQ 10 Mode:1 Active:1) 00:00:07[B] -> 2-10 -> IRQ 10 ACPI: PCI Interrupt Link [LNKC] enabled at IRQ 10 ACPI: PCI Interrupt Link [LNKD] enabled at IRQ 11 I've attached the dmesgs and /proc/interrupts. In the interest of full disclosure, this motherboard came with a bad _PRT. There are a four entries in the APIC-mode _PRT which look like: Package(0x4) { 0x0007ffff, 0x0, 0x0, \_SB_.PCI0.LNKA, }, With that, ACPI complains and/or can't boot (don't remember exactly). So I've fudged them to: Package(0x4) { 0x0007ffff, 0x0, \_SB_.PCI0.LNKA, 0x0, }, I made this change some months before the 2.6.0-test9 kernel which worked OK. -- Daniel Jacobowitz MontaVista Software Debian GNU/Linux Developer [-- Attachment #2: dmesg-260test9.txt --] [-- Type: text/plain, Size: 15318 bytes --] CPU: After vendor identify, caps: 0387fbff 00000000 00000000 00000000 CPU: L1 I cache: 16K, L1 D cache: 16K CPU: L2 cache: 256K CPU serial number disabled. CPU: After all inits, caps: 0383fbff 00000000 00000000 00000040 Intel machine check architecture supported. Intel machine check reporting enabled on CPU#0. Enabling fast FPU save and restore... done. Enabling unmasked SIMD FPU exception support... done. Checking 'hlt' instruction... OK. POSIX conformance testing by UNIFIX CPU0: Intel Pentium III (Coppermine) stepping 06 per-CPU timeslice cutoff: 731.72 usecs. task migration cache decay timeout: 1 msecs. enabled ExtINT on CPU#0 ESR value before enabling vector: 00000000 ESR value after enabling vector: 00000000 Booting processor 1/1 eip 2000 Initializing CPU#1 masked ExtINT on CPU#1 ESR value before enabling vector: 00000000 ESR value after enabling vector: 00000000 Calibrating delay loop... 1994.75 BogoMIPS CPU: After generic identify, caps: 0387fbff 00000000 00000000 00000000 CPU: After vendor identify, caps: 0387fbff 00000000 00000000 00000000 CPU: L1 I cache: 16K, L1 D cache: 16K CPU: L2 cache: 256K CPU serial number disabled. CPU: After all inits, caps: 0383fbff 00000000 00000000 00000040 Intel machine check architecture supported. Intel machine check reporting enabled on CPU#1. CPU1: Intel Pentium III (Coppermine) stepping 06 Total of 2 processors activated (3960.83 BogoMIPS). ENABLING IO-APIC IRQs init IO_APIC IRQs IO-APIC (apicid-pin) 2-0, 2-16, 2-17, 2-18, 2-19, 2-20, 2-21, 2-22, 2-23 not connected. ..TIMER: vector=0x31 pin1=2 pin2=-1 number of MP IRQ sources: 15. number of IO-APIC #2 registers: 24. testing the IO APIC....................... IO APIC #2...... .... register #00: 02000000 ....... : physical APIC id: 02 ....... : Delivery Type: 0 ....... : LTS : 0 .... register #01: 00178011 ....... : max redirection entries: 0017 ....... : PRQ implemented: 1 ....... : IO APIC version: 0011 .... register #02: 00000000 ....... : arbitration: 00 .... IRQ redirection table: NR Log Phy Mask Trig IRR Pol Stat Dest Deli Vect: 00 000 00 1 0 0 0 0 0 0 00 01 001 01 0 0 0 0 0 1 1 39 02 001 01 0 0 0 0 0 1 1 31 03 001 01 0 0 0 0 0 1 1 41 04 001 01 0 0 0 0 0 1 1 49 05 001 01 0 0 0 0 0 1 1 51 06 001 01 0 0 0 0 0 1 1 59 07 001 01 0 0 0 0 0 1 1 61 08 001 01 0 0 0 0 0 1 1 69 09 001 01 0 0 0 0 0 1 1 71 0a 001 01 0 0 0 0 0 1 1 79 0b 001 01 0 0 0 0 0 1 1 81 0c 001 01 0 0 0 0 0 1 1 89 0d 001 01 0 0 0 0 0 1 1 91 0e 001 01 0 0 0 0 0 1 1 99 0f 001 01 0 0 0 0 0 1 1 A1 10 000 00 1 0 0 0 0 0 0 00 11 000 00 1 0 0 0 0 0 0 00 12 000 00 1 0 0 0 0 0 0 00 13 000 00 1 0 0 0 0 0 0 00 14 000 00 1 0 0 0 0 0 0 00 15 000 00 1 0 0 0 0 0 0 00 16 000 00 1 0 0 0 0 0 0 00 17 000 00 1 0 0 0 0 0 0 00 IRQ to pin mappings: IRQ0 -> 0:2 IRQ1 -> 0:1 IRQ3 -> 0:3 IRQ4 -> 0:4 IRQ5 -> 0:5 IRQ6 -> 0:6 IRQ7 -> 0:7 IRQ8 -> 0:8 IRQ9 -> 0:9 IRQ10 -> 0:10 IRQ11 -> 0:11 IRQ12 -> 0:12 IRQ13 -> 0:13 IRQ14 -> 0:14 IRQ15 -> 0:15 .................................... done. Using local APIC timer interrupts. calibrating APIC timer ... ..... CPU clock speed is 998.0205 MHz. ..... host bus clock speed is 133.0093 MHz. checking TSC synchronization across 2 CPUs: passed. Starting migration thread for cpu 0 Bringing up 1 CPU 1 IS NOW UP! Starting migration thread for cpu 1 CPUS done 2 NET: Registered protocol family 16 PCI: PCI BIOS revision 2.10 entry at 0xfb370, last bus=1 PCI: Using configuration type 1 mtrr: v2.0 (20020519) mtrr: your CPUs had inconsistent variable MTRR settings mtrr: probably your BIOS does not setup all CPUs. mtrr: corrected configuration. ACPI: Subsystem revision 20031002 tbxface-0117 [03] acpi_load_tables : ACPI Tables successfully acquired Parsing all Control Methods:...................................................................... Table [DSDT](id F004) - 301 Objects with 29 Devices 70 Methods 21 Regions ACPI Namespace successfully loaded at root c050069c IOAPIC[0]: Set PCI routing entry (2-9 -> 0x71 -> IRQ 9 Mode:0 Active:0) evxfevnt-0093 [04] acpi_enable : Transition to ACPI mode successful evgpeblk-0748 [06] ev_create_gpe_block : GPE 00 to 15 [_GPE] 2 regs at 0000000000004020 on int 9 Completing Region/Field/Buffer/Package initialization:.............................................. Initialized 21/21 Regions 1/1 Fields 15/15 Buffers 9/9 Packages (309 nodes) Executing all Device _STA and_INI methods:.............................. 30 Devices found containing: 30 _STA, 1 _INI methods ACPI: Interpreter enabled ACPI: Using IOAPIC for interrupt routing ACPI: PCI Root Bridge [PCI0] (00:00) PCI: Probing PCI hardware (bus 00) ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT] Fixing up bogus APIC entry Fixing up bogus APIC entry Fixing up bogus APIC entry Fixing up bogus APIC entry ACPI: PCI Interrupt Link [LNKA] (IRQs 1 3 4 5 6 7 10 *11 12 14 15) ACPI: PCI Interrupt Link [LNKB] (IRQs 1 3 4 5 6 7 10 11 *12 14 15) ACPI: PCI Interrupt Link [LNKC] (IRQs 1 3 4 5 6 7 *10 11 12 14 15) ACPI: PCI Interrupt Link [LNKD] (IRQs 1 3 4 *5 6 7 10 11 12 14 15) Linux Plug and Play Support v0.97 (c) Adam Belay PnPBIOS: Scanning system for PnP BIOS support... PnPBIOS: Found PnP BIOS installation structure at 0xc00fbd80 PnPBIOS: PnP BIOS version 1.0, entry 0xf0000:0xbdb0, dseg 0xf0000 PnPBIOS: 14 nodes reported by PnP BIOS; 14 recorded by driver SCSI subsystem initialized drivers/usb/core/usb.c: registered new driver usbfs drivers/usb/core/usb.c: registered new driver hub IOAPIC[0]: Set PCI routing entry (2-16 -> 0xa9 -> IRQ 16 Mode:1 Active:1) 00:00:09[A] -> 2-16 -> IRQ 16 IOAPIC[0]: Set PCI routing entry (2-17 -> 0xb1 -> IRQ 17 Mode:1 Active:1) 00:00:09[B] -> 2-17 -> IRQ 17 IOAPIC[0]: Set PCI routing entry (2-18 -> 0xb9 -> IRQ 18 Mode:1 Active:1) 00:00:09[C] -> 2-18 -> IRQ 18 IOAPIC[0]: Set PCI routing entry (2-19 -> 0xc1 -> IRQ 19 Mode:1 Active:1) 00:00:09[D] -> 2-19 -> IRQ 19 Pin 2-17 already programmed Pin 2-19 already programmed Pin 2-18 already programmed Pin 2-16 already programmed Pin 2-17 already programmed Pin 2-16 already programmed Pin 2-19 already programmed Pin 2-18 already programmed Pin 2-19 already programmed Pin 2-16 already programmed Pin 2-17 already programmed Pin 2-18 already programmed Pin 2-18 already programmed Pin 2-19 already programmed Pin 2-16 already programmed Pin 2-17 already programmed Pin 2-18 already programmed Pin 2-19 already programmed Pin 2-16 already programmed Pin 2-17 already programmed ACPI: PCI Interrupt Link [LNKA] enabled at IRQ 11 IOAPIC[0]: Set PCI routing entry (2-11 -> 0xc9 -> IRQ 27 Mode:1 Active:1) 00:00:07[A] -> 2-11 -> IRQ 27 ACPI: PCI Interrupt Link [LNKB] enabled at IRQ 12 IOAPIC[0]: Set PCI routing entry (2-12 -> 0xd1 -> IRQ 28 Mode:1 Active:1) 00:00:07[B] -> 2-12 -> IRQ 28 ACPI: PCI Interrupt Link [LNKC] enabled at IRQ 10 IOAPIC[0]: Set PCI routing entry (2-10 -> 0xd9 -> IRQ 26 Mode:1 Active:1) 00:00:07[C] -> 2-10 -> IRQ 26 ACPI: PCI Interrupt Link [LNKD] enabled at IRQ 5 IOAPIC[0]: Set PCI routing entry (2-5 -> 0xe1 -> IRQ 21 Mode:1 Active:1) 00:00:07[D] -> 2-5 -> IRQ 21 Pin 2-16 already programmed Pin 2-17 already programmed Pin 2-18 already programmed Pin 2-19 already programmed PCI: Using ACPI for IRQ routing PCI: if you experience problems, try using option 'pci=noacpi' or even 'acpi=off' Starting balanced_irq devfs: v1.22 (20021013) Richard Gooch (rgooch@atnf.csiro.au) devfs: boot_options: 0x1 Installing knfsd (copyright (C) 1996 okir@monad.swb.de). PCI: Enabling Via external APIC routing isapnp: Scanning for PnP cards... isapnp: No Plug & Play device found pty: 256 Unix98 ptys configured Linux agpgart interface v0.100 (c) Dave Jones agpgart: Detected VIA Apollo Pro 133 chipset agpgart: Maximum main memory to use for agp memory: 816M agpgart: AGP aperture is 64M @ 0xd0000000 Serial: 8250/16550 driver $Revision: 1.90 $ 8 ports, IRQ sharing disabled ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A Using anticipatory io scheduler Floppy drive(s): fd0 is 1.44M FDC 0 is a post-1991 82077 RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize 8139too Fast Ethernet driver 0.9.26 eth0: RealTek RTL8139 at 0xf8806000, 00:05:5d:d1:48:34, IRQ 17 eth0: Identified 8139 chip type 'RTL-8139C' Linux Tulip driver version 1.1.13 (May 11, 2002) tulip0: MII transceiver #1 config 3000 status 7829 advertising 01e1. eth1: Lite-On 82c168 PNIC rev 32 at 0xa000, 00:A0:CC:D6:AC:E1, IRQ 17. Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2 ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx VP_IDE: IDE controller at PCI slot 0000:00:07.1 VP_IDE: chipset revision 6 VP_IDE: not 100% native mode: will probe irqs later ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx VP_IDE: VIA vt82c686b (rev 40) IDE UDMA100 controller on pci0000:00:07.1 ide0: BM-DMA at 0x9000-0x9007, BIOS settings: hda:DMA, hdb:DMA ide1: BM-DMA at 0x9008-0x900f, BIOS settings: hdc:DMA, hdd:pio hda: Maxtor 92049U6, ATA DISK drive hdb: Hewlett-Packard DVD Writer 300, ATAPI CD/DVD-ROM drive ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 hdc: WDC WD800BB-00CAA1, ATA DISK drive ide1 at 0x170-0x177,0x376 on irq 15 HPT370A: IDE controller at PCI slot 0000:00:0e.0 HPT370A: chipset revision 4 HPT37X: using 33MHz PCI clock HPT370A: 100% native mode on irq 18 ide2: BM-DMA at 0xc400-0xc407, BIOS settings: hde:pio, hdf:pio ide3: BM-DMA at 0xc408-0xc40f, BIOS settings: hdg:pio, hdh:pio hde: WDC WD800BB-00CAA1, ATA DISK drive ide2 at 0xb400-0xb407,0xb802 on irq 18 hdg: WDC WD800BB-00CAA1, ATA DISK drive ide3 at 0xbc00-0xbc07,0xc002 on irq 18 hda: max request size: 128KiB hda: 39882528 sectors (20419 MB) w/2048KiB Cache, CHS=39566/16/63, UDMA(66) /dev/ide/host0/bus0/target0/lun0: p1 p2 < p5 p6 p7 > p3 hdc: max request size: 128KiB hdc: 156301488 sectors (80026 MB) w/2048KiB Cache, CHS=65535/16/63, UDMA(100) /dev/ide/host0/bus1/target0/lun0: p1 < p5 > p2 hde: max request size: 128KiB hde: 156301488 sectors (80026 MB) w/2048KiB Cache, CHS=65535/16/63, UDMA(100) /dev/ide/host2/bus0/target0/lun0: p1 p2 hdg: max request size: 128KiB hdg: 156301488 sectors (80026 MB) w/2048KiB Cache, CHS=65535/16/63, UDMA(100) /dev/ide/host2/bus1/target0/lun0: p1 p2 scsi0 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.35 <Adaptec 29160 Ultra160 SCSI adapter> aic7892: Ultra160 Wide Channel A, SCSI Id=7, 32/253 SCBs (scsi0:A:2): 160.000MB/s transfers (80.000MHz DT, offset 127, 16bit) Vendor: QUANTUM Model: ATLAS10K2-TY184L Rev: DDD6 Type: Direct-Access ANSI SCSI revision: 03 scsi0:A:2:0: Tagged Queuing enabled. Depth 24 scsi1 : SCSI host adapter emulation for IDE ATAPI devices Vendor: HP Model: DVD Writer 300n Rev: 1.25 Type: CD-ROM ANSI SCSI revision: 02 SCSI device sda: 35860910 512-byte hdwr sectors (18361 MB) SCSI device sda: drive cache: write back /dev/scsi/host0/bus0/target2/lun0: p1 Attached scsi disk sda at scsi0, channel 0, id 2, lun 0 sr0: scsi3-mmc drive: 40x/40x writer cd/rw xa/form2 cdda tray Uniform CD-ROM driver Revision: 3.12 Attached scsi CD-ROM sr0 at scsi1, channel 0, id 0, lun 0 Attached scsi generic sg0 at scsi0, channel 0, id 2, lun 0, type 0 Attached scsi generic sg1 at scsi1, channel 0, id 0, lun 0, type 5 drivers/usb/host/uhci-hcd.c: USB Universal Host Controller Interface driver v2.1 uhci_hcd 0000:00:07.2: UHCI Host Controller uhci_hcd 0000:00:07.2: irq 21, io base 00009400 uhci_hcd 0000:00:07.2: new USB bus registered, assigned bus number 1 hub 1-0:1.0: USB hub found hub 1-0:1.0: 2 ports detected uhci_hcd 0000:00:07.3: UHCI Host Controller uhci_hcd 0000:00:07.3: irq 21, io base 00009800 uhci_hcd 0000:00:07.3: new USB bus registered, assigned bus number 2 hub 2-0:1.0: USB hub found hub 2-0:1.0: 2 ports detected drivers/usb/core/usb.c: registered new driver hiddev drivers/usb/core/usb.c: registered new driver hid drivers/usb/input/hid-core.c: v2.0:USB HID core driver mice: PS/2 mouse device common for all mice serio: i8042 AUX port at 0x60,0x64 irq 12 input: AT Translated Set 2 keyboard on isa0060/serio0 serio: i8042 KBD port at 0x60,0x64 irq 1 md: raid5 personality registered as nr 4 raid5: measuring checksumming speed 8regs : 1824.000 MB/sec 8regs_prefetch: 1464.000 MB/sec 32regs : 960.000 MB/sec 32regs_prefetch: 892.000 MB/sec pIII_sse : 1972.000 MB/sec pII_mmx : 2472.000 MB/sec p5_mmx : 2644.000 MB/sec raid5: using function: pIII_sse (1972.000 MB/sec) md: md driver 0.90.0 MAX_MD_DEVS=256, MD_SB_DISKS=27 NET: Registered protocol family 2 IP: routing cache hash table of 8192 buckets, 64Kbytes TCP: Hash tables configured (established 262144 bind 65536) NET: Registered protocol family 1 NET: Registered protocol family 17 md: Autodetecting RAID arrays. md: autorun ... md: considering hdg2 ... md: adding hdg2 ... md: adding hde2 ... md: adding hdc2 ... md: created md0 md: bind<hdc2> md: bind<hde2> md: bind<hdg2> md: running: <hdg2><hde2><hdc2> raid5: device hdg2 operational as raid disk 1 raid5: device hde2 operational as raid disk 2 raid5: device hdc2 operational as raid disk 0 raid5: allocated 3147kB for md0 raid5: raid level 5 set md0 active with 3 out of 3 devices, algorithm 2 RAID5 conf printout: --- rd:3 wd:3 fd:0 disk 0, o:1, dev:hdc2 disk 1, o:1, dev:hdg2 disk 2, o:1, dev:hde2 md: ... autorun DONE. kjournald starting. Commit interval 5 seconds EXT3-fs: mounted filesystem with ordered data mode. VFS: Mounted root (ext3 filesystem) readonly. Mounted devfs on /dev Freeing unused kernel memory: 216k freed hub 1-0:1.0: new USB device on port 1, assigned address 2 input: USB HID v1.00 Mouse [Logitech USB-PS/2 Trackball] on usb-0000:00:07.2-1 hub 1-0:1.0: new USB device on port 2, assigned address 3 EXT3 FS on md0, internal journal au88xx: Loading... au88xx: Found vortex PCI device: au88xx: id=0x0002 au88xx: bar0=0xd9000000 au88xx: irq=19 au88xx: Add device, audio=3, mixer=0, midi=2 Real Time Clock Driver v1.12 drivers/usb/class/usblp.c: usblp0: USB Bidirectional printer dev 3 if 0 alt 0 proto 2 vid 0x04F9 pid 0x0110 drivers/usb/core/usb.c: registered new driver usblp drivers/usb/class/usblp.c: v0.13: USB Printer Device Class driver kjournald starting. Commit interval 5 seconds EXT3 FS on sda1, internal journal EXT3-fs: mounted filesystem with ordered data mode. Adding 524280k swap on /swapfile. Priority:-1 extents:4893 eth1: link up, 100Mbps, half-duplex, lpa 0x40A1 ip_tables: (C) 2000-2002 Netfilter core team ip_conntrack version 2.1 (7168 buckets, 57344 max) - 304 bytes per conntrack NET: Registered protocol family 10 IPv6 over IPv4 tunneling driver eth0: no IPv6 routers present eth1: no IPv6 routers present [drm] Initialized r128 2.5.0 20030725 on minor 0 [-- Attachment #3: interrupts-260test9.txt --] [-- Type: text/plain, Size: 762 bytes --] CPU0 CPU1 0: 106340 165 IO-APIC-edge timer 1: 211 1 IO-APIC-edge i8042 2: 0 0 XT-PIC cascade 8: 0 1 IO-APIC-edge rtc 9: 0 0 IO-APIC-edge acpi 14: 53 1 IO-APIC-edge ide0 15: 3358 1 IO-APIC-edge ide1 16: 83 1 IO-APIC-level aic7xxx 17: 1179 0 IO-APIC-level eth0, eth1 18: 6538 5 IO-APIC-level ide2, ide3, r128@PCI:0:13:0 19: 0 0 IO-APIC-level au88xx 21: 52 0 IO-APIC-level uhci_hcd, uhci_hcd NMI: 0 0 LOC: 106250 106296 ERR: 0 MIS: 9 [-- Attachment #4: dmesg-smp-acpi.txt --] [-- Type: text/plain, Size: 15309 bytes --] CPU#0. Enabling fast FPU save and restore... done. Enabling unmasked SIMD FPU exception support... done. Checking 'hlt' instruction... OK. POSIX conformance testing by UNIFIX CPU0: Intel Pentium III (Coppermine) stepping 06 per-CPU timeslice cutoff: 731.72 usecs. task migration cache decay timeout: 1 msecs. enabled ExtINT on CPU#0 ESR value before enabling vector: 00000000 ESR value after enabling vector: 00000000 Booting processor 1/1 eip 2000 Initializing CPU#1 masked ExtINT on CPU#1 ESR value before enabling vector: 00000000 ESR value after enabling vector: 00000000 Calibrating delay loop... 1994.75 BogoMIPS CPU: After generic identify, caps: 0387fbff 00000000 00000000 00000000 CPU: After vendor identify, caps: 0387fbff 00000000 00000000 00000000 CPU: L1 I cache: 16K, L1 D cache: 16K CPU: L2 cache: 256K CPU serial number disabled. CPU: After all inits, caps: 0383fbff 00000000 00000000 00000040 Intel machine check architecture supported. Intel machine check reporting enabled on CPU#1. CPU1: Intel Pentium III (Coppermine) stepping 06 Total of 2 processors activated (3960.83 BogoMIPS). ENABLING IO-APIC IRQs init IO_APIC IRQs IO-APIC (apicid-pin) 2-0, 2-16, 2-17, 2-18, 2-19, 2-20, 2-21, 2-22, 2-23 not connected. ..TIMER: vector=0x31 pin1=2 pin2=-1 Using local APIC timer interrupts. calibrating APIC timer ... ..... CPU clock speed is 998.0152 MHz. ..... host bus clock speed is 133.0087 MHz. checking TSC synchronization across 2 CPUs: passed. Brought up 2 CPUs NET: Registered protocol family 16 PCI: PCI BIOS revision 2.10 entry at 0xfb370, last bus=1 PCI: Using configuration type 1 mtrr: v2.0 (20020519) mtrr: your CPUs had inconsistent variable MTRR settings mtrr: probably your BIOS does not setup all CPUs. mtrr: corrected configuration. ACPI: Subsystem revision 20040326 tbxface-0117 [03] acpi_load_tables : ACPI Tables successfully acquired Parsing all Control Methods:...................................................................... Table [DSDT](id F004) - 301 Objects with 29 Devices 70 Methods 21 Regions ACPI Namespace successfully loaded at root c050cd7c evxfevnt-0093 [04] acpi_enable : Transition to ACPI mode successful evgpeblk-0867 [06] ev_create_gpe_block : GPE 00 to 15 [_GPE] 2 regs at 0000000000004020 on int 9 evgpeblk-0925 [06] ev_create_gpe_block : Found 0 Wake, Enabled 3 Runtime GPEs in this block Completing Region/Field/Buffer/Package initialization:.............................................. Initialized 21/21 Regions 1/1 Fields 15/15 Buffers 9/9 Packages (310 nodes) Executing all Device _STA and_INI methods:................................ 32 Devices found containing: 32 _STA, 1 _INI methods ACPI: Interpreter enabled ACPI: Using IOAPIC for interrupt routing ACPI: PCI Root Bridge [PCI0] (00:00) PCI: Probing PCI hardware (bus 00) ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT] Fixing up bogus APIC entry Fixing up bogus APIC entry Fixing up bogus APIC entry Fixing up bogus APIC entry ACPI: PCI Interrupt Link [LNKA] (IRQs 1 3 4 5 6 7 10 *11 12 14 15) ACPI: PCI Interrupt Link [LNKB] (IRQs 1 3 4 5 6 7 10 11 *12 14 15) ACPI: PCI Interrupt Link [LNKC] (IRQs 1 3 4 5 6 7 *10 11 12 14 15) ACPI: PCI Interrupt Link [LNKD] (IRQs 1 3 4 *5 6 7 10 11 12 14 15) Linux Plug and Play Support v0.97 (c) Adam Belay PnPBIOS: Scanning system for PnP BIOS support... PnPBIOS: Found PnP BIOS installation structure at 0xc00fbd80 PnPBIOS: PnP BIOS version 1.0, entry 0xf0000:0xbdb0, dseg 0xf0000 PnPBIOS: 14 nodes reported by PnP BIOS; 14 recorded by driver SCSI subsystem initialized drivers/usb/core/usb.c: registered new driver usbfs drivers/usb/core/usb.c: registered new driver hub IOAPIC[0]: Set PCI routing entry (2-16 -> 0xa9 -> IRQ 16 Mode:1 Active:1) 00:00:09[A] -> 2-16 -> IRQ 16 IOAPIC[0]: Set PCI routing entry (2-17 -> 0xb1 -> IRQ 17 Mode:1 Active:1) 00:00:09[B] -> 2-17 -> IRQ 17 IOAPIC[0]: Set PCI routing entry (2-18 -> 0xb9 -> IRQ 18 Mode:1 Active:1) 00:00:09[C] -> 2-18 -> IRQ 18 IOAPIC[0]: Set PCI routing entry (2-19 -> 0xc1 -> IRQ 19 Mode:1 Active:1) 00:00:09[D] -> 2-19 -> IRQ 19 ACPI: PCI Interrupt Link [LNKA] enabled at IRQ 11 IOAPIC[0]: Set PCI routing entry (2-11 -> 0x81 -> IRQ 11 Mode:1 Active:1) 00:00:07[A] -> 2-11 -> IRQ 11 ACPI: PCI Interrupt Link [LNKB] enabled at IRQ 10 IOAPIC[0]: Set PCI routing entry (2-10 -> 0x79 -> IRQ 10 Mode:1 Active:1) 00:00:07[B] -> 2-10 -> IRQ 10 ACPI: PCI Interrupt Link [LNKC] enabled at IRQ 10 ACPI: PCI Interrupt Link [LNKD] enabled at IRQ 11 number of MP IRQ sources: 15. number of IO-APIC #2 registers: 24. testing the IO APIC....................... IO APIC #2...... .... register #00: 02000000 ....... : physical APIC id: 02 ....... : Delivery Type: 0 ....... : LTS : 0 .... register #01: 00178011 ....... : max redirection entries: 0017 ....... : PRQ implemented: 1 ....... : IO APIC version: 0011 .... register #02: 00000000 ....... : arbitration: 00 .... IRQ redirection table: NR Log Phy Mask Trig IRR Pol Stat Dest Deli Vect: 00 000 00 1 0 0 0 0 0 0 00 01 003 03 0 0 0 0 0 1 1 39 02 003 03 0 0 0 0 0 1 1 31 03 003 03 0 0 0 0 0 1 1 41 04 003 03 0 0 0 0 0 1 1 49 05 003 03 0 0 0 0 0 1 1 51 06 003 03 0 0 0 0 0 1 1 59 07 003 03 0 0 0 0 0 1 1 61 08 003 03 0 0 0 0 0 1 1 69 09 003 03 0 1 0 1 0 1 1 71 0a 003 03 1 1 0 1 0 1 1 79 0b 003 03 1 1 0 1 0 1 1 81 0c 003 03 0 0 0 0 0 1 1 89 0d 003 03 0 0 0 0 0 1 1 91 0e 003 03 0 0 0 0 0 1 1 99 0f 003 03 0 0 0 0 0 1 1 A1 10 003 03 1 1 0 1 0 1 1 A9 11 003 03 1 1 0 1 0 1 1 B1 12 003 03 1 1 0 1 0 1 1 B9 13 003 03 1 1 0 1 0 1 1 C1 14 000 00 1 0 0 0 0 0 0 00 15 000 00 1 0 0 0 0 0 0 00 16 000 00 1 0 0 0 0 0 0 00 17 000 00 1 0 0 0 0 0 0 00 IRQ to pin mappings: IRQ0 -> 0:2 IRQ1 -> 0:1 IRQ3 -> 0:3 IRQ4 -> 0:4 IRQ5 -> 0:5 IRQ6 -> 0:6 IRQ7 -> 0:7 IRQ8 -> 0:8 IRQ9 -> 0:9 IRQ10 -> 0:10 IRQ11 -> 0:11 IRQ12 -> 0:12 IRQ13 -> 0:13 IRQ14 -> 0:14 IRQ15 -> 0:15 IRQ16 -> 0:16 IRQ17 -> 0:17 IRQ18 -> 0:18 IRQ19 -> 0:19 .................................... done. PCI: Using ACPI for IRQ routing PCI: if you experience problems, try using option 'pci=noacpi' or even 'acpi=off' Starting balanced_irq devfs: 2004-01-31 Richard Gooch (rgooch@atnf.csiro.au) devfs: boot_options: 0x1 Installing knfsd (copyright (C) 1996 okir@monad.swb.de). PCI: Enabling Via external APIC routing PCI: Via IRQ fixup for 0000:00:07.2, from 5 to 11 PCI: Via IRQ fixup for 0000:00:07.3, from 5 to 11 isapnp: Scanning for PnP cards... isapnp: No Plug & Play device found Linux agpgart interface v0.100 (c) Dave Jones agpgart: Detected VIA Apollo Pro 133 chipset agpgart: Maximum main memory to use for agp memory: 816M agpgart: AGP aperture is 64M @ 0xd0000000 Serial: 8250/16550 driver $Revision: 1.90 $ 8 ports, IRQ sharing disabled ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A Using anticipatory io scheduler Floppy drive(s): fd0 is 1.44M FDC 0 is a post-1991 82077 RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize 8139too Fast Ethernet driver 0.9.27 eth0: RealTek RTL8139 at 0xf881c000, 00:05:5d:d1:48:34, IRQ 17 eth0: Identified 8139 chip type 'RTL-8139C' Linux Tulip driver version 1.1.13 (May 11, 2002) tulip0: MII transceiver #1 config 3000 status 7829 advertising 01e1. eth1: Lite-On 82c168 PNIC rev 32 at 0xa000, 00:A0:CC:D6:AC:E1, IRQ 17. Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2 ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx VP_IDE: IDE controller at PCI slot 0000:00:07.1 VP_IDE: chipset revision 6 VP_IDE: not 100% native mode: will probe irqs later VP_IDE: VIA vt82c686b (rev 40) IDE UDMA100 controller on pci0000:00:07.1 ide0: BM-DMA at 0x9000-0x9007, BIOS settings: hda:DMA, hdb:DMA ide1: BM-DMA at 0x9008-0x900f, BIOS settings: hdc:DMA, hdd:pio hda: Maxtor 92049U6, ATA DISK drive hdb: Hewlett-Packard DVD Writer 300, ATAPI CD/DVD-ROM drive ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 hdc: WDC WD800BB-00CAA1, ATA DISK drive ide1 at 0x170-0x177,0x376 on irq 15 HPT370A: IDE controller at PCI slot 0000:00:0e.0 HPT370A: chipset revision 4 HPT37X: using 33MHz PCI clock HPT370A: 100% native mode on irq 18 ide2: BM-DMA at 0xc400-0xc407, BIOS settings: hde:pio, hdf:pio ide3: BM-DMA at 0xc408-0xc40f, BIOS settings: hdg:pio, hdh:pio hde: WDC WD800BB-00CAA1, ATA DISK drive ide2 at 0xb400-0xb407,0xb802 on irq 18 hdg: WDC WD800BB-00CAA1, ATA DISK drive ide3 at 0xbc00-0xbc07,0xc002 on irq 18 hda: max request size: 128KiB hda: 39882528 sectors (20419 MB) w/2048KiB Cache, CHS=39566/16/63, UDMA(66) /dev/ide/host0/bus0/target0/lun0: p1 p2 < p5 p6 p7 > p3 hdc: max request size: 128KiB hdc: 156301488 sectors (80026 MB) w/2048KiB Cache, CHS=65535/16/63, UDMA(100) /dev/ide/host0/bus1/target0/lun0: p1 < p5 > p2 hde: max request size: 128KiB hde: 156301488 sectors (80026 MB) w/2048KiB Cache, CHS=65535/16/63, UDMA(100) /dev/ide/host2/bus0/target0/lun0: p1 p2 hdg: max request size: 128KiB hdg: 156301488 sectors (80026 MB) w/2048KiB Cache, CHS=65535/16/63, UDMA(100) /dev/ide/host2/bus1/target0/lun0: p1 p2 hdb: ATAPI 40X DVD-ROM CD-R/RW drive, 2048kB Cache, UDMA(33) Uniform CD-ROM driver Revision: 3.20 scsi0 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.36 <Adaptec 29160 Ultra160 SCSI adapter> aic7892: Ultra160 Wide Channel A, SCSI Id=7, 32/253 SCBs (scsi0:A:2): 160.000MB/s transfers (80.000MHz DT, offset 127, 16bit) Vendor: QUANTUM Model: ATLAS10K2-TY184L Rev: DDD6 Type: Direct-Access ANSI SCSI revision: 03 scsi0:A:2:0: Tagged Queuing enabled. Depth 24 SCSI device sda: 35860910 512-byte hdwr sectors (18361 MB) SCSI device sda: drive cache: write back /dev/scsi/host0/bus0/target2/lun0: p1 Attached scsi disk sda at scsi0, channel 0, id 2, lun 0 Attached scsi generic sg0 at scsi0, channel 0, id 2, lun 0, type 0 USB Universal Host Controller Interface driver v2.2 uhci_hcd 0000:00:07.2: VIA Technologies, Inc. USB uhci_hcd 0000:00:07.2: irq 11, io base 00009400 uhci_hcd 0000:00:07.2: new USB bus registered, assigned bus number 1 hub 1-0:1.0: USB hub found hub 1-0:1.0: 2 ports detected uhci_hcd 0000:00:07.3: VIA Technologies, Inc. USB (#2) uhci_hcd 0000:00:07.3: irq 11, io base 00009800 uhci_hcd 0000:00:07.3: new USB bus registered, assigned bus number 2 hub 2-0:1.0: USB hub found hub 2-0:1.0: 2 ports detected drivers/usb/core/usb.c: registered new driver hiddev drivers/usb/core/usb.c: registered new driver hid drivers/usb/input/hid-core.c: v2.0:USB HID core driver mice: PS/2 mouse device common for all mice serio: i8042 AUX port at 0x60,0x64 irq 12 serio: i8042 KBD port at 0x60,0x64 irq 1 input: AT Translated Set 2 keyboard on isa0060/serio0 md: raid5 personality registered as nr 4 raid5: measuring checksumming speed 8regs : 1824.000 MB/sec 8regs_prefetch: 1460.000 MB/sec 32regs : 916.000 MB/sec 32regs_prefetch: 852.000 MB/sec pIII_sse : 1948.000 MB/sec pII_mmx : 2472.000 MB/sec p5_mmx : 2648.000 MB/sec raid5: using function: pIII_sse (1948.000 MB/sec) md: md driver 0.90.0 MAX_MD_DEVS=256, MD_SB_DISKS=27 NET: Registered protocol family 2 IP: routing cache hash table of 8192 buckets, 64Kbytes TCP: Hash tables configured (established 262144 bind 65536) NET: Registered protocol family 1 NET: Registered protocol family 17 md: Autodetecting RAID arrays. md: autorun ... md: considering hdg2 ... md: adding hdg2 ... md: adding hde2 ... md: adding hdc2 ... md: created md0 md: bind<hdc2> md: bind<hde2> md: bind<hdg2> md: running: <hdg2><hde2><hdc2> raid5: device hdg2 operational as raid disk 1 raid5: device hde2 operational as raid disk 2 raid5: device hdc2 operational as raid disk 0 raid5: allocated 3147kB for md0 raid5: raid level 5 set md0 active with 3 out of 3 devices, algorithm 2 RAID5 conf printout: --- rd:3 wd:3 fd:0 disk 0, o:1, dev:hdc2 disk 1, o:1, dev:hdg2 disk 2, o:1, dev:hde2 md: ... autorun DONE. kjournald starting. Commit interval 5 seconds EXT3-fs: mounted filesystem with ordered data mode. VFS: Mounted root (ext3 filesystem) readonly. Mounted devfs on /dev Freeing unused kernel memory: 220k freed usb 1-1: new low speed USB device using address 2 input: USB HID v1.00 Mouse [Logitech USB-PS/2 Trackball] on usb-0000:00:07.2-1 usb 1-2: new full speed USB device using address 3 EXT3 FS on md0, internal journal Real Time Clock Driver v1.12 drivers/usb/class/usblp.c: usblp0: USB Bidirectional printer dev 3 if 0 alt 0 proto 2 vid 0x04F9 pid 0x0110 drivers/usb/core/usb.c: registered new driver usblp drivers/usb/class/usblp.c: v0.13: USB Printer Device Class driver kjournald starting. Commit interval 5 seconds EXT3 FS on sda1, internal journal EXT3-fs: mounted filesystem with ordered data mode. Adding 524280k swap on /swapfile. Priority:-1 extents:4893 eth1: link up, 100Mbps, half-duplex, lpa 0x40A1 ip_tables: (C) 2000-2002 Netfilter core team ip_conntrack version 2.1 (7168 buckets, 57344 max) - 300 bytes per conntrack NET: Registered protocol family 10 IPv6 over IPv4 tunneling driver Vortex: init.... <6>done. vortex: revision = 0xfe, device = 2 eth1: no IPv6 routers present eth0: no IPv6 routers present [drm] Initialized r128 2.5.0 20030725 on minor 0 atkbd.c: Unknown key released (translated set 2, code 0x7a on isa0060/serio0). atkbd.c: This is an XFree86 bug. It shouldn't access hardware directly. atkbd.c: Unknown key released (translated set 2, code 0x7a on isa0060/serio0). atkbd.c: This is an XFree86 bug. It shouldn't access hardware directly. APIC error on CPU0: 00(02) APIC error on CPU1: 00(08) icmpv6_send: addr_any/mcast source icmpv6_send: addr_any/mcast source icmpv6_send: addr_any/mcast source hde: 0 bytes in FIFO hde: timeout waiting for DMA irq 11: nobody cared! Call Trace: [<c010b37a>] __report_bad_irq+0x2a/0x90 [<c010b470>] note_interrupt+0x70/0xb0 [<c010b7b0>] do_IRQ+0x160/0x1a0 [<c01098b8>] common_interrupt+0x18/0x20 [<c0106960>] default_idle+0x0/0x40 [<c010698c>] default_idle+0x2c/0x40 [<c0106a1b>] cpu_idle+0x3b/0x50 [<c04c04c0>] unknown_bootoption+0x0/0x120 [<c04c094b>] start_kernel+0x1bb/0x210 [<c04c04c0>] unknown_bootoption+0x0/0x120 handlers: [<c03139d0>] (usb_hcd_irq+0x0/0x70) [<c03139d0>] (usb_hcd_irq+0x0/0x70) Disabling IRQ #11 vortex: 0 virt=12, real=0, delta=2 icmpv6_send: addr_any/mcast source icmpv6_send: addr_any/mcast source irq 19: nobody cared! Call Trace: [<c010b37a>] __report_bad_irq+0x2a/0x90 [<c010b470>] note_interrupt+0x70/0xb0 [<c010b7b0>] do_IRQ+0x160/0x1a0 [<c01098b8>] common_interrupt+0x18/0x20 [<c0106960>] default_idle+0x0/0x40 [<c010698c>] default_idle+0x2c/0x40 [<c0106a1b>] cpu_idle+0x3b/0x50 [<c04c04c0>] unknown_bootoption+0x0/0x120 [<c04c094b>] start_kernel+0x1bb/0x210 [<c04c04c0>] unknown_bootoption+0x0/0x120 handlers: [<f8997010>] (vortex_interrupt+0x0/0x200 [snd_au8830]) Disabling IRQ #19 [-- Attachment #5: interrupts-smp-acpi.txt --] [-- Type: text/plain, Size: 762 bytes --] CPU0 CPU1 0: 57270917 151 IO-APIC-edge timer 1: 18860 1 IO-APIC-edge i8042 2: 0 0 XT-PIC cascade 8: 1 0 IO-APIC-edge rtc 9: 0 0 IO-APIC-level acpi 11: 300000 0 IO-APIC-level uhci_hcd, uhci_hcd 14: 15036 2 IO-APIC-edge ide0 15: 657915 3 IO-APIC-edge ide1 16: 70124 1 IO-APIC-level aic7xxx 17: 175806 0 IO-APIC-level eth0, eth1 18: 5655479 1539 IO-APIC-level ide2, ide3, r128@PCI:0:13:0 19: 299999 1 IO-APIC-level au8830 NMI: 0 0 LOC: 57280325 57280398 ERR: 2 MIS: 6416 ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: 2.6.2-rc3: irq#19 - nobody cared - with an au88xx 2004-04-07 14:59 ` Daniel Jacobowitz @ 2004-04-12 18:51 ` Daniel Jacobowitz 2004-04-12 21:28 ` Daniel Jacobowitz 0 siblings, 1 reply; 11+ messages in thread From: Daniel Jacobowitz @ 2004-04-12 18:51 UTC (permalink / raw) To: Jeff Garzik, linux-kernel [Jeff, I'm sending this to you because your name is above the Via PCI quirks. It's in a followup comment, though, so there's probably someone else I should be talking to about the original quirks - I just haven't worked out who yet.] I'm trying to track down an interrupt routing problem on my Via-chipset motherboard (it's an Abit VP6). The symptoms are that the USB and audio drivers eat each other; it appears that they are on the same IRQ line, even though /proc/interrupts says: 11: 300000 0 IO-APIC-level uhci_hcd, uhci_hcd 19: 299999 1 IO-APIC-level au8830 So eventually one of them gets wedged on, and the other panics because it can't identify the incoming interrupts. At boot I see this, from drivers/pci/quirks.c: PCI: Via IRQ fixup for 0000:00:07.2, from 5 to 11 PCI: Via IRQ fixup for 0000:00:07.3, from 5 to 11 Is it possible that the same problem, i.e. writes to the INTERRUPT_LINE register causing connection to the PIC, could apply to devices in the PCI slots? The register still shows 5 for the au8830, which is the IRQ it gets assigned to if I boot without ACPI. I know this hypothesis sounds a little weak. I'm running out of ideas :) On Wed, Apr 07, 2004 at 10:59:29AM -0400, Daniel Jacobowitz wrote: > On Wed, Apr 07, 2004 at 12:08:59AM -0400, Brown, Len wrote: > > >I'm assuming that it is not the fault of either of these drivers, since > > >both of those are quite straightforward; they appear to be actually > > >being triggered when nothing is going on. > > > > If IRQ initialization is done incorrectly, it is possible > > For a driver to request_irq(X), while the hardware is actually > > on IRQ Y. > > > > Then when that device becomes active, it would kill the other > > devices on Y because its handler is looking for interrupts on X. > > > > If this happens with acpi enabled, but doesn't happen with acpi=off > > or pci=noacpi, then we need to compare the /proc/interrupts between > > the working and failintg configs to see if the IRQs have moved around > > when perhaps they should not have. Dmesg from the ACPI case would > > also be needed. > > Thanks for your continued help... this gave me some extremely > interesting data. Here's some data from /proc/interrupts on > 2.6.0-test9, which was quite stable for me: > 19: 0 0 IO-APIC-level au88xx > 21: 52 0 IO-APIC-level uhci_hcd, uhci_hcd > > 2.6.5 with ACPI: > 11: 300000 0 IO-APIC-level uhci_hcd, uhci_hcd > 19: 299999 1 IO-APIC-level au8830 > > 2.6.5 with pci=noacpi: > 5: 54 1 IO-APIC-level uhci_hcd, uhci_hcd, au8830 > > I haven't run that third setup for a lot of time yet, so I don't know > for sure that it's stable. Sound seems much more crackly than it was > with ACPI enabled, but that could be any problem with the vortex2 > driver - or it could be missing interrupts. > > Here's one interesting bit that only appears in dmesg with ACPI > enabled, and only in 2.6.5: > > PCI: Via IRQ fixup for 0000:00:07.2, from 5 to 11 > PCI: Via IRQ fixup for 0000:00:07.3, from 5 to 11 > > That's the two UHCI devices. So they get quirked off to a different > IRQ, and au88x0 somehow ends up routed to yet a third IRQ, but from the > symptoms I am guessing that the USB and au8830 are actually connected > to the same pin. That would explain both of them getting interrupts > with no obvious source, even though they do each get their own > interrupts also. > > The quirk isn't new; it's from 2002. So presumably ACPI is now putting > them somewhere different than it used to. Here's a some bits of the dmesg: > > 2.6.0-test9 > > ACPI: PCI Interrupt Link [LNKA] enabled at IRQ 11 > IOAPIC[0]: Set PCI routing entry (2-11 -> 0xc9 -> IRQ 27 Mode:1 Active:1) > 00:00:07[A] -> 2-11 -> IRQ 27 > ACPI: PCI Interrupt Link [LNKB] enabled at IRQ 12 > IOAPIC[0]: Set PCI routing entry (2-12 -> 0xd1 -> IRQ 28 Mode:1 Active:1) > 00:00:07[B] -> 2-12 -> IRQ 28 > ACPI: PCI Interrupt Link [LNKC] enabled at IRQ 10 > IOAPIC[0]: Set PCI routing entry (2-10 -> 0xd9 -> IRQ 26 Mode:1 Active:1) > 00:00:07[C] -> 2-10 -> IRQ 26 > ACPI: PCI Interrupt Link [LNKD] enabled at IRQ 5 > IOAPIC[0]: Set PCI routing entry (2-5 -> 0xe1 -> IRQ 21 Mode:1 Active:1) > 00:00:07[D] -> 2-5 -> IRQ 21 > > 2.6.5 > > ACPI: PCI Interrupt Link [LNKA] enabled at IRQ 11 > IOAPIC[0]: Set PCI routing entry (2-11 -> 0x81 -> IRQ 11 Mode:1 Active:1) > 00:00:07[A] -> 2-11 -> IRQ 11 > ACPI: PCI Interrupt Link [LNKB] enabled at IRQ 10 > IOAPIC[0]: Set PCI routing entry (2-10 -> 0x79 -> IRQ 10 Mode:1 Active:1) > 00:00:07[B] -> 2-10 -> IRQ 10 > ACPI: PCI Interrupt Link [LNKC] enabled at IRQ 10 > ACPI: PCI Interrupt Link [LNKD] enabled at IRQ 11 > > > I've attached the dmesgs and /proc/interrupts. > > > > In the interest of full disclosure, this motherboard came with a bad > _PRT. There are a four entries in the APIC-mode _PRT which look like: > Package(0x4) { > 0x0007ffff, > 0x0, > 0x0, > \_SB_.PCI0.LNKA, > }, > > With that, ACPI complains and/or can't boot (don't remember exactly). > So I've fudged them to: > Package(0x4) { > 0x0007ffff, > 0x0, > \_SB_.PCI0.LNKA, > 0x0, > }, > > I made this change some months before the 2.6.0-test9 kernel which > worked OK. > > -- > Daniel Jacobowitz > MontaVista Software Debian GNU/Linux Developer > CPU: After vendor identify, caps: 0387fbff 00000000 00000000 00000000 > CPU: L1 I cache: 16K, L1 D cache: 16K > CPU: L2 cache: 256K > CPU serial number disabled. > CPU: After all inits, caps: 0383fbff 00000000 00000000 00000040 > Intel machine check architecture supported. > Intel machine check reporting enabled on CPU#0. > Enabling fast FPU save and restore... done. > Enabling unmasked SIMD FPU exception support... done. > Checking 'hlt' instruction... OK. > POSIX conformance testing by UNIFIX > CPU0: Intel Pentium III (Coppermine) stepping 06 > per-CPU timeslice cutoff: 731.72 usecs. > task migration cache decay timeout: 1 msecs. > enabled ExtINT on CPU#0 > ESR value before enabling vector: 00000000 > ESR value after enabling vector: 00000000 > Booting processor 1/1 eip 2000 > Initializing CPU#1 > masked ExtINT on CPU#1 > ESR value before enabling vector: 00000000 > ESR value after enabling vector: 00000000 > Calibrating delay loop... 1994.75 BogoMIPS > CPU: After generic identify, caps: 0387fbff 00000000 00000000 00000000 > CPU: After vendor identify, caps: 0387fbff 00000000 00000000 00000000 > CPU: L1 I cache: 16K, L1 D cache: 16K > CPU: L2 cache: 256K > CPU serial number disabled. > CPU: After all inits, caps: 0383fbff 00000000 00000000 00000040 > Intel machine check architecture supported. > Intel machine check reporting enabled on CPU#1. > CPU1: Intel Pentium III (Coppermine) stepping 06 > Total of 2 processors activated (3960.83 BogoMIPS). > ENABLING IO-APIC IRQs > init IO_APIC IRQs > IO-APIC (apicid-pin) 2-0, 2-16, 2-17, 2-18, 2-19, 2-20, 2-21, 2-22, 2-23 not connected. > ..TIMER: vector=0x31 pin1=2 pin2=-1 > number of MP IRQ sources: 15. > number of IO-APIC #2 registers: 24. > testing the IO APIC....................... > IO APIC #2...... > .... register #00: 02000000 > ....... : physical APIC id: 02 > ....... : Delivery Type: 0 > ....... : LTS : 0 > .... register #01: 00178011 > ....... : max redirection entries: 0017 > ....... : PRQ implemented: 1 > ....... : IO APIC version: 0011 > .... register #02: 00000000 > ....... : arbitration: 00 > .... IRQ redirection table: > NR Log Phy Mask Trig IRR Pol Stat Dest Deli Vect: > 00 000 00 1 0 0 0 0 0 0 00 > 01 001 01 0 0 0 0 0 1 1 39 > 02 001 01 0 0 0 0 0 1 1 31 > 03 001 01 0 0 0 0 0 1 1 41 > 04 001 01 0 0 0 0 0 1 1 49 > 05 001 01 0 0 0 0 0 1 1 51 > 06 001 01 0 0 0 0 0 1 1 59 > 07 001 01 0 0 0 0 0 1 1 61 > 08 001 01 0 0 0 0 0 1 1 69 > 09 001 01 0 0 0 0 0 1 1 71 > 0a 001 01 0 0 0 0 0 1 1 79 > 0b 001 01 0 0 0 0 0 1 1 81 > 0c 001 01 0 0 0 0 0 1 1 89 > 0d 001 01 0 0 0 0 0 1 1 91 > 0e 001 01 0 0 0 0 0 1 1 99 > 0f 001 01 0 0 0 0 0 1 1 A1 > 10 000 00 1 0 0 0 0 0 0 00 > 11 000 00 1 0 0 0 0 0 0 00 > 12 000 00 1 0 0 0 0 0 0 00 > 13 000 00 1 0 0 0 0 0 0 00 > 14 000 00 1 0 0 0 0 0 0 00 > 15 000 00 1 0 0 0 0 0 0 00 > 16 000 00 1 0 0 0 0 0 0 00 > 17 000 00 1 0 0 0 0 0 0 00 > IRQ to pin mappings: > IRQ0 -> 0:2 > IRQ1 -> 0:1 > IRQ3 -> 0:3 > IRQ4 -> 0:4 > IRQ5 -> 0:5 > IRQ6 -> 0:6 > IRQ7 -> 0:7 > IRQ8 -> 0:8 > IRQ9 -> 0:9 > IRQ10 -> 0:10 > IRQ11 -> 0:11 > IRQ12 -> 0:12 > IRQ13 -> 0:13 > IRQ14 -> 0:14 > IRQ15 -> 0:15 > .................................... done. > Using local APIC timer interrupts. > calibrating APIC timer ... > ..... CPU clock speed is 998.0205 MHz. > ..... host bus clock speed is 133.0093 MHz. > checking TSC synchronization across 2 CPUs: passed. > Starting migration thread for cpu 0 > Bringing up 1 > CPU 1 IS NOW UP! > Starting migration thread for cpu 1 > CPUS done 2 > NET: Registered protocol family 16 > PCI: PCI BIOS revision 2.10 entry at 0xfb370, last bus=1 > PCI: Using configuration type 1 > mtrr: v2.0 (20020519) > mtrr: your CPUs had inconsistent variable MTRR settings > mtrr: probably your BIOS does not setup all CPUs. > mtrr: corrected configuration. > ACPI: Subsystem revision 20031002 > tbxface-0117 [03] acpi_load_tables : ACPI Tables successfully acquired > Parsing all Control Methods:...................................................................... > Table [DSDT](id F004) - 301 Objects with 29 Devices 70 Methods 21 Regions > ACPI Namespace successfully loaded at root c050069c > IOAPIC[0]: Set PCI routing entry (2-9 -> 0x71 -> IRQ 9 Mode:0 Active:0) > evxfevnt-0093 [04] acpi_enable : Transition to ACPI mode successful > evgpeblk-0748 [06] ev_create_gpe_block : GPE 00 to 15 [_GPE] 2 regs at 0000000000004020 on int 9 > Completing Region/Field/Buffer/Package initialization:.............................................. > Initialized 21/21 Regions 1/1 Fields 15/15 Buffers 9/9 Packages (309 nodes) > Executing all Device _STA and_INI methods:.............................. > 30 Devices found containing: 30 _STA, 1 _INI methods > ACPI: Interpreter enabled > ACPI: Using IOAPIC for interrupt routing > ACPI: PCI Root Bridge [PCI0] (00:00) > PCI: Probing PCI hardware (bus 00) > ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT] > Fixing up bogus APIC entry > Fixing up bogus APIC entry > Fixing up bogus APIC entry > Fixing up bogus APIC entry > ACPI: PCI Interrupt Link [LNKA] (IRQs 1 3 4 5 6 7 10 *11 12 14 15) > ACPI: PCI Interrupt Link [LNKB] (IRQs 1 3 4 5 6 7 10 11 *12 14 15) > ACPI: PCI Interrupt Link [LNKC] (IRQs 1 3 4 5 6 7 *10 11 12 14 15) > ACPI: PCI Interrupt Link [LNKD] (IRQs 1 3 4 *5 6 7 10 11 12 14 15) > Linux Plug and Play Support v0.97 (c) Adam Belay > PnPBIOS: Scanning system for PnP BIOS support... > PnPBIOS: Found PnP BIOS installation structure at 0xc00fbd80 > PnPBIOS: PnP BIOS version 1.0, entry 0xf0000:0xbdb0, dseg 0xf0000 > PnPBIOS: 14 nodes reported by PnP BIOS; 14 recorded by driver > SCSI subsystem initialized > drivers/usb/core/usb.c: registered new driver usbfs > drivers/usb/core/usb.c: registered new driver hub > IOAPIC[0]: Set PCI routing entry (2-16 -> 0xa9 -> IRQ 16 Mode:1 Active:1) > 00:00:09[A] -> 2-16 -> IRQ 16 > IOAPIC[0]: Set PCI routing entry (2-17 -> 0xb1 -> IRQ 17 Mode:1 Active:1) > 00:00:09[B] -> 2-17 -> IRQ 17 > IOAPIC[0]: Set PCI routing entry (2-18 -> 0xb9 -> IRQ 18 Mode:1 Active:1) > 00:00:09[C] -> 2-18 -> IRQ 18 > IOAPIC[0]: Set PCI routing entry (2-19 -> 0xc1 -> IRQ 19 Mode:1 Active:1) > 00:00:09[D] -> 2-19 -> IRQ 19 > Pin 2-17 already programmed > Pin 2-19 already programmed > Pin 2-18 already programmed > Pin 2-16 already programmed > Pin 2-17 already programmed > Pin 2-16 already programmed > Pin 2-19 already programmed > Pin 2-18 already programmed > Pin 2-19 already programmed > Pin 2-16 already programmed > Pin 2-17 already programmed > Pin 2-18 already programmed > Pin 2-18 already programmed > Pin 2-19 already programmed > Pin 2-16 already programmed > Pin 2-17 already programmed > Pin 2-18 already programmed > Pin 2-19 already programmed > Pin 2-16 already programmed > Pin 2-17 already programmed > ACPI: PCI Interrupt Link [LNKA] enabled at IRQ 11 > IOAPIC[0]: Set PCI routing entry (2-11 -> 0xc9 -> IRQ 27 Mode:1 Active:1) > 00:00:07[A] -> 2-11 -> IRQ 27 > ACPI: PCI Interrupt Link [LNKB] enabled at IRQ 12 > IOAPIC[0]: Set PCI routing entry (2-12 -> 0xd1 -> IRQ 28 Mode:1 Active:1) > 00:00:07[B] -> 2-12 -> IRQ 28 > ACPI: PCI Interrupt Link [LNKC] enabled at IRQ 10 > IOAPIC[0]: Set PCI routing entry (2-10 -> 0xd9 -> IRQ 26 Mode:1 Active:1) > 00:00:07[C] -> 2-10 -> IRQ 26 > ACPI: PCI Interrupt Link [LNKD] enabled at IRQ 5 > IOAPIC[0]: Set PCI routing entry (2-5 -> 0xe1 -> IRQ 21 Mode:1 Active:1) > 00:00:07[D] -> 2-5 -> IRQ 21 > Pin 2-16 already programmed > Pin 2-17 already programmed > Pin 2-18 already programmed > Pin 2-19 already programmed > PCI: Using ACPI for IRQ routing > PCI: if you experience problems, try using option 'pci=noacpi' or even 'acpi=off' > Starting balanced_irq > devfs: v1.22 (20021013) Richard Gooch (rgooch@atnf.csiro.au) > devfs: boot_options: 0x1 > Installing knfsd (copyright (C) 1996 okir@monad.swb.de). > PCI: Enabling Via external APIC routing > isapnp: Scanning for PnP cards... > isapnp: No Plug & Play device found > pty: 256 Unix98 ptys configured > Linux agpgart interface v0.100 (c) Dave Jones > agpgart: Detected VIA Apollo Pro 133 chipset > agpgart: Maximum main memory to use for agp memory: 816M > agpgart: AGP aperture is 64M @ 0xd0000000 > Serial: 8250/16550 driver $Revision: 1.90 $ 8 ports, IRQ sharing disabled > ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A > ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A > Using anticipatory io scheduler > Floppy drive(s): fd0 is 1.44M > FDC 0 is a post-1991 82077 > RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize > 8139too Fast Ethernet driver 0.9.26 > eth0: RealTek RTL8139 at 0xf8806000, 00:05:5d:d1:48:34, IRQ 17 > eth0: Identified 8139 chip type 'RTL-8139C' > Linux Tulip driver version 1.1.13 (May 11, 2002) > tulip0: MII transceiver #1 config 3000 status 7829 advertising 01e1. > eth1: Lite-On 82c168 PNIC rev 32 at 0xa000, 00:A0:CC:D6:AC:E1, IRQ 17. > Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2 > ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx > VP_IDE: IDE controller at PCI slot 0000:00:07.1 > VP_IDE: chipset revision 6 > VP_IDE: not 100% native mode: will probe irqs later > ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx > VP_IDE: VIA vt82c686b (rev 40) IDE UDMA100 controller on pci0000:00:07.1 > ide0: BM-DMA at 0x9000-0x9007, BIOS settings: hda:DMA, hdb:DMA > ide1: BM-DMA at 0x9008-0x900f, BIOS settings: hdc:DMA, hdd:pio > hda: Maxtor 92049U6, ATA DISK drive > hdb: Hewlett-Packard DVD Writer 300, ATAPI CD/DVD-ROM drive > ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 > hdc: WDC WD800BB-00CAA1, ATA DISK drive > ide1 at 0x170-0x177,0x376 on irq 15 > HPT370A: IDE controller at PCI slot 0000:00:0e.0 > HPT370A: chipset revision 4 > HPT37X: using 33MHz PCI clock > HPT370A: 100% native mode on irq 18 > ide2: BM-DMA at 0xc400-0xc407, BIOS settings: hde:pio, hdf:pio > ide3: BM-DMA at 0xc408-0xc40f, BIOS settings: hdg:pio, hdh:pio > hde: WDC WD800BB-00CAA1, ATA DISK drive > ide2 at 0xb400-0xb407,0xb802 on irq 18 > hdg: WDC WD800BB-00CAA1, ATA DISK drive > ide3 at 0xbc00-0xbc07,0xc002 on irq 18 > hda: max request size: 128KiB > hda: 39882528 sectors (20419 MB) w/2048KiB Cache, CHS=39566/16/63, UDMA(66) > /dev/ide/host0/bus0/target0/lun0: p1 p2 < p5 p6 p7 > p3 > hdc: max request size: 128KiB > hdc: 156301488 sectors (80026 MB) w/2048KiB Cache, CHS=65535/16/63, UDMA(100) > /dev/ide/host0/bus1/target0/lun0: p1 < p5 > p2 > hde: max request size: 128KiB > hde: 156301488 sectors (80026 MB) w/2048KiB Cache, CHS=65535/16/63, UDMA(100) > /dev/ide/host2/bus0/target0/lun0: p1 p2 > hdg: max request size: 128KiB > hdg: 156301488 sectors (80026 MB) w/2048KiB Cache, CHS=65535/16/63, UDMA(100) > /dev/ide/host2/bus1/target0/lun0: p1 p2 > scsi0 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.35 > <Adaptec 29160 Ultra160 SCSI adapter> > aic7892: Ultra160 Wide Channel A, SCSI Id=7, 32/253 SCBs > > (scsi0:A:2): 160.000MB/s transfers (80.000MHz DT, offset 127, 16bit) > Vendor: QUANTUM Model: ATLAS10K2-TY184L Rev: DDD6 > Type: Direct-Access ANSI SCSI revision: 03 > scsi0:A:2:0: Tagged Queuing enabled. Depth 24 > scsi1 : SCSI host adapter emulation for IDE ATAPI devices > Vendor: HP Model: DVD Writer 300n Rev: 1.25 > Type: CD-ROM ANSI SCSI revision: 02 > SCSI device sda: 35860910 512-byte hdwr sectors (18361 MB) > SCSI device sda: drive cache: write back > /dev/scsi/host0/bus0/target2/lun0: p1 > Attached scsi disk sda at scsi0, channel 0, id 2, lun 0 > sr0: scsi3-mmc drive: 40x/40x writer cd/rw xa/form2 cdda tray > Uniform CD-ROM driver Revision: 3.12 > Attached scsi CD-ROM sr0 at scsi1, channel 0, id 0, lun 0 > Attached scsi generic sg0 at scsi0, channel 0, id 2, lun 0, type 0 > Attached scsi generic sg1 at scsi1, channel 0, id 0, lun 0, type 5 > drivers/usb/host/uhci-hcd.c: USB Universal Host Controller Interface driver v2.1 > uhci_hcd 0000:00:07.2: UHCI Host Controller > uhci_hcd 0000:00:07.2: irq 21, io base 00009400 > uhci_hcd 0000:00:07.2: new USB bus registered, assigned bus number 1 > hub 1-0:1.0: USB hub found > hub 1-0:1.0: 2 ports detected > uhci_hcd 0000:00:07.3: UHCI Host Controller > uhci_hcd 0000:00:07.3: irq 21, io base 00009800 > uhci_hcd 0000:00:07.3: new USB bus registered, assigned bus number 2 > hub 2-0:1.0: USB hub found > hub 2-0:1.0: 2 ports detected > drivers/usb/core/usb.c: registered new driver hiddev > drivers/usb/core/usb.c: registered new driver hid > drivers/usb/input/hid-core.c: v2.0:USB HID core driver > mice: PS/2 mouse device common for all mice > serio: i8042 AUX port at 0x60,0x64 irq 12 > input: AT Translated Set 2 keyboard on isa0060/serio0 > serio: i8042 KBD port at 0x60,0x64 irq 1 > md: raid5 personality registered as nr 4 > raid5: measuring checksumming speed > 8regs : 1824.000 MB/sec > 8regs_prefetch: 1464.000 MB/sec > 32regs : 960.000 MB/sec > 32regs_prefetch: 892.000 MB/sec > pIII_sse : 1972.000 MB/sec > pII_mmx : 2472.000 MB/sec > p5_mmx : 2644.000 MB/sec > raid5: using function: pIII_sse (1972.000 MB/sec) > md: md driver 0.90.0 MAX_MD_DEVS=256, MD_SB_DISKS=27 > NET: Registered protocol family 2 > IP: routing cache hash table of 8192 buckets, 64Kbytes > TCP: Hash tables configured (established 262144 bind 65536) > NET: Registered protocol family 1 > NET: Registered protocol family 17 > md: Autodetecting RAID arrays. > md: autorun ... > md: considering hdg2 ... > md: adding hdg2 ... > md: adding hde2 ... > md: adding hdc2 ... > md: created md0 > md: bind<hdc2> > md: bind<hde2> > md: bind<hdg2> > md: running: <hdg2><hde2><hdc2> > raid5: device hdg2 operational as raid disk 1 > raid5: device hde2 operational as raid disk 2 > raid5: device hdc2 operational as raid disk 0 > raid5: allocated 3147kB for md0 > raid5: raid level 5 set md0 active with 3 out of 3 devices, algorithm 2 > RAID5 conf printout: > --- rd:3 wd:3 fd:0 > disk 0, o:1, dev:hdc2 > disk 1, o:1, dev:hdg2 > disk 2, o:1, dev:hde2 > md: ... autorun DONE. > kjournald starting. Commit interval 5 seconds > EXT3-fs: mounted filesystem with ordered data mode. > VFS: Mounted root (ext3 filesystem) readonly. > Mounted devfs on /dev > Freeing unused kernel memory: 216k freed > hub 1-0:1.0: new USB device on port 1, assigned address 2 > input: USB HID v1.00 Mouse [Logitech USB-PS/2 Trackball] on usb-0000:00:07.2-1 > hub 1-0:1.0: new USB device on port 2, assigned address 3 > EXT3 FS on md0, internal journal > au88xx: Loading... > au88xx: Found vortex PCI device: > au88xx: id=0x0002 > au88xx: bar0=0xd9000000 > au88xx: irq=19 > au88xx: Add device, audio=3, mixer=0, midi=2 > Real Time Clock Driver v1.12 > drivers/usb/class/usblp.c: usblp0: USB Bidirectional printer dev 3 if 0 alt 0 proto 2 vid 0x04F9 pid 0x0110 > drivers/usb/core/usb.c: registered new driver usblp > drivers/usb/class/usblp.c: v0.13: USB Printer Device Class driver > kjournald starting. Commit interval 5 seconds > EXT3 FS on sda1, internal journal > EXT3-fs: mounted filesystem with ordered data mode. > Adding 524280k swap on /swapfile. Priority:-1 extents:4893 > eth1: link up, 100Mbps, half-duplex, lpa 0x40A1 > ip_tables: (C) 2000-2002 Netfilter core team > ip_conntrack version 2.1 (7168 buckets, 57344 max) - 304 bytes per conntrack > NET: Registered protocol family 10 > IPv6 over IPv4 tunneling driver > eth0: no IPv6 routers present > eth1: no IPv6 routers present > [drm] Initialized r128 2.5.0 20030725 on minor 0 > CPU0 CPU1 > 0: 106340 165 IO-APIC-edge timer > 1: 211 1 IO-APIC-edge i8042 > 2: 0 0 XT-PIC cascade > 8: 0 1 IO-APIC-edge rtc > 9: 0 0 IO-APIC-edge acpi > 14: 53 1 IO-APIC-edge ide0 > 15: 3358 1 IO-APIC-edge ide1 > 16: 83 1 IO-APIC-level aic7xxx > 17: 1179 0 IO-APIC-level eth0, eth1 > 18: 6538 5 IO-APIC-level ide2, ide3, r128@PCI:0:13:0 > 19: 0 0 IO-APIC-level au88xx > 21: 52 0 IO-APIC-level uhci_hcd, uhci_hcd > NMI: 0 0 > LOC: 106250 106296 > ERR: 0 > MIS: 9 > CPU#0. > Enabling fast FPU save and restore... done. > Enabling unmasked SIMD FPU exception support... done. > Checking 'hlt' instruction... OK. > POSIX conformance testing by UNIFIX > CPU0: Intel Pentium III (Coppermine) stepping 06 > per-CPU timeslice cutoff: 731.72 usecs. > task migration cache decay timeout: 1 msecs. > enabled ExtINT on CPU#0 > ESR value before enabling vector: 00000000 > ESR value after enabling vector: 00000000 > Booting processor 1/1 eip 2000 > Initializing CPU#1 > masked ExtINT on CPU#1 > ESR value before enabling vector: 00000000 > ESR value after enabling vector: 00000000 > Calibrating delay loop... 1994.75 BogoMIPS > CPU: After generic identify, caps: 0387fbff 00000000 00000000 00000000 > CPU: After vendor identify, caps: 0387fbff 00000000 00000000 00000000 > CPU: L1 I cache: 16K, L1 D cache: 16K > CPU: L2 cache: 256K > CPU serial number disabled. > CPU: After all inits, caps: 0383fbff 00000000 00000000 00000040 > Intel machine check architecture supported. > Intel machine check reporting enabled on CPU#1. > CPU1: Intel Pentium III (Coppermine) stepping 06 > Total of 2 processors activated (3960.83 BogoMIPS). > ENABLING IO-APIC IRQs > init IO_APIC IRQs > IO-APIC (apicid-pin) 2-0, 2-16, 2-17, 2-18, 2-19, 2-20, 2-21, 2-22, 2-23 not connected. > ..TIMER: vector=0x31 pin1=2 pin2=-1 > Using local APIC timer interrupts. > calibrating APIC timer ... > ..... CPU clock speed is 998.0152 MHz. > ..... host bus clock speed is 133.0087 MHz. > checking TSC synchronization across 2 CPUs: passed. > Brought up 2 CPUs > NET: Registered protocol family 16 > PCI: PCI BIOS revision 2.10 entry at 0xfb370, last bus=1 > PCI: Using configuration type 1 > mtrr: v2.0 (20020519) > mtrr: your CPUs had inconsistent variable MTRR settings > mtrr: probably your BIOS does not setup all CPUs. > mtrr: corrected configuration. > ACPI: Subsystem revision 20040326 > tbxface-0117 [03] acpi_load_tables : ACPI Tables successfully acquired > Parsing all Control Methods:...................................................................... > Table [DSDT](id F004) - 301 Objects with 29 Devices 70 Methods 21 Regions > ACPI Namespace successfully loaded at root c050cd7c > evxfevnt-0093 [04] acpi_enable : Transition to ACPI mode successful > evgpeblk-0867 [06] ev_create_gpe_block : GPE 00 to 15 [_GPE] 2 regs at 0000000000004020 on int 9 > evgpeblk-0925 [06] ev_create_gpe_block : Found 0 Wake, Enabled 3 Runtime GPEs in this block > Completing Region/Field/Buffer/Package initialization:.............................................. > Initialized 21/21 Regions 1/1 Fields 15/15 Buffers 9/9 Packages (310 nodes) > Executing all Device _STA and_INI methods:................................ > 32 Devices found containing: 32 _STA, 1 _INI methods > ACPI: Interpreter enabled > ACPI: Using IOAPIC for interrupt routing > ACPI: PCI Root Bridge [PCI0] (00:00) > PCI: Probing PCI hardware (bus 00) > ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT] > Fixing up bogus APIC entry > Fixing up bogus APIC entry > Fixing up bogus APIC entry > Fixing up bogus APIC entry > ACPI: PCI Interrupt Link [LNKA] (IRQs 1 3 4 5 6 7 10 *11 12 14 15) > ACPI: PCI Interrupt Link [LNKB] (IRQs 1 3 4 5 6 7 10 11 *12 14 15) > ACPI: PCI Interrupt Link [LNKC] (IRQs 1 3 4 5 6 7 *10 11 12 14 15) > ACPI: PCI Interrupt Link [LNKD] (IRQs 1 3 4 *5 6 7 10 11 12 14 15) > Linux Plug and Play Support v0.97 (c) Adam Belay > PnPBIOS: Scanning system for PnP BIOS support... > PnPBIOS: Found PnP BIOS installation structure at 0xc00fbd80 > PnPBIOS: PnP BIOS version 1.0, entry 0xf0000:0xbdb0, dseg 0xf0000 > PnPBIOS: 14 nodes reported by PnP BIOS; 14 recorded by driver > SCSI subsystem initialized > drivers/usb/core/usb.c: registered new driver usbfs > drivers/usb/core/usb.c: registered new driver hub > IOAPIC[0]: Set PCI routing entry (2-16 -> 0xa9 -> IRQ 16 Mode:1 Active:1) > 00:00:09[A] -> 2-16 -> IRQ 16 > IOAPIC[0]: Set PCI routing entry (2-17 -> 0xb1 -> IRQ 17 Mode:1 Active:1) > 00:00:09[B] -> 2-17 -> IRQ 17 > IOAPIC[0]: Set PCI routing entry (2-18 -> 0xb9 -> IRQ 18 Mode:1 Active:1) > 00:00:09[C] -> 2-18 -> IRQ 18 > IOAPIC[0]: Set PCI routing entry (2-19 -> 0xc1 -> IRQ 19 Mode:1 Active:1) > 00:00:09[D] -> 2-19 -> IRQ 19 > ACPI: PCI Interrupt Link [LNKA] enabled at IRQ 11 > IOAPIC[0]: Set PCI routing entry (2-11 -> 0x81 -> IRQ 11 Mode:1 Active:1) > 00:00:07[A] -> 2-11 -> IRQ 11 > ACPI: PCI Interrupt Link [LNKB] enabled at IRQ 10 > IOAPIC[0]: Set PCI routing entry (2-10 -> 0x79 -> IRQ 10 Mode:1 Active:1) > 00:00:07[B] -> 2-10 -> IRQ 10 > ACPI: PCI Interrupt Link [LNKC] enabled at IRQ 10 > ACPI: PCI Interrupt Link [LNKD] enabled at IRQ 11 > number of MP IRQ sources: 15. > number of IO-APIC #2 registers: 24. > testing the IO APIC....................... > IO APIC #2...... > .... register #00: 02000000 > ....... : physical APIC id: 02 > ....... : Delivery Type: 0 > ....... : LTS : 0 > .... register #01: 00178011 > ....... : max redirection entries: 0017 > ....... : PRQ implemented: 1 > ....... : IO APIC version: 0011 > .... register #02: 00000000 > ....... : arbitration: 00 > .... IRQ redirection table: > NR Log Phy Mask Trig IRR Pol Stat Dest Deli Vect: > 00 000 00 1 0 0 0 0 0 0 00 > 01 003 03 0 0 0 0 0 1 1 39 > 02 003 03 0 0 0 0 0 1 1 31 > 03 003 03 0 0 0 0 0 1 1 41 > 04 003 03 0 0 0 0 0 1 1 49 > 05 003 03 0 0 0 0 0 1 1 51 > 06 003 03 0 0 0 0 0 1 1 59 > 07 003 03 0 0 0 0 0 1 1 61 > 08 003 03 0 0 0 0 0 1 1 69 > 09 003 03 0 1 0 1 0 1 1 71 > 0a 003 03 1 1 0 1 0 1 1 79 > 0b 003 03 1 1 0 1 0 1 1 81 > 0c 003 03 0 0 0 0 0 1 1 89 > 0d 003 03 0 0 0 0 0 1 1 91 > 0e 003 03 0 0 0 0 0 1 1 99 > 0f 003 03 0 0 0 0 0 1 1 A1 > 10 003 03 1 1 0 1 0 1 1 A9 > 11 003 03 1 1 0 1 0 1 1 B1 > 12 003 03 1 1 0 1 0 1 1 B9 > 13 003 03 1 1 0 1 0 1 1 C1 > 14 000 00 1 0 0 0 0 0 0 00 > 15 000 00 1 0 0 0 0 0 0 00 > 16 000 00 1 0 0 0 0 0 0 00 > 17 000 00 1 0 0 0 0 0 0 00 > IRQ to pin mappings: > IRQ0 -> 0:2 > IRQ1 -> 0:1 > IRQ3 -> 0:3 > IRQ4 -> 0:4 > IRQ5 -> 0:5 > IRQ6 -> 0:6 > IRQ7 -> 0:7 > IRQ8 -> 0:8 > IRQ9 -> 0:9 > IRQ10 -> 0:10 > IRQ11 -> 0:11 > IRQ12 -> 0:12 > IRQ13 -> 0:13 > IRQ14 -> 0:14 > IRQ15 -> 0:15 > IRQ16 -> 0:16 > IRQ17 -> 0:17 > IRQ18 -> 0:18 > IRQ19 -> 0:19 > .................................... done. > PCI: Using ACPI for IRQ routing > PCI: if you experience problems, try using option 'pci=noacpi' or even 'acpi=off' > Starting balanced_irq > devfs: 2004-01-31 Richard Gooch (rgooch@atnf.csiro.au) > devfs: boot_options: 0x1 > Installing knfsd (copyright (C) 1996 okir@monad.swb.de). > PCI: Enabling Via external APIC routing > PCI: Via IRQ fixup for 0000:00:07.2, from 5 to 11 > PCI: Via IRQ fixup for 0000:00:07.3, from 5 to 11 > isapnp: Scanning for PnP cards... > isapnp: No Plug & Play device found > Linux agpgart interface v0.100 (c) Dave Jones > agpgart: Detected VIA Apollo Pro 133 chipset > agpgart: Maximum main memory to use for agp memory: 816M > agpgart: AGP aperture is 64M @ 0xd0000000 > Serial: 8250/16550 driver $Revision: 1.90 $ 8 ports, IRQ sharing disabled > ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A > ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A > Using anticipatory io scheduler > Floppy drive(s): fd0 is 1.44M > FDC 0 is a post-1991 82077 > RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize > 8139too Fast Ethernet driver 0.9.27 > eth0: RealTek RTL8139 at 0xf881c000, 00:05:5d:d1:48:34, IRQ 17 > eth0: Identified 8139 chip type 'RTL-8139C' > Linux Tulip driver version 1.1.13 (May 11, 2002) > tulip0: MII transceiver #1 config 3000 status 7829 advertising 01e1. > eth1: Lite-On 82c168 PNIC rev 32 at 0xa000, 00:A0:CC:D6:AC:E1, IRQ 17. > Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2 > ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx > VP_IDE: IDE controller at PCI slot 0000:00:07.1 > VP_IDE: chipset revision 6 > VP_IDE: not 100% native mode: will probe irqs later > VP_IDE: VIA vt82c686b (rev 40) IDE UDMA100 controller on pci0000:00:07.1 > ide0: BM-DMA at 0x9000-0x9007, BIOS settings: hda:DMA, hdb:DMA > ide1: BM-DMA at 0x9008-0x900f, BIOS settings: hdc:DMA, hdd:pio > hda: Maxtor 92049U6, ATA DISK drive > hdb: Hewlett-Packard DVD Writer 300, ATAPI CD/DVD-ROM drive > ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 > hdc: WDC WD800BB-00CAA1, ATA DISK drive > ide1 at 0x170-0x177,0x376 on irq 15 > HPT370A: IDE controller at PCI slot 0000:00:0e.0 > HPT370A: chipset revision 4 > HPT37X: using 33MHz PCI clock > HPT370A: 100% native mode on irq 18 > ide2: BM-DMA at 0xc400-0xc407, BIOS settings: hde:pio, hdf:pio > ide3: BM-DMA at 0xc408-0xc40f, BIOS settings: hdg:pio, hdh:pio > hde: WDC WD800BB-00CAA1, ATA DISK drive > ide2 at 0xb400-0xb407,0xb802 on irq 18 > hdg: WDC WD800BB-00CAA1, ATA DISK drive > ide3 at 0xbc00-0xbc07,0xc002 on irq 18 > hda: max request size: 128KiB > hda: 39882528 sectors (20419 MB) w/2048KiB Cache, CHS=39566/16/63, UDMA(66) > /dev/ide/host0/bus0/target0/lun0: p1 p2 < p5 p6 p7 > p3 > hdc: max request size: 128KiB > hdc: 156301488 sectors (80026 MB) w/2048KiB Cache, CHS=65535/16/63, UDMA(100) > /dev/ide/host0/bus1/target0/lun0: p1 < p5 > p2 > hde: max request size: 128KiB > hde: 156301488 sectors (80026 MB) w/2048KiB Cache, CHS=65535/16/63, UDMA(100) > /dev/ide/host2/bus0/target0/lun0: p1 p2 > hdg: max request size: 128KiB > hdg: 156301488 sectors (80026 MB) w/2048KiB Cache, CHS=65535/16/63, UDMA(100) > /dev/ide/host2/bus1/target0/lun0: p1 p2 > hdb: ATAPI 40X DVD-ROM CD-R/RW drive, 2048kB Cache, UDMA(33) > Uniform CD-ROM driver Revision: 3.20 > scsi0 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.36 > <Adaptec 29160 Ultra160 SCSI adapter> > aic7892: Ultra160 Wide Channel A, SCSI Id=7, 32/253 SCBs > > (scsi0:A:2): 160.000MB/s transfers (80.000MHz DT, offset 127, 16bit) > Vendor: QUANTUM Model: ATLAS10K2-TY184L Rev: DDD6 > Type: Direct-Access ANSI SCSI revision: 03 > scsi0:A:2:0: Tagged Queuing enabled. Depth 24 > SCSI device sda: 35860910 512-byte hdwr sectors (18361 MB) > SCSI device sda: drive cache: write back > /dev/scsi/host0/bus0/target2/lun0: p1 > Attached scsi disk sda at scsi0, channel 0, id 2, lun 0 > Attached scsi generic sg0 at scsi0, channel 0, id 2, lun 0, type 0 > USB Universal Host Controller Interface driver v2.2 > uhci_hcd 0000:00:07.2: VIA Technologies, Inc. USB > uhci_hcd 0000:00:07.2: irq 11, io base 00009400 > uhci_hcd 0000:00:07.2: new USB bus registered, assigned bus number 1 > hub 1-0:1.0: USB hub found > hub 1-0:1.0: 2 ports detected > uhci_hcd 0000:00:07.3: VIA Technologies, Inc. USB (#2) > uhci_hcd 0000:00:07.3: irq 11, io base 00009800 > uhci_hcd 0000:00:07.3: new USB bus registered, assigned bus number 2 > hub 2-0:1.0: USB hub found > hub 2-0:1.0: 2 ports detected > drivers/usb/core/usb.c: registered new driver hiddev > drivers/usb/core/usb.c: registered new driver hid > drivers/usb/input/hid-core.c: v2.0:USB HID core driver > mice: PS/2 mouse device common for all mice > serio: i8042 AUX port at 0x60,0x64 irq 12 > serio: i8042 KBD port at 0x60,0x64 irq 1 > input: AT Translated Set 2 keyboard on isa0060/serio0 > md: raid5 personality registered as nr 4 > raid5: measuring checksumming speed > 8regs : 1824.000 MB/sec > 8regs_prefetch: 1460.000 MB/sec > 32regs : 916.000 MB/sec > 32regs_prefetch: 852.000 MB/sec > pIII_sse : 1948.000 MB/sec > pII_mmx : 2472.000 MB/sec > p5_mmx : 2648.000 MB/sec > raid5: using function: pIII_sse (1948.000 MB/sec) > md: md driver 0.90.0 MAX_MD_DEVS=256, MD_SB_DISKS=27 > NET: Registered protocol family 2 > IP: routing cache hash table of 8192 buckets, 64Kbytes > TCP: Hash tables configured (established 262144 bind 65536) > NET: Registered protocol family 1 > NET: Registered protocol family 17 > md: Autodetecting RAID arrays. > md: autorun ... > md: considering hdg2 ... > md: adding hdg2 ... > md: adding hde2 ... > md: adding hdc2 ... > md: created md0 > md: bind<hdc2> > md: bind<hde2> > md: bind<hdg2> > md: running: <hdg2><hde2><hdc2> > raid5: device hdg2 operational as raid disk 1 > raid5: device hde2 operational as raid disk 2 > raid5: device hdc2 operational as raid disk 0 > raid5: allocated 3147kB for md0 > raid5: raid level 5 set md0 active with 3 out of 3 devices, algorithm 2 > RAID5 conf printout: > --- rd:3 wd:3 fd:0 > disk 0, o:1, dev:hdc2 > disk 1, o:1, dev:hdg2 > disk 2, o:1, dev:hde2 > md: ... autorun DONE. > kjournald starting. Commit interval 5 seconds > EXT3-fs: mounted filesystem with ordered data mode. > VFS: Mounted root (ext3 filesystem) readonly. > Mounted devfs on /dev > Freeing unused kernel memory: 220k freed > usb 1-1: new low speed USB device using address 2 > input: USB HID v1.00 Mouse [Logitech USB-PS/2 Trackball] on usb-0000:00:07.2-1 > usb 1-2: new full speed USB device using address 3 > EXT3 FS on md0, internal journal > Real Time Clock Driver v1.12 > drivers/usb/class/usblp.c: usblp0: USB Bidirectional printer dev 3 if 0 alt 0 proto 2 vid 0x04F9 pid 0x0110 > drivers/usb/core/usb.c: registered new driver usblp > drivers/usb/class/usblp.c: v0.13: USB Printer Device Class driver > kjournald starting. Commit interval 5 seconds > EXT3 FS on sda1, internal journal > EXT3-fs: mounted filesystem with ordered data mode. > Adding 524280k swap on /swapfile. Priority:-1 extents:4893 > eth1: link up, 100Mbps, half-duplex, lpa 0x40A1 > ip_tables: (C) 2000-2002 Netfilter core team > ip_conntrack version 2.1 (7168 buckets, 57344 max) - 300 bytes per conntrack > NET: Registered protocol family 10 > IPv6 over IPv4 tunneling driver > Vortex: init.... <6>done. > vortex: revision = 0xfe, device = 2 > eth1: no IPv6 routers present > eth0: no IPv6 routers present > [drm] Initialized r128 2.5.0 20030725 on minor 0 > atkbd.c: Unknown key released (translated set 2, code 0x7a on isa0060/serio0). > atkbd.c: This is an XFree86 bug. It shouldn't access hardware directly. > atkbd.c: Unknown key released (translated set 2, code 0x7a on isa0060/serio0). > atkbd.c: This is an XFree86 bug. It shouldn't access hardware directly. > APIC error on CPU0: 00(02) > APIC error on CPU1: 00(08) > icmpv6_send: addr_any/mcast source > icmpv6_send: addr_any/mcast source > icmpv6_send: addr_any/mcast source > hde: 0 bytes in FIFO > hde: timeout waiting for DMA > irq 11: nobody cared! > Call Trace: > [<c010b37a>] __report_bad_irq+0x2a/0x90 > [<c010b470>] note_interrupt+0x70/0xb0 > [<c010b7b0>] do_IRQ+0x160/0x1a0 > [<c01098b8>] common_interrupt+0x18/0x20 > [<c0106960>] default_idle+0x0/0x40 > [<c010698c>] default_idle+0x2c/0x40 > [<c0106a1b>] cpu_idle+0x3b/0x50 > [<c04c04c0>] unknown_bootoption+0x0/0x120 > [<c04c094b>] start_kernel+0x1bb/0x210 > [<c04c04c0>] unknown_bootoption+0x0/0x120 > > handlers: > [<c03139d0>] (usb_hcd_irq+0x0/0x70) > [<c03139d0>] (usb_hcd_irq+0x0/0x70) > Disabling IRQ #11 > vortex: 0 virt=12, real=0, delta=2 > icmpv6_send: addr_any/mcast source > icmpv6_send: addr_any/mcast source > irq 19: nobody cared! > Call Trace: > [<c010b37a>] __report_bad_irq+0x2a/0x90 > [<c010b470>] note_interrupt+0x70/0xb0 > [<c010b7b0>] do_IRQ+0x160/0x1a0 > [<c01098b8>] common_interrupt+0x18/0x20 > [<c0106960>] default_idle+0x0/0x40 > [<c010698c>] default_idle+0x2c/0x40 > [<c0106a1b>] cpu_idle+0x3b/0x50 > [<c04c04c0>] unknown_bootoption+0x0/0x120 > [<c04c094b>] start_kernel+0x1bb/0x210 > [<c04c04c0>] unknown_bootoption+0x0/0x120 > > handlers: > [<f8997010>] (vortex_interrupt+0x0/0x200 [snd_au8830]) > Disabling IRQ #19 > CPU0 CPU1 > 0: 57270917 151 IO-APIC-edge timer > 1: 18860 1 IO-APIC-edge i8042 > 2: 0 0 XT-PIC cascade > 8: 1 0 IO-APIC-edge rtc > 9: 0 0 IO-APIC-level acpi > 11: 300000 0 IO-APIC-level uhci_hcd, uhci_hcd > 14: 15036 2 IO-APIC-edge ide0 > 15: 657915 3 IO-APIC-edge ide1 > 16: 70124 1 IO-APIC-level aic7xxx > 17: 175806 0 IO-APIC-level eth0, eth1 > 18: 5655479 1539 IO-APIC-level ide2, ide3, r128@PCI:0:13:0 > 19: 299999 1 IO-APIC-level au8830 > NMI: 0 0 > LOC: 57280325 57280398 > ERR: 2 > MIS: 6416 -- Daniel Jacobowitz MontaVista Software Debian GNU/Linux Developer ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: 2.6.2-rc3: irq#19 - nobody cared - with an au88xx 2004-04-12 18:51 ` Daniel Jacobowitz @ 2004-04-12 21:28 ` Daniel Jacobowitz 2004-04-12 21:51 ` Jeff Garzik 0 siblings, 1 reply; 11+ messages in thread From: Daniel Jacobowitz @ 2004-04-12 21:28 UTC (permalink / raw) To: Jeff Garzik, linux-kernel; +Cc: Brown, Len On Mon, Apr 12, 2004 at 02:51:47PM -0400, Daniel Jacobowitz wrote: > [Jeff, I'm sending this to you because your name is above the Via PCI > quirks. It's in a followup comment, though, so there's probably > someone else I should be talking to about the original quirks - I just > haven't worked out who yet.] > > I'm trying to track down an interrupt routing problem on my Via-chipset > motherboard (it's an Abit VP6). The symptoms are that the USB and > audio drivers eat each other; it appears that they are on the same > IRQ line, even though /proc/interrupts says: > 11: 300000 0 IO-APIC-level uhci_hcd, uhci_hcd > 19: 299999 1 IO-APIC-level au8830 > > So eventually one of them gets wedged on, and the other panics because > it can't identify the incoming interrupts. > > At boot I see this, from drivers/pci/quirks.c: > > PCI: Via IRQ fixup for 0000:00:07.2, from 5 to 11 > PCI: Via IRQ fixup for 0000:00:07.3, from 5 to 11 > > Is it possible that the same problem, i.e. writes to the INTERRUPT_LINE > register causing connection to the PIC, could apply to devices in the PCI > slots? The register still shows 5 for the au8830, which is the IRQ it > gets assigned to if I boot without ACPI. > > I know this hypothesis sounds a little weak. I'm running out of ideas > :) I've worked out the part of the problem involving that quirk. There's an entry in quirks.c which reads: /* * VIA northbridges care about PCI_INTERRUPT_LINE */ int interrupt_line_quirk; static void __devinit quirk_via_bridge(struct pci_dev *pdev) { if(pdev->devfn == 0) interrupt_line_quirk = 1; } The i386 pirq_enable_irq honors this: /* VIA bridges use interrupt line for apic/pci steering across the V-Link */ else if (interrupt_line_quirk) pci_write_config_byte(dev, PCI_INTERRUPT_LINE, dev->irq); The matching function in ACPI does not honor this quirk, so we probably have routing troubles on a lot of affected VIA northbridges. There's at least one thing which looks like an example of this in Bugzilla (which was "fixed" by twiddling the IRQ balancing code). With this patch I get a little better (more predictable, at least) behavior. ===== drivers/acpi/pci_irq.c 1.26 vs edited ===== --- 1.26/drivers/acpi/pci_irq.c Thu Apr 1 04:03:21 2004 +++ edited/drivers/acpi/pci_irq.c Mon Apr 12 16:42:17 2004 @@ -328,6 +328,7 @@ acpi_pci_irq_enable ( struct pci_dev *dev) { + extern int interrupt_line_quirk; int irq = 0; u8 pin = 0; @@ -379,6 +380,11 @@ } dev->irq = irq; + + /* VIA bridges use interrupt line for apic/pci steering across + the V-Link. */ + if (interrupt_line_quirk) + pci_write_config_byte(dev, PCI_INTERRUPT_LINE, dev->irq); ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Device %s using IRQ %d\n", pci_name(dev), dev->irq)); On the down side, this doesn't fix everything. I can observe that with XMMS paused and my USB trackball untouched, I get no interrupts to either the au88xx's IRQ or the UHCI's IRQ. But with the sound playing, I get about 1.8 times as many IRQs reported to the USB controller as I do to the sound card! I assume vice versa is true also, though I can't check right now (both are wedged again). Something else is still cross-connecting the USB IRQ (11) and the au88xx IRQ (19). I had hoped it was the above problem, but it appears not. I hand-verified that PCI_INTERRUPT_LINE now agrees with /proc/interrupts for everything - except for the bridge itself; Jeff Garzik's comment in quirks.c suggests that this is expected. Any ideas on what could cause this are much appreciated. Should I use bugzilla to track this problem? -- Daniel Jacobowitz MontaVista Software Debian GNU/Linux Developer ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: 2.6.2-rc3: irq#19 - nobody cared - with an au88xx 2004-04-12 21:28 ` Daniel Jacobowitz @ 2004-04-12 21:51 ` Jeff Garzik 0 siblings, 0 replies; 11+ messages in thread From: Jeff Garzik @ 2004-04-12 21:51 UTC (permalink / raw) To: Daniel Jacobowitz; +Cc: linux-kernel, Brown, Len Daniel Jacobowitz wrote: > On Mon, Apr 12, 2004 at 02:51:47PM -0400, Daniel Jacobowitz wrote: > >>[Jeff, I'm sending this to you because your name is above the Via PCI >>quirks. It's in a followup comment, though, so there's probably >>someone else I should be talking to about the original quirks - I just >>haven't worked out who yet.] >> >>I'm trying to track down an interrupt routing problem on my Via-chipset >>motherboard (it's an Abit VP6). The symptoms are that the USB and >>audio drivers eat each other; it appears that they are on the same >>IRQ line, even though /proc/interrupts says: >> 11: 300000 0 IO-APIC-level uhci_hcd, uhci_hcd >> 19: 299999 1 IO-APIC-level au8830 >> >>So eventually one of them gets wedged on, and the other panics because >>it can't identify the incoming interrupts. >> >>At boot I see this, from drivers/pci/quirks.c: >> >>PCI: Via IRQ fixup for 0000:00:07.2, from 5 to 11 >>PCI: Via IRQ fixup for 0000:00:07.3, from 5 to 11 >> >>Is it possible that the same problem, i.e. writes to the INTERRUPT_LINE >>register causing connection to the PIC, could apply to devices in the PCI >>slots? The register still shows 5 for the au8830, which is the IRQ it >>gets assigned to if I boot without ACPI. >> >>I know this hypothesis sounds a little weak. I'm running out of ideas >>:) > > > I've worked out the part of the problem involving that quirk. There's > an entry in quirks.c which reads: > > /* > * VIA northbridges care about PCI_INTERRUPT_LINE > */ > > int interrupt_line_quirk; > > static void __devinit quirk_via_bridge(struct pci_dev *pdev) > { > if(pdev->devfn == 0) > interrupt_line_quirk = 1; > } > > The i386 pirq_enable_irq honors this: > /* VIA bridges use interrupt line for apic/pci steering across > the V-Link */ > else if (interrupt_line_quirk) > pci_write_config_byte(dev, PCI_INTERRUPT_LINE, dev->irq); > > The matching function in ACPI does not honor this quirk, so we probably > have routing troubles on a lot of affected VIA northbridges. There's > at least one thing which looks like an example of this in Bugzilla > (which was "fixed" by twiddling the IRQ balancing code). With this > patch I get a little better (more predictable, at least) behavior. You're certainly on the right track. Len and I have discussed how to best handle this in ACPI, I'll let him comment further... Jeff ^ permalink raw reply [flat|nested] 11+ messages in thread
[parent not found: <BF1FE1855350A0479097B3A0D2A80EE0023E89C2@hdsmsx402.hd.intel.com>]
* Re: 2.6.2-rc3: irq#19 - nobody cared - with an au88xx [not found] <BF1FE1855350A0479097B3A0D2A80EE0023E89C2@hdsmsx402.hd.intel.com> @ 2004-02-07 6:11 ` Len Brown 2004-02-07 6:33 ` Daniel Jacobowitz 2004-04-06 18:02 ` Daniel Jacobowitz 0 siblings, 2 replies; 11+ messages in thread From: Len Brown @ 2004-02-07 6:11 UTC (permalink / raw) To: Daniel Jacobowitz; +Cc: linux-kernel Can you isolate this regression to a specific release? There have been several changes to arch/i386/kernel/irq.c since 2.6.0-test7. Also, it would be interesting to know if it also happens with CONFIG_SMP=n (but with the IOAPIC still enabled) Plus, a sanity check of the rate of interrutps reported by /proc/interrupts might yield a clue. thanks, -Len ps. You can avoid the symptom by booting with "noirqdebug" or having the interrupt handling always return IRQ_HANDLED. But then we'd lose the means to find out why the driver is receiving interrupts for which it can find no cause. On Fri, 2004-02-06 at 23:42, Daniel Jacobowitz wrote: > I've started getting this, every 24 hours or so: > > irq 19: nobody cared! > Call Trace: > [<c010d38a>] __report_bad_irq+0x2a/0x90 > [<c010d480>] note_interrupt+0x70/0xb0 > [<c010d7c0>] do_IRQ+0x160/0x1a0 > [<c0105000>] _stext+0x0/0x60 > [<c010b8d8>] common_interrupt+0x18/0x20 > [<c0108990>] default_idle+0x0/0x40 > [<c0105000>] _stext+0x0/0x60 > [<c01089bc>] default_idle+0x2c/0x40 > [<c0108a4b>] cpu_idle+0x3b/0x50 > [<c04b64a0>] unknown_bootoption+0x0/0x120 > [<c04b6926>] start_kernel+0x1a6/0x1f0 > [<c04b64a0>] unknown_bootoption+0x0/0x120 > > handlers: > [<f886b290>] (au_isr+0x0/0xb0 [au8830]) > Disabling IRQ #19 > > and then sound doesn't work for a while. > > There's a good chance this is my fault. IRQ 19 is: > > 19: 18500001 0 IO-APIC-level au88xx > > and the au88xx driver is an out-of-tree driver that was developed on > 2.4/early-2.5, and I ported it to 2.6 myself. It worked flawlessly on > 2.6.0-test7; has something changed in how interrupt handlers are > required to > behave? > > [Just ask if you actually want the source to this driver... I don't > know > enough about the card to actually submit it to Linus's tree and the > driver's > original authors aparently didn't care to.] > > -- > Daniel Jacobowitz > MontaVista Software Debian GNU/Linux Developer > - > To unsubscribe from this list: send the line "unsubscribe > linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ > > ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: 2.6.2-rc3: irq#19 - nobody cared - with an au88xx 2004-02-07 6:11 ` Len Brown @ 2004-02-07 6:33 ` Daniel Jacobowitz 2004-04-06 18:02 ` Daniel Jacobowitz 1 sibling, 0 replies; 11+ messages in thread From: Daniel Jacobowitz @ 2004-02-07 6:33 UTC (permalink / raw) To: linux-kernel On Sat, Feb 07, 2004 at 01:11:48AM -0500, Len Brown wrote: > Can you isolate this regression to a specific release? There have been > several changes to arch/i386/kernel/irq.c since 2.6.0-test7. Also, it > would be interesting to know if it also happens with CONFIG_SMP=n (but > with the IOAPIC still enabled) Plus, a sanity check of the rate of > interrutps reported by /proc/interrupts might yield a clue. > > thanks, > -Len > > ps. > You can avoid the symptom by booting with "noirqdebug" or having the > interrupt handling always return IRQ_HANDLED. But then we'd lose the > means to find out why the driver is receiving interrupts for which it > can find no cause. Thanks for the response, Len. If I can identify which kernel triggered the problem I'll let you know. It will be tricky, since it takes a day or more to appear. For the record, I've figured out why no one ever submitted the driver: I somehow didn't notice the binary-only module in the middle of the rest of the code. The main interrupt handler is in there. The driver wrapper returns IRQ_NONE if some blob of code in there decides the card didn't generate an interrupt, so it could be anything. I see that there's now a reverse-engineered ALSA driver for this card so I'm going to see if that works first. > > On Fri, 2004-02-06 at 23:42, Daniel Jacobowitz wrote: > > I've started getting this, every 24 hours or so: > > > > irq 19: nobody cared! > > Call Trace: > > [<c010d38a>] __report_bad_irq+0x2a/0x90 > > [<c010d480>] note_interrupt+0x70/0xb0 > > [<c010d7c0>] do_IRQ+0x160/0x1a0 > > [<c0105000>] _stext+0x0/0x60 > > [<c010b8d8>] common_interrupt+0x18/0x20 > > [<c0108990>] default_idle+0x0/0x40 > > [<c0105000>] _stext+0x0/0x60 > > [<c01089bc>] default_idle+0x2c/0x40 > > [<c0108a4b>] cpu_idle+0x3b/0x50 > > [<c04b64a0>] unknown_bootoption+0x0/0x120 > > [<c04b6926>] start_kernel+0x1a6/0x1f0 > > [<c04b64a0>] unknown_bootoption+0x0/0x120 > > > > handlers: > > [<f886b290>] (au_isr+0x0/0xb0 [au8830]) > > Disabling IRQ #19 > > > > and then sound doesn't work for a while. > > > > There's a good chance this is my fault. IRQ 19 is: > > > > 19: 18500001 0 IO-APIC-level au88xx > > > > and the au88xx driver is an out-of-tree driver that was developed on > > 2.4/early-2.5, and I ported it to 2.6 myself. It worked flawlessly on > > 2.6.0-test7; has something changed in how interrupt handlers are > > required to > > behave? > > > > [Just ask if you actually want the source to this driver... I don't > > know > > enough about the card to actually submit it to Linus's tree and the > > driver's > > original authors aparently didn't care to.] > > > > -- > > Daniel Jacobowitz > > MontaVista Software Debian GNU/Linux Developer > > - > > To unsubscribe from this list: send the line "unsubscribe > > linux-kernel" in > > the body of a message to majordomo@vger.kernel.org > > More majordomo info at http://vger.kernel.org/majordomo-info.html > > Please read the FAQ at http://www.tux.org/lkml/ > > > > > > -- Daniel Jacobowitz MontaVista Software Debian GNU/Linux Developer ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: 2.6.2-rc3: irq#19 - nobody cared - with an au88xx 2004-02-07 6:11 ` Len Brown 2004-02-07 6:33 ` Daniel Jacobowitz @ 2004-04-06 18:02 ` Daniel Jacobowitz 2004-04-06 22:04 ` Daniel Jacobowitz 2004-04-06 23:43 ` Joshua Kwan 1 sibling, 2 replies; 11+ messages in thread From: Daniel Jacobowitz @ 2004-04-06 18:02 UTC (permalink / raw) To: Len Brown; +Cc: linux-kernel On Sat, Feb 07, 2004 at 01:11:48AM -0500, Len Brown wrote: > Can you isolate this regression to a specific release? There have been > several changes to arch/i386/kernel/irq.c since 2.6.0-test7. Also, it > would be interesting to know if it also happens with CONFIG_SMP=n (but > with the IOAPIC still enabled) Plus, a sanity check of the rate of > interrutps reported by /proc/interrupts might yield a clue. > > thanks, > -Len > > ps. > You can avoid the symptom by booting with "noirqdebug" or having the > interrupt handling always return IRQ_HANDLED. But then we'd lose the > means to find out why the driver is receiving interrupts for which it > can find no cause. I still haven't figured out which kernel first introduced the problem, but it's still present, at 2.6.5. I didn't see it while I was running 2.6.3-rc3, for some reason. Now I'm using the ALSA au8830 driver. There was no output from the driver before the nobody-cared message, so it was caused by one of these (sound/pci/au88x0/au88x0_core.c): //check if the interrupt is ours. if (!(hwread(vortex->mmio, VORTEX_STAT) & 0x1)) return IRQ_NONE; // This is the Interrrupt Enable flag we set before (consistency check). if (!(hwread(vortex->mmio, VORTEX_CTRL) & CTRL_IRQ_ENABLE)) return IRQ_NONE; About a minute after this happened, USB did the same thing: Apr 6 12:21:40 nevyn kernel: irq 11: nobody cared! Apr 6 12:21:40 nevyn kernel: Call Trace: Apr 6 12:21:40 nevyn kernel: [__report_bad_irq+42/144] __report_bad_irq+0x2a/0x90 Apr 6 12:21:40 nevyn kernel: [note_interrupt+112/176] note_interrupt+0x70/0xb0 Apr 6 12:21:40 nevyn kernel: [do_IRQ+352/416] do_IRQ+0x160/0x1a0 Apr 6 12:21:40 nevyn kernel: [common_interrupt+24/32] common_interrupt+0x18/0x20 Apr 6 12:21:40 nevyn kernel: [default_idle+0/64] default_idle+0x0/0x40 Apr 6 12:21:40 nevyn kernel: handlers: Apr 6 12:21:40 nevyn kernel: [usb_hcd_irq+0/112] (usb_hcd_irq+0x0/0x70) Apr 6 12:21:40 nevyn kernel: [usb_hcd_irq+0/112] (usb_hcd_irq+0x0/0x70) Apr 6 12:21:40 nevyn kernel: Disabling IRQ #11 That's the UHCI driver. The code in question is presumably: status = inw(io_addr + USBSTS); if (!(status & ~USBSTS_HCH)) /* shared interrupt, not mine */ return IRQ_NONE; outw(status, io_addr + USBSTS); /* Clear it */ I'm assuming that it is not the fault of either of these drivers, since both of those are quite straightforward; they appear to be actually being triggered when nothing is going on. There was a set of APIC errors an hour before, but they're probably unrelated: Apr 6 11:31:31 nevyn kernel: APIC error on CPU1: 00(08) Apr 6 11:31:31 nevyn kernel: APIC error on CPU0: 00(02) Other than that, no interesting information in the logs. The rate of interrupts looks sane. I'll try to check it the next time this happens but I didn't see anything strange. Afraid that's not enough info for anyone to help :( I'll try a couple of things... > > On Fri, 2004-02-06 at 23:42, Daniel Jacobowitz wrote: > > I've started getting this, every 24 hours or so: > > > > irq 19: nobody cared! > > Call Trace: > > [<c010d38a>] __report_bad_irq+0x2a/0x90 > > [<c010d480>] note_interrupt+0x70/0xb0 > > [<c010d7c0>] do_IRQ+0x160/0x1a0 > > [<c0105000>] _stext+0x0/0x60 > > [<c010b8d8>] common_interrupt+0x18/0x20 > > [<c0108990>] default_idle+0x0/0x40 > > [<c0105000>] _stext+0x0/0x60 > > [<c01089bc>] default_idle+0x2c/0x40 > > [<c0108a4b>] cpu_idle+0x3b/0x50 > > [<c04b64a0>] unknown_bootoption+0x0/0x120 > > [<c04b6926>] start_kernel+0x1a6/0x1f0 > > [<c04b64a0>] unknown_bootoption+0x0/0x120 > > > > handlers: > > [<f886b290>] (au_isr+0x0/0xb0 [au8830]) > > Disabling IRQ #19 > > > > and then sound doesn't work for a while. > > > > There's a good chance this is my fault. IRQ 19 is: > > > > 19: 18500001 0 IO-APIC-level au88xx > > > > and the au88xx driver is an out-of-tree driver that was developed on > > 2.4/early-2.5, and I ported it to 2.6 myself. It worked flawlessly on > > 2.6.0-test7; has something changed in how interrupt handlers are > > required to > > behave? > > > > [Just ask if you actually want the source to this driver... I don't > > know > > enough about the card to actually submit it to Linus's tree and the > > driver's > > original authors aparently didn't care to.] > > > > -- > > Daniel Jacobowitz > > MontaVista Software Debian GNU/Linux Developer > > - > > To unsubscribe from this list: send the line "unsubscribe > > linux-kernel" in > > the body of a message to majordomo@vger.kernel.org > > More majordomo info at http://vger.kernel.org/majordomo-info.html > > Please read the FAQ at http://www.tux.org/lkml/ > > > > > > -- Daniel Jacobowitz MontaVista Software Debian GNU/Linux Developer ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: 2.6.2-rc3: irq#19 - nobody cared - with an au88xx 2004-04-06 18:02 ` Daniel Jacobowitz @ 2004-04-06 22:04 ` Daniel Jacobowitz 2004-04-06 23:43 ` Joshua Kwan 1 sibling, 0 replies; 11+ messages in thread From: Daniel Jacobowitz @ 2004-04-06 22:04 UTC (permalink / raw) To: linux-kernel On Tue, Apr 06, 2004 at 02:02:38PM -0400, Daniel Jacobowitz wrote: > I still haven't figured out which kernel first introduced the problem, > but it's still present, at 2.6.5. I didn't see it while I was running > 2.6.3-rc3, for some reason. > > Now I'm using the ALSA au8830 driver. There was no output from the > driver before the nobody-cared message, so it was caused by one of > these (sound/pci/au88x0/au88x0_core.c): > > //check if the interrupt is ours. > if (!(hwread(vortex->mmio, VORTEX_STAT) & 0x1)) > return IRQ_NONE; It's this one. If I wait until it locks up - it did at exactly 600,001 interrupts, interesting... then reload the module with this: //check if the interrupt is ours. if (!(hwread(vortex->mmio, VORTEX_STAT) & 0x1)) { printk ("vortex: Interrupt not ours\n"); return IRQ_NONE; } I get _exactly_ 100,000 copies of that printout, and then the interrupt is disabled with a 'nobody cares' response. The first time, all 100,000 were on CPU0; the second time, 2 were on CPU0 and the other 99,998 on CPU1. So it looks as if something gets wedged, and then the interrupt fires continuously for no reason. -- Daniel Jacobowitz MontaVista Software Debian GNU/Linux Developer ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: 2.6.2-rc3: irq#19 - nobody cared - with an au88xx 2004-04-06 18:02 ` Daniel Jacobowitz 2004-04-06 22:04 ` Daniel Jacobowitz @ 2004-04-06 23:43 ` Joshua Kwan 1 sibling, 0 replies; 11+ messages in thread From: Joshua Kwan @ 2004-04-06 23:43 UTC (permalink / raw) To: linux-kernel On Tue, 06 Apr 2004 14:02:38 -0400, Daniel Jacobowitz wrote: > I still haven't figured out which kernel first introduced the problem, > but it's still present, at 2.6.5. I didn't see it while I was running > 2.6.3-rc3, for some reason. > > Now I'm using the ALSA au8830 driver. There was no output from the > driver before the nobody-cared message, so it was caused by one of > these (sound/pci/au88x0/au88x0_core.c): I'm *completely* stabbing in the dark, but ISTR lots of problems with Vortices (?), even on Windows, were caused by the card not being on the bus master PCI slot (which is typically the first one on most motherboards.) Possibly the IRQ assignment depends on the location of the card? Actually I am using my Vortex2 in a non-mastering PCI slot right now so maybe that's not the problem. But I'm using the snd-au8830 driver and it seems to work just fine in 2.6.5-mm1. I'm most likely completely wrong, so feel free to correct me. -- Joshua Kwan ^ permalink raw reply [flat|nested] 11+ messages in thread
* 2.6.2-rc3: irq#19 - nobody cared - with an au88xx @ 2004-02-07 4:42 Daniel Jacobowitz 0 siblings, 0 replies; 11+ messages in thread From: Daniel Jacobowitz @ 2004-02-07 4:42 UTC (permalink / raw) To: linux-kernel I've started getting this, every 24 hours or so: irq 19: nobody cared! Call Trace: [<c010d38a>] __report_bad_irq+0x2a/0x90 [<c010d480>] note_interrupt+0x70/0xb0 [<c010d7c0>] do_IRQ+0x160/0x1a0 [<c0105000>] _stext+0x0/0x60 [<c010b8d8>] common_interrupt+0x18/0x20 [<c0108990>] default_idle+0x0/0x40 [<c0105000>] _stext+0x0/0x60 [<c01089bc>] default_idle+0x2c/0x40 [<c0108a4b>] cpu_idle+0x3b/0x50 [<c04b64a0>] unknown_bootoption+0x0/0x120 [<c04b6926>] start_kernel+0x1a6/0x1f0 [<c04b64a0>] unknown_bootoption+0x0/0x120 handlers: [<f886b290>] (au_isr+0x0/0xb0 [au8830]) Disabling IRQ #19 and then sound doesn't work for a while. There's a good chance this is my fault. IRQ 19 is: 19: 18500001 0 IO-APIC-level au88xx and the au88xx driver is an out-of-tree driver that was developed on 2.4/early-2.5, and I ported it to 2.6 myself. It worked flawlessly on 2.6.0-test7; has something changed in how interrupt handlers are required to behave? [Just ask if you actually want the source to this driver... I don't know enough about the card to actually submit it to Linus's tree and the driver's original authors aparently didn't care to.] -- Daniel Jacobowitz MontaVista Software Debian GNU/Linux Developer ^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2004-04-12 21:52 UTC | newest] Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2004-04-07 4:08 2.6.2-rc3: irq#19 - nobody cared - with an au88xx Brown, Len 2004-04-07 14:59 ` Daniel Jacobowitz 2004-04-12 18:51 ` Daniel Jacobowitz 2004-04-12 21:28 ` Daniel Jacobowitz 2004-04-12 21:51 ` Jeff Garzik [not found] <BF1FE1855350A0479097B3A0D2A80EE0023E89C2@hdsmsx402.hd.intel.com> 2004-02-07 6:11 ` Len Brown 2004-02-07 6:33 ` Daniel Jacobowitz 2004-04-06 18:02 ` Daniel Jacobowitz 2004-04-06 22:04 ` Daniel Jacobowitz 2004-04-06 23:43 ` Joshua Kwan -- strict thread matches above, loose matches on Subject: below -- 2004-02-07 4:42 Daniel Jacobowitz
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).