Bug 5832

Summary: Enabling ACPI Plug and Play in kernels >2.6.9 kills Parallel support
Product: ACPI Reporter: Dane Mutters (dmutters)
Component: Config-OtherAssignee: Bjorn Helgaas (bjorn.helgaas)
Status: CLOSED CODE_FIX    
Severity: high CC: acpi-bugzilla, akpm, ambx1, andi-bz, bjorn.helgaas, cjia, dmitry.torokhov, shaohua.li, trenn
Priority: P2    
Hardware: i386   
OS: Linux   
Kernel Version: 2.6.14-r5 (gentoo) Subsystem:
Regression: Yes Bisected commit-id:
Attachments: disable PNP IRQ info
disable PNP DMA info
dmesg log
dmesg with both patches applied
dump AML byte stream and ACPI resources
Dmesg output after using the commands in comment #25.
acpidump of 2.6.23-1
.config of 2.6.23-1
Debug patch - 2.6.24-rc2 (might have slight offsets, but should patch...)
Disable pnpacpi on BIOSes older than 2004
Output of dmidecode
test patch for ACPI CA problem
PNPACPI: use _CRS IRQ descriptor length for _SRS

Description Dane Mutters 2006-01-05 03:49:10 UTC
Most recent kernel where this bug did not occur: 2.6.14-r5
Distribution: Gentoo
Hardware Environment: ASUS A8N-SLI Motherboard, AMD64 3200 processor
Software Environment: GCC 3.4.4 ... what else do you need? *stumped*
Problem Description:        I've been attempting to figure out this problem for
a long time, and have 
come to the conclusion that it must be a kernel bug (that or perhaps I'm a 
bit dense).  Whenever I have the option, "Device Drivers > Plug and Play > 
ACPI Support" enabled, I become unable to print using my parallel port.

        I'm using an ASUS A8N-SLI motherboard with an AMD64 3200 chip and 1GB of
RAM.  
I have two printers, and this happens with both.  Here are some forums in 
which I have tried to solve this problem:

http://forums.gentoo.org/viewtopic-t-416986-highlight-.html
http://www.linuxquestions.org/questions/showthread.php?t=380023

Steps to reproduce: Select the "Device Drivers > Plug and Play Support > Plug
and Play ACPI Support" option in the kernel, recompile, reboot.


Output of `dmesg -s 1000000':

1 12 14 15) *0, disabled.
ACPI: PCI Interrupt Link [LMAC] (IRQs *3 4 5 7 9 10 11 12 14 15)
ACPI: PCI Interrupt Link [LACI] (IRQs 3 4 *5 7 9 10 11 12 14 15)
ACPI: PCI Interrupt Link [LMCI] (IRQs 3 4 5 7 9 10 11 12 14 15) *0, disabled.
ACPI: PCI Interrupt Link [LSMB] (IRQs 3 4 5 7 9 10 11 12 14 15) *0, disabled.
ACPI: PCI Interrupt Link [LUB2] (IRQs 3 4 5 7 9 10 11 12 14 15) *0, disabled.
ACPI: PCI Interrupt Link [LIDE] (IRQs 3 4 5 7 9 10 11 12 14 15) *0, disabled.
ACPI: PCI Interrupt Link [LSID] (IRQs 3 4 5 7 9 10 *11 12 14 15)
ACPI: PCI Interrupt Link [LFID] (IRQs 3 4 *5 7 9 10 11 12 14 15)
ACPI: PCI Interrupt Link [LPCA] (IRQs 3 4 5 7 9 10 11 12 14 15) *0, disabled.
ACPI: PCI Interrupt Link [APC1] (IRQs 16) *0, disabled.
ACPI: PCI Interrupt Link [APC2] (IRQs 17) *0, disabled.
ACPI: PCI Interrupt Link [APC3] (IRQs 18) *0, disabled.
ACPI: PCI Interrupt Link [APC4] (IRQs 19) *0, disabled.
ACPI: PCI Interrupt Link [APC5] (IRQs *16), disabled.
ACPI: PCI Interrupt Link [APCF] (IRQs 20 21 22 23) *0, disabled.
ACPI: PCI Interrupt Link [APCG] (IRQs 20 21 22 23) *0, disabled.
ACPI: PCI Interrupt Link [APCH] (IRQs 20 21 22 23) *0, disabled.
ACPI: PCI Interrupt Link [APCJ] (IRQs 20 21 22 23) *0, disabled.
ACPI: PCI Interrupt Link [APCK] (IRQs 20 21 22 23) *0, disabled.
ACPI: PCI Interrupt Link [APCS] (IRQs 20 21 22 23) *0, disabled.
ACPI: PCI Interrupt Link [APCL] (IRQs 20 21 22 23) *0, disabled.
ACPI: PCI Interrupt Link [APCZ] (IRQs 20 21 22 23) *0, disabled.
ACPI: PCI Interrupt Link [APSI] (IRQs 20 21 22 23) *0, disabled.
ACPI: PCI Interrupt Link [APSJ] (IRQs 20 21 22 23) *0, disabled.
ACPI: PCI Interrupt Link [APCP] (IRQs 20 21 22 23) *0, disabled.
Linux Plug and Play Support v0.97 (c) Adam Belay
SCSI subsystem initialized
usbcore: registered new driver usbfs
usbcore: registered new driver hub
PCI: Using ACPI for IRQ routing
PCI: If a device doesn't work, try "pci=routeirq".  If it helps, post a report
TC classifier action (bugs to netdev@vger.kernel.org cc hadi@cyberus.ca)
PCI-DMA: Disabling IOMMU.
PCI: Bridge: 0000:00:09.0
  IO window: 9000-afff
  MEM window: d0000000-d1ffffff
  PREFETCH window: 50000000-500fffff
PCI: Bridge: 0000:00:0b.0
  IO window: disabled.
  MEM window: disabled.
  PREFETCH window: disabled.
PCI: Bridge: 0000:00:0c.0
  IO window: disabled.
  MEM window: disabled.
  PREFETCH window: disabled.
PCI: Bridge: 0000:00:0d.0
  IO window: disabled.
  MEM window: disabled.
  PREFETCH window: disabled.
PCI: Bridge: 0000:00:0e.0
  IO window: disabled.
  MEM window: c8000000-cfffffff
  PREFETCH window: c0000000-c7ffffff
PCI: Setting latency timer of device 0000:00:09.0 to 64
PCI: Setting latency timer of device 0000:00:0b.0 to 64
PCI: Setting latency timer of device 0000:00:0c.0 to 64
PCI: Setting latency timer of device 0000:00:0d.0 to 64
PCI: Setting latency timer of device 0000:00:0e.0 to 64
IA32 emulation $Id: sys_ia32.c,v 1.32 2002/03/24 13:02:28 ak Exp $
Total HugeTLB memory allocated, 0
Squashfs 2.2 (released 2005/07/03) (C) 2002-2005 Phillip Lougher
NTFS driver 2.1.24 [Flags: R/O].
JFS: nTxBlock = 7998, nTxLock = 63989
SGI XFS with ACLs, large block/inode numbers, no debug enabled
Initializing Cryptographic API
PCI: Setting latency timer of device 0000:00:0b.0 to 64
pcie_portdrv_probe->Dev[005d:10de] has invalid IRQ. Check vendor BIOS
assign_interrupt_mode Found MSI capability
Allocate Port Service[pcie00]
Allocate Port Service[pcie03]
PCI: Setting latency timer of device 0000:00:0c.0 to 64
pcie_portdrv_probe->Dev[005d:10de] has invalid IRQ. Check vendor BIOS
assign_interrupt_mode Found MSI capability
Allocate Port Service[pcie00]
Allocate Port Service[pcie03]
PCI: Setting latency timer of device 0000:00:0d.0 to 64
pcie_portdrv_probe->Dev[005d:10de] has invalid IRQ. Check vendor BIOS
assign_interrupt_mode Found MSI capability
Allocate Port Service[pcie00]
Allocate Port Service[pcie03]
PCI: Setting latency timer of device 0000:00:0e.0 to 64
pcie_portdrv_probe->Dev[005d:10de] has invalid IRQ. Check vendor BIOS
assign_interrupt_mode Found MSI capability
Allocate Port Service[pcie00]
Allocate Port Service[pcie03]
Real Time Clock Driver v1.12
Non-volatile memory driver v1.2
Linux agpgart interface v0.101 (c) Dave Jones
[drm] Initialized drm 1.0.0 20040925
vesafb: framebuffer at 0xc0000000, mapped to 0xffffc20010680000, using 3072k,
total 131072k
vesafb: mode is 1024x768x16, linelength=2048, pages=1
vesafb: scrolling: redraw
vesafb: Truecolor: size=0:5:6:5, shift=0:11:5:0
vesafb: Mode is not VGA compatible
Console: switching to colour frame buffer device 128x48
fb0: VESA VGA frame buffer device
ACPI: Power Button (FF) [PWRF]
ACPI: Power Button (CM) [PWRB]
ACPI: Fan [FAN] (on)
ACPI: CPU0 (power states: C1[C1])
ACPI: Thermal Zone [THRM] (40 C)
ibm_acpi: ec object not found
PNP: No PS/2 controller found. Probing ports directly.
serio: i8042 AUX port at 0x60,0x64 irq 12
serio: i8042 KBD port at 0x60,0x64 irq 1
Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing disabled
ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
ACPI: PCI Interrupt Link [APC2] enabled at IRQ 17
ACPI: PCI Interrupt 0000:05:07.0[A] -> Link [APC2] -> GSI 17 (level, low) -> IRQ 16
ttyS1 at I/O 0xa400 (irq = 16) is a 16550A
mice: PS/2 mouse device common for all mice
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered
Floppy drive(s): fd0 is 1.44M
FDC 0 is a post-1991 82077
RAMDISK driver initialized: 16 RAM disks of 8192K size 1024 blocksize
loop: loaded (max 8 devices)
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
NFORCE-CK804: IDE controller at PCI slot 0000:00:06.0
NFORCE-CK804: chipset revision 242
NFORCE-CK804: not 100% native mode: will probe irqs later
NFORCE-CK804: 0000:00:06.0 (rev f2) UDMA133 controller
    ide0: BM-DMA at 0xf000-0xf007, BIOS settings: hda:DMA, hdb:DMA
    ide1: BM-DMA at 0xf008-0xf00f, BIOS settings: hdc:DMA, hdd:DMA
Probing IDE interface ide0...
input: AT Translated Set 2 keyboard on isa0060/serio0
input: ImExPS/2 Generic Explorer Mouse on isa0060/serio1
hda: WDC WD2500JB-22GVC0, ATA DISK drive
hdb: SONY CD-RW CRX220E1, ATAPI CD/DVD-ROM drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
Probing IDE interface ide1...
hdc: WDC WD205BA, ATA DISK drive
hdd: PIONEER DVD-RW DVR-109, ATAPI CD/DVD-ROM drive
ide1 at 0x170-0x177,0x376 on irq 15
PDC20269: IDE controller at PCI slot 0000:05:06.0
ACPI: PCI Interrupt Link [APC1] enabled at IRQ 16
ACPI: PCI Interrupt 0000:05:06.0[A] -> Link [APC1] -> GSI 16 (level, low) -> IRQ 17
PDC20269: chipset revision 2
PDC20269: ROM enabled at 0x50000000
PDC20269: 100% native mode on irq 17
    ide2: BM-DMA at 0xa000-0xa007, BIOS settings: hde:pio, hdf:pio
    ide3: BM-DMA at 0xa008-0xa00f, BIOS settings: hdg:pio, hdh:pio
Probing IDE interface ide2...
hde: WDC WD800JB-00FMA0, ATA DISK drive
hdf: SAMSUNG SP0411N, ATA DISK drive
ide2 at 0x9000-0x9007,0x9402 on irq 17
Probing IDE interface ide3...
Probing IDE interface ide3...
hda: max request size: 1024KiB
hda: 488397168 sectors (250059 MB) w/8192KiB Cache, CHS=30401/255/63, UDMA(100)
hda: cache flushes supported
 hda: hda1 hda2 hda3 hda4
hdc: max request size: 128KiB
hdc: 40088160 sectors (20525 MB) w/2048KiB Cache, CHS=39770/16/63, UDMA(33)
hdc: cache flushes not supported
 hdc: hdc1
hde: max request size: 128KiB
hde: 156301488 sectors (80026 MB) w/8192KiB Cache, CHS=65535/16/63, UDMA(100)
hde: cache flushes supported
 hde: hde1
hdf: max request size: 1024KiB
hdf: 78242976 sectors (40060 MB) w/2048KiB Cache, CHS=16383/255/63, UDMA(100)
hdf: cache flushes supported
 hdf: hdf1
hdb: ATAPI 52X CD-ROM CD-R/RW drive, 2048kB Cache, UDMA(33)
Uniform CD-ROM driver Revision: 3.20
hdd: ATAPI 40X DVD-ROM DVD-R CD-R/RW drive, 2000kB Cache, UDMA(33)
usbmon: debugfs is not available
md: linear personality registered as nr 1
md: raid0 personality registered as nr 2
md: raid1 personality registered as nr 3
md: raid5 personality registered as nr 4
raid5: automatically using best checksumming function: generic_sse
   generic_sse:  6433.000 MB/sec
raid5: using function: generic_sse (6433.000 MB/sec)
raid6: int64x1   1939 MB/s
raid6: int64x2   2800 MB/s
raid6: int64x4   2752 MB/s
raid6: int64x8   1826 MB/s
raid6: sse2x1    1019 MB/s
raid6: sse2x2    1754 MB/s
raid6: sse2x4    2576 MB/s
raid6: using algorithm sse2x4 (2576 MB/s)
md: raid6 personality registered as nr 8
md: multipath personality registered as nr 7
md: md driver 0.90.2 MAX_MD_DEVS=256, MD_SB_DISKS=27
md: bitmap version 3.39
device-mapper: 4.4.0-ioctl (2005-01-12) initialised: dm-devel@redhat.com
Advanced Linux Sound Architecture Driver Version 1.0.10rc1 (Mon Sep 12 08:13:09
2005 UTC).
ALSA device list:
  No soundcards found.
NET: Registered protocol family 2
IP route cache hash table entries: 65536 (order: 7, 524288 bytes)
TCP established hash table entries: 262144 (order: 9, 2097152 bytes)
TCP bind hash table entries: 65536 (order: 7, 524288 bytes)
TCP: Hash tables configured (established 262144 bind 65536)
TCP reno registered
TCP bic registered
NET: Registered protocol family 1
NET: Registered protocol family 10
Disabled Privacy Extensions on device ffffffff8053dac0(lo)
IPv6 over IPv4 tunneling driver
NET: Registered protocol family 17
NET: Registered protocol family 15
powernow-k8: Found 1 AMD Athlon 64 / Opteron processors (version 1.50.4)
powernow-k8: BIOS error - no PSB or ACPI _PSS objects
ACPI wakeup devices:
HUB0 XVR0 XVR1 XVR2 XVR3 USB0 USB2 MMAC MMCI UAR1
ACPI: (supports S0 S1 S3 S4 S5)
BIOS EDD facility v0.16 2004-Jun-25, 4 devices found
Freeing unused kernel memory: 200k freed
ACPI: PCI Interrupt Link [APCL] enabled at IRQ 23
ACPI: PCI Interrupt 0000:00:02.1[B] -> Link [APCL] -> GSI 23 (level, low) -> IRQ 18
PCI: Setting latency timer of device 0000:00:02.1 to 64
ehci_hcd 0000:00:02.1: EHCI Host Controller
ehci_hcd 0000:00:02.1: debug port 1
ehci_hcd 0000:00:02.1: new USB bus registered, assigned bus number 1
ehci_hcd 0000:00:02.1: irq 18, io mem 0xfeb00000
PCI: cache line size of 64 is not supported by device 0000:00:02.1
ehci_hcd 0000:00:02.1: park 0
ehci_hcd 0000:00:02.1: USB 2.0 initialized, EHCI 1.00, driver 10 Dec 2004
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 10 ports detected
usbcore: registered new driver hiddev
usbcore: registered new driver usbhid
drivers/usb/input/hid-core.c: v2.6:USB HID core driver
Initializing USB Mass Storage driver...
usbcore: registered new driver usb-storage
USB Mass Storage support registered.
USB Universal Host Controller Interface driver v2.3
ohci_hcd: 2005 April 22 USB 1.1 'Open' Host Controller (OHCI) Driver (PCI)
ACPI: PCI Interrupt Link [APCF] enabled at IRQ 22
ACPI: PCI Interrupt 0000:00:02.0[A] -> Link [APCF] -> GSI 22 (level, low) -> IRQ 19
PCI: Setting latency timer of device 0000:00:02.0 to 64
ohci_hcd 0000:00:02.0: OHCI Host Controller
ohci_hcd 0000:00:02.0: new USB bus registered, assigned bus number 2
ohci_hcd 0000:00:02.0: irq 19, io mem 0xd2004000
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 10 ports detected
ieee1394: Initialized config rom entry `ip1394'
ohci1394: $Rev: 1313 $ Ben Collins <bcollins@debian.org>
ACPI: PCI Interrupt 0000:05:0b.0[A] -> Link [APC1] -> GSI 16 (level, low) -> IRQ 17
ohci1394: fw-host0: OHCI-1394 1.1 (PCI): IRQ=[17]  MMIO=[d1008000-d10087ff]  Max
Packet=[2048]
sbp2: $Rev: 1306 $ Ben Collins <bcollins@debian.org>
ieee1394: sbp2: Driver forced to serialize I/O (serialize_io=1)
ieee1394: sbp2: Try serialize_io=0 for better performance
libata version 1.12 loaded.
sata_nv version 0.8
ACPI: PCI Interrupt Link [APSI] enabled at IRQ 21
ACPI: PCI Interrupt 0000:00:07.0[A] -> Link [APSI] -> GSI 21 (level, low) -> IRQ 20
PCI: Setting latency timer of device 0000:00:07.0 to 64
ata1: SATA max UDMA/133 cmd 0x9F0 ctl 0xBF2 bmdma 0xD800 irq 20
ata2: SATA max UDMA/133 cmd 0x970 ctl 0xB72 bmdma 0xD808 irq 20
usb 2-1: new low speed USB device using ohci_hcd and address 2
ata1: no device found (phy stat 00000000)
scsi0 : sata_nv
input: USB HID v1.10 Joystick [Microsoft SideWinder Precision 2 Joystick] on
usb-0000:00:02.0-1
ata2: no device found (phy stat 00000000)
scsi1 : sata_nv
ACPI: PCI Interrupt Link [APSJ] enabled at IRQ 20
ACPI: PCI Interrupt 0000:00:08.0[A] -> Link [APSJ] -> GSI 20 (level, low) -> IRQ 21
PCI: Setting latency timer of device 0000:00:08.0 to 64
ata3: SATA max UDMA/133 cmd 0x9E0 ctl 0xBE2 bmdma 0xC400 irq 21
ata4: SATA max UDMA/133 cmd 0x960 ctl 0xB62 bmdma 0xC408 irq 21
usb 2-2: new low speed USB device using ohci_hcd and address 3
ata3: no device found (phy stat 00000000)
scsi2 : sata_nv
input: USB HID v1.00 Gamepad [Microsoft SideWinder Game Pad Pro USB version 1.0]
on usb-0000:00:02.0-2
ata4: no device found (phy stat 00000000)
scsi3 : sata_nv
ReiserFS: hda2: found reiserfs format "3.6" with standard journal
ieee1394: Host added: ID:BUS[0-00:1023]  GUID[0011d800004b13a5]
ReiserFS: hda2: using ordered data mode
ReiserFS: hda2: journal params: device hda2, size 8192, journal first block 18,
max trans len 1024, max batch 900, max commit age 30, max trans age 30
ReiserFS: hda2: checking transaction log (hda2)
ReiserFS: hda2: Using r5 hash to sort names
Adding 538168k swap on /dev/hda4.  Priority:-1 extents:1 across:538168k
ReiserFS: hda1: found reiserfs format "3.6" with standard journal
ReiserFS: hda1: using ordered data mode
ReiserFS: hda1: journal params: device hda1, size 8192, journal first block 18,
max trans len 1024, max batch 900, max commit age 30, max trans age 30
ReiserFS: hda1: checking transaction log (hda1)
ReiserFS: hda1: Using r5 hash to sort names
ReiserFS: hda3: found reiserfs format "3.6" with standard journal
ReiserFS: hda3: using ordered data mode
ReiserFS: hda3: journal params: device hda3, size 8192, journal first block 18,
max trans len 1024, max batch 900, max commit age 30, max trans age 30
ReiserFS: hda3: checking transaction log (hda3)
ReiserFS: hda3: Using r5 hash to sort names
NTFS volume version 3.1.
i2c_adapter i2c-0: nForce2 SMBus adapter at 0x4c00
i2c_adapter i2c-1: nForce2 SMBus adapter at 0x4c40
ACPI: PCI Interrupt Link [APCJ] enabled at IRQ 23
ACPI: PCI Interrupt 0000:00:04.0[A] -> Link [APCJ] -> GSI 23 (level, low) -> IRQ 18
PCI: Setting latency timer of device 0000:00:04.0 to 64
intel8x0_measure_ac97_clock: measured 54849 usecs
intel8x0: clocking to 46874
forcedeth.c: Reverse Engineered nForce ethernet driver. Version 0.41.
ACPI: PCI Interrupt Link [APCH] enabled at IRQ 22
ACPI: PCI Interrupt 0000:00:0a.0[A] -> Link [APCH] -> GSI 22 (level, low) -> IRQ 19
PCI: Setting latency timer of device 0000:00:0a.0 to 64
eth0: forcedeth.c: subsystem: 01043:8141 bound to 0000:00:0a.0
nvidia: module license 'NVIDIA' taints kernel.
ACPI: PCI Interrupt Link [APC3] enabled at IRQ 18
ACPI: PCI Interrupt 0000:01:00.0[A] -> Link [APC3] -> GSI 18 (level, low) -> IRQ 22
PCI: Setting latency timer of device 0000:01:00.0 to 64
NVRM: loading NVIDIA Linux x86_64 NVIDIA Kernel Module  1.0-8178  Wed Dec 14
16:58:07 PST 2005
parport0: PC-style at 0x378 (0x778) [PCSPP,TRISTATE]
parport0: irq 7 detected
parport0: Printer, Hewlett-Packard HP LaserJet 5P
lp0: using parport0 (polling).
eth0: no IPv6 routers present
atkbd.c: Spurious ACK on isa0060/serio0. Some program, like XFree86, might be
trying access hardware directly.
atkbd.c: Spurious ACK on isa0060/serio0. Some program, like XFree86, might be
trying access hardware directly.
Comment 1 Dane Mutters 2006-01-05 04:05:29 UTC
Here is my dmesg for a working kernel (2.6.9-r9 [Gentoo]):

