On Thu, Jul 29, 2021 at 1:40 PM Frank Wunderlich <linux@xxxxxxxxx> wrote: > > Am 29. Juli 2021 05:15:23 MESZ schrieb Hsin-Yi Wang <hsinyi@xxxxxxxxxxxx>: > > >This patch is breaking the mt8183 internal display. I think it's > >because ~routes[i].val; is removed? > >Also what should the routes[i].mask be if it's not set in > >mmsys_mt8183_routing_table? > > > >> writel_relaxed(reg, mmsys->regs + > >routes[i].addr); > >> } > >> } > ><snip> > > The mask should reset the needed bits,maybe it needs to be adjusted for your ddp components... > > Can you add some debugs inside loops in mtk_mmsys_ddp_connect and mtk_mmsys_ddp_disconnect (show read val,mask and final mask before write) to show differences before and after the patch? > struct mtk_mmsys_routes { u32 from_comp; u32 to_comp; u32 addr; + u32 mask; u32 val; }; mask is not the last element, and mmsys_mt8183_routing_table = { { DDP_COMPONENT_OVL0, DDP_COMPONENT_OVL_2L0, MT8183_DISP_OVL0_MOUT_EN, MT8183_OVL0_MOUT_EN_OVL0_2L } ... so the mask and val will be wrong. CK, do you know what mask we should set for mt8183? Or can we just set a dummy 0 mask. > regards Frank