OSDN Git Service

ARM: bcm: use memory accessors for ioremapped area
authorAlex Elder <elder@linaro.org>
Mon, 21 Apr 2014 21:53:02 +0000 (16:53 -0500)
committerMatt Porter <mporter@linaro.org>
Fri, 25 Apr 2014 12:51:31 +0000 (08:51 -0400)
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 <elder@linaro.org>
Reviewed-by: Tim Kryger <tim.kryger@linaro.org>
Reviewed-by: Markus Mayer <markus.mayer@linaro.org>
Reviewed-by: Matt Porter <mporter@linaro.org>
Signed-off-by: Matt Porter <mporter@linaro.org>
arch/arm/mach-bcm/bcm_kona_smc.c

index 5e31e91..d881c72 100644 (file)
@@ -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)