Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 18 Dec 2012 20:44:11 +0100
From:      Hans Petter Selasky <hselasky@c2i.net>
To:        Andrew Turner <andrew@fubar.geek.nz>
Cc:        Oleksandr Tymoshenko <gonzo@freebsd.org>, freebsd-usb@freebsd.org
Subject:   Re: EHCI on armv6 with Write-Back caches
Message-ID:  <201212182044.11326.hselasky@c2i.net>
In-Reply-To: <20121219081229.383d9f41@fubar.geek.nz>
References:  <20121218204931.5322922d@fubar.geek.nz> <201212181306.44926.hselasky@c2i.net> <20121219081229.383d9f41@fubar.geek.nz>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tuesday 18 December 2012 20:12:29 Andrew Turner wrote:
> On Tue, 18 Dec 2012 13:06:44 +0100
> 
> Hans Petter Selasky <hselasky@c2i.net> wrote:
> > Hi Andrew,
> > 
> > > The BUS_DMA_COHERENT flag does nothing on armv6 as we need the cache
> > > enabled for atomic operations to work correctly and we would have to
> > > disable the cache on the entire page. This is acceptable behaviour
> > > from the description of the flag in the busdma man page.
> > 
> > Yes, but when I allocate memory from the USB stack, then I want that
> > memory to not be cached. It is simply not that useful to have that
> > memory cached. I didn't check the latest state of busdma, but if I'm
> > not mistaken, if the BUS_DMA_COHERENT flag is set on the DMA tag, the
> > flush/invalidate will simply return and do nothing. Maybe that is the
> > problem ...
> 
> The exact meaning of BUS_DMA_COHERENT depends on the architecture. The
> code is still required to call bus_dmamap_sync with a coherent map but
> when the flag is implemented the cost of the operation will be reduced.
> It doesn't guarantee the memory is uncached, it may be implemented that
> way but the USB code can't rely on it.
> 
> Andrew

The USB code doesn't rely on this flag. I'm wondering if BUSDMA by accident 
sets this flag, so that the cache sync ops are not called.

--HPS



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201212182044.11326.hselasky>