drm/mediatek: Fix cursor plane no update
authorjason-jh.lin <jason-jh.lin@mediatek.com>
Thu, 22 Jul 2021 01:47:43 +0000 (09:47 +0800)
committerChun-Kuang Hu <chunkuang.hu@kernel.org>
Thu, 22 Jul 2021 14:57:52 +0000 (22:57 +0800)
commit1a64a7aff8da352c9419de3d5c34343682916411
tree62133ac0971f457fd535d3910c3bb4ccbfd01b8c
parent6b57ba3243c5774e5b2a0984e8ca0d34a126ac6b
drm/mediatek: Fix cursor plane no update

The cursor plane should use the current plane state in atomic_async_update
because it would not be the new plane state in the global atomic state
since _swap_state happened when those hook are run.

Fix cursor plane issue by below modification:
1. Remove plane_helper_funcs->atomic_update(plane, state) in
   mtk_drm_crtc_async_update.
2. Add mtk_drm_update_new_state in to mtk_plane_atomic_async_update to
   update the cursor plane by current plane state hook and update
   others plane by the new_state.

Fixes: 37418bf14c13 ("drm: Use state helper instead of the plane state pointer")
Signed-off-by: jason-jh.lin <jason-jh.lin@mediatek.com>
Tested-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
Signed-off-by: Chun-Kuang Hu <chunkuang.hu@kernel.org>
drivers/gpu/drm/mediatek/mtk_drm_crtc.c
drivers/gpu/drm/mediatek/mtk_drm_plane.c