|
@@ -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);
|