Date: Mon, 28 Dec 2009 14:05:26 +0100 From: Marius Strobl <marius@alchemy.franken.de> To: Andrew Belashov <bel@orel.ru> Cc: freebsd-sparc64@freebsd.org Subject: Re: busdma is not properly implemented on 8.0-RELEASE? Message-ID: <20091228130526.GA71522@alchemy.franken.de> In-Reply-To: <4B385F0C.3010508@orel.ru> References: <4B385F0C.3010508@orel.ru>
next in thread | previous in thread | raw e-mail | index | archive | help
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 > <http://www.freebsd.org/cgi/query-pr.cgi?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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20091228130526.GA71522>