[RFC PATCH 3/6] drm/dp: Add is_hpd_asserted() callback to struct drm_dp_aux

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


Sometimes it's useful for users of the DP AUX bus (like panels) to be
able to poll HPD. Let's add a callback that allows DP AUX busses
drivers to provide this.

Suggested-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx>
Signed-off-by: Douglas Anderson <dianders@xxxxxxxxxxxx>
---

include/drm/dp/drm_dp_helper.h | 14 ++++++++++++++
1 file changed, 14 insertions(+)

diff --git a/include/drm/dp/drm_dp_helper.h b/include/drm/dp/drm_dp_helper.h
index dad1442c91df..a12951319573 100644
--- a/include/drm/dp/drm_dp_helper.h
+++ b/include/drm/dp/drm_dp_helper.h
@@ -2021,6 +2021,20 @@ struct drm_dp_aux {
ssize_t (*transfer)(struct drm_dp_aux *aux,
struct drm_dp_aux_msg *msg);

+ /**
+ * @is_hpd_asserted: returns true if HPD is asserted
+ *
+ * This is mainly useful for eDP panels drivers to query whether
+ * an eDP panel has finished powering on. This is an optional function.
+ *
+ * NOTE: this function specifically reports the state of the HPD pin
+ * that's associated with the DP AUX channel. This is different from
+ * the HPD concept in much of the rest of DRM which is more about
+ * physical presence of a display. For eDP, for instance, a display is
+ * assumed always present even if the HPD pin is deasserted.
+ */
+ bool (*is_hpd_asserted)(struct drm_dp_aux *aux);
+
/**
* @i2c_nack_count: Counts I2C NACKs, used for DP validation.
*/
--
2.35.1.1178.g4f1659d476-goog