@@ -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,
},
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@chromium.org> --- (no changes since v1) drivers/gpu/drm/panel/panel-simple-edp.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-)