Skip to content

Commit

Permalink
drm/msm/dpu: handle pm_runtime_get_sync() errors in bind path
Browse files Browse the repository at this point in the history
[ Upstream commit 64b22a0 ]

If there are errors while trying to enable the pm in the
bind path, it will lead to unclocked access of hw revision
register thereby crashing the device.

This will not address why the pm_runtime_get_sync() fails
but at the very least we should be able to prevent the
crash by handling the error and bailing out earlier.

changes in v2:
	- use pm_runtime_resume_and_get() instead of
	  pm_runtime_get_sync()

Fixes: 25fdd59 ("drm/msm: Add SDM845 DPU support")
Signed-off-by: Abhinav Kumar <quic_abhinavk@quicinc.com>
Reviewed-by: Rob Clark <robdclark@gmail.com>
Reviewed-by: Stephen Boyd <swboyd@chromium.org>
Patchwork: https://patchwork.freedesktop.org/patch/486721/
Link: https://lore.kernel.org/r/20220518223407.26147-1-quic_abhinavk@quicinc.com
Signed-off-by: Abhinav Kumar <quic_abhinavk@quicinc.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
  • Loading branch information
Abhinav Kumar authored and gregkh committed Jun 9, 2022
1 parent 3e6a23c commit a1bcaea
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
Expand Up @@ -1001,7 +1001,9 @@ static int dpu_kms_hw_init(struct msm_kms *kms)

dpu_kms_parse_data_bus_icc_path(dpu_kms);

pm_runtime_get_sync(&dpu_kms->pdev->dev);
rc = pm_runtime_resume_and_get(&dpu_kms->pdev->dev);
if (rc < 0)
goto error;

dpu_kms->core_rev = readl_relaxed(dpu_kms->mmio + 0x0);

Expand Down

0 comments on commit a1bcaea

Please sign in to comment.