[U-Boot] [PATCH] mtd: nand: denali: Replace the ad-hoc cache management with bouncebuf
Marek Vasut
marex at denx.de
Wed Jun 20 04:43:33 UTC 2018
On 06/19/2018 08:39 AM, Masahiro Yamada wrote:
> Hi Marek,
Hi,
> 2018-06-08 5:17 GMT+09:00 Marek Vasut <marex at denx.de>:
>> Replace the ad-hoc DMA cache management functions with common bouncebuf,
>> since those functions are not handling cases where unaligned buffer is
>> passed in,
>
>
> Were you hit by a problem,
> or just-in-case replacement?
Yes, UBI triggers unaligned cache operations on my system (SoCFPGA).
> I thought I took care of the buffer alignment.
>
> The bounce buffer is allocated by kmalloc():
> https://github.com/u-boot/u-boot/blob/v2018.05/drivers/mtd/nand/denali.c#L1348
>
> According to the lib/linux_compat.c implementation,
> it returns memory aligned with ARCH_DMA_MINALIGN.
>
>
> If the buffer is passed from the upper MTD layer,
> the NAND core also makes sure the enough alignment:
> https://github.com/u-boot/u-boot/blob/v2018.05/drivers/mtd/nand/denali.c#L1273
>
> This is how this driver works in Linux.
>
> I'd rather want to keep the current code
> unless this is a real problem,
>
>
> One possible clean-up is to move dma_(un)map_single to a common place.
Is there any chance you can try UBI on the denali nand on uniphier ? :)
--
Best regards,
Marek Vasut
More information about the U-Boot
mailing list