Date: Mon, 25 Jan 1999 00:38:05 -0500 From: Lee Cremeans <lee@st-lcremean.tidalwave.net> To: Greg Lehey <grog@lemis.com> Cc: Matthew Dillon <dillon@apollo.backplane.com>, current@FreeBSD.ORG Subject: Re: IDE DMA works, I'll be a... Message-ID: <19990125003805.B1916@tidalwave.net> In-Reply-To: <19990125153216.Q36690@freebie.lemis.com>; from Greg Lehey on Mon, Jan 25, 1999 at 03:32:16PM %2B1030 References: <199901250419.UAA00493@apollo.backplane.com> <19990124232542.A1754@tidalwave.net> <19990125153216.Q36690@freebie.lemis.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Jan 25, 1999 at 03:32:16PM +1030, Greg Lehey wrote: > On Sunday, 24 January 1999 at 23:25:42 -0500, Lee Cremeans wrote: > > On Sun, Jan 24, 1999 at 08:19:33PM -0800, Matthew Dillon wrote: > > > >> It doesn't work on my CTX box, though - heh. Quantity verses Quality, > >> I guess. The CTX box was ~$1K 3 months ago while my PPro box was ~$3K > >> a year and a half ago. > > > > Can you find out what chipset is in this guy? There's support for anything > > Intel or VIA, Promise UDMA cards, Cyrix MediaGX, and Acer Aladdin IV/V right > > now. > > See kern/9550. The driver *used* to support my SiS chipset, but it no > longer does when both master and slave drive are present since I > updated about a week ago. Possibly the same bug is biting Matt. Ok, I'm reading the PR now, and it seems this is not what Matt is complaining about. What I gather is that Matt's drive works without hiccups, it's just slower than it should be. What you have is the timeout bug, something that 1) only seems to hit unsupported chipsets -- this is why I wrote the Acer support 2) seems to happen on these Seagate 5xxxxA drives a lot (someone else was complaining of this after the Acer support was committed). Try this patch: --- ide_pci.c Mon Jan 25 00:26:35 1999 +++ ide_pci.c.new Mon Jan 25 00:31:58 1999 @@ -279,9 +279,10 @@ /* If we're here, then this controller is most likely not set for UDMA, even if the drive may be. Make the drive wise up. */ - - if(!wdcmd(WDDMA_MDMA2, wdinfo)) - printf("generic_dmainit: could not set multiword DMA mode!\n"); + if(udma_mode(wp) >= 2) { + if(!wdcmd(WDDMA_MDMA2, wdinfo)) + printf("generic_dmainit: could not set multiword DMA mode!\n"); + } return 1; } #ifdef IDE_PCI_DEBUG Feel free to clean it up if you like, since I'm not clear on what style(9) thinks of this. It makes it so that we only try forcing MWDMA2 on UDMA drives, since that seems to be the most common clash with the generic code -- the drive is expecting UDMA, but the controller isn't. This code was originally put there because it made my Seagate 9GB work in DMA mode on my then-unsupported Acer chipset. Before this, it was forcing MWDMA2 on all comers, and that may be giving the 5xxxx drives fits. -- +--------------------------------------------------------------------+ | Lee Cremeans -- Manassas, VA, USA (WakkyMouse on DALnet and WTnet)| | lcremean@tidalwave.net| http://st-lcremean.tidalwave.net/~lee | To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19990125003805.B1916>