Re: [PATCH RESEND] drm/mediatek: dsi: force command mode in mtk_dsi_poweron()

From: CK Hu (胡俊光)

Date: Mon Oct 12 2026 - 04:34:40 EST


On Sun, 2026-10-04 at 15:48 -0500, Ryan Brue wrote:
> External email : Please do not click links or open attachments until you have verified the sender or the content.
>
>
> mtk_dsi_reset_engine() does not touch DSI_MODE_CTRL, so whatever the
> bootloader left there survives power-on. On boards where the bootloader
> lights the panel for a boot logo and hands the DSI over still running, the
> leftover value is a video mode, and the first mtk_dsi_host_transfer() then
> takes the "already streaming" path: it stops the stream and waits for
> VM_DONE, which never arrives, because the engine reset has already stopped
> the stream. The panel's very first command fails and it is never
> initialised:
>
> [drm] Wait DSI IRQ(0x00000008) Timeout
> *ERROR* failed to switch cmd mode
> sending dcs data 8f a5 failed: -62
>
> Set command mode right after the engine reset, so DSI_MODE_CTRL describes
> the state the reset leaves the engine in. The video mode is programmed by
> mtk_dsi_set_mode() when the stream is actually started, exactly as today.
>
> Seen on the Amazon Fire HD 10 (2017), whose LK bootloader draws its logo
> over DSI in video mode and never stops the stream before jumping to the
> kernel.

Reviewed-by: CK Hu <ck.hu@xxxxxxxxxxxx>

>
> Assisted-by: LLM
> Signed-off-by: Ryan Brue <ryanbrue.dev@xxxxxxxxx>
> ---
>
>