I was totally confused with your questions, in the old kernel(4.9.x), could you set the display correct or not? in the first post, it seems that you can set up the panel correct, but now you said it was broken? and the reason is that the mwl settings cases the old kernel failed? I checked the nwl file, 4.9.88 and 5.4.70 both have the function like:
if (dsi->dsi_mode_flags & MIPI_DSI_CLOCK_NON_CONTINUOUS)
{ nwl_dsi_write(dsi, CFG_NONCONTINUOUS_CLK, 0x01); nwl_dsi_write(dsi, CFG_AUTOINSERT_EOTP, 0x01); } else { nwl_dsi_write(dsi, CFG_NONCONTINUOUS_CLK, 0x00); nwl_dsi_write(dsi, CFG_AUTOINSERT_EOTP, 0x00); }
in the "nwl_dsi_config_host" of nwl-dsi.c, 5.4 is different from 4.9.88, for 4.9.88 the clock is limited to the
static int valid_clocks[] = {
162000,
148500,
135000,
132000,
108000,
74250,
49500,
31500,
};
for 5.4, should support more clock frequecny , I don't think customer needs to change mwl file, should change the dts file to set the correct pll and pixel clock, refer to my first post, did you try the setting in 5.4 kernel as I posted? any different?