MALI: rockchip: upgrade DDK to r8p0-02rel0.
[firefly-linux-kernel-4.4.55.git] / drivers / gpu / arm / midgard / mali_kbase_smc.c
index 17455fe00d79d736fe81bef634b125d81bedcf4b..43175c85988fd000c1eec01de9828b7e6c17c1c6 100644 (file)
 static noinline u64 invoke_smc_fid(u64 function_id,
                u64 arg0, u64 arg1, u64 arg2)
 {
+       register u64 x0 asm("x0") = function_id;
+       register u64 x1 asm("x1") = arg0;
+       register u64 x2 asm("x2") = arg1;
+       register u64 x3 asm("x3") = arg2;
+
        asm volatile(
                        __asmeq("%0", "x0")
                        __asmeq("%1", "x1")
                        __asmeq("%2", "x2")
                        __asmeq("%3", "x3")
-                       "smc    #0\n"
-               : "+r" (function_id)
-               : "r" (arg0), "r" (arg1), "r" (arg2));
+                       "smc    #0\n"
+                       : "+r" (x0)
+                       : "r" (x1), "r" (x2), "r" (x3));
 
-       return function_id;
+       return x0;
 }
 
 u64 kbase_invoke_smc_fid(u32 fid, u64 arg0, u64 arg1, u64 arg2)