Commit 2d267b81 authored by Daniel Vetter's avatar Daniel Vetter

drm/mtk: Use __drm_atomic_helper_crtc_reset

Now also comes with the added benefit of doing a drm_crtc_vblank_off(),
which means vblank state isn't ill-defined and fail-y at driver load
before the first modeset on each crtc.
Acked-by: default avatarChun-Kuang Hu <chunkuang.hu@kernel.org>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@intel.com>
Cc: Chun-Kuang Hu <chunkuang.hu@kernel.org>
Cc: Philipp Zabel <p.zabel@pengutronix.de>
Cc: Matthias Brugger <matthias.bgg@gmail.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-mediatek@lists.infradead.org
Link: https://patchwork.freedesktop.org/patch/msgid/20200612160056.2082681-4-daniel.vetter@ffwll.ch
parent 8ed5dcf9
...@@ -113,19 +113,15 @@ static void mtk_drm_crtc_reset(struct drm_crtc *crtc) ...@@ -113,19 +113,15 @@ static void mtk_drm_crtc_reset(struct drm_crtc *crtc)
{ {
struct mtk_crtc_state *state; struct mtk_crtc_state *state;
if (crtc->state) { if (crtc->state)
__drm_atomic_helper_crtc_destroy_state(crtc->state); __drm_atomic_helper_crtc_destroy_state(crtc->state);
state = to_mtk_crtc_state(crtc->state); kfree(to_mtk_crtc_state(crtc->state));
memset(state, 0, sizeof(*state)); crtc->state = NULL;
} else {
state = kzalloc(sizeof(*state), GFP_KERNEL);
if (!state)
return;
crtc->state = &state->base;
}
state->base.crtc = crtc; state = kzalloc(sizeof(*state), GFP_KERNEL);
if (state)
__drm_atomic_helper_crtc_reset(crtc, &state->base);
} }
static struct drm_crtc_state *mtk_drm_crtc_duplicate_state(struct drm_crtc *crtc) static struct drm_crtc_state *mtk_drm_crtc_duplicate_state(struct drm_crtc *crtc)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment