diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c index 68553c28c802..d1db91dbe17b 100644 --- a/drivers/gpu/drm/panel/panel-simple.c +++ b/drivers/gpu/drm/panel/panel-simple.c @@ -518,16 +518,6 @@ static int panel_simple_prepare(struct drm_panel *panel) gpiod_direction_output(p->enable_gpio, 1); - if (p->desc->delay.reset) - msleep(p->desc->delay.prepare); - - gpiod_direction_output(p->reset_gpio, 1); - - if (p->desc->delay.reset) - msleep(p->desc->delay.reset); - - gpiod_direction_output(p->reset_gpio, 0); - delay = p->desc->delay.prepare; if (p->no_hpd) delay += p->desc->delay.hpd_absent_delay; @@ -554,6 +544,13 @@ static int panel_simple_prepare(struct drm_panel *panel) } } + gpiod_direction_output(p->reset_gpio, 1); + + if (p->desc->delay.reset) + msleep(p->desc->delay.reset); + + gpiod_direction_output(p->reset_gpio, 0); + if (p->desc->init_seq) if (p->dsi) panel_simple_xfer_dsi_cmd_seq(p, p->desc->init_seq);