summaryrefslogtreecommitdiffstats
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
committerArd Biesheuvel <ard.biesheuvel@linaro.org>2014-05-08 11:31:57 +0200
commit190f1ca85d071114930dd7abe6b5d103e9d5572f (patch)
tree27344d61659e775df00892c8a13ae2473aad29b1 /arch/arm64/include/asm/neon.h
parent005f78cd88494457ed38ce817f4e3fe5d372f0cb (diff)
downloadtalos-obmc-linux-190f1ca85d071114930dd7abe6b5d103e9d5572f.tar.gz
talos-obmc-linux-190f1ca85d071114930dd7abe6b5d103e9d5572f.zip
arm64: add support for kernel mode NEON in interrupt context
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>
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);
OpenPOWER on IntegriCloud