[PATCH] soc: mmsys: mediatek: add mask to mmsys routes

Hsin-Yi Wang hsinyi at chromium.org
Wed Jul 28 22:47:03 PDT 2021


On Thu, Jul 29, 2021 at 1:40 PM Frank Wunderlich <linux at fw-web.de> wrote:
>
> Am 29. Juli 2021 05:15:23 MESZ schrieb Hsin-Yi Wang <hsinyi at chromium.org>:
>
> >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



More information about the Linux-mediatek mailing list