From: Max Filippov Date: Sat, 24 Nov 2012 02:22:08 +0000 (+0400) Subject: xtensa: fix mb and wmb definitions X-Git-Tag: upstream/snapshot3+hdmi~6001^2~14 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=599bf77a0d0b253dd94fd058275b05520c6d25db;p=platform%2Fadaptation%2Frenesas_rcar%2Frenesas_kernel.git xtensa: fix mb and wmb definitions Define mb and wmb as memw to force memory barrier. Signed-off-by: Max Filippov Signed-off-by: Chris Zankel --- diff --git a/arch/xtensa/include/asm/barrier.h b/arch/xtensa/include/asm/barrier.h index 55707a8..ef02167 100644 --- a/arch/xtensa/include/asm/barrier.h +++ b/arch/xtensa/include/asm/barrier.h @@ -3,7 +3,7 @@ * License. See the file "COPYING" in the main directory of this archive * for more details. * - * Copyright (C) 2001 - 2005 Tensilica Inc. + * Copyright (C) 2001 - 2012 Tensilica Inc. */ #ifndef _XTENSA_SYSTEM_H @@ -12,8 +12,8 @@ #define smp_read_barrier_depends() do { } while(0) #define read_barrier_depends() do { } while(0) -#define mb() barrier() -#define rmb() mb() +#define mb() ({ __asm__ __volatile__("memw" : : : "memory"); }) +#define rmb() barrier() #define wmb() mb() #ifdef CONFIG_SMP