freedreno/ir3: add more disasm stats
[mesa.git] / src / freedreno / drm / freedreno_drmif.h
index a53c34069504aa6249e9934c43829aec67aaa5ff..a14ab60cf7cc2e5a3268246863a49cce63afd295 100644 (file)
@@ -47,11 +47,15 @@ enum fd_pipe_id {
 enum fd_param_id {
        FD_DEVICE_ID,
        FD_GMEM_SIZE,
+       FD_GMEM_BASE,
        FD_GPU_ID,
        FD_CHIP_ID,
        FD_MAX_FREQ,
        FD_TIMESTAMP,
        FD_NR_RINGS,      /* # of rings == # of distinct priority levels */
+       FD_PP_PGTABLE,    /* are per-process pagetables used for the pipe/ctx */
+       FD_CTX_FAULTS,    /* # of per context faults */
+       FD_GLOBAL_FAULTS, /* # of global (all context) faults */
 };
 
 /* bo flags: */
@@ -85,9 +89,11 @@ enum fd_version {
        FD_VERSION_MADVISE = 1,            /* kernel supports madvise */
        FD_VERSION_UNLIMITED_CMDS = 1,     /* submits w/ >4 cmd buffers (growable ringbuffer) */
        FD_VERSION_FENCE_FD = 2,           /* submit command supports in/out fences */
+       FD_VERSION_GMEM_BASE = 3,          /* supports querying GMEM base address */
        FD_VERSION_SUBMIT_QUEUES = 3,      /* submit queues and multiple priority levels */
        FD_VERSION_BO_IOVA = 3,            /* supports fd_bo_get/put_iova() */
        FD_VERSION_SOFTPIN = 4,            /* adds softpin, bo name, and dump flag */
+       FD_VERSION_ROBUSTNESS = 5,         /* adds FD_NR_FAULTS and FD_PP_PGTABLE */
 };
 enum fd_version fd_device_version(struct fd_device *dev);
 
@@ -151,8 +157,8 @@ struct fd_bo *fd_bo_from_handle(struct fd_device *dev,
                uint32_t handle, uint32_t size);
 struct fd_bo * fd_bo_from_name(struct fd_device *dev, uint32_t name);
 struct fd_bo * fd_bo_from_dmabuf(struct fd_device *dev, int fd);
+void fd_bo_mark_for_dump(struct fd_bo *bo);
 uint64_t fd_bo_get_iova(struct fd_bo *bo);
-void fd_bo_put_iova(struct fd_bo *bo);
 struct fd_bo * fd_bo_ref(struct fd_bo *bo);
 void fd_bo_del(struct fd_bo *bo);
 int fd_bo_get_name(struct fd_bo *bo, uint32_t *name);