Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef _ASM_SIMD_H
3#define _ASM_SIMD_H
4
5#include <linux/cleanup.h>
6#include <linux/compiler_attributes.h>
7#include <linux/preempt.h>
8#include <linux/types.h>
9
10#include <asm/neon.h>
11
12static __must_check inline bool may_use_simd(void)
13{
14 return IS_ENABLED(CONFIG_KERNEL_MODE_NEON) && !in_hardirq()
15 && !irqs_disabled();
16}
17
18DEFINE_LOCK_GUARD_0(ksimd, kernel_neon_begin(), kernel_neon_end())
19
20#define scoped_ksimd() scoped_guard(ksimd)
21
22#endif /* _ASM_SIMD_H */