drm: improve the documentation of connector hpd ops
authorAbhinav Kumar <quic_abhinavk@quicinc.com>
Wed, 20 Sep 2023 20:13:58 +0000 (13:13 -0700)
committerDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Sun, 3 Dec 2023 18:17:10 +0000 (20:17 +0200)
While making the changes in [1], it was noted that the documentation
of the enable_hpd() and disable_hpd() does not make it clear that
these ops should not try to do hpd state maintenance and should only
enable/disable hpd related hardware for the connector.

The state management of these calls to make sure these calls are
balanced is handled by the DRM core and we should keep it that way
to minimize the overhead in the drivers which implement these ops.

[1]: https://patchwork.freedesktop.org/patch/558387/

Signed-off-by: Abhinav Kumar <quic_abhinavk@quicinc.com>
Suggested-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20230920201358.27597-1-quic_abhinavk@quicinc.com
include/drm/drm_modeset_helper_vtables.h

index e3c3ac615909474bce7163230ed53cb22e1e7919..a33cf74887375a8b127b90b2a6e98157cc4a874f 100644 (file)
@@ -1154,6 +1154,11 @@ struct drm_connector_helper_funcs {
         * This operation is optional.
         *
         * This callback is used by the drm_kms_helper_poll_enable() helpers.
+        *
+        * This operation does not need to perform any hpd state tracking as
+        * the DRM core handles that maintenance and ensures the calls to enable
+        * and disable hpd are balanced.
+        *
         */
        void (*enable_hpd)(struct drm_connector *connector);
 
@@ -1165,6 +1170,11 @@ struct drm_connector_helper_funcs {
         * This operation is optional.
         *
         * This callback is used by the drm_kms_helper_poll_disable() helpers.
+        *
+        * This operation does not need to perform any hpd state tracking as
+        * the DRM core handles that maintenance and ensures the calls to enable
+        * and disable hpd are balanced.
+        *
         */
        void (*disable_hpd)(struct drm_connector *connector);
 };