lkml.org 
[lkml]   [2022]   [Jun]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.18 489/879] drm/msm/dpu: handle pm_runtime_get_sync() errors in bind path
    Date
    From: Abhinav Kumar <quic_abhinavk@quicinc.com>

    [ Upstream commit 64b22a0da12adb571c01edd671ee43634ebd7e41 ]

    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: 25fdd5933e4c ("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>
    ---
    drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c | 4 +++-
    1 file changed, 3 insertions(+), 1 deletion(-)

    diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
    index ad13a9423601..c8089678f733 100644
    --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
    +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
    @@ -1058,7 +1058,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);

    --
    2.35.1


    \
     
     \ /
      Last update: 2022-06-08 03:39    [W:4.035 / U:0.456 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site