From owner-freebsd-current Sun Dec 20 14:29:30 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id OAA29279 for freebsd-current-outgoing; Sun, 20 Dec 1998 14:29:30 -0800 (PST) (envelope-from owner-freebsd-current@FreeBSD.ORG) Received: from alpo.whistle.com (alpo.whistle.com [207.76.204.38]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id OAA29273; Sun, 20 Dec 1998 14:29:29 -0800 (PST) (envelope-from julian@whistle.com) Received: (from daemon@localhost) by alpo.whistle.com (8.8.5/8.8.5) id OAA05895; Sun, 20 Dec 1998 14:24:56 -0800 (PST) Received: from current1.whistle.com(207.76.205.22) via SMTP by alpo.whistle.com, id smtpdzu5891; Sun Dec 20 22:24:47 1998 Date: Sun, 20 Dec 1998 14:24:43 -0800 (PST) From: Julian Elischer To: lcremean@tidalwave.net cc: Howard , current@FreeBSD.ORG Subject: Re: cvs commit: src/sys/pci pcisupport.c In-Reply-To: <19981220165642.A6616@tidalwave.net> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On Sun, 20 Dec 1998, Lee Cremeans wrote: > On Sat, Dec 19, 1998 at 11:48:49PM -0800, Julian Elischer wrote: > > Whistle has some support for Cyrix 5530 UltraDMA support that will come in > > when cleaned up. > > Hm, cool. I wonder if it's at all similar to the Acer UDMA engine, which btw > I seem to have at least partially working at this point. (Streaming > transfers -- i.e. dd if=/dev/rwd0 of=/dev/null -- work, but if you, say, run > fsck or boot the system multi-user, it'll work fine for a few seconds, then > get some interrupt timeouts, then work again for a bit, then the cycle > repeats. I think the UDMA cycle time needs to be tweaked, but I'm not sure.) > > > > Unfortunatly the 5530 UDMA engine has some serious bugs. > > some of which can't be worked around from ide_pci.c alone.. > > Eeee, like what? > > -- > +--------------------------------------------------------------------+ > | Lee Cremeans -- Manassas, VA, USA (WakkyMouse on DALnet and WTnet)| > | lcremean@tidalwave.net| http://st-lcremean.tidalwave.net | > > > try: limit the maximum transfer in param.h to 64KB (It's presently 128KB) try: altering ide_pci_dmaverify to not allow DMA on transfers not on 16 (or larger) byte boundaries. (presently only dissallows odd transfers) try: removing the following code from ide_pci.c /* * Coalesce if physically contiguous and not crossing * 64k boundary. */ if ((prd_base + prd_count == nbase) && ((((nend - 1) ^ prd_base) & ~0xffff) == 0)) { prd_count += ncount; } else try: the following change in wd.c: (note mail will have munged this. do it by hand) *** wd.c 1998/07/13 08:23:01 1.172 --- wd.c 1998/11/18 01:04:50 *************** *** 1253,1260 **** if (du->dk_flags & (DKFL_DMA|DKFL_USEDMA)) { /* XXX SMP boxes sometimes generate an early intr. Why? */ if((wddma[du->dk_interface].wdd_dmastatus(du->dk_dmacookie) & WDDS_INTERRUPT) ! == 0) ! return; dmastat = wddma[du->dk_interface].wdd_dmadone(du->dk_dmacookie); } --- 1263,1269 ---- if (du->dk_flags & (DKFL_DMA|DKFL_USEDMA)) { /* XXX SMP boxes sometimes generate an early intr. Why? */ if((wddma[du->dk_interface].wdd_dmastatus(du->dk_dmacookie) & WDDS_INTERRUPT) ! != 0) dmastat = wddma[du->dk_interface].wdd_dmadone(du->dk_dmacookie); } To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message