Module Name: src Committed By: hsuenaga Date: Fri Apr 17 13:43:55 UTC 2015
Modified Files: src/sys/arch/arm/marvell: armadaxp.c Log Message: sync L2 cache on the tail of region. To generate a diff of this commit: cvs rdiff -u -r1.10 -r1.11 src/sys/arch/arm/marvell/armadaxp.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/arm/marvell/armadaxp.c diff -u src/sys/arch/arm/marvell/armadaxp.c:1.10 src/sys/arch/arm/marvell/armadaxp.c:1.11 --- src/sys/arch/arm/marvell/armadaxp.c:1.10 Wed Apr 15 12:11:31 2015 +++ src/sys/arch/arm/marvell/armadaxp.c Fri Apr 17 13:43:55 2015 @@ -1,4 +1,4 @@ -/* $NetBSD: armadaxp.c,v 1.10 2015/04/15 12:11:31 hsuenaga Exp $ */ +/* $NetBSD: armadaxp.c,v 1.11 2015/04/17 13:43:55 hsuenaga Exp $ */ /******************************************************************************* Copyright (C) Marvell International Ltd. and its affiliates @@ -37,7 +37,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBI *******************************************************************************/ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: armadaxp.c,v 1.10 2015/04/15 12:11:31 hsuenaga Exp $"); +__KERNEL_RCSID(0, "$NetBSD: armadaxp.c,v 1.11 2015/04/17 13:43:55 hsuenaga Exp $"); #define _INTR_PRIVATE @@ -503,7 +503,7 @@ armadaxp_sdcache_inv_range(vaddr_t va, p paddr_t pa_base, pa_end; pa_base = pa & ~0x1f; - pa_end = (pa_base + sz) & ~0x1f; + pa_end = (pa_base + sz + 0x20) & ~0x1f; L2_WRITE(ARMADAXP_L2_RANGE_BASE, pa_base); L2_WRITE(ARMADAXP_L2_INV_RANGE, pa_end); } @@ -514,7 +514,7 @@ armadaxp_sdcache_wb_range(vaddr_t va, pa paddr_t pa_base, pa_end; pa_base = pa & ~0x1f; - pa_end = (pa_base + sz) & ~0x1f; + pa_end = (pa_base + sz + 0x20) & ~0x1f; L2_WRITE(ARMADAXP_L2_RANGE_BASE, pa_base); L2_WRITE(ARMADAXP_L2_WB_RANGE, pa_end); L2_WRITE(ARMADAXP_L2_SYNC, 0); @@ -527,7 +527,7 @@ armadaxp_sdcache_wbinv_range(vaddr_t va, paddr_t pa_base, pa_end; pa_base = pa & ~0x1f; - pa_end = (pa_base + sz) & ~0x1f; + pa_end = (pa_base + sz + 0x20) & ~0x1f; L2_WRITE(ARMADAXP_L2_RANGE_BASE, pa_base); L2_WRITE(ARMADAXP_L2_WBINV_RANGE, pa_end); L2_WRITE(ARMADAXP_L2_SYNC, 0);