[PATCH v1 0/6] drm/mediatek: fix cursor issue and apply CMDQ in

From: Bibby Hsieh
Date: Wed Nov 27 2019 - 21:42:50 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
(https://patchwork.kernel.org/cover/11121519/)
support gce on mt8183 platform
(https://patchwork.kernel.org/cover/11255147)
drm/mediatek: Refactor plane init/check and support rotation
(https://pw-emeril.freedesktop.org/series/69015/)
drm/mediatek: Check return value of mtk_drm_ddp_comp_for_plane
(https://lore.kernel.org/patchwork/patch/1154517/)

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 (6):
drm/mediatek: put "event" in critical section
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: 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 | 65 +++++----
drivers/gpu/drm/mediatek/mtk_disp_rdma.c | 43 +++---
drivers/gpu/drm/mediatek/mtk_drm_crtc.c | 139 +++++++++++++++++-
drivers/gpu/drm/mediatek/mtk_drm_crtc.h | 2 +
drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c | 151 +++++++++++++++-----
drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.h | 55 ++++---
drivers/gpu/drm/mediatek/mtk_drm_drv.c | 96 +++----------
drivers/gpu/drm/mediatek/mtk_drm_drv.h | 9 +-
drivers/gpu/drm/mediatek/mtk_drm_plane.c | 50 +++++++
drivers/gpu/drm/mediatek/mtk_drm_plane.h | 2 +
11 files changed, 423 insertions(+), 196 deletions(-)

--
2.18.0