Message ID | 20210508195641.397198-3-robdclark@gmail.com |
---|---|
State | New |
Headers | show |
Series | drm: Fix atomic helper dirtyfb stalls | expand |
I have tested this on my end and it resolves the 120hz problem.
Tested-By: Ryan Houdek <Houdek.Ryan@fex-emu.org>
On Sat, May 8, 2021 at 12:53 PM Rob Clark <robdclark@gmail.com> wrote: > > From: Rob Clark <robdclark@chromium.org> > > Signed-off-by: Rob Clark <robdclark@chromium.org>
Sorry, what patch are you referring to? Alex On Mon, May 10, 2021 at 4:04 AM <houdek.ryan@fex-emu.org> wrote: > > I have tested this on my end and it resolves the 120hz problem. > > Tested-By: Ryan Houdek <Houdek.Ryan@fex-emu.org>
diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c index 5a74f93e29da..868ee6136438 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c @@ -143,6 +143,19 @@ static bool dpu_crtc_get_scanout_position(struct drm_crtc *crtc, return true; } +static bool dpu_crtc_needs_dirtyfb(struct drm_crtc *crtc) +{ + struct drm_encoder *encoder; + + drm_for_each_encoder_mask (encoder, crtc->dev, crtc->state->encoder_mask) { + if (dpu_encoder_get_intf_mode(encoder) == INTF_MODE_CMD) { + return true; + } + } + + return false; +} + static void _dpu_crtc_setup_blend_cfg(struct dpu_crtc_mixer *mixer, struct dpu_plane_state *pstate, struct dpu_format *format) { @@ -1343,6 +1356,7 @@ static const struct drm_crtc_helper_funcs dpu_crtc_helper_funcs = { .atomic_begin = dpu_crtc_atomic_begin, .atomic_flush = dpu_crtc_atomic_flush, .get_scanout_position = dpu_crtc_get_scanout_position, + .needs_dirtyfb = dpu_crtc_needs_dirtyfb, }; /* initialize crtc */