diff options
Diffstat (limited to 'src/gallium/drivers/vc4/vc4_simulator_validate.h')
-rw-r--r-- | src/gallium/drivers/vc4/vc4_simulator_validate.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/gallium/drivers/vc4/vc4_simulator_validate.h b/src/gallium/drivers/vc4/vc4_simulator_validate.h index e1f8b5a..1352c9b 100644 --- a/src/gallium/drivers/vc4/vc4_simulator_validate.h +++ b/src/gallium/drivers/vc4/vc4_simulator_validate.h @@ -47,6 +47,24 @@ struct vc4_exec_info; #define max(x, y) MAX2(x, y) #define min(x, y) MIN2(x, y) #define BUG_ON(condition) assert(!(condition)) +#define BIT(bit) (1u << bit) + +/* Unsigned long-based bitmap interface in the linux kernel */ +#define BITMAP_WORDBITS (sizeof(unsigned long) * 8) +#define BITS_TO_LONGS(bits) (roundup(bits, BITMAP_WORDBITS) / \ + sizeof(unsigned long)) +static inline bool +test_bit(unsigned int bit, unsigned long *addr) +{ + return addr[bit / BITMAP_WORDBITS] & (1ul << (bit % BITMAP_WORDBITS)); +} + +static inline bool +set_bit(unsigned int bit, unsigned long *addr) +{ + return addr[bit / BITMAP_WORDBITS] |= (1ul << (bit % BITMAP_WORDBITS)); +} + static inline int copy_from_user(void *dst, void *src, size_t size) |