Linux Audio

Check our new training course

Loading...
v4.6
 
 1#ifndef __ASM_SH_BL_BIT_32_H
 2#define __ASM_SH_BL_BIT_32_H
 3
 4static inline void set_bl_bit(void)
 5{
 6	unsigned long __dummy0, __dummy1;
 7
 8	__asm__ __volatile__ (
 9		"stc	sr, %0\n\t"
10		"or	%2, %0\n\t"
11		"and	%3, %0\n\t"
12		"ldc	%0, sr\n\t"
13		: "=&r" (__dummy0), "=r" (__dummy1)
14		: "r" (0x10000000), "r" (0xffffff0f)
15		: "memory"
16	);
17}
18
19static inline void clear_bl_bit(void)
20{
21	unsigned long __dummy0, __dummy1;
22
23	__asm__ __volatile__ (
24		"stc	sr, %0\n\t"
25		"and	%2, %0\n\t"
26		"ldc	%0, sr\n\t"
27		: "=&r" (__dummy0), "=r" (__dummy1)
28		: "1" (~0x10000000)
29		: "memory"
30	);
31}
32
33#endif /* __ASM_SH_BL_BIT_32_H */
v6.2
 1/* SPDX-License-Identifier: GPL-2.0 */
 2#ifndef __ASM_SH_BL_BIT_32_H
 3#define __ASM_SH_BL_BIT_32_H
 4
 5static inline void set_bl_bit(void)
 6{
 7	unsigned long __dummy0, __dummy1;
 8
 9	__asm__ __volatile__ (
10		"stc	sr, %0\n\t"
11		"or	%2, %0\n\t"
12		"and	%3, %0\n\t"
13		"ldc	%0, sr\n\t"
14		: "=&r" (__dummy0), "=r" (__dummy1)
15		: "r" (0x10000000), "r" (0xffffff0f)
16		: "memory"
17	);
18}
19
20static inline void clear_bl_bit(void)
21{
22	unsigned long __dummy0, __dummy1;
23
24	__asm__ __volatile__ (
25		"stc	sr, %0\n\t"
26		"and	%2, %0\n\t"
27		"ldc	%0, sr\n\t"
28		: "=&r" (__dummy0), "=r" (__dummy1)
29		: "1" (~0x10000000)
30		: "memory"
31	);
32}
33
34#endif /* __ASM_SH_BL_BIT_32_H */