diff options
author | Sam Nelson <sam.nelson@ti.com> | 2016-09-07 14:06:49 -0400 |
---|---|---|
committer | Sam Nelson <sam.nelson@ti.com> | 2016-09-07 14:09:57 -0400 |
commit | 4bf8dab36a000a6819c11ad2d3887ff3ebc180c4 (patch) | |
tree | 24c472013665dc1637d752ed0dac608272aa3c36 | |
parent | fbecb054f816673175b3bb0888e5eaaa7e6f5f14 (diff) | |
download | linuxutils-4bf8dab36a000a6819c11ad2d3887ff3ebc180c4.tar.gz |
cmemk: UPdate cache wb and invalidate function.4.12.00.00_eng
- Found that __cpuc_flush_dcache_area doesnot work properly: Needed to
be replaced by dmac_map_area
- Other minor spacing issues fixed.
Signed-off-by: Sam Nelson <sam.nelson@ti.com>
-rw-r--r-- | src/cmem/module/cmemk.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/cmem/module/cmemk.c b/src/cmem/module/cmemk.c index dc01f02..84e3bcd 100644 --- a/src/cmem/module/cmemk.c +++ b/src/cmem/module/cmemk.c @@ -1703,9 +1703,9 @@ alloc: switch (cmd & ~CMEM_IOCMAGIC) { case CMEM_IOCCACHEWB: - dmac_map_area(virtp, block.size, DMA_TO_DEVICE); outer_clean_range(physp, physp + block.size); + __D("CACHEWB: cleaned user virtual 0x%p -> 0x%p\n", virtp, virtp_end); @@ -1714,14 +1714,16 @@ alloc: case CMEM_IOCCACHEINV: outer_inv_range(physp, physp + block.size); dmac_map_area(virtp, block.size, DMA_FROM_DEVICE); + __D("CACHEINV: invalidated user virtual 0x%p -> 0x%p\n", virtp, virtp_end); break; case CMEM_IOCCACHEWBINV: - __cpuc_flush_dcache_area(virtp, size); + dmac_map_area(virtp, block.size, DMA_BIDIRECTIONAL); outer_flush_range(physp, physp + block.size); + __D("CACHEWBINV: flushed user virtual 0x%p -> 0x%p\n", virtp, virtp_end); @@ -2888,4 +2890,4 @@ v7_dma_unmap_area:\n \ #endif /* !defined(MULTI_CACHE) */ -#endif /* dmac_map_range */
\ No newline at end of file +#endif /* dmac_map_range */ |