398000000 size 32 MB
Aperture from northbridge cpu 0 too small (32 MB)
No AGP bridge found
Built 1 zonelists
Kernel command line: root=/dev/ram0 init=linuxrc ramdisk=8192
real_root=/dev/hda2 udev vga=0x317 video=vesafb:mtrr,ywrap console=tty0
Initializing CPU#0
PID hash table entries: 4096 (order: 12, 131072 bytes)
time.c: Using 1.193182 MHz PIT timer.
time.c: Detected 2100.495 MHz processor.
Console: colour dummy device 80x25
Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes)
Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes)
Memory: 1023716k/1048512k available (3071k kernel code, 24064k reserved, 1346k
data, 172k init)
Calibrating delay loop... 4161.53 BogoMIPS (lpj=2080768)
Mount-cache hash table entries: 256 (order: 0, 4096 bytes)
CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
CPU: L2 Cache: 512K (64 bytes/line)
CPU: AMD Athlon(tm) 64 Processor 3200+ stepping 00
ACPI: IRQ9 SCI: Edge set to Level Trigger.
Using local APIC NMI watchdog using perfctr0
Using local APIC timer interrupts.
Detected 13.128 MHz APIC timer.
checking if image is initramfs... it is
NET: Registered protocol family 16
PCI: Using configuration type 1
PCI: Using MMCONFIG at e0000000
mtrr: v2.0 (20020519)
ACPI: Subsystem revision 20040816
ACPI: Interpreter enabled
ACPI: Using PIC for interrupt routing
ACPI: PCI Root Bridge [PCI0] (00:00)
PCI: Probing PCI hardware (bus 00)
PCI: Transparent bridge - 0000:00:09.0
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.HUB0._PRT]
ACPI: PCI Interrupt Link [LNK1] (IRQs *3 4 5 7 9 10 11 12 14 15)
ACPI: PCI Interrupt Link [LNK2] (IRQs 3 4 5 7 9 10 11 12 14 15) *0, disabled.
ACPI: PCI Interrupt Link [LNK3] (IRQs 3 4 5 7 9 10 *11 12 14 15)
ACPI: PCI Interrupt Link [LNK4] (IRQs 3 4 5 7 9 10 11 12 14 15) *0, disabled.
ACPI: PCI Interrupt Link [LNK5] (IRQs 3 4 5 7 9 10 11 12 14 15) *0, disabled.
ACPI: PCI Interrupt Link [LUBA] (IRQs 3 4 5 7 9 10 11 12 14 15) *0, disabled.
ACPI: PCI Interrupt Link [LUBB] (IRQs 3 4 5 7 9 10 11 12 14 15) *0, disabled.
ACPI: PCI Interrupt Link [LMAC] (IRQs *3 4 5 7 9 10 11 12 14 15)
ACPI: PCI Interrupt Link [LACI] (IRQs 3 4 *5 7 9 10 11 12 14 15)
ACPI: PCI Interrupt Link [LMCI] (IRQs 3 4 5 7 9 10 11 12 14 15) *0, disabled.
ACPI: PCI Interrupt Link [LSMB] (IRQs 3 4 5 7 9 10 11 12 14 15) *0, disabled.
ACPI: PCI Interrupt Link [LUB2] (IRQs 3 4 5 7 9 10 11 12 14 15) *0, disabled.
ACPI: PCI Interrupt Link [LIDE] (IRQs 3 4 5 7 9 10 11 12 14 15) *0, disabled.
ACPI: PCI Interrupt Link [LSID] (IRQs 3 4 5 7 9 10 *11 12 14 15)
ACPI: PCI Interrupt Link [LFID] (IRQs 3 4 *5 7 9 10 11 12 14 15)
ACPI: PCI Interrupt Link [LPCA] (IRQs 3 4 5 7 9 10 11 12 14 15) *0, disabled.
ACPI: PCI Interrupt Link [APC1] (IRQs 16) *0, disabled.
ACPI: PCI Interrupt Link [APC2] (IRQs 17) *0, disabled.
ACPI: PCI Interrupt Link [APC3] (IRQs 18) *0, disabled.
ACPI: PCI Interrupt Link [APC4] (IRQs 19) *0, disabled.
ACPI: PCI Interrupt Link [APC5] (IRQs *16), disabled.
ACPI: PCI Interrupt Link [APCF] (IRQs 20 21 22 23) *0, disabled.
ACPI: PCI Interrupt Link [APCG] (IRQs 20 21 22 23) *0, disabled.
ACPI: PCI Interrupt Link [APCH] (IRQs 20 21 22 23) *0, disabled.
ACPI: PCI Interrupt Link [APCJ] (IRQs 20 21 22 23) *0, disabled.
ACPI: PCI Interrupt Link [APCK] (IRQs 20 21 22 23) *0, disabled.
ACPI: PCI Interrupt Link [APCS] (IRQs 20 21 22 23) *0, disabled.
ACPI: PCI Interrupt Link [APCL] (IRQs 20 21 22 23) *0, disabled.
ACPI: PCI Interrupt Link [APCZ] (IRQs 20 21 22 23) *0, disabled.
ACPI: PCI Interrupt Link [APSI] (IRQs 20 21 22 23) *0, disabled.
ACPI: PCI Interrupt Link [APSJ] (IRQs 20 21 22 23) *0, disabled.
ACPI: PCI Interrupt Link [APCP] (IRQs 20 21 22 23) *0, disabled.
SCSI subsystem initialized
usbcore: registered new driver usbfs
usbcore: registered new driver hub
PCI: Using ACPI for IRQ routing
ACPI: PCI Interrupt Link [LSMB] enabled at IRQ 11
ACPI: PCI interrupt 0000:00:01.1[A] -> GSI 11 (level, low) -> IRQ 11
ACPI: PCI Interrupt Link [LUBA] enabled at IRQ 10
ACPI: PCI interrupt 0000:00:02.0[A] -> GSI 10 (level, low) -> IRQ 10
ACPI: PCI Interrupt Link [LUB2] enabled at IRQ 11
ACPI: PCI interrupt 0000:00:02.1[B] -> GSI 11 (level, low) -> IRQ 11
ACPI: PCI Interrupt Link [LACI] enabled at IRQ 5
ACPI: PCI interrupt 0000:00:04.0[A] -> GSI 5 (level, low) -> IRQ 5
ACPI: PCI Interrupt Link [LSID] enabled at IRQ 11
ACPI: PCI interrupt 0000:00:07.0[A] -> GSI 11 (level, low) -> IRQ 11
ACPI: PCI Interrupt Link [LFID] enabled at IRQ 5
ACPI: PCI interrupt 0000:00:08.0[A] -> GSI 5 (level, low) -> IRQ 5
ACPI: PCI Interrupt Link [LMAC] enabled at IRQ 3
ACPI: PCI interrupt 0000:00:0a.0[A] -> GSI 3 (level, low) -> IRQ 3
ACPI: PCI Interrupt Link [LNK1] enabled at IRQ 3
ACPI: PCI interrupt 0000:05:06.0[A] -> GSI 3 (level, low) -> IRQ 3
ACPI: PCI Interrupt Link [LNK2] enabled at IRQ 10
ACPI: PCI interrupt 0000:05:07.0[A] -> GSI 10 (level, low) -> IRQ 10
ACPI: PCI interrupt 0000:05:0b.0[A] -> GSI 3 (level, low) -> IRQ 3
ACPI: PCI Interrupt Link [LNK3] enabled at IRQ 11
ACPI: PCI interrupt 0000:01:00.0[A] -> GSI 11 (level, low) -> IRQ 11
TC classifier action (bugs to netdev@oss.sgi.com cc hadi@cyberus.ca)
PCI-DMA: Disabling IOMMU.
IA32 emulation $Id: sys_ia32.c,v 1.32 2002/03/24 13:02:28 ak Exp $
Total HugeTLB memory allocated, 0
devfs: 2004-01-31 Richard Gooch (rgooch@atnf.csiro.au)
devfs: boot_options: 0x0
SGI XFS with ACLs, large block/inode numbers, no debug enabled
Initializing Cryptographic API
pci_hotplug: PCI Hot Plug PCI Core version: 0.5
acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.4
pciehp: PCI Express Hot Plug Controller Driver version: 0.4
inotify init: minor=63
Real Time Clock Driver v1.12
Non-volatile memory driver v1.2
Linux agpgart interface v0.100 (c) Dave Jones
vesafb: framebuffer at 0xc0000000, mapped to 0xffffff0010100000, size 3072k
vesafb: mode is 1024x768x16, linelength=2048, pages=1
vesafb: scrolling: redraw
vesafb: Truecolor: size=0:5:6:5, shift=0:11:5:0
Console: switching to colour frame buffer device 128x48
fb0: VESA VGA frame buffer device
ACPI: Power Button (FF) [PWRF]
ACPI: Fan [FAN] (on)
ACPI: Processor [CPU0] (supports C1)
ACPI: Thermal Zone [THRM] (40 C)
serio: i8042 AUX port at 0x60,0x64 irq 12
serio: i8042 KBD port at 0x60,0x64 irq 1
Serial: 8250/16550 driver $Revision: 1.90 $ 8 ports, IRQ sharing disabled
ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
ACPI: PCI interrupt 0000:05:07.0[A] -> GSI 10 (level, low) -> IRQ 10
ttyS4 at I/O 0xa400 (irq = 10) is a 16550A
mice: PS/2 mouse device common for all mice
input: AT Translated Set 2 keyboard on isa0060/serio0
input: ImExPS/2 Generic Explorer Mouse on isa0060/serio1
RAMDISK driver initialized: 16 RAM disks of 8192K size 1024 blocksize
loop: loaded (max 8 devices)
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
NFORCE-CK804: IDE controller at PCI slot 0000:00:06.0
NFORCE-CK804: chipset revision 242
NFORCE-CK804: not 100% native mode: will probe irqs later
NFORCE-CK804: 0000:00:06.0 (rev f2) UDMA133 controller
    ide0: BM-DMA at 0xf000-0xf007, BIOS settings: hda:DMA, hdb:DMA
    ide1: BM-DMA at 0xf008-0xf00f, BIOS settings: hdc:DMA, hdd:DMA
