[PATCH v5 0/7] drm/mediatek: fix cursor issue and apply CMDQ in MTK DRM

From: Bibby Hsieh
Date: Tue Dec 10 2019 - 00:05:36 EST

The CMDQ (Command Queue) in MT8183 is used to help update all
relevant display controller registers with critical time limation.
This patch add cmdq interface in ddp_comp interface, let all
ddp_comp interface can support cpu/cmdq function at the same time.

These patches also can fixup cursor moving is not smooth
when heavy load in webgl.

This patch depends on ptach:
add drm support for MT8183
support gce on mt8183 platform
drm/mediatek: Check return value of mtk_drm_ddp_comp_for_plane

Changes since v4:
- rebase to Linux 5.5-rc1
- add fixes tag

Changes since v3:
- remove redundant code and variable

Changes since v2:
- move some changes to another patch
- disable layer in atomic_disable()

Changes since v1:
- remove redundant code
- merge the duplicate code
- use async instead of cursor

Changes since v0:
- remove redundant code
- remove patch
"drm/mediatek: fix atomic_state reference counting"
After remove this patch, the issue we met before is gone.
So I do not add any extra code to do something.

Bibby Hsieh (7):
drm/mediatek: use DRM core's atomic commit helper
drm/mediatek: handle events when enabling/disabling crtc
drm/mediatek: update cursors by using async atomic update
drm/mediatek: disable all the planes in atomic_disable
drm/mediatek: remove unused external function
drm/mediatek: support CMDQ interface in ddp component
drm/mediatek: apply CMDQ control flow

drivers/gpu/drm/mediatek/mtk_disp_color.c | 7 +-
drivers/gpu/drm/mediatek/mtk_disp_ovl.c | 67 ++++----
drivers/gpu/drm/mediatek/mtk_disp_rdma.c | 43 ++---
drivers/gpu/drm/mediatek/mtk_drm_crtc.c | 165 ++++++++++++++++----
drivers/gpu/drm/mediatek/mtk_drm_crtc.h | 2 +
drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c | 131 ++++++++++++----
drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.h | 47 +++---
drivers/gpu/drm/mediatek/mtk_drm_drv.c | 86 +---------
drivers/gpu/drm/mediatek/mtk_drm_drv.h | 7 -
drivers/gpu/drm/mediatek/mtk_drm_plane.c | 47 ++++++
drivers/gpu/drm/mediatek/mtk_drm_plane.h | 2 +
11 files changed, 380 insertions(+), 224 deletions(-)