Lines Matching full:high
53 /* High bit number of the specified field */
112 * Extract bit field portion [low,high) from the native-endian element
115 * For example, suppose "element" represents the high 32 bits of a
124 * [0,high-low), with garbage in bits [high-low+1,...).
126 #define EFX_EXTRACT_NATIVE(native_element, min, max, low, high) \ argument
127 ((low) > (max) || (high) < (min) ? 0 : \
133 * Extract bit field portion [low,high) from the 64-bit little-endian
136 #define EFX_EXTRACT64(element, min, max, low, high) \ argument
137 EFX_EXTRACT_NATIVE(le64_to_cpu(element), min, max, low, high)
140 * Extract bit field portion [low,high) from the 32-bit little-endian
143 #define EFX_EXTRACT32(element, min, max, low, high) \ argument
144 EFX_EXTRACT_NATIVE(le32_to_cpu(element), min, max, low, high)
146 #define EFX_EXTRACT_OWORD64(oword, low, high) \ argument
147 ((EFX_EXTRACT64((oword).u64[0], 0, 63, low, high) | \
148 EFX_EXTRACT64((oword).u64[1], 64, 127, low, high)) & \
149 EFX_MASK64((high) + 1 - (low)))
151 #define EFX_EXTRACT_QWORD64(qword, low, high) \ argument
152 (EFX_EXTRACT64((qword).u64[0], 0, 63, low, high) & \
153 EFX_MASK64((high) + 1 - (low)))
155 #define EFX_EXTRACT_OWORD32(oword, low, high) \ argument
156 ((EFX_EXTRACT32((oword).u32[0], 0, 31, low, high) | \
157 EFX_EXTRACT32((oword).u32[1], 32, 63, low, high) | \
158 EFX_EXTRACT32((oword).u32[2], 64, 95, low, high) | \
159 EFX_EXTRACT32((oword).u32[3], 96, 127, low, high)) & \
160 EFX_MASK32((high) + 1 - (low)))
162 #define EFX_EXTRACT_QWORD32(qword, low, high) \ argument
163 ((EFX_EXTRACT32((qword).u32[0], 0, 31, low, high) | \
164 EFX_EXTRACT32((qword).u32[1], 32, 63, low, high)) & \
165 EFX_MASK32((high) + 1 - (low)))
167 #define EFX_EXTRACT_DWORD(dword, low, high) \ argument
168 (EFX_EXTRACT32((dword).u32[0], 0, 31, low, high) & \
169 EFX_MASK32((high) + 1 - (low)))
242 * Creates the portion of the bit field [low,high) that lies within
245 #define EFX_INSERT_NATIVE64(min, max, low, high, value) \ argument
246 (((low > max) || (high < min)) ? 0 : \
251 #define EFX_INSERT_NATIVE32(min, max, low, high, value) \ argument
252 (((low > max) || (high < min)) ? 0 : \
257 #define EFX_INSERT_NATIVE(min, max, low, high, value) \ argument
258 ((((max - min) >= 32) || ((high - low) >= 32)) ? \
259 EFX_INSERT_NATIVE64(min, max, low, high, value) : \
260 EFX_INSERT_NATIVE32(min, max, low, high, value))
445 #define EFX_INSERT64(min, max, low, high, value) \ argument
446 cpu_to_le64(EFX_INSERT_NATIVE(min, max, low, high, value))
448 #define EFX_INSERT32(min, max, low, high, value) \ argument
449 cpu_to_le32(EFX_INSERT_NATIVE(min, max, low, high, value))
451 #define EFX_INPLACE_MASK64(min, max, low, high) \ argument
452 EFX_INSERT64(min, max, low, high, EFX_MASK64((high) + 1 - (low)))
454 #define EFX_INPLACE_MASK32(min, max, low, high) \ argument
455 EFX_INSERT32(min, max, low, high, EFX_MASK32((high) + 1 - (low)))
457 #define EFX_SET_OWORD64(oword, low, high, value) do { \ argument
459 & ~EFX_INPLACE_MASK64(0, 63, low, high)) \
460 | EFX_INSERT64(0, 63, low, high, value)); \
462 & ~EFX_INPLACE_MASK64(64, 127, low, high)) \
463 | EFX_INSERT64(64, 127, low, high, value)); \
466 #define EFX_SET_QWORD64(qword, low, high, value) do { \ argument
468 & ~EFX_INPLACE_MASK64(0, 63, low, high)) \
469 | EFX_INSERT64(0, 63, low, high, value)); \
472 #define EFX_SET_OWORD32(oword, low, high, value) do { \ argument
474 & ~EFX_INPLACE_MASK32(0, 31, low, high)) \
475 | EFX_INSERT32(0, 31, low, high, value)); \
477 & ~EFX_INPLACE_MASK32(32, 63, low, high)) \
478 | EFX_INSERT32(32, 63, low, high, value)); \
480 & ~EFX_INPLACE_MASK32(64, 95, low, high)) \
481 | EFX_INSERT32(64, 95, low, high, value)); \
483 & ~EFX_INPLACE_MASK32(96, 127, low, high)) \
484 | EFX_INSERT32(96, 127, low, high, value)); \
487 #define EFX_SET_QWORD32(qword, low, high, value) do { \ argument
489 & ~EFX_INPLACE_MASK32(0, 31, low, high)) \
490 | EFX_INSERT32(0, 31, low, high, value)); \
492 & ~EFX_INPLACE_MASK32(32, 63, low, high)) \
493 | EFX_INSERT32(32, 63, low, high, value)); \
496 #define EFX_SET_DWORD32(dword, low, high, value) do { \ argument
498 & ~EFX_INPLACE_MASK32(0, 31, low, high)) \
499 | EFX_INSERT32(0, 31, low, high, value)); \