aboutsummaryrefslogtreecommitdiff
path: root/arch/arm64/include/asm/neon.h
diff options
context:
space:
mode:
authorArd Biesheuvel <ard.biesheuvel@linaro.org>2014-02-24 15:26:29 +0100
committerMark Brown <broonie@linaro.org>2014-06-19 12:34:28 +0100
commit92732accb6c99d8a0ae32897f04e0711962c40cc (patch)
treef97b09f812b9477f38e671fd7de9a154b4b8acf5 /arch/arm64/include/asm/neon.h
parent8ec3883b5accf54406952962e09fd5db0fae8ecc (diff)
arm64: add support for kernel mode NEON in interrupt contextv3.10/topic/arm64-fpsimd
This patch modifies kernel_neon_begin() and kernel_neon_end(), so they may be called from any context. To address the case where only a couple of registers are needed, kernel_neon_begin_partial(u32) is introduced which takes as a parameter the number of bottom 'n' NEON q-registers required. To mark the end of such a partial section, the regular kernel_neon_end() should be used. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> (cherry picked from commit 190f1ca85d071114930dd7abe6b5d103e9d5572f) Signed-off-by: Mark Brown <broonie@linaro.org>
Diffstat (limited to 'arch/arm64/include/asm/neon.h')
-rw-r--r--arch/arm64/include/asm/neon.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/arm64/include/asm/neon.h b/arch/arm64/include/asm/neon.h
index b0cc58a97780..13ce4cc18e26 100644
--- a/arch/arm64/include/asm/neon.h
+++ b/arch/arm64/include/asm/neon.h
@@ -8,7 +8,11 @@
* published by the Free Software Foundation.
*/
+#include <linux/types.h>
+
#define cpu_has_neon() (1)
-void kernel_neon_begin(void);
+#define kernel_neon_begin() kernel_neon_begin_partial(32)
+
+void kernel_neon_begin_partial(u32 num_regs);
void kernel_neon_end(void);