Subject: Re: No IDE-DMA after sup today ("no driver support")...
To: None <current-users@netbsd.org>
From: Guenther Grau <Guenther.Grau@bk.bosch.de>
List: current-users
Date: 10/21/1998 11:11:38
Hi Manuel,
Manuel Bouyer wrote:
>
> On Oct 21, Charles M. Hannum wrote
> >
> > A few days ago, Manuel changed the pciide driver to not enable DMA
> > unless it recognizes the specific product ID of the chip. The product
> > ID for you IDE chip is not listed in the driver. Ergo, DMA is not
> > being enabled.
> >
> > I tend to think this is kind of a lose. A device claiming to be a PCI
> > IDE controller will in general properly support the spec; ones that do
> > not are the exception, and should be treated as such.
>
> DMA operation is in specs, but the DMA modes setups are not. So each
> PCI IDE vendor do it his own way, and a machine where the controllers
> and drive DMA modes don't agree will hang solid at the first disk
> access. No interrupts, no timeout callback possibe: it hangs. This prevent
> any king of "try DMA and fall back to PIO if it fails" algorithm, as
> I wanted to do it the first time.
>
> This was with a PIIX4. Maybe some other controllers have a more fair
> behavior. But I think it's better to say "your disk is used in PIO
> mode because the pciide driver doesn't support your controller" than
> "your machine hang when you try to install NetBSD on it because
> the pciide driver doesn't support your controller".
I agree with you! However, wouldn't it be possible to to have a
config option to enable DMA anyways? This would be turned off
by default. If the user is running NetBSD and wants to try the benefits
of DMA, he might just try to turn this option on and see what
happens on his computer. The implications of this option should
be clearly marked. Doing this wouldn't impose any limits on the
users, but I don't know if this is possible with the code you
wrote.
Guenther