Subject: Re: APM problems
To: Heiko W.Rupp <hwr@pilhuhn.de>
From: Manuel Bouyer <bouyer@antioche.eu.org>
List: port-i386
Date: 02/05/1999 17:38:54
On Thu, Feb 04, 1999 at 08:31:42PM +0100, Heiko W.Rupp wrote:
> [...]
> One very annoying thing though is that the disk driver waits for a
> long time after resume for some DRQ, and then spins up:
> 
> 
> Feb  4 20:28:42 catbert /netbsd: wdc0:0:0: lost interrupt
> Feb  4 20:28:43 catbert /netbsd: 	type: ata
> Feb  4 20:28:43 catbert /netbsd: 	c_bcount: 8192
> Feb  4 20:28:43 catbert /netbsd: 	c_skip: 0
> Feb  4 20:28:43 catbert /netbsd: wdc0:0:0: read intr before drq
> Feb  4 20:28:43 catbert /netbsd: wd0e: device timeout reading fsbn 24240 of 24240-24255 (wd0 bn 1942464; cn 1927 tn 0 sn 48), retrying
> Feb  4 20:28:43 catbert /netbsd: wd0: soft error (corrected)
> 

The problem is that the driver has no way to know that the disk has been put
in sleep mode, and it needs a reset to wakeup. So what currently happens is:
the driver issue a command, it times out, the driver reset the IDE bus and
retry the command. This second time it completes.

When events mechanism will be in place, the driver will be notified of
APM events and will be able to issue the reset before trying a command ...

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