From mboxrd@z Thu Jan 1 00:00:00 1970 From: James Bottomley Subject: Re: [PATCH 1/5] mm: add coherence API for DMA to vmalloc/vmap areas Date: Wed, 09 Sep 2009 09:34:38 -0500 Message-ID: <1252506878.3918.32.camel@mulgrave.site> References: <1252434469.13003.3.camel@mulgrave.site> <20090908190031.GF6538@flint.arm.linux.org.uk> <1252437112.13003.39.camel@mulgrave.site> <20090908201619.GG6538@flint.arm.linux.org.uk> <1252442352.13003.132.camel@mulgrave.site> <20090908213910.GH6538@flint.arm.linux.org.uk> <1252466070.13003.365.camel@mulgrave.site> <1252466226.13003.367.camel@mulgrave.site> <1252466601.13003.374.camel@mulgrave.site> <20090909033532.GD23049@linux-sh.org> Mime-Version: 1.0 Content-Type: text/plain Content-Transfer-Encoding: 7bit Cc: Russell King , Parisc List , Linux Filesystem Mailing List , linux-arch@vger.kernel.org, Christoph Hellwig To: Paul Mundt Return-path: In-Reply-To: <20090909033532.GD23049@linux-sh.org> Sender: linux-parisc-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org On Wed, 2009-09-09 at 12:35 +0900, Paul Mundt wrote: > And here I thought it was a new gcc construct along the lines of > inline-if-so-inclined.. :-) Actually, I missed the fact that sh also sets ARCH_HAS_FLUSH_KERNEL_DCACHE_PAGE, so you'll need implementations of these functions too. Does this look right? James --- diff --git a/arch/sh/include/asm/cacheflush.h b/arch/sh/include/asm/cacheflush.h index 4c5462d..db06611 100644 --- a/arch/sh/include/asm/cacheflush.h +++ b/arch/sh/include/asm/cacheflush.h @@ -48,6 +48,14 @@ static inline void flush_kernel_dcache_page(struct page *page) { flush_dcache_page(page); } +static inline void flush_kernel_dcache_addr(void *addr) +{ + __flush_invalidate_region(addr, PAGE_SIZE); +} +static inline void invalidate_kernel_dcache_addr(void *addr) +{ + __flush_invalidate_region(addr, PAGE_SIZE); +} #if defined(CONFIG_CPU_SH4) && !defined(CONFIG_CACHE_OFF) extern void copy_to_user_page(struct vm_area_struct *vma,