From owner-freebsd-sparc64@FreeBSD.ORG Mon Dec 28 13:05:29 2009 Return-Path: Delivered-To: freebsd-sparc64@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EC2FA106568B for ; Mon, 28 Dec 2009 13:05:29 +0000 (UTC) (envelope-from marius@alchemy.franken.de) Received: from alchemy.franken.de (alchemy.franken.de [194.94.249.214]) by mx1.freebsd.org (Postfix) with ESMTP id 7F0CF8FC1D for ; Mon, 28 Dec 2009 13:05:29 +0000 (UTC) Received: from alchemy.franken.de (localhost [127.0.0.1]) by alchemy.franken.de (8.14.3/8.14.3/ALCHEMY.FRANKEN.DE) with ESMTP id nBSD5Q8T072739; Mon, 28 Dec 2009 14:05:27 +0100 (CET) (envelope-from marius@alchemy.franken.de) Received: (from marius@localhost) by alchemy.franken.de (8.14.3/8.14.3/Submit) id nBSD5QaO072738; Mon, 28 Dec 2009 14:05:26 +0100 (CET) (envelope-from marius) Date: Mon, 28 Dec 2009 14:05:26 +0100 From: Marius Strobl To: Andrew Belashov Message-ID: <20091228130526.GA71522@alchemy.franken.de> References: <4B385F0C.3010508@orel.ru> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4B385F0C.3010508@orel.ru> User-Agent: Mutt/1.4.2.3i Cc: freebsd-sparc64@freebsd.org Subject: Re: busdma is not properly implemented on 8.0-RELEASE? X-BeenThere: freebsd-sparc64@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to the Sparc List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 Dec 2009 13:05:30 -0000 On Mon, Dec 28, 2009 at 10:32:28AM +0300, Andrew Belashov wrote: > Hi, All! > > After upgrading from FreeBSD 7.2-RELEASE to 8.0-RELEASE there were > problems with USB. Related PR: usb/141918 > > > Hans Petter Selasky wrote: > "My guess for this issue is that the cache invalidate and cache flush > instructions are not properly implemented by busdma on your platform." > > How to check this guess? > You could try whether inserting a cache_flush(); in iommu_dvmamap_sync() makes a difference to this problem. What's already there should be more than enough to ensure coherency between the bus and the CPUs though, so if adding a cache flush actually makes a difference I think it's more likely that ehci(4) is abusing bus_dmamap_sync(9) to achieve things it's not intended to do but which work on some archs. Marius