freedreno/drm: Add FD_VA_SIZE param
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17947>
diff --git a/src/freedreno/drm/freedreno_drmif.h b/src/freedreno/drm/freedreno_drmif.h
index 83e52e9..2583e67 100644
--- a/src/freedreno/drm/freedreno_drmif.h
+++ b/src/freedreno/drm/freedreno_drmif.h
@@ -62,6 +62,7 @@
FD_GLOBAL_FAULTS, /* # of global (all context) faults */
FD_SUSPEND_COUNT, /* # of times the GPU has suspended, and potentially lost state */
FD_SYSPROF, /* Settable (for CAP_SYS_ADMIN) param for system profiling */
+ FD_VA_SIZE, /* GPU virtual address size */
};
/**
@@ -139,6 +140,7 @@
FD_VERSION_MEMORY_FD = 2, /* supports shared memory objects */
FD_VERSION_SUSPENDS = 7, /* Adds MSM_PARAM_SUSPENDS to detect device suspend */
FD_VERSION_CACHED_COHERENT = 8, /* Adds cached-coherent support (a6xx+) */
+ FD_VERSION_VA_SIZE = 9,
};
enum fd_version fd_device_version(struct fd_device *dev);
diff --git a/src/freedreno/drm/msm/msm_pipe.c b/src/freedreno/drm/msm/msm_pipe.c
index dd4073a..fd7d9b6 100644
--- a/src/freedreno/drm/msm/msm_pipe.c
+++ b/src/freedreno/drm/msm/msm_pipe.c
@@ -100,6 +100,8 @@
return query_param(pipe, MSM_PARAM_FAULTS, value);
case FD_SUSPEND_COUNT:
return query_param(pipe, MSM_PARAM_SUSPENDS, value);
+ case FD_VA_SIZE:
+ return query_param(pipe, MSM_PARAM_VA_SIZE, value);
default:
ERROR_MSG("invalid param id: %d", param);
return -1;
diff --git a/src/freedreno/drm/virtio/virtio_pipe.c b/src/freedreno/drm/virtio/virtio_pipe.c
index 9b001c9..76c4ded 100644
--- a/src/freedreno/drm/virtio/virtio_pipe.c
+++ b/src/freedreno/drm/virtio/virtio_pipe.c
@@ -106,6 +106,9 @@
return query_param(pipe, MSM_PARAM_FAULTS, value);
case FD_SUSPEND_COUNT:
return query_param(pipe, MSM_PARAM_SUSPENDS, value);
+ case FD_VA_SIZE:
+ *value = virtio_dev->caps.u.msm.va_size;
+ return 0;
default:
ERROR_MSG("invalid param id: %d", param);
return -1;