Probing IDE interface ide0...
hda: WDC WD2500JB-22GVC0, ATA DISK drive
hdb: SONY CD-RW CRX220E1, ATAPI CD/DVD-ROM drive
Using anticipatory io scheduler
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
Probing IDE interface ide1...
hdc: WDC WD205BA, ATA DISK drive
hdd: PIONEER DVD-RW DVR-109, ATAPI CD/DVD-ROM drive
ide1 at 0x170-0x177,0x376 on irq 15
PDC20269: IDE controller at PCI slot 0000:05:06.0
ACPI: PCI interrupt 0000:05:06.0[A] -> GSI 3 (level, low) -> IRQ 3
PDC20269: chipset revision 2
PDC20269: ROM enabled at 0xd0000000
PDC20269: 100% native mode on irq 3
    ide2: BM-DMA at 0xa000-0xa007, BIOS settings: hde:pio, hdf:pio
    ide3: BM-DMA at 0xa008-0xa00f, BIOS settings: hdg:pio, hdh:pio
Probing IDE interface ide2...
hde: WDC WD800JB-00FMA0, ATA DISK drive
hdf: SAMSUNG SP0411N, ATA DISK drive
ide2 at 0x9000-0x9007,0x9402 on irq 3
Probing IDE interface ide3...
Probing IDE interface ide3...
Probing IDE interface ide4...
ide4: Wait for ready failed before probe !
Probing IDE interface ide5...
ide5: Wait for ready failed before probe !
hda: max request size: 1024KiB
hda: 488397168 sectors (250059 MB) w/8192KiB Cache, CHS=30401/255/63, UDMA(100)
hda: cache flushes supported
 /dev/ide/host0/bus0/target0/lun0: p1 p2 p3 p4
hdc: max request size: 128KiB
hdc: 40088160 sectors (20525 MB) w/2048KiB Cache, CHS=39770/16/63, UDMA(33)
hdc: cache flushes not supported
 /dev/ide/host0/bus1/target0/lun0: p1
hde: max request size: 128KiB
hde: 156301488 sectors (80026 MB) w/8192KiB Cache, CHS=65535/16/63, UDMA(100)
hde: cache flushes supported
 /dev/ide/host2/bus0/target0/lun0: p1
hdf: max request size: 1024KiB
hdf: 78242976 sectors (40060 MB) w/2048KiB Cache, CHS=16383/255/63, UDMA(100)
hdf: cache flushes supported
 /dev/ide/host2/bus0/target1/lun0: p1
hdb: ATAPI 52X CD-ROM CD-R/RW drive, 2048kB Cache, UDMA(33)
Uniform CD-ROM driver Revision: 3.20
hdd: ATAPI 40X DVD-ROM DVD-R CD-R/RW drive, 2000kB Cache, UDMA(33)
md: linear personality registered as nr 1
md: raid0 personality registered as nr 2
md: raid1 personality registered as nr 3
md: raid5 personality registered as nr 4
raid5: automatically using best checksumming function: generic_sse
   generic_sse:  6384.000 MB/sec
