It isn't really useful to start sampling counters before hw_init(). And the next commit will require IFPC OOB request to come after hw_init().
Signed-off-by: Rob Clark <[email protected]> --- drivers/gpu/drm/msm/adreno/adreno_device.c | 5 +---- drivers/gpu/drm/msm/adreno/adreno_gpu.c | 1 - drivers/gpu/drm/msm/msm_gpu.c | 4 +++- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/drivers/gpu/drm/msm/adreno/adreno_device.c b/drivers/gpu/drm/msm/adreno/adreno_device.c index 7108d4aa59b5..749269843e42 100644 --- a/drivers/gpu/drm/msm/adreno/adreno_device.c +++ b/drivers/gpu/drm/msm/adreno/adreno_device.c @@ -309,10 +309,7 @@ MODULE_DEVICE_TABLE(of, dt_match); static int adreno_runtime_resume(struct device *dev) { struct msm_gpu *gpu = dev_to_gpu(dev); - int ret = gpu->funcs->pm_resume(gpu); - if (!ret) - ret = msm_perfcntr_resume(gpu); - return ret; + return gpu->funcs->pm_resume(gpu); } static int adreno_runtime_suspend(struct device *dev) diff --git a/drivers/gpu/drm/msm/adreno/adreno_gpu.c b/drivers/gpu/drm/msm/adreno/adreno_gpu.c index 6db6cb7eb287..d074f4df78f6 100644 --- a/drivers/gpu/drm/msm/adreno/adreno_gpu.c +++ b/drivers/gpu/drm/msm/adreno/adreno_gpu.c @@ -720,7 +720,6 @@ void adreno_recover(struct msm_gpu *gpu) msm_perfcntr_suspend(gpu); gpu->funcs->pm_suspend(gpu); gpu->funcs->pm_resume(gpu); - msm_perfcntr_resume(gpu); ret = msm_gpu_hw_init(gpu); if (ret) { diff --git a/drivers/gpu/drm/msm/msm_gpu.c b/drivers/gpu/drm/msm/msm_gpu.c index fb07803f5aba..ca21b3bf20df 100644 --- a/drivers/gpu/drm/msm/msm_gpu.c +++ b/drivers/gpu/drm/msm/msm_gpu.c @@ -168,8 +168,10 @@ int msm_gpu_hw_init(struct msm_gpu *gpu) disable_irq(gpu->irq); ret = gpu->funcs->hw_init(gpu); - if (!ret) + if (!ret) { + msm_perfcntr_resume(gpu); gpu->needs_hw_init = false; + } enable_irq(gpu->irq); return ret; -- 2.56.0
