Some recent ACPI, IRQ & ATA problems?

From: Dimitry Andric <dimitry_at_andric.com>
Date: Thu, 24 Jun 2004 20:42:10 +0200
While I was upgrading a -CURRENT box from a May 16 build to a more
recent one, I noticed some problems with IRQ's and the ATAPI DVD
writer it uses, which are possibly related to ACPI.

The previous kernel had no problems with IRQ's, nor with ATAPI (snips
from dmesg.prev):

...
pci0: <ACPI PCI bus> on pcib0
pcib0: slot 9 INTA is routed to irq 11
pcib0: slot 10 INTA is routed to irq 10
pcib0: slot 11 INTA is routed to irq 10
pcib0: slot 12 INTA is routed to irq 10
pcib0: slot 13 INTA is routed to irq 10
pcib0: slot 13 INTB is routed to irq 11
pcib0: slot 13 INTC is routed to irq 11
pcib0: slot 17 INTD is routed to irq 10
pcib0: slot 17 INTD is routed to irq 10
pcib0: slot 17 INTD is routed to irq 10
...

then, with a build from June 8th (see dmesg.fail):

...
pci0: <ACPI PCI bus> on pcib0
pcib0: slot 9 INTA is routed to irq 10
pcib0: slot 10 INTA is routed to irq 5
pcib0: slot 11 INTA is routed to irq 11
pcib0: slot 12 INTA is routed to irq 5
pcib0: slot 13 INTA is routed to irq 11
pcib0: slot 13 INTB is routed to irq 11
pcib0: slot 13 INTC is routed to irq 10
pcib0: slot 17 INTD is routed to irq 11
pcib0: slot 17 INTD is routed to irq 11
pcib0: slot 17 INTD is routed to irq 11
...

Suddenly it starts using IRQ 5, for no apparent reason.  Note that
neither Windows XP running on the same box uses it, nor does the BIOS
display any use of it in its POST messages.


Regarding the ATAPI part, the May 16 kernel shows:

...
atapci0: <Promise PDC20271 UDMA133 controller> port 0xa800-0xa80f,0xa400-0xa403,0xa000-0xa007,0x9c00-0x9c03,0x9800-0x9807 mem 0xe3100000-0xe310ffff irq 10 at device 10.0 on pci0
atapci0: Reserved 0x10 bytes for rid 0x20 type 4 at 0xa800
atapci0: Reserved 0x8 bytes for rid 0x10 type 4 at 0x9800
atapci0: Reserved 0x4 bytes for rid 0x14 type 4 at 0x9c00
ata2: at 0x9800 on atapci0
atapci0: Reserved 0x8 bytes for rid 0x18 type 4 at 0xa000
atapci0: Reserved 0x4 bytes for rid 0x1c type 4 at 0xa400
ata3: at 0xa000 on atapci0
...
atapci1: <VIA 8233 UDMA100 controller> port 0xbc00-0xbc0f,0x376,0x170-0x177,0x3f6,0x1f0-0x1f7 at device 17.1 on pci0
atapci1: Reserved 0x10 bytes for rid 0x20 type 4 at 0xbc00
atapci1: Reserved 0x8 bytes for rid 0x10 type 4 at 0x1f0
atapci1: Reserved 0x1 bytes for rid 0x14 type 4 at 0x3f6
ata0: at 0x1f0 irq 14 on atapci1
atapci1: Reserved 0x8 bytes for rid 0x18 type 4 at 0x170
atapci1: Reserved 0x1 bytes for rid 0x1c type 4 at 0x376
ata1: at 0x170 irq 15 on atapci1
...
ad0: 117246MB <Maxtor 6Y120P0> [238216/16/63] at ata0-master UDMA100
acd0: DVDROM <TOSHIBA DVD-ROM SD-M1612> at ata0-slave PIO4
acd1: DVDR <PIONEER DVD-RW DVR-105> at ata1-master PIO4
acd2: CDRW <LITE-ON LTR-24102B> at ata1-slave PIO4
ad4: 76345MB <MAXTOR 6L080J4> [155114/16/63] at ata2-master UDMA133
ad5: 78167MB <Maxtor 6Y080L0> [158816/16/63] at ata2-slave UDMA133
ad6: 76345MB <MAXTOR 6L080J4> [155114/16/63] at ata3-master UDMA133
ad7: 76345MB <MAXTOR 6L080J4> [155114/16/63] at ata3-slave UDMA133
ar0: 152690MB <ATA RAID0+1 array> [19465/255/63] status: READY subdisks:
 disk0 READY on ad4 at ata2-master
 disk1 READY on ad5 at ata2-slave
 disk2 READY on ad6 at ata3-master
 disk3 READY on ad7 at ata3-slave

While the June 8 kernel spits out some errors:

