Re: [PATCH v2 19/35] nds32: L2 cache support

From: Greentime Hu
Date: Wed Nov 29 2017 - 06:54:25 EST


Hi, Arnd:

2017-11-27 22:33 GMT+08:00 Arnd Bergmann <arnd@xxxxxxxx>:
> On Mon, Nov 27, 2017 at 1:28 PM, Greentime Hu <green.hu@xxxxxxxxx> wrote:
>> +
>> +#define L2C_R_REG(offset) __raw_readl(atl2c_base + offset)
>> +#define L2C_W_REG(offset, value) __raw_writel(value, atl2c_base + offset)
>
> __raw_readl() is generally not endian-safe, and might not have the barriers you
> require here. Could you use readl/writel here, and only fall back to
> readl_relaxed()/writel_relaxed() when you absolutely must avoid the barriers?

Thanks for your suggestions.
We will changed it to readl/writel

>> diff --git a/arch/nds32/kernel/atl2c.c b/arch/nds32/kernel/atl2c.c
>> new file mode 100644
>> index 0000000..dd87fc9
>> --- /dev/null
>> +++ b/arch/nds32/kernel/atl2c.c
>> +#include <linux/compiler.h>
>> +#include <linux/of_address.h>
>> +#include <linux/of_fdt.h>
>> +#include <linux/of_platform.h>
>> +#include <asm/l2_cache.h>
>
> If this is the only file that includes asm/l2_cache.h, then I'd simply
> move the entire
> contents in here, rather than having a separate file in the global namespace.
>

arch/nds32/mm/proc.c also includes this file so I will keep it.