raid5: using function: generic_sse (6384.000 MB/sec)
raid6: int64x1   1351 MB/s
raid6: int64x2   2265 MB/s
raid6: int64x4   2707 MB/s
raid6: int64x8   1808 MB/s
raid6: sse2x1     871 MB/s
raid6: sse2x2    1492 MB/s
raid6: sse2x4    2109 MB/s
raid6: using algorithm sse2x4 (2109 MB/s)
md: raid6 personality registered as nr 8
md: multipath personality registered as nr 7
md: md driver 0.90.0 MAX_MD_DEVS=256, MD_SB_DISKS=27
device-mapper: 4.3.0-ioctl (2004-09-30) initialised: dm-devel@redhat.com
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 10
IPv6 over IPv4 tunneling driver
NET: Registered protocol family 17
NET: Registered protocol family 15
powernow-k8: Found 1 AMD Athlon 64 / Opteron processors (version 1.00.09b)
powernow-k8: BIOS error - no PSB
ACPI wakeup devices: 
HUB0 XVR0 XVR1 XVR2 XVR3 USB0 USB2 MMAC MMCI UAR1 
ACPI: (supports S0 S1 S3 S4 S5)
BIOS EDD facility v0.16 2004-Jun-25, 4 devices found
Freeing unused kernel memory: 172k freed
ACPI: PCI interrupt 0000:00:02.1[B] -> GSI 11 (level, low) -> IRQ 11
ehci_hcd 0000:00:02.1: PCI device 10de:005b (nVidia Corporation)
PCI: Setting latency timer of device 0000:00:02.1 to 64
ehci_hcd 0000:00:02.1: irq 11, pci mem ffffff0000006000
ehci_hcd 0000:00:02.1: new USB bus registered, assigned bus number 1
PCI: cache line size of 64 is not supported by device 0000:00:02.1
ehci_hcd 0000:00:02.1: USB 2.0 enabled, EHCI 1.00, driver 2004-May-10
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 10 ports detected
usbcore: registered new driver hiddev
usbcore: registered new driver usbhid
drivers/usb/input/hid-core.c: v2.0:USB HID core driver
Initializing USB Mass Storage driver...
usbcore: registered new driver usb-storage
USB Mass Storage support registered.
USB Universal Host Controller Interface driver v2.2
ohci_hcd: 2004 Feb 02 USB 1.1 'Open' Host Controller (OHCI) Driver (PCI)
ACPI: PCI interrupt 0000:00:02.0[A] -> GSI 10 (level, low) -> IRQ 10
ohci_hcd 0000:00:02.0: PCI device 10de:005a (nVidia Corporation)
PCI: Setting latency timer of device 0000:00:02.0 to 64
ohci_hcd 0000:00:02.0: irq 10, pci mem ffffff000004a000
ohci_hcd 0000:00:02.0: new USB bus registered, assigned bus number 2
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 10 ports detected
ieee1394: Initialized config rom entry `ip1394'
ohci1394: $Rev: 1223 $ Ben Collins <bcollins@debian.org>
ACPI: PCI interrupt 0000:05:0b.0[A] -> GSI 3 (level, low) -> IRQ 3
ohci1394: fw-host0: OHCI-1394 1.1 (PCI): IRQ=[3]  MMIO=[d1008000-d10087ff]  Max
Packet=[2048]
sbp2: $Rev: 1219 $ Ben Collins <bcollins@debian.org>
libata version 1.02 loaded.
sata_nv version 0.03
ACPI: PCI interrupt 0000:00:07.0[A] -> GSI 11 (level, low) -> IRQ 11
PCI: Setting latency timer of device 0000:00:07.0 to 64
ata1: SATA max UDMA/133 cmd 0x9F0 ctl 0xBF2 bmdma 0xD800 irq 11
ata2: SATA max UDMA/133 cmd 0x970 ctl 0xB72 bmdma 0xD808 irq 11
ata1: no device found (phy stat 00000000)
scsi0 : sata_nv
usb 2-1: new low speed USB device using address 2
input: USB HID v1.10 Joystick [Microsoft SideWinder Precision 2 Joystick] on
usb-0000:00:02.0-1
ata2: no device found (phy stat 00000000)
scsi1 : sata_nv
ACPI: PCI interrupt 0000:00:08.0[A] -> GSI 5 (level, low) -> IRQ 5
PCI: Setting latency timer of device 0000:00:08.0 to 64
ata3: SATA max UDMA/133 cmd 0x9E0 ctl 0xBE2 bmdma 0xC400 irq 5
ata4: SATA max UDMA/133 cmd 0x960 ctl 0xB62 bmdma 0xC408 irq 5
usb 2-2: new low speed USB device using address 3
input: USB HID v1.00 Gamepad [Microsoft SideWinder Game Pad Pro USB version 1.0]
on usb-0000:00:02.0-2
ata3: no device found (phy stat 00000000)
scsi2 : sata_nv
ata4: no device found (phy stat 00000000)
scsi3 : sata_nv
ReiserFS: hda2: found reiserfs format "3.6" with standard journal
ieee1394: Host added: ID:BUS[0-00:1023]  GUID[0011d800004b13a5]
ReiserFS: hda2: using ordered data mode
ReiserFS: hda2: journal params: device hda2, size 8192, journal first block 18,
max trans len 1024, max batch 900, max commit age 30, max trans age 30
ReiserFS: hda2: checking transaction log (hda2)
ReiserFS: hda2: Using r5 hash to sort names
Adding 538168k swap on /dev/hda4.  Priority:-1 extents:1
ReiserFS: hda1: found reiserfs format "3.6" with standard journal
ReiserFS: hda1: using ordered data mode
ReiserFS: hda1: journal params: device hda1, size 8192, journal first block 18,
max trans len 1024, max batch 900, max commit age 30, max trans age 30
ReiserFS: hda1: checking transaction log (hda1)
ReiserFS: hda1: Using r5 hash to sort names
ReiserFS: hda3: found reiserfs format "3.6" with standard journal
ReiserFS: hda3: using ordered data mode
ReiserFS: hda3: journal params: device hda3, size 8192, journal first block 18,
max trans len 1024, max batch 900, max commit age 30, max trans age 30
ReiserFS: hda3: checking transaction log (hda3)
ReiserFS: hda3: Using r5 hash to sort names
NTFS driver 2.1.20 [Flags: R/O MODULE].
NTFS volume version 3.1.
ACPI: PCI interrupt 0000:00:04.0[A] -> GSI 5 (level, low) -> IRQ 5
PCI: Setting latency timer of device 0000:00:04.0 to 64
intel8x0_measure_ac97_clock: measured 49514 usecs
intel8x0: clocking to 46755
forcedeth.c: Reverse Engineered nForce ethernet driver. Version 0.29.
ACPI: PCI interrupt 0000:00:0a.0[A] -> GSI 3 (level, low) -> IRQ 3
PCI: Setting latency timer of device 0000:00:0a.0 to 64
eth0: forcedeth.c: subsystem: 01043:8141 bound to 0000:00:0a.0
nvidia: module license 'NVIDIA' taints kernel.
ACPI: PCI interrupt 0000:01:00.0[A] -> GSI 11 (level, low) -> IRQ 11
PCI: Setting latency timer of device 0000:01:00.0 to 64
NVRM: loading NVIDIA Linux x86_64 NVIDIA Kernel Module  1.0-6629  Wed Nov  3
11:43:48 PST 2004
Disabled Privacy Extensions on device ffffffff804fbd00(lo)
parport0: PC-style at 0x378 (0x778) [PCSPP,TRISTATE]
parport0: irq 7 detected
parport0: Printer, Hewlett-Packard HP LaserJet 5P
lp0: using parport0 (polling).
eth0: no IPv6 routers present
NVRM: client does not support versioning!!
NVRM:    aborting to avoid catastrophe!

--Dane
Comment 2 Dane Mutters 2006-01-12 02:16:34 UTC
I've recompiled my 2.6.14-gentoo-r5 kernel with PnP debugging and ACPI PnP. 
Here's the dmesg output.  Hope that helps; I'm really shooting in the dark.

P0700
pnp: ACPI device : hid PNP0501
pnp: ACPI device : hid PNP0401
pnp: ACPI device : hid PNP0F13
pnp: ACPI device : hid PNP0303
pnp: ACPI device : hid PNPB006
pnp: ACPI device : hid PNPB02F
pnp: ACPI device : hid PNP0C02
pnp: ACPI device : hid PNP0C01
pnp: PnP ACPI: found 16 devices
SCSI subsystem initialized
usbcore: registered new driver usbfs
usbcore: registered new driver hub
PCI: Using ACPI for IRQ routing
PCI: If a device doesn't work, try "pci=routeirq".  If it helps, post a report
TC classifier action (bugs to netdev@vger.kernel.org cc hadi@cyberus.ca)
PCI-DMA: Disabling IOMMU.
pnp: the driver 'system' has been registered
pnp: match found with the PnP device '00:00' and the driver 'system'
pnp: 00:00: ioport range 0x4000-0x407f could not be reserved
pnp: 00:00: ioport range 0x4080-0x40ff has been reserved
pnp: 00:00: ioport range 0x4400-0x447f has been reserved
pnp: 00:00: ioport range 0x4480-0x44ff could not be reserved
pnp: 00:00: ioport range 0x4800-0x487f has been reserved
pnp: 00:00: ioport range 0x4880-0x48ff has been reserved
pnp: match found with the PnP device '00:02' and the driver 'system'
pnp: match found with the PnP device '00:0e' and the driver 'system'
pnp: match found with the PnP device '00:0f' and the driver 'system'
PCI: Bridge: 0000:00:09.0
  IO window: 9000-afff
  MEM window: d0000000-d1ffffff
  PREFETCH window: 50000000-500fffff
PCI: Bridge: 0000:00:0b.0
  IO window: disabled.
  MEM window: disabled.
  PREFETCH window: disabled.
PCI: Bridge: 0000:00:0c.0
  IO window: disabled.
  MEM window: disabled.
  PREFETCH window: disabled.
PCI: Bridge: 0000:00:0d.0
  IO window: disabled.
  MEM window: disabled.
  PREFETCH window: disabled.
PCI: Bridge: 0000:00:0e.0
  IO window: disabled.
  MEM window: c8000000-cfffffff
  PREFETCH window: c0000000-c7ffffff
PCI: Setting latency timer of device 0000:00:09.0 to 64
PCI: Setting latency timer of device 0000:00:0b.0 to 64
PCI: Setting latency timer of device 0000:00:0c.0 to 64
PCI: Setting latency timer of device 0000:00:0d.0 to 64
PCI: Setting latency timer of device 0000:00:0e.0 to 64
IA32 emulation $Id: sys_ia32.c,v 1.32 2002/03/24 13:02:28 ak Exp $
Total HugeTLB memory allocated, 0
Squashfs 2.2 (released 2005/07/03) (C) 2002-2005 Phillip Lougher
NTFS driver 2.1.24 [Flags: R/O].
JFS: nTxBlock = 7997, nTxLock = 63980
SGI XFS with ACLs, large block/inode numbers, no debug enabled
Initializing Cryptographic API
PCI: Setting latency timer of device 0000:00:0b.0 to 64
pcie_portdrv_probe->Dev[005d:10de] has invalid IRQ. Check vendor BIOS
assign_interrupt_mode Found MSI capability
Allocate Port Service[pcie00]
Allocate Port Service[pcie03]
PCI: Setting latency timer of device 0000:00:0c.0 to 64
pcie_portdrv_probe->Dev[005d:10de] has invalid IRQ. Check vendor BIOS
assign_interrupt_mode Found MSI capability
Allocate Port Service[pcie00]
Allocate Port Service[pcie03]
PCI: Setting latency timer of device 0000:00:0d.0 to 64
pcie_portdrv_probe->Dev[005d:10de] has invalid IRQ. Check vendor BIOS
assign_interrupt_mode Found MSI capability
Allocate Port Service[pcie00]
Allocate Port Service[pcie03]
PCI: Setting latency timer of device 0000:00:0e.0 to 64
pcie_portdrv_probe->Dev[005d:10de] has invalid IRQ. Check vendor BIOS
assign_interrupt_mode Found MSI capability
Allocate Port Service[pcie00]
Allocate Port Service[pcie03]
Real Time Clock Driver v1.12
Non-volatile memory driver v1.2
Linux agpgart interface v0.101 (c) Dave Jones
[drm] Initialized drm 1.0.0 20040925
vesafb: framebuffer at 0xc0000000, mapped to 0xffffc20010680000, using 3072k,
total 131072k
vesafb: mode is 1024x768x16, linelength=2048, pages=1
vesafb: scrolling: redraw
vesafb: Truecolor: size=0:5:6:5, shift=0:11:5:0
vesafb: Mode is not VGA compatible
Console: switching to colour frame buffer device 128x48
fb0: VESA VGA frame buffer device
ACPI: Power Button (FF) [PWRF]
ACPI: Power Button (CM) [PWRB]
ACPI: Fan [FAN] (on)
ACPI: CPU0 (power states: C1[C1])
ACPI: Thermal Zone [THRM] (40 C)
ibm_acpi: ec object not found
pnp: the driver 'i8042 kbd' has been registered
pnp: match found with the PnP device '00:0b' and the driver 'i8042 kbd'
pnp: the driver 'i8042 aux' has been registered
pnp: match found with the PnP device '00:0a' and the driver 'i8042 aux'
PNP: PS/2 Controller [PNP0303:PS2K,PNP0f13:PS2M] at 0x60,0x64 irq 1,12
serio: i8042 AUX port at 0x60,0x64 irq 12
serio: i8042 KBD port at 0x60,0x64 irq 1
Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing disabled
ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
ttyS0 at I/O 0x3f8 (irq = 0) is a 16550A
pnp: the driver 'serial' has been registered
pnp: match found with the PnP device '00:08' and the driver 'serial'
ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
ACPI: PCI Interrupt Link [APC2] enabled at IRQ 17
ACPI: PCI Interrupt 0000:05:07.0[A] -> Link [APC2] -> GSI 17 (level, low) -> IRQ 16
ttyS1 at I/O 0xa400 (irq = 16) is a 16550A
mice: PS/2 mouse device common for all mice
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered
Floppy drive(s): fd0 is 1.44M
FDC 0 is a post-1991 82077
RAMDISK driver initialized: 16 RAM disks of 8192K size 1024 blocksize
loop: loaded (max 8 devices)
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
NFORCE-CK804: IDE controller at PCI slot 0000:00:06.0
NFORCE-CK804: chipset revision 242
NFORCE-CK804: not 100% native mode: will probe irqs later
NFORCE-CK804: 0000:00:06.0 (rev f2) UDMA133 controller
    ide0: BM-DMA at 0xf000-0xf007, BIOS settings: hda:DMA, hdb:DMA
    ide1: BM-DMA at 0xf008-0xf00f, BIOS settings: hdc:DMA, hdd:DMA
Probing IDE interface ide0...
input: AT Translated Set 2 keyboard on isa0060/serio0
hda: WDC WD2500JB-22GVC0, ATA DISK drive
input: ImExPS/2 Generic Explorer Mouse on isa0060/serio1
hdb: SONY CD-RW CRX220E1, ATAPI CD/DVD-ROM drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
Probing IDE interface ide1...
hdc: WDC WD205BA, ATA DISK drive
hdd: PIONEER DVD-RW DVR-109, ATAPI CD/DVD-ROM drive
ide1 at 0x170-0x177,0x376 on irq 15
PDC20269: IDE controller at PCI slot 0000:05:06.0
ACPI: PCI Interrupt Link [APC1] enabled at IRQ 16
ACPI: PCI Interrupt 0000:05:06.0[A] -> Link [APC1] -> GSI 16 (level, low) -> IRQ 17
PDC20269: chipset revision 2
PDC20269: ROM enabled at 0x50000000
PDC20269: 100% native mode on irq 17
    ide2: BM-DMA at 0xa000-0xa007, BIOS settings: hde:pio, hdf:pio
    ide3: BM-DMA at 0xa008-0xa00f, BIOS settings: hdg:pio, hdh:pio
Probing IDE interface ide2...
hde: WDC WD800JB-00FMA0, ATA DISK drive
hdf: SAMSUNG SP0411N, ATA DISK drive
ide2 at 0x9000-0x9007,0x9402 on irq 17
Probing IDE interface ide3...
Probing IDE interface ide3...
hda: max request size: 1024KiB
hda: 488397168 sectors (250059 MB) w/8192KiB Cache, CHS=30401/255/63, UDMA(100)
hda: cache flushes supported
 hda: hda1 hda2 hda3 hda4
hdc: max request size: 128KiB
hdc: 40088160 sectors (20525 MB) w/2048KiB Cache, CHS=39770/16/63, UDMA(33)
hdc: cache flushes not supported
 hdc: hdc1
hde: max request size: 128KiB
hde: 156301488 sectors (80026 MB) w/8192KiB Cache, CHS=65535/16/63, UDMA(100)
hde: cache flushes supported
 hde: hde1
hdf: max request size: 1024KiB
hdf: 78242976 sectors (40060 MB) w/2048KiB Cache, CHS=16383/255/63, UDMA(100)
hdf: cache flushes supported
 hdf: hdf1
hdb: ATAPI 52X CD-ROM CD-R/RW drive, 2048kB Cache, UDMA(33)
Uniform CD-ROM driver Revision: 3.20
hdd: ATAPI 40X DVD-ROM DVD-R CD-R/RW drive, 2000kB Cache, UDMA(33)
usbmon: debugfs is not available
md: linear personality registered as nr 1
md: raid0 personality registered as nr 2
md: raid1 personality registered as nr 3
md: raid5 personality registered as nr 4
raid5: automatically using best checksumming function: generic_sse
   generic_sse:  6432.000 MB/sec
raid5: using function: generic_sse (6432.000 MB/sec)
raid6: int64x1   1954 MB/s
raid6: int64x2   2803 MB/s
raid6: int64x4   2751 MB/s
raid6: int64x8   1828 MB/s
raid6: sse2x1    1063 MB/s
raid6: sse2x2    1824 MB/s
raid6: sse2x4    2569 MB/s
raid6: using algorithm sse2x4 (2569 MB/s)
md: raid6 personality registered as nr 8
md: multipath personality registered as nr 7
md: md driver 0.90.2 MAX_MD_DEVS=256, MD_SB_DISKS=27
md: bitmap version 3.39
device-mapper: 4.4.0-ioctl (2005-01-12) initialised: dm-devel@redhat.com
Advanced Linux Sound Architecture Driver Version 1.0.10rc1 (Mon Sep 12 08:13:09
2005 UTC).
ALSA device list:
  No soundcards found.
NET: Registered protocol family 2
IP route cache hash table entries: 65536 (order: 7, 524288 bytes)
TCP established hash table entries: 262144 (order: 9, 2097152 bytes)
TCP bind hash table entries: 65536 (order: 7, 524288 bytes)
TCP: Hash tables configured (established 262144 bind 65536)
TCP reno registered
TCP bic registered
NET: Registered protocol family 1
NET: Registered protocol family 10
Disabled Privacy Extensions on device ffffffff8053f0c0(lo)
IPv6 over IPv4 tunneling driver
NET: Registered protocol family 17
NET: Registered protocol family 15
powernow-k8: Found 1 AMD Athlon 64 / Opteron processors (version 1.50.4)
powernow-k8: BIOS error - no PSB or ACPI _PSS objects
ACPI wakeup devices:
HUB0 XVR0 XVR1 XVR2 XVR3 USB0 USB2 MMAC MMCI UAR1
ACPI: (supports S0 S1 S3 S4 S5)
BIOS EDD facility v0.16 2004-Jun-25, 4 devices found
Freeing unused kernel memory: 200k freed
ACPI: PCI Interrupt Link [APCL] enabled at IRQ 23
ACPI: PCI Interrupt 0000:00:02.1[B] -> Link [APCL] -> GSI 23 (level, low) -> IRQ 18
PCI: Setting latency timer of device 0000:00:02.1 to 64
ehci_hcd 0000:00:02.1: EHCI Host Controller
ehci_hcd 0000:00:02.1: debug port 1
ehci_hcd 0000:00:02.1: new USB bus registered, assigned bus number 1
ehci_hcd 0000:00:02.1: irq 18, io mem 0xfeb00000
PCI: cache line size of 64 is not supported by device 0000:00:02.1
ehci_hcd 0000:00:02.1: park 0
ehci_hcd 0000:00:02.1: USB 2.0 initialized, EHCI 1.00, driver 10 Dec 2004
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 10 ports detected
usbcore: registered new driver hiddev
usbcore: registered new driver usbhid
drivers/usb/input/hid-core.c: v2.6:USB HID core driver
Initializing USB Mass Storage driver...
usbcore: registered new driver usb-storage
USB Mass Storage support registered.
USB Universal Host Controller Interface driver v2.3
ohci_hcd: 2005 April 22 USB 1.1 'Open' Host Controller (OHCI) Driver (PCI)
ACPI: PCI Interrupt Link [APCF] enabled at IRQ 22
ACPI: PCI Interrupt 0000:00:02.0[A] -> Link [APCF] -> GSI 22 (level, low) -> IRQ 19
PCI: Setting latency timer of device 0000:00:02.0 to 64
ohci_hcd 0000:00:02.0: OHCI Host Controller
ohci_hcd 0000:00:02.0: new USB bus registered, assigned bus number 2
ohci_hcd 0000:00:02.0: irq 19, io mem 0xd2004000
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 10 ports detected
ieee1394: Initialized config rom entry `ip1394'
ohci1394: $Rev: 1313 $ Ben Collins <bcollins@debian.org>
ACPI: PCI Interrupt 0000:05:0b.0[A] -> Link [APC1] -> GSI 16 (level, low) -> IRQ 17
ohci1394: fw-host0: OHCI-1394 1.1 (PCI): IRQ=[17]  MMIO=[d1008000-d10087ff]  Max
Packet=[2048]
sbp2: $Rev: 1306 $ Ben Collins <bcollins@debian.org>
ieee1394: sbp2: Driver forced to serialize I/O (serialize_io=1)
ieee1394: sbp2: Try serialize_io=0 for better performance
libata version 1.12 loaded.
sata_nv version 0.8
ACPI: PCI Interrupt Link [APSI] enabled at IRQ 21
ACPI: PCI Interrupt 0000:00:07.0[A] -> Link [APSI] -> GSI 21 (level, low) -> IRQ 20
PCI: Setting latency timer of device 0000:00:07.0 to 64
ata1: SATA max UDMA/133 cmd 0x9F0 ctl 0xBF2 bmdma 0xD800 irq 20
ata2: SATA max UDMA/133 cmd 0x970 ctl 0xB72 bmdma 0xD808 irq 20
usb 2-1: new low speed USB device using ohci_hcd and address 2
ata1: no device found (phy stat 00000000)
scsi0 : sata_nv
input: USB HID v1.10 Joystick [Microsoft SideWinder Precision 2 Joystick] on
usb-0000:00:02.0-1
ata2: no device found (phy stat 00000000)
scsi1 : sata_nv
ACPI: PCI Interrupt Link [APSJ] enabled at IRQ 20
ACPI: PCI Interrupt 0000:00:08.0[A] -> Link [APSJ] -> GSI 20 (level, low) -> IRQ 21
PCI: Setting latency timer of device 0000:00:08.0 to 64
ata3: SATA max UDMA/133 cmd 0x9E0 ctl 0xBE2 bmdma 0xC400 irq 21
ata4: SATA max UDMA/133 cmd 0x960 ctl 0xB62 bmdma 0xC408 irq 21
usb 2-2: new low speed USB device using ohci_hcd and address 3
ata3: no device found (phy stat 00000000)
scsi2 : sata_nv
input: USB HID v1.00 Gamepad [Microsoft SideWinder Game Pad Pro USB version 1.0]
on usb-0000:00:02.0-2
ata4: no device found (phy stat 00000000)
scsi3 : sata_nv
ieee1394: Host added: ID:BUS[0-00:1023]  GUID[0011d800004b13a5]
ReiserFS: hda2: found reiserfs format "3.6" with standard journal
ReiserFS: hda2: using ordered data mode
ReiserFS: hda2: journal params: device hda2, size 8192, journal first block 18,
max trans len 1024, max batch 900, max commit age 30, max trans age 30
ReiserFS: hda2: checking transaction log (hda2)
ReiserFS: hda2: replayed 7 transactions in 0 seconds
ReiserFS: hda2: Using r5 hash to sort names
Adding 538168k swap on /dev/hda4.  Priority:-1 extents:1 across:538168k
ReiserFS: hda1: found reiserfs format "3.6" with standard journal
ReiserFS: hda1: using ordered data mode
ReiserFS: hda1: journal params: device hda1, size 8192, journal first block 18,
max trans len 1024, max batch 900, max commit age 30, max trans age 30
ReiserFS: hda1: checking transaction log (hda1)
ReiserFS: hda1: Using r5 hash to sort names
ReiserFS: hda3: found reiserfs format "3.6" with standard journal
ReiserFS: hda3: using ordered data mode
ReiserFS: hda3: journal params: device hda3, size 8192, journal first block 18,
max trans len 1024, max batch 900, max commit age 30, max trans age 30
ReiserFS: hda3: checking transaction log (hda3)
ReiserFS: hda3: Using r5 hash to sort names
NTFS volume version 3.1.
i2c_adapter i2c-0: nForce2 SMBus adapter at 0x4c00
i2c_adapter i2c-1: nForce2 SMBus adapter at 0x4c40
ACPI: PCI Interrupt Link [APCJ] enabled at IRQ 23
ACPI: PCI Interrupt 0000:00:04.0[A] -> Link [APCJ] -> GSI 23 (level, low) -> IRQ 18
PCI: Setting latency timer of device 0000:00:04.0 to 64
intel8x0_measure_ac97_clock: measured 54845 usecs
intel8x0: clocking to 46871
forcedeth.c: Reverse Engineered nForce ethernet driver. Version 0.41.
ACPI: PCI Interrupt Link [APCH] enabled at IRQ 22
ACPI: PCI Interrupt 0000:00:0a.0[A] -> Link [APCH] -> GSI 22 (level, low) -> IRQ 19
PCI: Setting latency timer of device 0000:00:0a.0 to 64
eth0: forcedeth.c: subsystem: 01043:8141 bound to 0000:00:0a.0
nvidia: module license 'NVIDIA' taints kernel.
ACPI: PCI Interrupt Link [APC3] enabled at IRQ 18
ACPI: PCI Interrupt 0000:01:00.0[A] -> Link [APC3] -> GSI 18 (level, low) -> IRQ 22
PCI: Setting latency timer of device 0000:01:00.0 to 64
NVRM: loading NVIDIA Linux x86_64 NVIDIA Kernel Module  1.0-8178  Wed Dec 14
16:58:07 PST 2005
pnp: the driver 'parport_pc' has been registered
pnp: match found with the PnP device '00:09' and the driver 'parport_pc'
parport: PnPBIOS parport detected.
parport0: PC-style at 0x378 (0x778), irq 7, dma 3 [PCSPP,TRISTATE,COMPAT,ECP,DMA]
pnp: the driver 'mpu401' has been registered
pnp: match found with the PnP device '00:0c' and the driver 'mpu401'
lp0: using parport0 (interrupt-driven).
ip_tables: (C) 2000-2002 Netfilter core team
ip_conntrack version 2.3 (4095 buckets, 32760 max) - 296 bytes per conntrack
ipt_recent v0.3.1: Stephen Frost <sfrost@snowman.net>. 
http://snowman.net/projects/ipt_recent/
ip6_tables: (C) 2000-2002 Netfilter core team
eth0: no IPv6 routers present
Comment 3 Adam Belay 2006-01-12 16:38:29 UTC
A few questions:

