[PATCH] drm/vkms: detect modes during output initialization
Leandro Ribeiro
leandro.ribeiro at collabora.com
Fri Nov 27 21:16:55 UTC 2020
On 11/27/20 6:10 PM, Leandro Ribeiro wrote:
> In userspace we can use drmGetConnector() or drmGetConnectorCurrent() in
> order to retrieve connector information. The difference between both is
> that the former retrieves the complete set of modes and encoders
> associated with the connector, while the latter only retrieves the
> currently known set of modes and encoders - but is much faster.
>
> This performance improvement is the reason why userspace applications
> may prefer to use drmGetConnectorCurrent() when they need to retrieve
> information from a device. The problem is that until now VKMS used to
> init its output with an encoder, but without any valid mode, so
> these userspace applications would not be able to use VKMS.
>
> Call drm_helper_probe_single_connector_modes() during VKMS output
> initialization in order to start with the set of all valid modes.
>
> Signed-off-by: Leandro Ribeiro <leandro.ribeiro at collabora.com>
> ---
> drivers/gpu/drm/vkms/vkms_output.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/drivers/gpu/drm/vkms/vkms_output.c b/drivers/gpu/drm/vkms/vkms_output.c
> index 4a1848b0318f..20343592d38a 100644
> --- a/drivers/gpu/drm/vkms/vkms_output.c
> +++ b/drivers/gpu/drm/vkms/vkms_output.c
> @@ -80,6 +80,12 @@ int vkms_output_init(struct vkms_device *vkmsdev, int index)
> goto err_attach;
> }
>
> + ret = drm_helper_probe_single_connector_modes(connector, XRES_MAX, YRES_MAX);
> + if (ret == 0) {
> + DRM_ERROR("Failed to get modes for connector\n");
> + goto err_attach;
> + }
> +
> ret = vkms_enable_writeback_connector(vkmsdev);
> if (ret)
> DRM_ERROR("Failed to init writeback connector\n");
>
After this patch we start to receive the warning from
drivers/gpu/drm/drm_modes.c:110
Thanks,
Leandro Ribeiro.
More information about the dri-devel
mailing list