lkml.org 
[lkml]   [2021]   [Sep]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.14 277/432] drm/msm: mdp4: drop vblank get/put from prepare/complete_commit
    Date
    From: David Heidelberg <david@ixit.cz>

    [ Upstream commit 56bd931ae506730c9ab1e4cc4bfefa43fc2d18fa ]

    msm_atomic is doing vblank get/put's already,
    currently there no need to duplicate the effort in MDP4

    Fix warning:
    ...
    WARNING: CPU: 3 PID: 79 at drivers/gpu/drm/drm_vblank.c:1194 drm_vblank_put+0x1cc/0x1d4
    ...
    and multiple vblank time-outs:
    ...
    msm 5100000.mdp: vblank time out, crtc=1
    ...

    Tested on Nexus 7 2013 (deb), LTS 5.10.50.

    Introduced by: 119ecb7fd3b5 ("drm/msm/mdp4: request vblank during modeset")

    Signed-off-by: David Heidelberg <david@ixit.cz>
    Link: https://lore.kernel.org/r/20210715060925.7880-1-david@ixit.cz
    Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
    Signed-off-by: Rob Clark <robdclark@chromium.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c | 13 -------------
    1 file changed, 13 deletions(-)

    diff --git a/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c b/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c
    index 0712752742f4..1f12bccee2b8 100644
    --- a/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c
    +++ b/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c
    @@ -89,13 +89,6 @@ static void mdp4_disable_commit(struct msm_kms *kms)

    static void mdp4_prepare_commit(struct msm_kms *kms, struct drm_atomic_state *state)
    {
    - int i;
    - struct drm_crtc *crtc;
    - struct drm_crtc_state *crtc_state;
    -
    - /* see 119ecb7fd */
    - for_each_new_crtc_in_state(state, crtc, crtc_state, i)
    - drm_crtc_vblank_get(crtc);
    }

    static void mdp4_flush_commit(struct msm_kms *kms, unsigned crtc_mask)
    @@ -114,12 +107,6 @@ static void mdp4_wait_flush(struct msm_kms *kms, unsigned crtc_mask)

    static void mdp4_complete_commit(struct msm_kms *kms, unsigned crtc_mask)
    {
    - struct mdp4_kms *mdp4_kms = to_mdp4_kms(to_mdp_kms(kms));
    - struct drm_crtc *crtc;
    -
    - /* see 119ecb7fd */
    - for_each_crtc_mask(mdp4_kms->dev, crtc, crtc_mask)
    - drm_crtc_vblank_put(crtc);
    }

    static long mdp4_round_pixclk(struct msm_kms *kms, unsigned long rate,
    --
    2.30.2


    \
     
     \ /
      Last update: 2021-09-16 19:42    [W:4.049 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site