Subject: Re: fixes for wdc_obio.c [3]
To: Markus W Kilbinger <kilbi@rad.rwth-aachen.de>
From: Manuel Bouyer <bouyer@antioche.lip6.fr>
List: port-macppc
Date: 07/30/2001 21:54:59
On Mon, Jul 30, 2001 at 08:03:19PM +0200, Markus W Kilbinger wrote:
> >>>>> "Manuel" == Manuel Bouyer <bouyer@antioche.lip6.fr> writes:
> 
>     Manuel> Please apply the attached patch to the wdc_obio.c I posted
>     Manuel> yesterday
> 
> My tibook shows:
> 
>   [...]
>   wdc0 at obio0 offset 0x1f000 irq 19: DMA transfer
>   wd0 at wdc0 channel 0 drive 0: <IBM-DJSA-220>
>   wd0: drive supports 16-sector PIO transfers, LBA addressing
>   wd0: 19077 MB, 16383 cyl, 16 head, 63 sec, 512 bytes/sect x 39070080 sectors
>   wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 4 (Ultra/66)
>   ata4 conf = 0x1d8328ca, cyc = 4 (25 ns), act = 14 (100 ns), inact = 6
>   wd0(wdc0:0:0): using PIO mode 4, DMA mode 2, Ultra-DMA mode 4 (Ultra/66) (using DMA data transfers)
>   wdc1 at obio0 offset 0x20000 irq 20: DMA transfer
>   atapibus0 at wdc1 channel 0: 2 targets
>   cd0 at atapibus0 drive 0: <MATSHITADVD-ROM SR-8187, , HA15> type 5 cdrom removable
>   cd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 2 (Ultra/33)
>   conf = 0x11823, cyc = 4 (120 ns), act = 3 (70 ns), inact = 1
>   cd0(wdc1:0:0): using PIO mode 4, DMA mode 2 (using DMA data transfers)
>   wdc2 at obio0 offset 0x21000 irq 21: DMA transfer
> 
> At the first stage of accessing the disk I get:
> 
>   wdc0:0:0: lost interrupt
>   	  type: ata tc_bcount: 512 tc_skip: 0
>   wdc0:0:0: intr with DRQ (st=0x58)
>   wd0: transfer error, downgrading to Ultra-DMA mode 2
>   ata4 conf = 0x10328ca, cyc = 8 (55 ns), act = 0 (0 ns), inact = 6
>   wd0(wdc0:0:0): using PIO mode 4, DMA mode 2, Ultra-DMA mode 2 (Ultra/33) (using DMA data transfers)
>   wd0c: device timeout reading fsbn 0 (wd0 bn 0; cn 0 tn 0 sn 0), retrying
>   wdc0:0:0: lost interrupt
>   	  type: ata tc_bcount: 512 tc_skip: 0
>   wdc0:0:0: intr with DRQ (st=0x58)
>   wd0: transfer error, downgrading to Ultra-DMA mode 1
>   ata4 conf = 0x14328ca, cyc = 10 (75 ns), act = 0 (0 ns), inact = 6
>   wd0(wdc0:0:0): using PIO mode 4, DMA mode 2, Ultra-DMA mode 1 (using DMA data transfers)
>   wd0c: device timeout reading fsbn 0 (wd0 bn 0; cn 0 tn 0 sn 0), retrying
>   wdc0:0:0: lost interrupt
>   	  type: ata tc_bcount: 512 tc_skip: 0
>   wdc0:0:0: intr with DRQ (st=0x58)
>   wd0: transfer error, downgrading to DMA mode 2
>   ata4 conf = 0x328ca, cyc = 16 (120 ns), act = 10 (70 ns), inact = 6
>   wd0(wdc0:0:0): using PIO mode 4, DMA mode 2 (using DMA data transfers)
>   wd0c: device timeout reading fsbn 0 (wd0 bn 0; cn 0 tn 0 sn 0), retrying
>   wd0: soft error (corrected)
> 
> But then it works! Not quite effectivly I guess...

Cool, at last it works in MW DMA now. I'll look at the UltraDMA problem
when I have physical access to a friend's ibook.

--
Manuel Bouyer <bouyer@antioche.eu.org>
--