From patchwork Tue Jan 18 14:10:27 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kristoffer Glembo X-Patchwork-Id: 79303 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 8EE8BB70A3 for ; Wed, 19 Jan 2011 01:11:15 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751610Ab1AROLN (ORCPT ); Tue, 18 Jan 2011 09:11:13 -0500 Received: from mail202c2.megamailservers.com ([69.49.111.103]:53921 "EHLO mail202c2.megamailservers.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751753Ab1AROLN (ORCPT ); Tue, 18 Jan 2011 09:11:13 -0500 X-Authenticated-User: kristoffer.gaisler.com Received: from localhost.localdomain (static-92-33-28-242.sme.bredbandsbolaget.se [92.33.28.242]) (authenticated bits=0) by mail202c2.megamailservers.com (8.13.6/8.13.1) with ESMTP id p0IEB1hY012843; Tue, 18 Jan 2011 09:11:08 -0500 From: Kristoffer Glembo To: sparclinux@vger.kernel.org Cc: sam@ravnborg.org, davem@davemloft.net Subject: [PATCH 4/6 V3] sparc/leon: Make mmu_inval_dma_area flush dcache for LEONs without snooping enabled. Date: Tue, 18 Jan 2011 15:10:27 +0100 Message-Id: <1295359829-27308-5-git-send-email-kristoffer@gaisler.com> X-Mailer: git-send-email 1.6.4.1 In-Reply-To: <1295359829-27308-1-git-send-email-kristoffer@gaisler.com> References: <1295359829-27308-1-git-send-email-kristoffer@gaisler.com> X-CSC: 0 X-CHA: v=1.1 cv=CDb0R4Z6TO0sOUMNi4VR3AiCY0jfodj/AVBUGp8lLvg= c=1 sm=1 a=uv9uLsnAYVwA:10 a=jXKJviUpWSOlMmIvGrHOfw==:17 a=ebG-ZW-8AAAA:8 a=_gx2c9sCDNnCxYk2wN8A:9 a=oC1ay8Yp9NNNkbeh2UTqP49fANwA:4 a=cCYF7-FHeg4A:10 a=jXKJviUpWSOlMmIvGrHOfw==:117 Sender: sparclinux-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: sparclinux@vger.kernel.org Signed-off-by: Kristoffer Glembo --- arch/sparc/kernel/ioport.c | 10 +++++++--- 1 files changed, 7 insertions(+), 3 deletions(-) diff --git a/arch/sparc/kernel/ioport.c b/arch/sparc/kernel/ioport.c index b817481..815003b 100644 --- a/arch/sparc/kernel/ioport.c +++ b/arch/sparc/kernel/ioport.c @@ -50,10 +50,14 @@ #include #include -#ifdef CONFIG_SPARC_LEON -#define mmu_inval_dma_area(p, l) leon_flush_dcache_all() -#else +#ifndef CONFIG_SPARC_LEON #define mmu_inval_dma_area(p, l) /* Anton pulled it out for 2.4.0-xx */ +#else +static inline void mmu_inval_dma_area(unsigned long va, unsigned long len) +{ + if (!sparc_leon3_snooping_enabled()) + leon_flush_dcache_all(); +} #endif static struct resource *_sparc_find_resource(struct resource *r,