[PATCH 25/29] drm/omap: Pass drm_display_mode to .check_timings() and .set_timings()

Sebastian Reichel sebastian.reichel at collabora.com
Sun Dec 9 22:26:28 UTC 2018


Hi,

On Wed, Dec 05, 2018 at 05:00:18PM +0200, Laurent Pinchart wrote:
> The omap_dss_device .check_timings() and .set_timings() operations
> operate on struct videomode, while the DRM API operates on struct
> drm_display_mode. This forces conversion from to videomode in the
> callers. While that's not a problem per se, it creates a difference with
> the drm_bridge API.
> 
> Replace the videomode parameter to the .check_timings() and
> .set_timings() operations with a drm_display_mode. This pushed the
> conversion to videomode down to the DSS devices in some cases. If needed
> they will be converted to operate on drm_display_mode natively.
> 
> Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> ---
> [...]
> diff --git a/drivers/gpu/drm/omapdrm/omap_connector.c b/drivers/gpu/drm/omapdrm/omap_connector.c
> index 9882a4b1402b..487603c56b08 100644
> --- a/drivers/gpu/drm/omapdrm/omap_connector.c
> +++ b/drivers/gpu/drm/omapdrm/omap_connector.c
> @@ -245,23 +245,19 @@ enum drm_mode_status omap_connector_mode_fixup(struct omap_dss_device *dssdev,
>  					const struct drm_display_mode *mode,
>  					struct drm_display_mode *adjusted_mode)
>  {
> -	struct videomode vm = { 0 };
>  	int ret;
>  
> -	drm_display_mode_to_videomode(mode, &vm);
> +	drm_mode_copy(adjusted_mode, mode);

This will explode if adjusted_mode is NULL?

>  	for (; dssdev; dssdev = dssdev->next) {
>  		if (!dssdev->ops->check_timings)
>  			continue;
>  
> -		ret = dssdev->ops->check_timings(dssdev, &vm);
> +		ret = dssdev->ops->check_timings(dssdev, adjusted_mode);
>  		if (ret)
>  			return MODE_BAD;
>  	}
>  
> -	if (adjusted_mode)
> -		drm_display_mode_from_videomode(&vm, adjusted_mode);
> -
>  	return MODE_OK;
>  }

Old code assumed, that adjusted_mode may be NULL. If adjusted_mode
cannot be NULL, it should be mentioned in the patch description.

-- Sebastian
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20181209/17a41364/attachment-0001.sig>


More information about the dri-devel mailing list