Message ID | 20200927230422.11610-1-chunkuang.hu@kernel.org (mailing list archive) |
---|---|
Headers | show |
Series | Mediatek DRM driver detect CMDQ execution timeout by vblank IRQ | expand |
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 Thanks.
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.