Subject: Re: Bus-Master DMA error: missing interrupt
To: None <salvet@ics.muni.cz>
From: Manuel Bouyer <bouyer@antioche.lip6.fr>
List: current-users
Date: 12/22/1998 18:30:28
On Dec 21, Zdenek Salvet wrote
> 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
>
> [...]
> 
> 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)

I tested this config (Ultra-DMA mode 2 drive + DMA mode 2 CD on the same
channel on a PIIX4), it worked for me ... but IDE appears to be quite
sensitive to various electrical parameters.
Did you try to disable DMA for the CD in your kernel config file ?
A line like:
cd*     at atapibus? drive ? flags 0x0ff0
should do it.


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

"Disk access led" :)
Well, it happens for me too with some ATAPI devices ... I didn't find a
solution yet.

However, I'm in process of implementing a retry on failure for ATAPI, like
the one there is for ATA. This should partially solve this kind of problem.
Also, with a more -current kernel, there is a "downgrade on error" code,
which should make your drive more useable.

--
Manuel Bouyer, LIP6, Universite Paris VI.           Manuel.Bouyer@lip6.fr
--