Skip site navigation (1)Skip section navigation (2)
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>