lkml.org 
[lkml]   [2017]   [Nov]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [RFC PATCH 2/2] spi: atmel: Fix DMA transfers data corruption
On Wed, Nov 15, 2017 at 06:35:32PM +0200, Radu Pirea wrote:

> +#ifdef CONFIG_SOC_SAM_V4_V5
> + /*
> + * On Atmel SoCs based on ARM9 cores, the data cache follows the VIVT
> + * model, hence the cache aliases issue can occur when buffers are
> + * allocated from DMA-unsafe areas, by vmalloc() for instance, where
> + * cache coherency is not taken into account or at least not handled
> + * completely (cache lines of aliases are not flushed and invalidated).
> + * This is not a theorical issue: it was reproduced when trying to mount
> + * a UBI file-system on a at91sam9g35ek board.
> + */
> + flush_kernel_vmap_range((void *)xfer->rx_buf, xfer->len);
> +#endif

Shouldn't we be fixing this in the DMA mapping operations for the SoC,
won't this affect everything that does DMA on this platform and not just
this driver? I'd expect that dma_map_sg() and so on would do the right
thing.
[unhandled content-type:application/pgp-signature]
\
 
 \ /
  Last update: 2017-11-17 17:17    [W:0.057 / U:8.076 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site