Hi, On Wed, May 8, 2024 at 6:53 PM Cong Yang <yangcong5@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> wrote: > > +static int hx83102_enable(struct drm_panel *panel) > +{ > + struct hx83102 *ctx = panel_to_hx83102(panel); > + struct mipi_dsi_device *dsi = ctx->dsi; > + struct device *dev = &dsi->dev; > + int ret; > + > + ret = mipi_dsi_dcs_exit_sleep_mode(dsi); > + if (ret) { > + dev_err(dev, "Failed to exit sleep mode: %d\n", ret); > + return ret; > + } > + > + msleep(120); > + > + ret = mipi_dsi_dcs_set_display_on(dsi); > + if (ret) { > + dev_err(dev, "Failed to turn on the display: %d\n", ret); > + return ret; > + } FWIW, I think that the mipi_dsi_dcs_exit_sleep_mode(), msleep(120), and mipi_dsi_dcs_set_display_on() should also be in the prepare() to match how they were in the boe-tv101wum-nl6.c driver, right? Then the enable() would be left with just the simple "msleep(130)". I know it doesn't make much difference and it probably doesn't matter and maybe I'm just being a little nitpicky, but given that the prepare() and enable() functions are unique phases I'd rather be explicit if we've moving something from one phase to the other. -Doug