[PATCH] drm: improve the documentation of connector hpd ops

Laurent Pinchart laurent.pinchart at ideasonboard.com
Sun Dec 3 14:24:41 UTC 2023


Hi Abhinav,

Thank you for the patch (and thank to Dmitry for pinging me on IRC, this
patch got burried in my inbox).

On Wed, Sep 20, 2023 at 01:13:58PM -0700, Abhinav Kumar wrote:
> 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
> attempt to enable/disable hpd related hardware for the connector.

s/attempt to //

> 
> 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/
> 

You could add a

Suggested-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>

> Signed-off-by: Abhinav Kumar <quic_abhinavk at quicinc.com>

Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>

> ---
>  include/drm/drm_modeset_helper_vtables.h | 10 ++++++++++
>  1 file changed, 10 insertions(+)
> 
> diff --git a/include/drm/drm_modeset_helper_vtables.h b/include/drm/drm_modeset_helper_vtables.h
> index e3c3ac615909..a33cf7488737 100644
> --- a/include/drm/drm_modeset_helper_vtables.h
> +++ b/include/drm/drm_modeset_helper_vtables.h
> @@ -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);
>  };

-- 
Regards,

Laurent Pinchart


More information about the dri-devel mailing list