X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fgallium%2Fdrivers%2Fvc4%2Fvc4_simulator_validate.h;h=d507b5fb63231a59ebc628b0ecf6158862e13780;hb=d48a2404a227193b0e17b94ce10481f36d99430c;hp=e1f8b5a305e7800c97011749336483ae27a1f88c;hpb=83c86e09a8d7610022eae49731ac1ed03ee4f67b;p=mesa.git diff --git a/src/gallium/drivers/vc4/vc4_simulator_validate.h b/src/gallium/drivers/vc4/vc4_simulator_validate.h index e1f8b5a305e..d507b5fb632 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) @@ -60,8 +78,7 @@ typedef uint16_t u16; typedef uint32_t u32; struct drm_device { - struct vc4_context *vc4; - uint32_t simulator_mem_next; + struct vc4_screen *screen; }; struct drm_gem_object {