Subject: Re: CVS commit: src/sys/dev
To: Takeshi Nakayama <firstname.lastname@example.org>
From: Manuel Bouyer <email@example.com>
Date: 08/07/2005 12:12:48
On Sun, Aug 07, 2005 at 09:20:50AM +0900, Takeshi Nakayama wrote:
> > Log Message:
> > Add an optionnal controller callback for channel reset. If the callback
> > is set to NULL, use the generic reset code.
> > Use this to work around a bug in some Acer IDE controllers (like the
> > one found in some sparc systems) where a controller disable/enable
> > is required after a reset to avoid data corruption when Ultra-DMA is
> > used. Workaround from opensolaris, thanks to Hiroki Sato for testing.
> OpenSolaris says bit 2 or 3 of register ACER_PCIB_CTRL set to 0,
> then restore it.
> So I guess ACER_PCIB_CTRL_ENCHAN(chp->ch_channel) in line 223 of
> aceride.c should be ~ACER_PCIB_CTRL_ENCHAN(chp->ch_channel).
Ops, you're right.
The thing is, the workaround is still working for the first channel (the
first channel is disabled/enabled when the second channel is reset), so
tests showed it was working.
Manuel Bouyer <firstname.lastname@example.org>
NetBSD: 26 ans d'experience feront toujours la difference