Re: [PATCH 1/2] mtd: atmel_nand: use __iowrite32_copy for 32 bitcopy

From: Josh Wu
Date: Wed Oct 22 2014 - 03:35:42 EST


Hi,

On 10/21/2014 6:35 PM, Vinod Koul wrote:
On Tue, Oct 21, 2014 at 12:20:06PM +0200, Herve Codina wrote:
Hi,
Please don't top post
I didn't go deeper in atmel_nand.c code to see other accesses but old
copy use writel_relaxed which is a macro to __raw_writel((__force u32)
cpu_to_le32(v),c)

__iowrite32_copy use directly __raw_writel(*src++, dst++)

So we skip cpu_to_le32. Is it ok for all system using atmel_nand ?
Also would be a good question if we need barriers as __iowrite32_copy()
doesn't guarantee any ordering.


Just diving the code, I found the atmel-nand code use this function to transfer write these buffer to NFC sram.
And the NFC sram is not io space.
Also there should has no issue in barriers as it is in a SRAM.

So I think right way is use memcpy function to replace the ioread32/iowrite32. Since we use them for SRAM transfer not IO.
I'll prepare a new patch which do above replace.

Best Regards,
Josh Wu
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/