190f1ca85d
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>
18 lines
489 B
C
18 lines
489 B
C
/*
|
|
* linux/arch/arm64/include/asm/neon.h
|
|
*
|
|
* Copyright (C) 2013 Linaro Ltd <ard.biesheuvel@linaro.org>
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License version 2 as
|
|
* published by the Free Software Foundation.
|
|
*/
|
|
|
|
#include <linux/types.h>
|
|
|
|
#define cpu_has_neon() (1)
|
|
|
|
#define kernel_neon_begin() kernel_neon_begin_partial(32)
|
|
|
|
void kernel_neon_begin_partial(u32 num_regs);
|
|
void kernel_neon_end(void);
|