Does your parallel port work if you disable PnP ACPI and enable PnPBIOS?

I noticed PnPACPI doesn't appear to be enabled in the first dmesg posted, was
this an example of the parport working correctly?

Thanks,
Adam

first dmesg:
> parport0: PC-style at 0x378 (0x778) [PCSPP,TRISTATE]
> parport0: irq 7 detected
> parport0: Printer, Hewlett-Packard HP LaserJet 5P

second dmesg:
> pnp: the driver 'parport_pc' has been registered
> pnp: match found with the PnP device '00:09' and the driver 'parport_pc'
> parport: PnPBIOS parport detected.
> parport0: PC-style at 0x378 (0x778), irq 7, dma 3 [PCSPP,TRISTATE,COMPAT,ECP,DMA]
> pnp: the driver 'mpu401' has been registered
> pnp: match found with the PnP device '00:0c' and the driver 'mpu401'
> lp0: using parport0 (interrupt-driven).

This might be a problem with the parport probe code rather than ACPI.
Comment 4 Dane Mutters 2006-01-12 23:09:50 UTC
> Does your parallel port work if you disable PnP ACPI and enable PnPBIOS?  
  
Odd...PnP BIOS doesn't show up in menuconfig, and is grayed-out in xconfig.  It  
won't let me enable it.  Any idea what I need to do?  
  
> I noticed PnPACPI doesn't appear to be enabled in the first dmesg posted, was  
> this an example of the parport working correctly?  
  
Yes, that is correct; sorry I didn't make that more clear.  The first post is  
the 2.6.14-gentoo-r5 kernel with ACPI disabled and parallel printing working.   
The second post is the 2.6.9-gentoo-r9 kernel with ACPI enabled and parallel 
printing working.  The third post is the 2.6.14-gentoo-r5 kernel with ACPI 
enabled and parallel printing broken. 
 
> This might be a problem with the parport probe code rather than ACPI. 
 
Entirely possible.  Need any other info to test that theory? 
 
--Dane 
Comment 5 Andrew Morton 2006-01-12 23:26:48 UTC
bugme-daemon@bugzilla.kernel.org wrote:
>
>  Odd...PnP BIOS doesn't show up in menuconfig, and is grayed-out in xconfig.  It  
>  won't let me enable it.  Any idea what I need to do?  

Dontcha hate that?

