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: Chun-Kuang Hu <chunkuang.hu@kernel.org> Signed-off-by: Daniel 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
This commit is contained in:
parent
8ed5dcf966
commit
2d267b8189
|
@ -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)
|
||||||
|
|
Loading…
Reference in New Issue