#include <xf86drm.h>
+#include "util/list.h"
+#include "util/macros.h"
+#include "util/u_atomic.h"
+#include "util/u_debug.h"
+
#include "etnaviv_drmif.h"
-#include "etnaviv_drm.h"
+#include "drm-uapi/etnaviv_drm.h"
struct etna_bo_bucket {
uint32_t size;
struct etna_device {
int fd;
- atomic_t refcnt;
+ int refcnt;
/* tables to keep track of bo's, to avoid "evil-twin" etna_bo objects:
*
uint32_t *size, uint32_t flags);
int etna_bo_cache_free(struct etna_bo_cache *cache, struct etna_bo *bo);
-/* for where @table_lock is already held: */
+/* for where @etna_drm_table_lock is already held: */
void etna_device_del_locked(struct etna_device *dev);
/* a GEM buffer object allocated from the DRM device */
uint32_t flags;
uint32_t name; /* flink global handle (DRI2 name) */
uint64_t offset; /* offset to mmap() */
- atomic_t refcnt;
+ int refcnt;
/* in the common case, a bo won't be referenced by more than a single
* command stream. So to avoid looping over all the bo's in the
};
#define ALIGN(v,a) (((v) + (a) - 1) & ~((a) - 1))
-#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))
-#define enable_debug 1 /* TODO make dynamic */
+#define enable_debug 0 /* TODO make dynamic */
#define INFO_MSG(fmt, ...) \
- do { drmMsg("[I] "fmt " (%s:%d)\n", \
+ do { debug_printf("[I] "fmt " (%s:%d)\n", \
##__VA_ARGS__, __FUNCTION__, __LINE__); } while (0)
#define DEBUG_MSG(fmt, ...) \
- do if (enable_debug) { drmMsg("[D] "fmt " (%s:%d)\n", \
+ do if (enable_debug) { debug_printf("[D] "fmt " (%s:%d)\n", \
##__VA_ARGS__, __FUNCTION__, __LINE__); } while (0)
#define WARN_MSG(fmt, ...) \
- do { drmMsg("[W] "fmt " (%s:%d)\n", \
+ do { debug_printf("[W] "fmt " (%s:%d)\n", \
##__VA_ARGS__, __FUNCTION__, __LINE__); } while (0)
#define ERROR_MSG(fmt, ...) \
- do { drmMsg("[E] " fmt " (%s:%d)\n", \
+ do { debug_printf("[E] " fmt " (%s:%d)\n", \
##__VA_ARGS__, __FUNCTION__, __LINE__); } while (0)
#define VOID2U64(x) ((uint64_t)(unsigned long)(x))