Re: [PATCH v2 0/4] CMDQ refinement of Mediatek DRM driver

From: Enric Balletbo Serra
Date: Tue Sep 21 2021 - 04:36:55 EST


Hi Chun-Kuang,

(again without html format, sorry for the noise)

Missatge de Chun-Kuang Hu <chunkuang.hu@xxxxxxxxxx> del dia dj., 12
d’ag. 2021 a les 2:13:
>
> Chun-Kuang Hu <chunkuang.hu@xxxxxxxxxx> 於 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/?h=mediatek-drm-next
>

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@xxxxxxxxxx>
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.

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:
> > 1. 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
> >