arm64: asm: relaxed.h: defined relaxed.h
Sumit Singh [Fri, 18 Apr 2014 14:49:46 +0000 (19:49 +0530)]
Defined a new header file relaxed.h, which contains
arm64 specific macros which will be used to improve
power efficiency of arm64.

bug 1440421

Change-Id: Iee14115490cb16001d5eac9e309ee6e088b88f44
Signed-off-by: Sumit Singh <sumsingh@nvidia.com>
Reviewed-on: http://git-master/r/398323
(cherry picked from commit beb69cd6d2893c36712d4f927e41da0de729d651)
Reviewed-on: http://git-master/r/422212
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>

arch/arm64/include/asm/relaxed.h [new file with mode: 0644]

diff --git a/arch/arm64/include/asm/relaxed.h b/arch/arm64/include/asm/relaxed.h
new file mode 100644 (file)
index 0000000..08a2179
--- /dev/null
@@ -0,0 +1,33 @@
+/*
+ * arm64/include/asm/relaxed.h
+ *
+ * Copyright (c) 2014 NVIDIA Corporation. All rights reserved.
+ * This software is licensed under the terms of the GNU General Public
+ * License version 2, as published by the Free Software Foundation, and
+ * may be copied, distributed, and modified under those terms.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+#ifndef _ASM_RELAXED_H_
+#define _ASM_RELAXED_H_
+
+#include <asm/atomic.h>
+
+#ifndef cpu_relaxed_read_short
+#define cpu_relaxed_read_short(p)      ldax16(p)
+#endif
+
+#ifndef cpu_relaxed_read
+#define cpu_relaxed_read(p)            ldax32(p)
+#endif
+
+#ifndef cpu_relaxed_read_long
+#define cpu_relaxed_read_long(p)       ldax64((u64 *)p)
+#endif
+
+#include <asm-generic/relaxed.h>
+#endif /*_ASM_RELAXED_H_*/