From: Alex Elder Date: Mon, 21 Apr 2014 21:53:02 +0000 (-0500) Subject: ARM: bcm: use memory accessors for ioremapped area X-Git-Tag: firefly_0821_release~176^2~3465^2~48^2~6^2~9 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=e80eef33f4596a247fdcf7d67d54d95d9dfaf7d3;p=firefly-linux-kernel-4.4.55.git ARM: bcm: use memory accessors for ioremapped area The pointer used to pass parameters to an "smc" call is produced through a call to ioremap(). As such, we should be using functions like writel() to access it. Signed-off-by: Alex Elder Reviewed-by: Tim Kryger Reviewed-by: Markus Mayer Reviewed-by: Matt Porter Signed-off-by: Matt Porter --- diff --git a/arch/arm/mach-bcm/bcm_kona_smc.c b/arch/arm/mach-bcm/bcm_kona_smc.c index 5e31e918f325..d881c72ee878 100644 --- a/arch/arm/mach-bcm/bcm_kona_smc.c +++ b/arch/arm/mach-bcm/bcm_kona_smc.c @@ -79,11 +79,11 @@ static void __bcm_kona_smc(void *info) /* Check map in the bounce area */ BUG_ON(!bridge_data.initialized); - /* Copy one 32 bit word into the bounce area */ - args[0] = data->arg0; - args[1] = data->arg1; - args[2] = data->arg2; - args[3] = data->arg3; + /* Copy the four 32 bit argument values into the bounce area */ + writel_relaxed(data->arg0, args++); + writel_relaxed(data->arg1, args++); + writel_relaxed(data->arg2, args++); + writel(data->arg3, args); /* Flush caches for input data passed to Secure Monitor */ if (data->service_id != SSAPI_BRCM_START_VC_CORE)