Browse Source

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 <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>
Alex Elder 11 years ago
parent
commit
e80eef33f4
1 changed files with 5 additions and 5 deletions
  1. 5 5
      arch/arm/mach-bcm/bcm_kona_smc.c

+ 5 - 5
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)