File Index
Files and directories
Sign in
FILE

bits.h

File preview with syntax highlighting.

linux-6.19.14/drivers/staging/media/atomisp/pci/bits.h C
 1/* SPDX-License-Identifier: GPL-2.0 */
 2/*
 3 * Support for Intel Camera Imaging ISP subsystem.
 4 * Copyright (c) 2015, Intel Corporation.
 5 */
 6
 7#ifndef _HRT_BITS_H
 8#define _HRT_BITS_H
 9
10#include <linux/args.h>
11
12#define _hrt_ones(n)	CONCATENATE(_hrt_ones_, n)
13#define _hrt_ones_0x0  0x00000000U
14#define _hrt_ones_0x1  0x00000001U
15#define _hrt_ones_0x2  0x00000003U
16#define _hrt_ones_0x3  0x00000007U
17#define _hrt_ones_0x4  0x0000000FU
18#define _hrt_ones_0x5  0x0000001FU
19#define _hrt_ones_0x6  0x0000003FU
20#define _hrt_ones_0x7  0x0000007FU
21#define _hrt_ones_0x8  0x000000FFU
22#define _hrt_ones_0x9  0x000001FFU
23#define _hrt_ones_0xA  0x000003FFU
24#define _hrt_ones_0xB  0x000007FFU
25#define _hrt_ones_0xC  0x00000FFFU
26#define _hrt_ones_0xD  0x00001FFFU
27#define _hrt_ones_0xE  0x00003FFFU
28#define _hrt_ones_0xF  0x00007FFFU
29#define _hrt_ones_0x10 0x0000FFFFU
30#define _hrt_ones_0x11 0x0001FFFFU
31#define _hrt_ones_0x12 0x0003FFFFU
32#define _hrt_ones_0x13 0x0007FFFFU
33#define _hrt_ones_0x14 0x000FFFFFU
34#define _hrt_ones_0x15 0x001FFFFFU
35#define _hrt_ones_0x16 0x003FFFFFU
36#define _hrt_ones_0x17 0x007FFFFFU
37#define _hrt_ones_0x18 0x00FFFFFFU
38#define _hrt_ones_0x19 0x01FFFFFFU
39#define _hrt_ones_0x1A 0x03FFFFFFU
40#define _hrt_ones_0x1B 0x07FFFFFFU
41#define _hrt_ones_0x1C 0x0FFFFFFFU
42#define _hrt_ones_0x1D 0x1FFFFFFFU
43#define _hrt_ones_0x1E 0x3FFFFFFFU
44#define _hrt_ones_0x1F 0x7FFFFFFFU
45#define _hrt_ones_0x20 0xFFFFFFFFU
46
47#define _hrt_ones_0  _hrt_ones_0x0
48#define _hrt_ones_1  _hrt_ones_0x1
49#define _hrt_ones_2  _hrt_ones_0x2
50#define _hrt_ones_3  _hrt_ones_0x3
51#define _hrt_ones_4  _hrt_ones_0x4
52#define _hrt_ones_5  _hrt_ones_0x5
53#define _hrt_ones_6  _hrt_ones_0x6
54#define _hrt_ones_7  _hrt_ones_0x7
55#define _hrt_ones_8  _hrt_ones_0x8
56#define _hrt_ones_9  _hrt_ones_0x9
57#define _hrt_ones_10 _hrt_ones_0xA
58#define _hrt_ones_11 _hrt_ones_0xB
59#define _hrt_ones_12 _hrt_ones_0xC
60#define _hrt_ones_13 _hrt_ones_0xD
61#define _hrt_ones_14 _hrt_ones_0xE
62#define _hrt_ones_15 _hrt_ones_0xF
63#define _hrt_ones_16 _hrt_ones_0x10
64#define _hrt_ones_17 _hrt_ones_0x11
65#define _hrt_ones_18 _hrt_ones_0x12
66#define _hrt_ones_19 _hrt_ones_0x13
67#define _hrt_ones_20 _hrt_ones_0x14
68#define _hrt_ones_21 _hrt_ones_0x15
69#define _hrt_ones_22 _hrt_ones_0x16
70#define _hrt_ones_23 _hrt_ones_0x17
71#define _hrt_ones_24 _hrt_ones_0x18
72#define _hrt_ones_25 _hrt_ones_0x19
73#define _hrt_ones_26 _hrt_ones_0x1A
74#define _hrt_ones_27 _hrt_ones_0x1B
75#define _hrt_ones_28 _hrt_ones_0x1C
76#define _hrt_ones_29 _hrt_ones_0x1D
77#define _hrt_ones_30 _hrt_ones_0x1E
78#define _hrt_ones_31 _hrt_ones_0x1F
79#define _hrt_ones_32 _hrt_ones_0x20
80
81#define _hrt_mask(b, n) \
82  (_hrt_ones(n) << (b))
83#define _hrt_get_bits(w, b, n) \
84  (((w) >> (b)) & _hrt_ones(n))
85#define _hrt_set_bits(w, b, n, v) \
86  (((w) & ~_hrt_mask(b, n)) | (((v) & _hrt_ones(n)) << (b)))
87#define _hrt_get_bit(w, b) \
88  (((w) >> (b)) & 1)
89#define _hrt_set_bit(w, b, v) \
90  (((w) & (~(1 << (b)))) | (((v) & 1) << (b)))
91#define _hrt_set_lower_half(w, v) \
92  _hrt_set_bits(w, 0, 16, v)
93#define _hrt_set_upper_half(w, v) \
94  _hrt_set_bits(w, 16, 16, v)
95
96#endif /* _HRT_BITS_H */
~/ Read-only file preview.