Mesa (main): freedreno/drm: Add support to query device suspend count
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Mon May 10 15:56:40 UTC 2021
Module: Mesa
Branch: main
Commit: e63ef520fe01e099042d0f318f969cbe27db4a6b
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e63ef520fe01e099042d0f318f969cbe27db4a6b
Author: Rob Clark <robdclark at chromium.org>
Date: Wed Mar 24 15:48:37 2021 -0700
freedreno/drm: Add support to query device suspend count
Signed-off-by: Rob Clark <robdclark at chromium.org>
Acked-by: Emma Anholt <emma at anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9901>
---
include/drm-uapi/msm_drm.h | 1 +
src/freedreno/drm/freedreno_drmif.h | 1 +
src/freedreno/drm/msm_pipe.c | 2 ++
3 files changed, 4 insertions(+)
diff --git a/include/drm-uapi/msm_drm.h b/include/drm-uapi/msm_drm.h
index a6c1f3eb262..5596d7c37f9 100644
--- a/include/drm-uapi/msm_drm.h
+++ b/include/drm-uapi/msm_drm.h
@@ -76,6 +76,7 @@ struct drm_msm_timespec {
#define MSM_PARAM_NR_RINGS 0x07
#define MSM_PARAM_PP_PGTABLE 0x08 /* => 1 for per-process pagetables, else 0 */
#define MSM_PARAM_FAULTS 0x09
+#define MSM_PARAM_SUSPENDS 0x0a
struct drm_msm_param {
__u32 pipe; /* in, MSM_PIPE_x */
diff --git a/src/freedreno/drm/freedreno_drmif.h b/src/freedreno/drm/freedreno_drmif.h
index f6384fa0274..d9b645f9cb1 100644
--- a/src/freedreno/drm/freedreno_drmif.h
+++ b/src/freedreno/drm/freedreno_drmif.h
@@ -61,6 +61,7 @@ enum fd_param_id {
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 */
+ FD_SUSPEND_COUNT, /* # of times the GPU has suspended, and potentially lost state */
};
/**
diff --git a/src/freedreno/drm/msm_pipe.c b/src/freedreno/drm/msm_pipe.c
index 8793494ca11..09e598a248c 100644
--- a/src/freedreno/drm/msm_pipe.c
+++ b/src/freedreno/drm/msm_pipe.c
@@ -99,6 +99,8 @@ msm_pipe_get_param(struct fd_pipe *pipe, enum fd_param_id param,
return query_queue_param(pipe, MSM_SUBMITQUEUE_PARAM_FAULTS, value);
case FD_GLOBAL_FAULTS:
return query_param(pipe, MSM_PARAM_FAULTS, value);
+ case FD_SUSPEND_COUNT:
+ return query_param(pipe, MSM_PARAM_SUSPENDS, value);
default:
ERROR_MSG("invalid param id: %d", param);
return -1;
More information about the mesa-commit
mailing list