mbox series

[v4,0/4] drm/dp: Introduce wait_hpd_asserted() for the DP AUX bus

Message ID 20220614215418.910948-1-dianders@chromium.org (mailing list archive)
Headers show
Series drm/dp: Introduce wait_hpd_asserted() for the DP AUX bus | expand

Message

Doug Anderson June 14, 2022, 9:54 p.m. UTC
This is the 2nd four patches from my RFC series ("drm/dp: Improvements
for DP AUX channel") [1]. I've broken the series in two so we can make
progress on the two halves separately.

v2 of this series changes to add wait_hpd_asserted() instead of
is_hpd_asserted(). This allows us to move the extra delay needed for
ps8640 into the ps8640 driver itself.

The idea for this series came up during the review process of
Sankeerth's series trying to add eDP for Qualcomm SoCs [2].

This _doesn't_ attempt to fix the Analogix driver. If this works out,
ideally someone can post a patch up to do that.

[1] https://lore.kernel.org/r/20220409023628.2104952-1-dianders@chromium.org/
[2] https://lore.kernel.org/r/1648656179-10347-2-git-send-email-quic_sbillaka@quicinc.com/

Changes in v4:
- Add comment that caller powered up the panel.
- Comments now explain that we may wait longer due to debouncing.
- Mention in commit message debouncing vs. powering on timing.
- Rebased to handle the fact that the stuct moved files.
- Reorganized logic as per Dmitry's suggestion.

Changes in v3:
- Don't check "hpd_asserted" boolean when unset.
- Handle errors from gpiod_get_value_cansleep() properly.

Changes in v2:
- Change is_hpd_asserted() to wait_hpd_asserted()

Douglas Anderson (4):
  drm/dp: Add wait_hpd_asserted() callback to struct drm_dp_aux
  drm/panel-edp: Take advantage of wait_hpd_asserted() in struct
    drm_dp_aux
  drm/panel: atna33xc20: Take advantage of wait_hpd_asserted() in struct
    drm_dp_aux
  drm/bridge: parade-ps8640: Provide wait_hpd_asserted() in struct
    drm_dp_aux

 drivers/gpu/drm/bridge/parade-ps8640.c        | 39 +++++++++-----
 drivers/gpu/drm/panel/panel-edp.c             | 33 ++++++++----
 .../gpu/drm/panel/panel-samsung-atna33xc20.c  | 51 ++++++++++++++-----
 include/drm/display/drm_dp_helper.h           | 30 +++++++++++
 4 files changed, 117 insertions(+), 36 deletions(-)

Comments

Doug Anderson June 21, 2022, 4:10 p.m. UTC | #1
Hi,

On Tue, Jun 14, 2022 at 2:54 PM Douglas Anderson <dianders@chromium.org> wrote:
>
> This is the 2nd four patches from my RFC series ("drm/dp: Improvements
> for DP AUX channel") [1]. I've broken the series in two so we can make
> progress on the two halves separately.
>
> v2 of this series changes to add wait_hpd_asserted() instead of
> is_hpd_asserted(). This allows us to move the extra delay needed for
> ps8640 into the ps8640 driver itself.
>
> The idea for this series came up during the review process of
> Sankeerth's series trying to add eDP for Qualcomm SoCs [2].
>
> This _doesn't_ attempt to fix the Analogix driver. If this works out,
> ideally someone can post a patch up to do that.
>
> [1] https://lore.kernel.org/r/20220409023628.2104952-1-dianders@chromium.org/
> [2] https://lore.kernel.org/r/1648656179-10347-2-git-send-email-quic_sbillaka@quicinc.com/
>
> Changes in v4:
> - Add comment that caller powered up the panel.
> - Comments now explain that we may wait longer due to debouncing.
> - Mention in commit message debouncing vs. powering on timing.
> - Rebased to handle the fact that the stuct moved files.
> - Reorganized logic as per Dmitry's suggestion.
>
> Changes in v3:
> - Don't check "hpd_asserted" boolean when unset.
> - Handle errors from gpiod_get_value_cansleep() properly.
>
> Changes in v2:
> - Change is_hpd_asserted() to wait_hpd_asserted()
>
> Douglas Anderson (4):
>   drm/dp: Add wait_hpd_asserted() callback to struct drm_dp_aux
>   drm/panel-edp: Take advantage of wait_hpd_asserted() in struct
>     drm_dp_aux
>   drm/panel: atna33xc20: Take advantage of wait_hpd_asserted() in struct
>     drm_dp_aux
>   drm/bridge: parade-ps8640: Provide wait_hpd_asserted() in struct
>     drm_dp_aux
>
>  drivers/gpu/drm/bridge/parade-ps8640.c        | 39 +++++++++-----
>  drivers/gpu/drm/panel/panel-edp.c             | 33 ++++++++----
>  .../gpu/drm/panel/panel-samsung-atna33xc20.c  | 51 ++++++++++++++-----
>  include/drm/display/drm_dp_helper.h           | 30 +++++++++++
>  4 files changed, 117 insertions(+), 36 deletions(-)

Pushed to drm-misc-next with Dmitry's reviews.

f5aa7d46b0ee drm/bridge: parade-ps8640: Provide wait_hpd_asserted() in
struct drm_dp_aux
3b5765df375c drm/panel: atna33xc20: Take advantage of
wait_hpd_asserted() in struct drm_dp_aux
2327b13d6c47 drm/panel-edp: Take advantage of wait_hpd_asserted() in
struct drm_dp_aux
841d742f094e drm/dp: Add wait_hpd_asserted() callback to struct drm_dp_aux

-Doug