From patchwork Thu Sep 17 23:06:57 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Bottomley X-Patchwork-Id: 48418 X-Patchwork-Delegate: kyle@mcmartin.ca Received: from vger.kernel.org (vger.kernel.org [209.132.176.167]) by demeter.kernel.org (8.14.2/8.14.2) with ESMTP id n8HN7X47002998 for ; Thu, 17 Sep 2009 23:07:33 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753765AbZIQXHY (ORCPT ); Thu, 17 Sep 2009 19:07:24 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1753681AbZIQXHY (ORCPT ); Thu, 17 Sep 2009 19:07:24 -0400 Received: from cantor.suse.de ([195.135.220.2]:40299 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751194AbZIQXHU (ORCPT ); Thu, 17 Sep 2009 19:07:20 -0400 Received: from relay2.suse.de (relay-ext.suse.de [195.135.221.8]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.suse.de (Postfix) with ESMTP id 14ACE8FEA2; Fri, 18 Sep 2009 01:07:24 +0200 (CEST) From: James Bottomley To: linux-arch@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-parisc@vger.kernel.org Cc: Russell King , Christoph Hellwig , Paul Mundt , James Bottomley , James Bottomley Subject: [PATCH 2/6] parisc: add mm API for DMA to vmalloc/vmap areas Date: Thu, 17 Sep 2009 18:06:57 -0500 Message-Id: <1253228821-4700-3-git-send-email-James.Bottomley@suse.de> X-Mailer: git-send-email 1.6.3.3 In-Reply-To: <1253228821-4700-2-git-send-email-James.Bottomley@suse.de> References: <1253228821-4700-1-git-send-email-James.Bottomley@suse.de> <1253228821-4700-2-git-send-email-James.Bottomley@suse.de> Sender: linux-parisc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-parisc@vger.kernel.org From: James Bottomley We already have an API to flush a kernel page along an alias address, so use it. The TLB purge prevents the CPU from doing speculative moveins on the flushed address, so we don't need to implement and invalidate. Signed-off-by: James Bottomley --- arch/parisc/include/asm/cacheflush.h | 8 ++++++++ 1 files changed, 8 insertions(+), 0 deletions(-) diff --git a/arch/parisc/include/asm/cacheflush.h b/arch/parisc/include/asm/cacheflush.h index 7243951..2536a00 100644 --- a/arch/parisc/include/asm/cacheflush.h +++ b/arch/parisc/include/asm/cacheflush.h @@ -90,6 +90,14 @@ static inline void flush_kernel_dcache_page(struct page *page) { flush_kernel_dcache_page_addr(page_address(page)); } +static inline void flush_kernel_dcache_addr(void *addr) +{ + flush_kernel_dcache_page_addr(addr); +} +static inline void invalidate_kernel_dcache_addr(void *addr) +{ + /* nop .. the flush prevents move in until the page is touched */ +} #ifdef CONFIG_DEBUG_RODATA void mark_rodata_ro(void);