Subject: Bus-Master DMA error: missing interrupt
To: None <current-users@netbsd.org, bouyer@netbsd.org>
From: Zdenek Salvet <salvet@ics.muni.cz>
List: current-users
Date: 12/21/1998 20:48:57
Hello,

I have some problems with IDE drivers (NetBSD/i386;current of Dec 12,1998):

1) intensive access to ATAPI CDROM (slave to disk) provokes this error
   pciide0:1:1: Bus-Master DMA error: missing interrupt, status=0x60

e.g.

$ dd if=/dev/rcd0a of=/dev/null bs=2k count=500
dd: /dev/rcd0a: Input/output error
152+0 records in
152+0 records out
311296 bytes transferred in 1 secs (311296 bytes/sec)
$ dd if=/dev/rcd0a of=/dev/null bs=2k count=500
dd: /dev/rcd0a: Input/output error
59+0 records in
59+0 records out
120832 bytes transferred in 1 secs (120832 bytes/sec)
$ dmesg
 Bus-Master DMA error: missing interrupt, status=0x60
pciide0:1:1: Bus-Master DMA error: missing interrupt, status=0x60
pciide0:1:1: Bus-Master DMA error: missing interrupt, status=0x60
pciide0:1:1: Bus-Master DMA error: missing interrupt, status=0x60
pciide0:1:1: Bus-Master DMA error: missing interrupt, status=0x60
pciide0:1:1: Bus-Master DMA error: missing interrupt, status=0x60

The CDROM drive is new, so it may be faulty, and master disk
on the same channel works reliably. This is my IDE configuration:

pciide0 at pci0 dev 7 function 1: Intel 82371AB IDE controller (PIIX4)
pciide0: bus-master DMA support present
pciide0: primary channel wired to compatibility mode
wd0 at pciide0 channel 0 drive 0: <WDC AC34000L>
wd0: drive supports 16-sector pio transfers, lba addressing
wd0: 3815MB, 7752 cyl, 16 head, 63 sec, 512 bytes/sect x 7814016 sectors
wd0: 32-bits data port
wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 2
pciide0: secondary channel wired to compatibility mode
atapibus0 at pciide0 channel 1
cd0 at atapibus0 drive 1: <SAMSUNG SCR-3232, , VS103> type 5 cdrom removable
cd0: 32-bits data port
cd0: drive supports PIO mode 4, DMA mode 2
wd1 at pciide0 channel 1 drive 0: <WDC AC26400B>
wd1: drive supports 16-sector pio transfers, lba addressing
wd1: 6149MB, 13328 cyl, 15 head, 63 sec, 512 bytes/sect x 12594960 sectors
wd1: 32-bits data port
wd1: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 2
wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 2 (using DMA data transfers)
wd1(pciide0:1:0): using PIO mode 4, Ultra-DMA mode 2 (using DMA data transfers)
cd0(pciide0:1:1): using PIO mode 4, DMA mode 2 (using DMA data transfers)

2) disk access is stuck on after bootup, but "missing interrupt" error
   had unwedged it for me

PS. Thank you very much for pciide code, it had doubled sequential
    access speed of my drives while squeezing CPU usage to one tenth :-)

-- 
Zdenek Salvet                                              salvet@ics.muni.cz 
Ustav vypocetni techniky Masarykovy univerzity, Brno
tel.: ++420-5-41 512 257                           Fax: ++420-5-41 212 747
----------------------------------------------------------------------------
           If God had meant for us to be in the Army,
         we would have been born with green, baggy skin.