Lines Matching +full:chip +full:- +full:relative

1 /* SPDX-License-Identifier: GPL-2.0-or-later */
24 * 'long long' (64-bit integer) support.
33 * for chip features only present in certain chip revisions.
35 * SIBYTE_HDR_FEATURES may be defined to be the mask value chip/revision
43 * Generate defines only for that revision of chip.
45 * #if SIBYTE_HDR_FEATURE(chip,pass)
48 * that particular chip type are enabled in SIBYTE_HDR_FEATURES.
52 * Note that there is no implied ordering between chip types.
54 * Note also that 'chip' and 'pass' must textually exactly
59 * #if SIBYTE_HDR_FEATURE_UP_TO(chip,pass)
62 * and earlier revisions of the named chip type.
64 * #if SIBYTE_HDR_FEATURE_EXACT(chip,pass)
67 * revision of the named chip type. (Note that this CANNOT
69 * particular chip/revision. It will be true any time this
70 * chip/revision is included in SIBYTE_HDR_FEATURES.)
72 * #if SIBYTE_HDR_FEATURE_CHIP(chip)
74 * True if header features for (any revision of) that chip type
76 * #defines for features specific to a given chip type.)
79 * chip type, but can be renumbered at will. Note that they MUST fit
81 * CPP conditionals. Bit positions within chip types DO indicate
97 /* Bit mask for chip/revision. (use _ALL for all revisions of a chip). */
98 #define SIBYTE_HDR_FMASK(chip, pass) \ argument
99 (SIBYTE_HDR_FMASK_ ## chip ## _ ## pass)
100 #define SIBYTE_HDR_FMASK_ALLREVS(chip) \ argument
101 (SIBYTE_HDR_FMASK_ ## chip ## _ALL)
120 /* Bit mask for revisions of chip exclusively before the named revision. */
121 #define SIBYTE_HDR_FMASK_BEFORE(chip, pass) \ argument
122 ((SIBYTE_HDR_FMASK(chip, pass) - 1) & SIBYTE_HDR_FMASK_ALLREVS(chip))
124 /* Bit mask for revisions of chip exclusively after the named revision. */
125 #define SIBYTE_HDR_FMASK_AFTER(chip, pass) \ argument
126 (~(SIBYTE_HDR_FMASK(chip, pass) \
127 | (SIBYTE_HDR_FMASK(chip, pass) - 1)) & SIBYTE_HDR_FMASK_ALLREVS(chip))
130 /* True if header features enabled for (any revision of) that chip type. */
131 #define SIBYTE_HDR_FEATURE_CHIP(chip) \ argument
132 (!! (SIBYTE_HDR_FMASK_ALLREVS(chip) & SIBYTE_HDR_FEATURES))
141 #define SIBYTE_HDR_FEATURE(chip, pass) \ argument
142 (!! ((SIBYTE_HDR_FMASK(chip, pass) \
143 | SIBYTE_HDR_FMASK_AFTER(chip, pass)) & SIBYTE_HDR_FEATURES))
146 #define SIBYTE_HDR_FEATURE_EXACT(chip, pass) \ argument
147 (!! (SIBYTE_HDR_FMASK(chip, pass) & SIBYTE_HDR_FEATURES))
150 #define SIBYTE_HDR_FEATURE_UP_TO(chip, pass) \ argument
151 (!! ((SIBYTE_HDR_FMASK(chip, pass) \
152 | SIBYTE_HDR_FMASK_BEFORE(chip, pass)) & SIBYTE_HDR_FEATURES))
159 * For multi-bit fields, all bits in the field will
162 * K_xxx "Code" constant (value for data in a multi-bit
178 * R_xxx RELATIVE offset constant. This is an offset from
182 * G_xxx(X) GET value. This macro obtains a multi-bit field
196 * Cast to 64-bit number. Presumably the syntax is different in
222 #define _SB_MAKEMASK(v, n) (_SB_MAKE64((_SB_MAKE64(1)<<(v))-1) << _SB_MAKE64(n))
223 #define _SB_MAKEMASK_32(v, n) (_SB_MAKE32((_SB_MAKE32(1)<<(v))-1) << _SB_MAKE32(n))
236 * Macros to read/write on-chip registers