[PATCH V3 42/63] ST SPEAr: replace readl, writel with __raw_readl, __raw_writel in uncompress.h
stanley.miao
stanley.miao at windriver.com
Thu Jan 6 21:26:25 EST 2011
Viresh Kumar wrote:
> readl also calls outer cache maintainance operations
I use readl here on spear13xx. It works fine.
This is the definition of readl, could you tell me which code calls
outer cache maintainance ?
#define readl(c) ({ __u32 __v = le32_to_cpu((__force __le32) \
__raw_readl(__mem_pci(c))); __v; })
> which are not available
> during Linux uncompression. This patch replaces readl, writel with __raw_readl
> and __raw_writel.
>
I tried to make spear13xx working under big endian. The _raw_readl here
brought me a big trouble.
Stanley.
> Signed-off-by: Viresh Kumar <viresh.kumar at st.com>
> ---
> arch/arm/plat-spear/include/plat/uncompress.h | 4 ++--
> 1 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/arch/arm/plat-spear/include/plat/uncompress.h b/arch/arm/plat-spear/include/plat/uncompress.h
> index 99ba678..963aa5b 100644
> --- a/arch/arm/plat-spear/include/plat/uncompress.h
> +++ b/arch/arm/plat-spear/include/plat/uncompress.h
> @@ -24,10 +24,10 @@ static inline void putc(int c)
> {
> void __iomem *base = (void __iomem *)SPEAR_DBG_UART_BASE;
>
> - while (readl(base + UART01x_FR) & UART01x_FR_TXFF)
> + while (__raw_readl(base + UART01x_FR) & UART01x_FR_TXFF)
> barrier();
>
> - writel(c, base + UART01x_DR);
> + __raw_writel(c, base + UART01x_DR);
> }
>
> static inline void flush(void)
>
More information about the linux-arm-kernel
mailing list