Hi, Jassi:
Jassi Brar jassisinghbrar@gmail.com 於 2020年10月3日 週六 上午4:30寫道:
On Sun, Sep 27, 2020 at 6:04 PM Chun-Kuang Hu chunkuang.hu@kernel.org wrote:
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(-)
Please break this into two patchsets - one for mailbox and one for its users. Also, CC original author and recent major contributors to mtk-cmdq-mailbox.c
Agree with you. But for patch [2/4] ("Use mailbox rx_callback instead of cmdq_task_cb"), I think it would be a long term process. I would break it into:
1. mtk-cmdq-mailbox.c: add rx_callback and keep cmdq_task_cb because client is using cmdq_task_cb. 2. client: change from cmdq_task_cb to rx_callback. 3. mtk-cmdq-mailbox.c: remove cmdq_task_cb.
The three step has dependency, but the 2nd should move to another series, so I would go 1st step first.
Regards, Chun-Kuang.
Thanks.