Lines Matching refs:low
48 /** Dummy field low bit number */
52 /** Dword 0 low bit number */
56 /** Dword 1 low bit number */
60 /** Dword 2 low bit number */
64 /** Dword 3 low bit number */
71 /** Low bit number of the specified field */
155 * Extract bit field portion [low,high) from the native-endian element
167 * [0,high-low), with garbage in bits [high-low+1,...).
169 #define EFAB_EXTRACT_NATIVE( native_element, min ,max ,low ,high ) \
170 ( ( ( low > max ) || ( high < min ) ) ? 0 : \
171 ( ( low > min ) ? \
172 ( (native_element) >> ( low - min ) ) : \
173 ( (native_element) << ( min - low ) ) ) )
176 * Extract bit field portion [low,high) from the 64-bit little-endian
179 #define EFAB_EXTRACT64( element, min, max, low, high ) \
180 EFAB_EXTRACT_NATIVE ( le64_to_cpu(element), min, max, low, high )
183 * Extract bit field portion [low,high) from the 32-bit little-endian
186 #define EFAB_EXTRACT32( element, min, max, low, high ) \
187 EFAB_EXTRACT_NATIVE ( le32_to_cpu(element), min, max, low, high )
189 #define EFAB_EXTRACT_OWORD64( oword, low, high ) \
190 ( EFAB_EXTRACT64 ( (oword).u64[0], 0, 63, low, high ) | \
191 EFAB_EXTRACT64 ( (oword).u64[1], 64, 127, low, high ) )
193 #define EFAB_EXTRACT_QWORD64( qword, low, high ) \
194 ( EFAB_EXTRACT64 ( (qword).u64[0], 0, 63, low, high ) )
196 #define EFAB_EXTRACT_OWORD32( oword, low, high ) \
197 ( EFAB_EXTRACT32 ( (oword).u32[0], 0, 31, low, high ) | \
198 EFAB_EXTRACT32 ( (oword).u32[1], 32, 63, low, high ) | \
199 EFAB_EXTRACT32 ( (oword).u32[2], 64, 95, low, high ) | \
200 EFAB_EXTRACT32 ( (oword).u32[3], 96, 127, low, high ) )
202 #define EFAB_EXTRACT_QWORD32( qword, low, high ) \
203 ( EFAB_EXTRACT32 ( (qword).u32[0], 0, 31, low, high ) | \
204 EFAB_EXTRACT32 ( (qword).u32[1], 32, 63, low, high ) )
206 #define EFAB_EXTRACT_DWORD( dword, low, high ) \
207 ( EFAB_EXTRACT32 ( (dword).u32[0], 0, 31, low, high ) )
285 * Creates the portion of the bit field [low,high) that lies within
288 #define EFAB_INSERT_NATIVE64( min, max, low, high, value ) \
289 ( ( ( low > max ) || ( high < min ) ) ? 0 : \
290 ( ( low > min ) ? \
291 ( ( ( uint64_t ) (value) ) << ( low - min ) ) : \
292 ( ( ( uint64_t ) (value) ) >> ( min - low ) ) ) )
294 #define EFAB_INSERT_NATIVE32( min, max, low, high, value ) \
295 ( ( ( low > max ) || ( high < min ) ) ? 0 : \
296 ( ( low > min ) ? \
297 ( ( ( uint32_t ) (value) ) << ( low - min ) ) : \
298 ( ( ( uint32_t ) (value) ) >> ( min - low ) ) ) )
300 #define EFAB_INSERT_NATIVE( min, max, low, high, value ) \
302 ( ( high - low ) >= 32 ) ) \
303 ? EFAB_INSERT_NATIVE64 ( min, max, low, high, value ) \
304 : EFAB_INSERT_NATIVE32 ( min, max, low, high, value ) )