Hi, thank you for the review. On 20/04/2023 09:35, Linus Walleij wrote: >> +static int s6d7aa0_on(struct s6d7aa0 *ctx) >> +{ >> + struct mipi_dsi_device *dsi = ctx->dsi; >> + struct device *dev = &dsi->dev; >> + int ret; >> + >> + dsi->mode_flags |= MIPI_DSI_MODE_LPM; > > (...) > >> +static int s6d7aa0_off(struct s6d7aa0 *ctx) >> +{ >> + struct mipi_dsi_device *dsi = ctx->dsi; >> + struct device *dev = &dsi->dev; >> + int ret; >> + >> + dsi->mode_flags &= ~MIPI_DSI_MODE_LPM; > > I haven't seen this mode flag MIPI_DSI_MODE_LPM set and > masked in other DSI panel drivers! Is this something we should > fix everywhere then? Or even something the core should be > doing? These bits were included in a driver for a similar panel with the same controller in an MSM8916 close-to-mainline kernel fork[1]; that driver was generated with lmdpdg[2], which adds the LPM mode flag automatically based on some downstream DTS property. In this case, I left it in, since it didn't seem to break anything... but I just re-tested without it and it seems that it might've fixed some odd issues I'd get sometimes when going out of sleep mode. I'll get rid of it in the next version. (I based my panel driver off that driver; now that I think about it, it might be worth mentioning somewhere in the copyright notice...?) Best regards Artur Weber [1] https://github.com/msm8916-mainline/linux/blob/msm8916/6.3-rc7/drivers/gpu/drm/panel/msm8916-generated/panel-samsung-s6d7aa0-lsl080al03.c [2] https://github.com/msm8916-mainline/linux-mdss-dsi-panel-driver-generator