[RFC PATCH 0/6] drm/dp: Improvements for DP AUX channel

From: Douglas Anderson
Date: Fri Apr 08 2022 - 22:37:10 EST


This patch addresses pre-existing issues that came up during the
review process of Sankeerth's series trying to add eDP for Qualcomm
SoCs [1].

It's really sorta two series but jammed into one. The first two
patches fix a problem with ps8640 when the panel doesn't finish
probing right away. The rest of the patches attempt to improve how eDP
panel drivers deal with the HPD signal. NOTE: if everyone hates the
"generic driver" that I added in the first patch, I have a different
version that just adds uses the Linux auxiliary bus stright in
ps8640. I'm happy to switch back to that, but it seemed like a buncha
copy-pasta that I was hoping to avoid.

I haven't done a crazy amount of testing with this, but it seems to
work and I wanted to get something out there. I'll try to do some more
testing next week. This is why I added the tag "RFC". It's entirely
possibled that I've actually caught all the bugs and this is great,
but I just wanted to be sure.

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/1648656179-10347-2-git-send-email-quic_sbillaka@xxxxxxxxxxx/


Douglas Anderson (6):
drm/dp: Helpers to make it easier for drivers to use DP AUX bus
properly
drm/bridge: parade-ps8640: Break probe in two to handle DP AUX better
drm/dp: Add is_hpd_asserted() callback to struct drm_dp_aux
drm/panel-edp: Take advantage of is_hpd_asserted() in struct
drm_dp_aux
drm/panel: atna33xc20: Take advantage of is_hpd_asserted() in struct
drm_dp_aux
drm/bridge: parade-ps8640: Provide is_hpd_asserted() in struct
drm_dp_aux

drivers/gpu/drm/bridge/parade-ps8640.c | 87 +++++----
drivers/gpu/drm/dp/drm_dp_aux_bus.c | 165 +++++++++++++++++-
drivers/gpu/drm/panel/panel-edp.c | 37 +++-
.../gpu/drm/panel/panel-samsung-atna33xc20.c | 35 +++-
include/drm/dp/drm_dp_aux_bus.h | 58 ++++++
include/drm/dp/drm_dp_helper.h | 14 ++
6 files changed, 353 insertions(+), 43 deletions(-)

--
2.35.1.1178.g4f1659d476-goog