Port-ofppc archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Pegasos and viaide interrupts



I'm losing interrupts for the secondary channel on the Pegasos. And probably
the reason is that viaide runs in "native" mode and not in "compatible" mode.
So the only interrupt used is 14, and the primary channel works. But no 15!

viaide0 at pci0 dev 12 function 1
viaide0: VIA Technologies VT8231 ATA100 controller
viaide0: using irq 14 for native-PCI interrupt
[...]
atapibus0 at atabus1: 2 targets
viaide0:1:0: lost interrupt
        type: ata tc_bcount: 512 tc_skip: 0
cd0 at atapibus0 drive 0: <TOSHIBA CD-ROM XM-6702B, , 1005> cdrom removable
viaide0:1:0: lost interrupt
        type: ata tc_bcount: 512 tc_skip: 0
viaide0:1:0: lost interrupt
        type: ata tc_bcount: 512 tc_skip: 0
viaide0:1:0: lost interrupt
        type: ata tc_bcount: 0 tc_skip: 0
viaide0:1:0: lost interrupt
        type: ata tc_bcount: 0 tc_skip: 0
viaide0:1:0: lost interrupt
        type: ata tc_bcount: 0 tc_skip: 0

Digging a bit deeper in the viaide driver showed me that it depends on the
PCI_INTERFACE register, whether we are in native or compatible mode. Looking
at this register showed me the value 0x8f, which means native mode for both
channels (bit 0 and 2).

Why? This is plain wrong! The IDE controller has to be driven in
compatibility mode to work, as far as I understand!?
Do we need another hack? :P

-- 
    _  Frank Wille (frank%phoenix.owl.de@localhost)
 _ //  http://sun.hasenbraten.de/~frank/
 \X/   Phx @ #AmigaGer




Home | Main Index | Thread Index | Old Index