[PATCH] drm: document that user-space should force-probe connectors

Daniel Vetter daniel at ffwll.ch
Mon Nov 30 15:16:01 UTC 2020


On Mon, Nov 30, 2020 at 09:08:23AM +0000, Simon Ser wrote:
> It seems like we can't have nice things, so let's just document the
> disappointing behaviour instead.
> 
> Signed-off-by: Simon Ser <contact at emersion.fr>
> Fixes: 2ac5ef3b2362 ("drm: document drm_mode_get_connector")
> Cc: Daniel Vetter <daniel.vetter at ffwll.ch>
> Cc: Pekka Paalanen <ppaalanen at gmail.com>
> Cc: Ville Syrjala <ville.syrjala at linux.intel.com>
> ---
>  include/uapi/drm/drm_mode.h | 11 +++--------
>  1 file changed, 3 insertions(+), 8 deletions(-)
> 
> diff --git a/include/uapi/drm/drm_mode.h b/include/uapi/drm/drm_mode.h
> index b49fbf2bdc40..2e99f29d7f81 100644
> --- a/include/uapi/drm/drm_mode.h
> +++ b/include/uapi/drm/drm_mode.h
> @@ -414,15 +414,10 @@ enum drm_mode_subconnector {
>   *
>   * If the @count_modes field is set to zero, the kernel will perform a forced
>   * probe on the connector to refresh the connector status, modes and EDID.
> - * A forced-probe can be slow and the ioctl will block. A force-probe can cause
> - * flickering and temporary freezes, so it should not be performed
> - * automatically.
> + * A forced-probe can be slow and the ioctl will block.

I think we should still have a notice here along the lines of "without a
reason". Some compositors have done polling every 30s or other dumb stuff
like that "A forced-probe should not be done without a need like a hotplug
event from the kernel, explicit request for output probing from the user,
or when starting the compositor."

Also I'd keep the "can be slow, might cause flickering, and the ioctl will
block" or so.

>   *
> - * User-space shouldn't need to force-probe connectors in general: the kernel
> - * will automatically take care of probing connectors that don't support
> - * hot-plug detection when appropriate. However, user-space may force-probe
> - * connectors on user request (e.g. clicking a "Scan connectors" button, or
> - * opening a UI to manage screens).
> + * User-space needs to force-probe connectors to ensure their metadata is
> + * up-to-date.

I'd add a "after receiving a hotplug event" here.

Reviewed-by: Daniel Vetter <daniel.vetter at ffwll.ch>

>   */
>  struct drm_mode_get_connector {
>  	/** @encoders_ptr: Pointer to ``__u32`` array of object IDs. */
> -- 
> 2.29.2
> 
> 

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch


More information about the dri-devel mailing list