Hi, Enric:
Enric Balletbo Serra eballetbo@gmail.com 於 2021年9月21日 週二 下午4:36寫道:
Hi Chun-Kuang,
(again without html format, sorry for the noise)
Missatge de Chun-Kuang Hu chunkuang.hu@kernel.org del dia dj., 12 d’ag. 2021 a les 2:13:
Chun-Kuang Hu chunkuang.hu@kernel.org 於 2021年8月9日 週一 上午7:47寫道:
These refinements include using standard mailbox callback interface, timeout detection, and a fixed cmdq_handle.
For this series, applied to mediatek-drm-next [1].
[1] https://git.kernel.org/pub/scm/linux/kernel/git/chunkuang.hu/linux.git/log/?...
These patches seem to break the display on the Acer Chromebook R 13 (MT8173) in the current mainline. After running a bisection it pointed me to the following commit
commit f4be17cd5b14dd73545b0e014a63ebe9ab5ef837 Author: Chun-Kuang Hu chunkuang.hu@kernel.org Date: Sun Jul 4 15:36:48 2021 +0800
drm/mediatek: Remove struct cmdq_client
Reverting this patch alone is not trivial, so I ended up reverting the full series, and I can confirm that reverting the full series makes the display work again.
I think you could not just revert "drm/mediatek: Remove struct cmdq_client", you should also revert the patches after it, such as
"drm/mediatek: Clear pending flag when cmdq packet is done" "drm/mediatek: Add cmdq_handle in mtk_crtc" "drm/mediatek: Detect CMDQ execution timeout"
If "drm/mediatek: Remove struct cmdq_client" is the patch cause display abnormal, I think you could compare code w/ and w/o this patch. Focus on the value accuracy, such as cmdq_cl and cmdq_chan. And focus on the flow accuracy, such as mtk_drm_crtc_update_config() and ddp_cmdq_cb(). If this could not find the problem, I think the latest way is to break this patch into small patches, changes little in each small patches and we could finally find out the problem.
Regards, Chun-Kuang.
Unfortunately, after the merge window, different things broke for this device, and I didn't finish isolating them, and it is not clear to me yet whether the logs I'm getting are useful for this specific issue or not. Basically with this series merged the kernel seems to be stuck, and the display is not working. Latest message is
[ 12.329173] mtk-iommu 10205000.iommu: Partial TLB flush timed out, falling back to full flush
Without the series, the kernel goes far and display works, however there are other issues affecting the cros-ec, but I think that's another issue.
I'll try to dig a bit more, but, meanwhile, if you have any idea please let me know.
Thanks, Enric
Regards, Chun-Kuang.
Changes in v2:
- Define mtk_drm_cmdq_pkt_create() and mtk_drm_cmdq_pkt_destroy() when CONFIG_MTK_CMDQ is reachable.
Chun-Kuang Hu (4): drm/mediatek: Use mailbox rx_callback instead of cmdq_task_cb drm/mediatek: Remove struct cmdq_client drm/mediatek: Detect CMDQ execution timeout drm/mediatek: Add cmdq_handle in mtk_crtc
drivers/gpu/drm/mediatek/mtk_drm_crtc.c | 110 ++++++++++++++++++++---- 1 file changed, 91 insertions(+), 19 deletions(-)
-- 2.25.1