Subject: Re: CD DMA problems on Blade 100
To: Julian Coleman <jdc@coris.org.uk>
From: Manuel Bouyer <bouyer@antioche.eu.org>
List: port-sparc64
Date: 07/31/2006 20:45:30
On Mon, Jul 31, 2006 at 02:43:14PM +0100, Julian Coleman wrote:
> I've tried using the CD drive on a couple of Blade 100's but have been
> unable to access it.  On one machine, the CD is the only IDE device on
> the primary controller (it is jumpered to master) and on the other, the
> CD is the slave device to a hard drive.  Dmesg looks like:
> 
>   cd0 at atapibus0 drive 1: <LTN485S, , JOU2> cdrom removable
>   cd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 2 (Ultra/33)
>   wd0 at atabus0 drive 0: <ST315320A>
>   wd0: drive supports 16-sector PIO transfers, LBA addressing
>   wd0: 14594 MB, 29651 cyl, 16 head, 63 sec, 512 bytes/sect x 29888820 sectors
>   wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 4 (Ultra/66)
>   wd0(aceride0:0:0): using PIO mode 4, Ultra-DMA mode 4 (Ultra/66) (using DMA)
>   cd0(aceride0:0:1): using PIO mode 4, Ultra-DMA mode 2 (Ultra/33) (using DMA)
> 
> When I try to access the CD (e.g. disklabel, eject), I see:
> 
>   aceride0:0:1: lost interrupt
>         type: atapi tc_bcount: 32 tc_skip: 0
>   aceride0:0:1: bus-master DMA error: missing interrupt, status=0x61
>   aceride0:0:1: device timeout, c_bcount=32, c_skip=0
>   cd0: transfer error, downgrading to Ultra-DMA mode 1
>   wd0(aceride0:0:0): using PIO mode 4, Ultra-DMA mode 4 (Ultra/66) (using DMA)
>   cd0(aceride0:0:1): using PIO mode 4, Ultra-DMA mode 1 (using DMA)
>   cd0(aceride0:0:1): generic HBA error
>   wdc_atapi_intr: bad data phase DATAIN
>     (repeats 13 times)
> 
> The same happens on the machine with just the CD drive (although the errors
> apply to aceride0:0:0).  I've tried replacing the IDE cable and the drive.
> 
> This happens on both 3.0.1 and 3.99.21.  There are no problems accessing the
> hard drive (wd0).
> 
> If I try a kernel that disables DMA for the CD, it works perfectly using
> PIO.  Is this a driver or a CD drive problem?

Most probably a driver issue. Or maybe this chip just can't do DMA for
ATAPI devices ...

-- 
Manuel Bouyer <bouyer@antioche.eu.org>
     NetBSD: 26 ans d'experience feront toujours la difference
--