]> git.baikalelectronics.ru Git - kernel.git/commit
drm/panel-edp: Better describe eDP panel delays
authorDouglas Anderson <dianders@chromium.org>
Tue, 14 Sep 2021 20:21:58 +0000 (13:21 -0700)
committerDouglas Anderson <dianders@chromium.org>
Mon, 20 Sep 2021 16:23:39 +0000 (09:23 -0700)
commit741278e759d2a79768ad6d651469be420a6bc27e
treee2732fd64cdbac4563dca629d7a8bca8f06456a8
parent181005f1bb64469b62c13d1bb4a8482a1ad98e75
drm/panel-edp: Better describe eDP panel delays

Now that the eDP panel driver only handles eDP panels we can make
better sense of the delays here. Let's describe them in terms of the
standard eDP timing diagram from the eDP spec.

As part of this, it becomes pretty clear that some eDP panels have too
long of a "hpd_reliable_delay". This used to be the "prepare"
delay. It's the fixed delay that we do in the panel driver after
powering on our panel before we look at the HPD signal. To understand
this better, first realize that there could be 3 paths we follow
depending on how HPD is hooked up. Let's walk through them:
1. HPD is handled by the eDP controller driver. Until "recently"
   (commit fe8943a9e47d ("drm/panel-simple: Support hpd-gpios for
   delaying prepare()") in May 2020) this was the only supported
   way. This is supposed to be when the controller driver gets HPD
   straight to a dedicated pin. In this case the controller driver
   should be waiting for HPD in its pre_enable() routine which should
   be called right after the panel's prepare() function is
   called. That means that the old "prepare" delay was only needed as
   a delay after powering the panel but before looking at HPD.
2. HPD is handled via hpd-gpios in the panel. This is much like #1 but
   much easier to follow since all the handling is in the panel
   driver.
3. The no-hpd case. This is also easy to follow.

In any case, even though it seems like some old panel data was using
this incorrectly, let's not touch the old data structures but we'll
add a note indicating that something seems off.

Signed-off-by: Douglas Anderson <dianders@chromium.org>
Acked-by: Sam Ravnborg <sam@ravnborg.org>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20210914132020.v5.11.I2d798dd015332661c5895ef744bc8ec5cd2e06ca@changeid
drivers/gpu/drm/panel/panel-edp.c