[PATCH 0/4] Mediatek DRM driver detect CMDQ execution timeout by vblank IRQ
From: Chun-Kuang Hu
Date: Sun Sep 27 2020 - 19:04:37 EST
CMDQ helper provide timer to detect execution timeout, but DRM driver
could have a better way to detect execution timeout by vblank IRQ.
For DRM, CMDQ command should execute in vblank, so if it fail to
execute in next 2 vblank, timeout happen. Even though we could
calculate time between 2 vblank and use timer to delect, this would
make things more complicated.
This introduce a series refinement for CMDQ mailbox controller and CMDQ
helper. Remove timer handler in helper function because different
client have different way to detect timeout. Use standard mailbox
callback instead of proprietary one to get the necessary data
in callback function. Remove struct cmdq_client to access client
instance data by struct mbox_client.
Chun-Kuang Hu (4):
soc / drm: mediatek: cmdq: Remove timeout handler in helper function
mailbox / soc / drm: mediatek: Use mailbox rx_callback instead of
cmdq_task_cb
mailbox / soc / drm: mediatek: Remove struct cmdq_client
drm/mediatek: Detect CMDQ execution timeout
drivers/gpu/drm/mediatek/mtk_drm_crtc.c | 54 ++++++---
drivers/mailbox/mtk-cmdq-mailbox.c | 24 ++--
drivers/soc/mediatek/mtk-cmdq-helper.c | 146 ++---------------------
include/linux/mailbox/mtk-cmdq-mailbox.h | 25 +---
include/linux/soc/mediatek/mtk-cmdq.h | 54 +--------
5 files changed, 66 insertions(+), 237 deletions(-)
--
2.17.1