Commit 46b674d1 authored by Catalin Marinas's avatar Catalin Marinas
Browse files

ARM: Implement read/write for ownership in the ARMv6 DMA cache ops



The Snoop Control Unit on the ARM11MPCore hardware does not detect the
cache operations and the DMA cache maintenance functions may leave stale
cache entries on other CPUs. The solution implemented in this patch
performs a Read or Write For Ownership in the ARMv6 DMA cache
maintenance functions. These LDR/STR instructions change the cache line
state to shared or exclusive so that the cache maintenance operation has
the desired effect.

The TO/FROM/BIDIRECTIONAL cases are now handled in the v6_dma_map_area()
function and v6_dma_unmap_area() becomes a no-op. The reason for this is
that cache invalidation overrides the data in the DMA buffer.

Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
parent 0988e8ef
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment