drm/mediatek: Add plane check in async_check function
authorBibby Hsieh <bibby.hsieh@mediatek.com>
Thu, 13 Feb 2020 01:23:52 +0000 (09:23 +0800)
committerCK Hu <ck.hu@mediatek.com>
Tue, 18 Feb 2020 07:41:50 +0000 (15:41 +0800)
MTK do rotation checking and transferring in layer check function,
but we do not check that in atomic_check,
so add back in atomic_check function.

Fixes: 920fffcc8912 ("drm/mediatek: update cursors by using async atomic update")

Signed-off-by: Bibby Hsieh <bibby.hsieh@mediatek.com>
Signed-off-by: CK Hu <ck.hu@mediatek.com>
drivers/gpu/drm/mediatek/mtk_drm_plane.c

index 914cc76..61cb7dd 100644 (file)
@@ -80,6 +80,7 @@ static int mtk_plane_atomic_async_check(struct drm_plane *plane,
                                        struct drm_plane_state *state)
 {
        struct drm_crtc_state *crtc_state;
+       int ret;
 
        if (plane != state->crtc->cursor)
                return -EINVAL;
@@ -90,6 +91,11 @@ static int mtk_plane_atomic_async_check(struct drm_plane *plane,
        if (!plane->state->fb)
                return -EINVAL;
 
+       ret = mtk_drm_crtc_plane_check(state->crtc, plane,
+                                      to_mtk_plane_state(state));
+       if (ret)
+               return ret;
+
        if (state->state)
                crtc_state = drm_atomic_get_existing_crtc_state(state->state,
                                                                state->crtc);