From owner-freebsd-sparc64@FreeBSD.ORG Wed Nov 19 19:20:52 2003 Return-Path: Delivered-To: freebsd-sparc64@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id DE28C16A4D0 for ; Wed, 19 Nov 2003 19:20:52 -0800 (PST) Received: from mail.gmx.net (pop.gmx.net [213.165.64.20]) by mx1.FreeBSD.org (Postfix) with SMTP id A21DA43F85 for ; Wed, 19 Nov 2003 19:20:50 -0800 (PST) (envelope-from tmoestl@gmx.net) Received: (qmail 28828 invoked by uid 65534); 20 Nov 2003 03:20:47 -0000 Received: from p508E720C.dip.t-dialin.net (EHLO timesink.dyndns.org) (80.142.114.12) by mail.gmx.net (mp013) with SMTP; 20 Nov 2003 04:20:47 +0100 X-Authenticated: #5374206 Received: by raven (Postfix, from userid 1001) id 269441AB; Thu, 20 Nov 2003 04:20:46 +0100 (CET) Date: Thu, 20 Nov 2003 04:20:46 +0100 From: Thomas Moestl To: Kris Kennaway , sos@freebsd.org, sparc64@freebsd.org Message-ID: <20031120032045.GB759@timesink.dyndns.org> Mail-Followup-To: Kris Kennaway , sos@freebsd.org, sparc64@freebsd.org References: <20031114105853.A92204@carver.gumbysoft.com> <20031114134001.D92204@carver.gumbysoft.com> <20031117130205.R22102@carver.gumbysoft.com> <20031117225453.GA35569@xor.obsecurity.org> <20031118011019.GA37617@xor.obsecurity.org> <20031120031150.GA759@timesink.dyndns.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20031120031150.GA759@timesink.dyndns.org> User-Agent: Mutt/1.4.1i Subject: Re: ultra5/cmd646 hang X-BeenThere: freebsd-sparc64@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Porting FreeBSD to the Sparc List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Nov 2003 03:20:53 -0000 On Thu, 2003/11/20 at 04:11:50 +0100, Thomas Moestl wrote: > I think I've found the reason for this; the attached patch works around it. > > The issue is that the chip does not set ATA_BMSTAT_INTERRUPT, even though > it is DMA-capable. My hackaround is to add an interrupt handler for the > CMD646 that does only check this bit if a DMA transfer is in progress, I should add that this was observed on a rev. 3 CMD646 (aka CMD646U). - Thomas -- Thomas Moestl http://www.tu-bs.de/~y0015675/ http://people.FreeBSD.org/~tmm/ PGP fingerprint: 1C97 A604 2BD0 E492 51D0 9C0F 1FE6 4F1D 419C 776C