Now that the delays are named / described with eDP-centric names, it becomes clear that we should really specify the "hpd_reliable" and "hpd_absent" separately without taking the other into account. Let's fix it. This should be a no-op change and just adjust how we specify things. The actual delays should be the same before and after for the one panel that currently species both "hpd_reliable" and "hpd_absent". Signed-off-by: Douglas Anderson <dianders@xxxxxxxxxxxx> Acked-by: Sam Ravnborg <sam@xxxxxxxxxxxx> --- Changes in v4: - panel-simple-edp => panel-edp drivers/gpu/drm/panel/panel-edp.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/drm/panel/panel-edp.c b/drivers/gpu/drm/panel/panel-edp.c index 1547e4797594..80a37a4e5750 100644 --- a/drivers/gpu/drm/panel/panel-edp.c +++ b/drivers/gpu/drm/panel/panel-edp.c @@ -423,7 +423,7 @@ static int panel_edp_prepare_once(struct panel_edp *p) delay = p->desc->delay.hpd_reliable; if (p->no_hpd) - delay += p->desc->delay.hpd_absent; + delay = max(delay, p->desc->delay.hpd_absent); if (delay) msleep(delay); @@ -1039,15 +1039,13 @@ static const struct panel_desc boe_nv133fhm_n61 = { * spike on the HPD line. It was explained that this spike * was until the TCON data download was complete. On * one system this was measured at 8 ms. We'll put 15 ms - * in the prepare delay just to be safe and take it away - * from the hpd_absent (which would otherwise be 200 ms) - * to handle this. That means: + * in the prepare delay just to be safe. That means: * - If HPD isn't hooked up you still have 200 ms delay. * - If HPD is hooked up we won't try to look at it for the * first 15 ms. */ .hpd_reliable = 15, - .hpd_absent = 185, + .hpd_absent = 200, .unprepare = 500, }, -- 2.33.0.309.g3052b89438-goog