Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 541de4c9 authored by Archit Taneja's avatar Archit Taneja Committed by Rob Clark
Browse files

drm/msm/adreno: Prevent unclocked access when retrieving timestamps



msm_gpu's get_timestamp() op (called by the MSM_GET_PARAM ioctl) can
result in register accesses. We need our power domain and clocks to
be active for that. Make sure they are enabled here.

Signed-off-by: default avatarArchit Taneja <architt@codeaurora.org>
Signed-off-by: default avatarRob Clark <robdclark@gmail.com>
parent cdbc78ba
Loading
Loading
Loading
Loading
+9 −2
Original line number Diff line number Diff line
@@ -48,8 +48,15 @@ int adreno_get_param(struct msm_gpu *gpu, uint32_t param, uint64_t *value)
		*value = adreno_gpu->base.fast_rate;
		return 0;
	case MSM_PARAM_TIMESTAMP:
		if (adreno_gpu->funcs->get_timestamp)
			return adreno_gpu->funcs->get_timestamp(gpu, value);
		if (adreno_gpu->funcs->get_timestamp) {
			int ret;

			pm_runtime_get_sync(&gpu->pdev->dev);
			ret = adreno_gpu->funcs->get_timestamp(gpu, value);
			pm_runtime_put_autosuspend(&gpu->pdev->dev);

			return ret;
		}
		return -EINVAL;
	default:
		DBG("%s: invalid param: %u", gpu->name, param);