In `make menuconfig' you can search for config items.  Do "/pnpbios".  It says:


Symbol: PNPBIOS [=y]
 Prompt: Plug and Play BIOS support (EXPERIMENTAL)
   Defined at drivers/pnp/pnpbios/Kconfig:4
   Depends on: PNP && ISA && X86 && EXPERIMENTAL
   Location:
     -> Device Drivers
       -> Plug and Play support
         -> Plug and Play support (PNP [=y])

So it needs PNP && ISA && X86 && EXPERIMENTAL

Comment 6 Dane Mutters 2006-01-13 00:01:38 UTC
I have PNP and Experimental selected, but for some reason I can't find anywhere  
to enable x86 or ISA.  Perhaps this is because I'm using an AMD64 processor.    
  
I googled a bit for some more info and found this:  
  
Bus options (PCI, PCMCIA, EISA, MCA, ISA)  
  
    * [*] PCI support  
    * [*] ISA support (not needed anymore since 2.6.2-rc1)  
  
(http://secure.netroedge.com/~lm78/kernel26.html)  
  
Has ISA support been taken out of the kernel or disabled on x64 systems, or am  
I just not finding it?  
 
--Dane 
Comment 7 Andrew Morton 2006-01-13 00:34:55 UTC
Oh, you're using x86_64.  

arch/x86_64/Kconfig says:

# Note: ISA is disabled and will hopefully never be enabled.
# If you managed to buy an ISA x86-64 box you'll have to fix all the
# ISA drivers you need yourself.

As I say, the search command in `make menuconfig' is neat.  On x86_64 it
says:


Symbol: PNPBIOS [=n]
 Prompt: Plug and Play BIOS support (EXPERIMENTAL)
   Defined at drivers/pnp/pnpbios/Kconfig:4
   Depends on: PNP && ISA && X86 && EXPERIMENTAL
   Location:
     -> Device Drivers
       -> Plug and Play support

So whoops, it doesn't seem possible to enable pnpbios on x86_64.  Andi, is
that sane?

Comment 8 Andi Kleen 2006-01-13 04:15:32 UTC
yes. pnpbios is a 32bit BIOS service and can't be called from 64bit kernels.

But newer ACPI has a special emulation where it tries to emulate pnpbios 
using ACPI motherboard resources description. That should work under 64bit in
theory too. But  I don't know details about that - the ACPI maintainers should know.
Comment 9 Dane Mutters 2006-02-07 14:53:51 UTC
This bug persists in kernel 2.6.15-gentoo-r4. 
 
--Dane 
Comment 10 Dane Mutters 2006-03-05 15:52:53 UTC
This has been fixed in Ubuntu kernel 2.6.15-17-amd64-generic with ACPI loaded as
modules.  I'll take a crack at the latest Gentoo kernel and report my findings.

--Dane
Comment 11 Dane Mutters 2006-03-05 16:35:37 UTC
I was unable to compile ACPI support as modules, so I compiled them into the
kernel.  Now the printer lights flash a few times as normal, then stay lit and
don't print anything.  :-(

--Dane
Comment 12 Dane Mutters 2006-04-15 13:18:41 UTC
The bug is back in Ubuntu kernel 2.6.15-20-amd64-generic.  Since I don't print 
much from ubuntu, the bug may also be there in the previous couple of releases 
as well. 
Comment 13 mjacek 2007-01-10 01:04:59 UTC
Try boot param pnpacpi=off. Helps for me in apparently similar problem.
(bugs.debian.org bug #406056)

Anyway, this is a temp-hack, not a SOLUTION
Comment 14 Chenghuan (Neo) Jia 2007-01-30 18:33:02 UTC
On the latest kernel (2.6.20-rc6-g5263bf65), with Fedora Core 3 distribution,
the bug is also there when using lp0 to debug ARM board through JTAG.

When disable the CONFIG_PNPACPI, everything works well just like on kernel 2.6.9.

I would like to dig this problem more since it blocks my work now ... :)
Comment 15 Bjorn Helgaas 2007-07-28 19:47:00 UTC
This looks similar to http://bugzilla.kernel.org/show_bug.cgi?id=7492

