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 <[email protected]> > > Assisted-by: LLM > Signed-off-by: Ryan Brue <[email protected]> > --- > >
