Date: Tue, 22 Oct 2013 18:34:42 -0600 From: Ian Lepore <ian@FreeBSD.org> To: Olivier Houchard <cognet@FreeBSD.org> Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org Subject: Re: svn commit: r256943 - head/sys/arm/xscale/ixp425 Message-ID: <1382488482.92499.199.camel@revolution.hippie.lan> In-Reply-To: <201310222151.r9MLp7lL066168@svn.freebsd.org> References: <201310222151.r9MLp7lL066168@svn.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 2013-10-22 at 21:51 +0000, Olivier Houchard wrote: > Author: cognet > Date: Tue Oct 22 21:51:07 2013 > New Revision: 256943 > URL: http://svnweb.freebsd.org/changeset/base/256943 > > Log: > - Use bus_dmamap_unload(), it is not optional. > - The new allocator won't return coherent memory for any size > PAGE_SIZE, > so don't assume we have coherent memory, and explicitely use > bus_dmamap_sync(). > > Modified: > head/sys/arm/xscale/ixp425/if_npe.c > [snip] Whoa, not true! If you ask for BUS_DMA_COHERENT memory on arm you are g'teed to get uncached memory. If the size you ask for is under one page it comes from the uma allocator, if you want a page or more it comes from either kmem_alloc_attr() or kmem_alloc_contig() using the VM_MEMATTR_UNCACHEABLE flag, which is handled in arm/pmap[-v6].c by turning off the cache and buffered bits on the pages. -- Ian
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1382488482.92499.199.camel>