blob: f922eaf780f9be5c4863170efda01ae64d0ce77e [file] [log] [blame]
Ard Biesheuvel4cfb3612013-07-09 14:18:12 +01001/*
2 * linux/arch/arm64/include/asm/neon.h
3 *
4 * Copyright (C) 2013 Linaro Ltd <ard.biesheuvel@linaro.org>
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
9 */
10
Dave Martin0fc91792017-08-03 17:23:20 +010011#ifndef __ASM_NEON_H
12#define __ASM_NEON_H
13
Ard Biesheuvel190f1ca2014-02-24 15:26:29 +010014#include <linux/types.h>
Suzuki K Poulose82e01912016-11-08 13:56:21 +000015#include <asm/fpsimd.h>
Ard Biesheuvel190f1ca2014-02-24 15:26:29 +010016
Suzuki K Poulose82e01912016-11-08 13:56:21 +000017#define cpu_has_neon() system_supports_fpsimd()
Ard Biesheuvel4cfb3612013-07-09 14:18:12 +010018
Dave Martincb84d112017-08-03 17:23:23 +010019void kernel_neon_begin(void);
Ard Biesheuvel4cfb3612013-07-09 14:18:12 +010020void kernel_neon_end(void);
Dave Martin0fc91792017-08-03 17:23:20 +010021
Catalin Marinas174dfb12017-08-04 15:10:12 +010022/*
23 * Temporary macro to allow the crypto code to compile. Note that the
24 * semantics of kernel_neon_begin_partial() are now different from the
25 * original as it does not allow being called in an interrupt context.
26 */
27#define kernel_neon_begin_partial(num_regs) kernel_neon_begin()
28
Dave Martin0fc91792017-08-03 17:23:20 +010029#endif /* ! __ASM_NEON_H */