ARM: tegra: add "memory" to clobber list
Peter De Schrijver [Thu, 14 Feb 2013 10:41:59 +0000 (12:41 +0200)]
The inline asm needs "memory" in its clobber list to prevent gcc from caching
the mcr read too agressively.

Bug 1207116

Change-Id: Ia93e8115b9bd8bf0539e7b7d55ffeda2efc0e7e6
Signed-off-by: Peter De Schrijver <pdeschrijver@nvidia.com>
Reviewed-on: http://git-master/r/200751
Reviewed-by: Antti Miettinen <amiettinen@nvidia.com>
Reviewed-by: Bo Yan <byan@nvidia.com>
GVS: Gerrit_Virtual_Submit
Reviewed-by: Juha Tukkinen <jtukkinen@nvidia.com>

arch/arm/mach-tegra/pm.h

index bffefa3..fafcf96 100644 (file)
@@ -159,7 +159,7 @@ static inline unsigned int is_lp_cluster(void)
            "ubfx       %0, %0, #8, #4"
            : "=r" (reg)
            :
-           : "cc");
+           : "cc","memory");
        return reg ; /* 0 == G, 1 == LP*/
 #endif
 }