mirror of
https://github.com/torvalds/linux.git
synced 2026-05-29 17:43:52 +02:00
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: Archit Taneja <architt@codeaurora.org> Signed-off-by: Rob Clark <robdclark@gmail.com>
This commit is contained in:
parent
cdbc78ba70
commit
541de4c9c9
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user