...
atapci0: <Promise PDC20271 UDMA133 controller> port 0xa800-0xa80f,0xa400-0xa403,0xa000-0xa007,0x9c00-0x9c03,0x9800-0x9807 mem 0xe3100000-0xe310ffff irq 5 at device 10.0 on pci0
ata2: at 0x9800 on atapci0
ata3: at 0xa000 on atapci0
...
atapci1: <VIA 8233 UDMA100 controller> port 0xbc00-0xbc0f,0x376,0x170-0x177,0x3f6,0x1f0-0x1f7 at device 17.1 on pci0
ata0: at 0x1f0 irq 14 on atapci1
ata1: at 0x170 irq 15 on atapci1
...
ad0: 117246MB <Maxtor 6Y120P0> [238216/16/63] at ata0-master UDMA100
acd0: DVDROM <TOSHIBA DVD-ROM SD-M1612> at ata0-slave UDMA33
acd1: unknown transfer phase
acd1: DVDR <PIONEER DVD-RW DVR-105> at ata1-master UDMA33
acd2: CDRW <LITE-ON LTR-24102B> at ata1-slave UDMA33
acd1: WARNING - TEST_UNIT_READY write data underrun 34>0
acd1: FAILURE - TEST_UNIT_READY HARDWARE ERROR asc=0x00 ascq=0x00 error=0
...
ata2-slave: FAILURE - ATA_IDENTIFY no interrupt
ata2-slave: FAILURE - ATA_IDENTIFY no interrupt
ata2-master: FAILURE - ATA_IDENTIFY no interrupt
ata2-master: FAILURE - ATA_IDENTIFY no interrupt
ata3-slave: FAILURE - ATA_IDENTIFY no interrupt
ata3-slave: FAILURE - ATA_IDENTIFY no interrupt
ata3-master: FAILURE - ATA_IDENTIFY no interrupt
ata3-master: FAILURE - ATA_IDENTIFY no interrupt

So not only do I get some weird error on the DVD-R (works fine with
the old kernel, and under Windows, sorry sos ;), but it also fails to
find the Promise RAID controller's subdisks.

Of course, the first thing I tried was disabling ACPI, which gives the
correct IRQs back (see dmesg.noacpi):

...
pir0: <PCI Interrupt Routing Table: 8 Entries> on motherboard
pci0: <PCI bus> on pcib0
$PIR: 0:9 INTA routed to irq 11
$PIR: 0:10 INTA routed to irq 10
$PIR: 0:11 INTA routed to irq 10
$PIR: 0:12 INTA routed to irq 10
$PIR: 0:13 INTA routed to irq 10
$PIR: 0:13 INTB routed to irq 11
$PIR: 0:13 INTC routed to irq 11
$PIR: 0:17 INTD routed to irq 10
$PIR: 0:17 INTD routed to irq 10
$PIR: 0:17 INTD routed to irq 10
...

and restores most ATA functionality:

...
atapci0: <Promise PDC20271 UDMA133 controller> port 0xa800-0xa80f,0xa400-0xa403,0xa000-0xa007,0x9c00-0x9c03,0x9800-0x9807 mem 0xe3100000-0xe310ffff irq 10 at device 10.0 on pci0
ata2: at 0x9800 on atapci0
ata3: at 0xa000 on atapci0
...
atapci1: <VIA 8233 UDMA100 controller> port 0xbc00-0xbc0f,0x376,0x170-0x177,0x3f6,0x1f0-0x1f7 at device 17.1 on pci0
ata0: at 0x1f0 irq 14 on atapci1
ata1: at 0x170 irq 15 on atapci1
...
ad0: 117246MB <Maxtor 6Y120P0> [238216/16/63] at ata0-master UDMA100
acd0: DVDROM <TOSHIBA DVD-ROM SD-M1612> at ata0-slave UDMA33
acd1: unknown transfer phase
acd1: WARNING - MODE_SENSE_BIG read data overrun 34>0
acd1: DVDR <PIONEER DVD-RW DVR-105> at ata1-master UDMA33
acd2: CDRW <LITE-ON LTR-24102B> at ata1-slave UDMA33
ad4: 76345MB <MAXTOR 6L080J4> [155114/16/63] at ata2-master UDMA133
ad5: 78167MB <Maxtor 6Y080L0> [158816/16/63] at ata2-slave UDMA133
ad6: 76345MB <MAXTOR 6L080J4> [155114/16/63] at ata3-master UDMA133
ad7: 76345MB <MAXTOR 6L080J4> [155114/16/63] at ata3-slave UDMA133
ar0: 152690MB <ATA RAID0+1 array> [19465/255/63] status: READY subdisks:
 disk0 READY on ad4 at ata2-master
 disk1 READY on ad5 at ata2-slave
 disk2 READY on ad6 at ata3-master
 disk3 READY on ad7 at ata3-slave

However, it still gets some errors on acd1. I have no idea what these
mean...

I'm going to rebuild yet a newer snapshot, and see if these problems
go away, but at least I've reported them. :)

Received on Thu Jun 24 2004 - 16:52:28 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:58 UTC