[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: ATA-100 Issues
- To: misc_(_at_)_openbsd_(_dot_)_org
- Subject: Re: ATA-100 Issues
- From: Matt Evans <matt_(_at_)_mattevans_(_dot_)_org>
- Date: Fri, 27 Jul 2001 03:10:10 -0700
- Mail-followup-to: misc_(_at_)_openbsd_(_dot_)_org
And heres another idea...
what about this change to /src/sys/dev/ic/wdc.c, in wdc_downgrade_mode() ?
1399c1399,1400
< * If we were using Ultra-DMA mode > 2, downgrade to mode 2 first.
---
> * <OLD> If we were using Ultra-DMA mode > 2, downgrade to mode 2
first. </OLD>
> * If we're >= 2, just decrement the mode and see what happens ?
1403c1404,1405
< drvp->UDMA_mode = (drvp->UDMA_mode == 2) ? 1 : 2;
---
> /* drvp->UDMA_mode = (drvp->UDMA_mode == 2) ? 1 : 2; */
> drvp->UDMA_mode = drvp->UDMA_mode - 1;
i.e., if we are using ultra-dma, and the mode is >= 2, instead of going to
2 immediately, try each successive value until we hit 1. Seems like it
would give busses the best possible chance to run fast.
I have no idea if the hardware supports this, or if the 1 line change i've
made even does what I expect it to (the box I'm wanting to compile/test
these changes on isn't booting for other reasons :)
Comments ?
On Fri, Jul 27, 2001 at 02:22:35AM -0700, Matt Evans wrote:
> So heres a question.
> Let's say I can't make it stop freaking out at UDMA mode 5.
>
> Instead of it dropping to mode 2 (sucky), why can't it drop to mode 4 ?
>
> I think I see a way to "hack" this behavior (sort of)
>
> from src/sys/dev/pci/pciide.c
> (in function pdc202xx_chip_map)
>
>
> if(PDC_IS_265(sc))
> sc->sc_wdcdev.UDMA_cap = 5;
>
> im assuming that this is telling pciide that if it finds a 265 chipset, to run
> UDMA mode 5. If i change that 5 to 4, will pciide start the controller up in
> UDMA mode 4 (and hopefully not get errors at this setting, thus avoiding a
> fallback to mode 2) or is the mode setting busines above just for the pretty
> informational messages i see in the debugging logs ?
>
> Comments ?
>
>
> On Wed, Jul 25, 2001 at 02:43:15AM -0700, Matt Evans wrote:
> > On a fresh (3 hour old) install of 2.9 i386 generic:
> >
> > I am having lots of CRC errors now that I have two ATA-100 drives
> > on the same chain. I just bought a brand new 40gb IBM ata-100 disk to add
> > to the chain with my 30gb ata-100 disk (also IBM).
> [snip]
> >
> > wd0(pciide1:0:0): using PIO mode 4, Ultra-DMA mode 2
> > wd1(pciide1:0:1): using PIO mode 4, Ultra-DMA mode 2
> > wd0a: aborted command, interface CRC error writing fsbn 43005664 of 43005664-43005791 (wd0 bn 43267744; cn 42924 tn 5 sn 37), retrying
> > wd0: soft error (corrected)
> >
>
> --
> Matt Evans email: matt_(_at_)_mattevans_(_dot_)_org web: www.mattevans.org
>
--
Matt Evans email: matt_(_at_)_mattevans_(_dot_)_org web: www.mattevans.org
Visit your host, monkey.org