OSDN Git Service

drm/msm: Add API support for getting GPU hang timeout
authorSharat Masetty <smasetty@codeaurora.org>
Mon, 13 Nov 2017 13:18:22 +0000 (18:48 +0530)
committerSharat Masetty <smasetty@codeaurora.org>
Tue, 28 Nov 2017 11:53:13 +0000 (17:23 +0530)
Userspace needs to know the GPU timeout value to support Khronos robust
GPU timeout extension. The timeout value is returned to the user in
millisecond resolution.

Change-Id: Iba2ff43fce6d21da240356b392afa7a6e7a618ad
Signed-off-by: Sharat Masetty <smasetty@codeaurora.org>
drivers/gpu/drm/msm/adreno/adreno_gpu.c
include/uapi/drm/msm_drm.h

index d397c44..8986ba6 100644 (file)
@@ -61,6 +61,9 @@ int adreno_get_param(struct msm_gpu *gpu, uint32_t param, uint64_t *value)
        case MSM_PARAM_NR_RINGS:
                *value = gpu->nr_rings;
                return 0;
+       case MSM_PARAM_GPU_HANG_TIMEOUT:
+               *value = DRM_MSM_HANGCHECK_PERIOD;
+               return 0;
        default:
                DBG("%s: invalid param: %u", gpu->name, param);
                return -EINVAL;
index a852f2a..30ae8c3 100644 (file)
@@ -112,13 +112,14 @@ struct drm_msm_ext_panel_hdr_properties {
        __u32 hdr_min_luminance;      /* Min Luminance */
 };
 
-#define MSM_PARAM_GPU_ID     0x01
-#define MSM_PARAM_GMEM_SIZE  0x02
-#define MSM_PARAM_CHIP_ID    0x03
-#define MSM_PARAM_MAX_FREQ   0x04
-#define MSM_PARAM_TIMESTAMP  0x05
-#define MSM_PARAM_GMEM_BASE  0x06
-#define MSM_PARAM_NR_RINGS   0x07
+#define MSM_PARAM_GPU_ID             0x01
+#define MSM_PARAM_GMEM_SIZE          0x02
+#define MSM_PARAM_CHIP_ID            0x03
+#define MSM_PARAM_MAX_FREQ           0x04
+#define MSM_PARAM_TIMESTAMP          0x05
+#define MSM_PARAM_GMEM_BASE          0x06
+#define MSM_PARAM_NR_RINGS           0x07
+#define MSM_PARAM_GPU_HANG_TIMEOUT   0xa0 /* timeout in ms */
 
 struct drm_msm_param {
        __u32 pipe;           /* in, MSM_PIPE_x */