> (#10): This has been fixed in Ubuntu kernel 2.6.15-17-amd64-generic ...
> (#12): The bug is back in Ubuntu kernel 2.6.15-20-amd64-generic.

Can someone verify that the problem really went away in Ubuntu 2.6.15-17-amd64
and, if so, attach the complete dmesg?

I suspect the problem is related to either the IRQ or the DMA channel
reported by ACPI.  The working dmesg logs show no IRQ (polling mode)
and no DMA, while the non-working log shows interrupt mode and DMA
channel 3.

I'll attach patches to disable the PNP IRQ info and the PNP DMA info.
Please try both (separately) and see whether one makes the port work.
Comment 16 Bjorn Helgaas 2007-07-28 19:49:31 UTC
Created attachment 12190 [details]
disable PNP IRQ info

If this patch makes the port work, please attach the dmesg log.
Please make sure you have these in your .config:
  CONFIG_PNP=y
  CONFIG_PNPACPI=y
Comment 17 Bjorn Helgaas 2007-07-28 19:50:26 UTC
Created attachment 12191 [details]
disable PNP DMA info

If this patch makes the port work, please attach the dmesg log.
Comment 18 Dane Mutters 2007-07-30 23:16:00 UTC
Created attachment 12211 [details]
dmesg log
Comment 19 Dane Mutters 2007-07-30 23:16:35 UTC
I have tested the IRQ patch with kernels 2.6.20-gentoo-r7 and 2.6.20-gentoo-r8, and in both cases, applying the patch fixed the problem.  I now have CONFIG_PNP=y and CONFIG_PNPACPI=y, and I am able to print just fine!  Attached is the dmesg log.
Comment 20 Dane Mutters 2007-08-05 01:31:50 UTC
Looks like I spoke too soon.  When trying to print multiple pages, or multiple documents, I find that the printer will just "hang" until I "killall -KILL parallel" (as root), cancel all print jobs, recycle the printer, and then start the printer via cups.

The good news: some preliminary testing with BOTH patches applied seems to have fixed it completely.  I'll let you know later how further testing goes.

Attached is a dmesg log.
Comment 21 Dane Mutters 2007-08-05 01:40:44 UTC
Created attachment 12250 [details]
dmesg with both patches applied
Comment 22 Bjorn Helgaas 2007-08-07 10:56:14 UTC
Thanks for trying those.  But I'm afraid I wasted your time.  This
tells us what we already knew: the port works when we run it with
interrupts and DMA disabled.

The question for me is whether the problem is in PNPACPI (where I
might be able to fix it) or in the parport driver (where I don't
have any clue what to look for).  PNPACPI tells us the device uses
IRQ 7 and DMA channel 3.  Without PNPACPI, the probe found IRQ 7
(but didn't use the IRQ) and didn't look for the DMA channel.

So I think PNPACPI is probably telling us the right thing.  You don't
have Windows on this box also, do you?  If we could tell that Windows
uses IRQ 7 and DMA channel 3, I'd be even more confident that the PNPACPI
info is correct.

I suspect this is really a parport_pc driver problem.  I don't have
any good ideas about how to explore that.
Comment 23 Thomas Renninger 2007-08-08 02:20:19 UTC
Maybe dmitry can help or add someone who can?
comment #22 summarizes the problem...
Comment 24 Dane Mutters 2007-08-11 12:02:41 UTC
Thanks for your continued work on this bug.

I have booted into my Windows XP SP2 installation, and I was unable to find anything in the device manager (using the "resources by connection" view) that used IRQ 7.  I could not find the parallel port listed at all in that view (under IRQ).  The ECP printer port was, indeed, using DMA 3.  Perhaps of note (and perhaps not...), the ACPI controller was using IRQ 9 in both BIOS and in Win. XP.

I hope this helps.  Please let me know if you need any more information.
Comment 25 Bjorn Helgaas 2007-08-13 16:29:53 UTC
It looks like PNPACPI is getting the right information.  I scrounged
up a parallel printer and found that it does actually work with my
laptop, where PNPACPI gives an IRQ and DMA channel, so parport_pc
*can* use IRQ and DMA, at least sometimes.

Here's your log (non-working case):

  pnp: match found with the PnP device '00:09' and the driver 'parport_pc'
  parport: PnPBIOS parport detected.
  parport0: PC-style at 0x378 (0x778), irq 7, dma 3 [PCSPP,TRISTATE,COMPAT,ECP,DMA]

Does it make any difference if you try this:

  - unload parport-related modules (lp, parport, parport_pc, etc)
  # cd /sys/bus/pnp/devices/00:09/
  # echo disable > resources
  # echo clear > resources
  # echo activate > resources
  - reload parport modules

It's a long shot, but sometimes the BIOS doesn't actually configure the
device until we call _SRS, which we don't do by default.
Comment 26 Bjorn Helgaas 2007-08-15 13:05:26 UTC
Created attachment 12396 [details]
dump AML byte stream and ACPI resources

Does the printer work with any kernel that has PNPACPI enabled?  Apparently
it worked in 2.6.14-r5, but I think PNPACPI was disabled there so we were just
using the legacy probe.  If it worked with PNPACPI once, we must have broken
it.

I just came across this patch:   http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=ccc4c7bbd6a2d47bf5899c2c8cf2e0d176a4dc0f

I don't think it has anything to do with your problem (it only affects the
pnpacpi_encode_dma path, which is used when we tell the BIOS to configure
the device), but it does remind me that the BIOS tells us other DMA attributes
besides the channel.  I can't find any drivers that actually look at the other
attributes, but maybe we'd learn something interesting by looking at the actual
resources from the BIOS and the way PNPACPI interprets them.

If you collect the dmesg output with this patch (pnpacpi-debug) applied, I'll
decode the parport resources by hand and see what they look like.
Comment 27 Dane Mutters 2007-08-16 23:06:02 UTC
Created attachment 12414 [details]
Dmesg output after using the commands in comment #25.

I tried using the commands from comment #25, but it didn't seem to fix anything.  It did, however, create some seemingly interesting dmesg output (attached).

I also tried using the patch from the next comment, but I was unable to make the patch command work.  Below is the output of the command:

[root@Orchestrator linux]# patch -p1 < pnpacpi-debug.diff
patching file drivers/pnp/pnpacpi/core.c
Hunk #1 FAILED at 205.
1 out of 1 hunk FAILED -- saving rejects to file drivers/pnp/pnpacpi/core.c.rej
patching file drivers/pnp/pnpacpi/rsparser.c
Hunk #1 succeeded at 189 with fuzz 2 (offset -53 lines).
patching file drivers/acpi/resources/rscreate.c

...and here is the rejected piece:

[root@Orchestrator linux]# cat drivers/pnp/pnpacpi/core.c.rej
***************
*** 205,210 ****

        if (dev->active) {
                /* parse allocated resource */
                status = pnpacpi_parse_allocated_resource(device->handle,
                                                          &dev->res);
                if (ACPI_FAILURE(status) && (status != AE_NOT_FOUND)) {
--- 205,211 ----

        if (dev->active) {
                /* parse allocated resource */
+               dev_err(&dev->dev, "(%s) get resources\n", acpi_device_hid(device));
                status = pnpacpi_parse_allocated_resource(device->handle,
                                                          &dev->res);
                if (ACPI_FAILURE(status) && (status != AE_NOT_FOUND)) {

I was trying to patch kernel 2.6.20-gentoo-r8.  Any ideas?
Comment 28 Dane Mutters 2007-08-16 23:16:01 UTC
As for whether PNPACPI worked in one of the kernels, I'm no longer sure.  It would seem that it was disabled after all in the kernels mentioned above; I looked at my kernel .config and was unable to find any reference to it being enabled in either kernels 2.6.9-r9 or 2.6.14-r5, although it's possible (as I haven't used those kernels in quite some time) that the last time I compiled them, they were without the option enabled, whereas it was enabled, and working at some point.
Comment 29 Shaohua 2007-11-06 22:31:59 UTC
Is it possible the IRQ edge/level is wrong in the _CRS? We did find such buggy BIOS. please attach the acpidump output, so we can check it.
Comment 30 Dane Mutters 2007-11-07 02:50:19 UTC
What should I type to get the desired output?  Should I do this while running a working kernel, or one displaying the bug?  (I've since changed to Ubuntu Gutsy, but I'm willing to compile the kernel source to continue work on this bug.)  Thanks.
Comment 31 Shaohua 2007-11-07 18:42:52 UTC
try pmtools at http://www.kernel.org/pub/linux/kernel/people/lenb/acpi/utils/. Better do this when the bug exists.
Comment 32 Dane Mutters 2007-11-08 08:45:10 UTC
Attached is the output of acpidump.  Oddly enough, after compiling the kernel (2.6.23-1) with pnpacpi=y, the bug is not being manifested; I'm not sure why.  I have also attached my .config file for verification that I used the right options.
Comment 33 Dane Mutters 2007-11-08 08:46:43 UTC
Created attachment 13467 [details]
acpidump of 2.6.23-1
Comment 34 Dane Mutters 2007-11-08 08:47:29 UTC
Created attachment 13468 [details]
.config of 2.6.23-1
Comment 35 Thomas Renninger 2007-11-08 09:31:40 UTC
Created attachment 13469 [details]
Debug patch - 2.6.24-rc2 (might have slight offsets, but should patch...)

Could you try this debug patch, pls.
I expect this is the same bug like:
https://bugzilla.novell.com/show_bug.cgi?id=180390

There the DSDT has two devices matching for parport_pc(both accessing the same IO ports!).
The one has DMA enabled (PNP0401), the other one not (PNP0400).

I could imagine the status (whether device is present or not) is not checked and the first of the two devices is just used.

This patch prints out (possibly a bit too much, pls attach dmesg...) status of ACPIPNP checked ACPI devices.

It also provides a module parameter for parport_pc:
probe_ecp=0 will only check for PNP0400 device and should work?
probe_ecp=1 will check for both devices and should not work.
probe_ecp=2 will check for PNP0401 device and could work.

I assume ECP/EPP could be configured via BIOS and the _STA func of either of the two devices should return not present and must be ignored.

Can you also try to rmmod parport_pc, load it with all three, above parameters and also provide each dmesg (just the additional info).
Comment 36 Shaohua 2007-11-08 17:15:01 UTC
In a WinXP, device manager has an option for parport to disable interrupt, and this option is enabled by default, this suggests winxp doesn't use interrupt.
Comment 37 Thomas Renninger 2007-11-09 02:36:15 UTC
Could it be that PNPACPI does not check _STA when a device registers?
This would explain everything...
Comment 38 Dane Mutters 2007-11-09 07:28:39 UTC
I recompiled the kernel after applying the provided patch, but when I tried to modprobe the parport_pc module with the specified parameters (after first rmmod-ing it), I get this:

dane@Orchestrator:~$ sudo modprobe parport_pc probe_ecp=0
FATAL: Error inserting parport_pc (/lib/modules/2.6.23.1-custom/kernel/drivers/parport/parport_pc.ko): Unknown symbol in module, or unknown parameter (see dmesg)

Any ideas?
Comment 39 Anonymous Emailer 2007-11-09 08:45:37 UTC
Reply-To: akpm@linux-foundation.org

what was in dmesg?
Comment 40 Dane Mutters 2007-11-09 14:19:50 UTC
[16418.046778] parport_pc: Unknown parameter `probe_ecp'
[16453.967575] parport_pc: Unknown parameter `probe_ecp'
[16457.777193] parport_pc: Unknown parameter `probe_ecp'

This is after trying to modprobe with each of the above options.  The rest of dmesg was there before the modprobe commands, so I'm not posting it (unless you want me to).
Comment 41 Thomas Renninger 2007-11-11 07:32:49 UTC
Sorry it is ecp_probe (modinfo should show you):
ecp_probe=

Another test revealed that it's probably not that easy -> the correct ACPI device seem to get used.

You could also add:
CONFIG_PNP_DEBUG=y
and
add a
#define DEBUG 1
in drivers/parport/parport_pc.c
between:
#undef DEBUG
and
#ifdef DEBUG

and a:
#define DEBUG_PARPORT 1
in include/linux/parport_pc.h
after:
#include <asm/io.h>

If you run this with PNPBIOS and PNPACPI, I think we should have a all debug info that could be "quickly" fetched for the parallel device.

But this might also not bring us further...
PNPACPI BIOS parts export different settings than PNPBIOS parts and I am pretty sure the parsing etc. is correct.

Maybe this machine is only supported with PNPBIOS and PNPACPI simply returns copy and pasted, wrong ACPI code that never was tested (supported Windows OS did only use PNPBIOS code in old times?).
In this case pnpacpi=off is the only workaround that makes sense, maybe a blacklist could be added to activate this on all machines, which BIOS is older than xy like we do with acpi in general?
Comment 42 Thomas Renninger 2007-11-11 07:41:32 UTC
Created attachment 13496 [details]
Disable pnpacpi on BIOSes older than 2004

2004 is just random for now.
If this could get a solution, as much as dmidecode info of affected machines should get collected and possibly set this to a lower value...

What do you think?
Comment 43 Dane Mutters 2007-11-11 11:58:15 UTC
In case it might be helpful, here are the results of the modprobe commands:

ecp_probe=0 - prints fine
ecp_probe=1 - does not print at all
ecp_probe=2 - does not print at all

Let me know if there's anything else I can help you with.
Comment 44 Shaohua 2007-11-11 16:58:48 UTC
Re comment #43, this suggests Thomas's guess is right, but I'm really confused about this. pnpacpi should already check device's present bit. pnpacpi uses acpi_bus_get_device to get a device, if the device isn't present, the routine should fail. But anyway, can you try 'cat /sys/devices/pnp0/*/id', and attach the output? This should tell us which pnp devices are existed.
Comment 45 Dane Mutters 2007-11-11 17:08:34 UTC
Here you go:

dane@Orchestrator:~$ cat /sys/devices/pnp0/*/id
PNP0a08
PNP0a03
PNP0c02
PNP0c02
PNP0200
PNP0b00
PNP0800
PNP0c04
PNP0700
PNP0501
PNP0401
PNP0f13
PNP0303
PNP030b
PNPb006
PNPb02f
PNP0c02
PNP0c01
Comment 46 Thomas Renninger 2007-11-12 03:41:14 UTC
I was wrong, it's not the status.
I just tried on a machine with parallel port.
Switching to EPP in BIOS shows a PNP0400 device switching to ECP shows a PNP0401 device in /sys/devices/pnp0/*/id

How pnpacpi devices are registered is rather complicated :) I need to have a more detailed look somewhen, I think I at least half way got it now...

I expect now, that the ACPI parallel port BIOS implementation is just a template used by vendors for a lot of machines without any testing.
I could imagine vendors disabled (e.g. in this case DMA) on broken machines in PNPBIOS tables, but not in ACPI BIOS tables in order to make it work.

Therefore IMO patch in comment #42 should be preferred (maybe this should be embedded into i386 define only, or does it make sense to disable pnpacpi on IA64 or x86_64?).

Dane, could you also attach dmidecode output, pls.
Comment 47 Dane Mutters 2007-11-12 08:19:20 UTC
Created attachment 13513 [details]
Output of dmidecode
Comment 48 Shaohua 2007-11-12 16:55:32 UTC
Is it possible parport driver can always not use DMA, considering Winxp not use DMA? Or can it detect if DMA is working, and disable it if not?
Comment 49 Thomas Renninger 2008-02-06 07:03:27 UTC
Yes, I expect (at least some) people do not see a pnp bug, but parport_pc driver problem.
AFAIK there exist some strange workarounds like reloading the driver in SUSE or similar.
The driver also seem to sometimes try to use dma == 7, which it makes up on its own (asking some superIO chip, don't know) and is obviously wrong.
Using dma=none as default parameter should fix the parallel port for some more people...
Also according to Tim Waugh who's address is stated in the driver nobody will (and probably should not take the risk of modify the resource guessing magic) look at the driver any more:
-----------
Thomas,

I'm afraid no-one maintains the parport stuff any more.

Tim.
------------
IMO we should close this one (or is the policy to let such "sleeper" bugs open for reference?)
Comment 50 Zhang Rui 2008-03-17 02:15:21 UTC
thomas,
do you plan to push the patch in comments #42 upstream?
Comment 51 Thomas Renninger 2008-03-17 02:29:49 UTC
Blacklisting BIOSes older than 2004 to use pnpbios as default instead of pnpacpi?
Not because of this one.
If more machines pop up where this makes sense. I expect Bjorn knows more broken PNP machines and whether this could help. He should have a final word on this.

For the parport_pc device/driver..., I expect the driver itself is rather broken (some reported dma channel 7 was used, there exist loading un- and reloading driver workarounds, the author answered: don't touch it it's ugly, old and unmaintained, etc.). IMO the blacklisting should better not be done because of this one.

You might want to reopen and close it as won't fix, workaround available (boot or driver params) or similar...
Comment 52 Zhang Rui 2008-03-21 00:27:24 UTC
Workaround patch available in comment#42.
Comment 53 Bjorn Helgaas 2008-05-22 08:52:50 UTC
Created attachment 16246 [details]
test patch for ACPI CA problem

Dane, I think this problem is likely a symptom of an ACPI CA bug that I outlined here: http://marc.info/?l=linux-acpi&m=121141248600755&w=2

The patch I'm attaching here is definitely not the final fix, but if you still have the machine, it would be very helpful to know whether this patch fixes the problem you're seeing.
Comment 54 Dane Mutters 2008-05-22 10:22:59 UTC
Thanks for the patch, Bjorn.  Sadly, I no longer have that motherboard; I upgraded (selling my old motherboard/CPU/RAM/video card) just last month; otherwise I would gladly try this new patch and report back.

I took a brief look at your outline, and at least it looks like you've managed to fix (or point out) some other problems in the process.

Thanks for all your work.
Comment 55 Robert Moore 2008-05-22 10:55:41 UTC
If #53 is correct, then this is the same problem as bugzilla 9487.
Comment 56 Bjorn Helgaas 2008-05-23 15:35:14 UTC
Created attachment 16261 [details]
PNPACPI: use _CRS IRQ descriptor length for _SRS

This patch should fix the bug.  Dane or Zhang, would you mind re-opening this so we can resolve it properly?
Comment 57 Dane Mutters 2008-05-23 18:40:11 UTC
Re-opened, per Bjorn's request.
Comment 58 Bjorn Helgaas 2008-06-13 10:41:41 UTC
A patch similar to the one in comment #56 is in 2.6.26-rc6.  If anybody can test it and report the results, that would be great.
Comment 59 Zhang Rui 2008-07-14 20:45:12 UTC
Bjorn, can we close this bug as the patch is already upstream?
Comment 60 Bjorn Helgaas 2008-07-15 08:11:39 UTC
This bug was fixed by this commit:
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=36d872a370d3d10e5a7faa9dcacce744260fb13b

which appeared in 2.6.26.