aboutsummaryrefslogtreecommitdiff
path: root/drivers/misc/vexpress/arm-spc.c
diff options
context:
space:
mode:
authorNicolas Pitre <nicolas.pitre@linaro.org>2012-12-05 20:48:55 -0500
committerJon Medhurst <tixy@linaro.org>2013-04-29 09:43:15 +0100
commitb16af23be497bb00d4233677e3affe76caed6a7c (patch)
tree138972f835209d23cc2982fec7fbf00b48bbf779 /drivers/misc/vexpress/arm-spc.c
parentf6863ac8241d0a31fb70faaa09fbb5e3394304ef (diff)
downloadvexpress-lsk-b16af23be497bb00d4233677e3affe76caed6a7c.tar.gz
ARM: vexpress/spc: more cache flush
Not only the pointed data, but the pointer as well has to be flushed out of the cache. Signed-off-by: Nicolas Pitre <nico@linaro.org>
Diffstat (limited to 'drivers/misc/vexpress/arm-spc.c')
-rw-r--r--drivers/misc/vexpress/arm-spc.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/misc/vexpress/arm-spc.c b/drivers/misc/vexpress/arm-spc.c
index 0432e3d9506..5708bb35a10 100644
--- a/drivers/misc/vexpress/arm-spc.c
+++ b/drivers/misc/vexpress/arm-spc.c
@@ -673,7 +673,9 @@ static int vexpress_spc_init(void)
* cluster power-up/power-down. Make sure it reaches main memory:
*/
__cpuc_flush_dcache_area(info, sizeof *info);
+ __cpuc_flush_dcache_area(&info, sizeof info);
outer_clean_range(virt_to_phys(info), virt_to_phys(info + 1));
+ outer_clean_range(virt_to_phys(&info), virt_to_phys(&info + 1));
pr_info("vexpress_spc loaded at %p\n", info->baseaddr);
return 0;