[PATCH v2 3/7] drm_modes: add videomode_from_drm_display_mode
Philipp Zabel
p.zabel at pengutronix.de
Fri Dec 19 03:03:04 PST 2014
Am Donnerstag, den 18.12.2014, 18:00 -0800 schrieb Steve Longerbeam:
> Add conversion from drm_display_mode to videomode.
>
> Signed-off-by: Steve Longerbeam <steve_longerbeam at mentor.com>
> ---
> drivers/gpu/drm/drm_modes.c | 40 ++++++++++++++++++++++++++++++++++++++++
> include/drm/drm_modes.h | 2 ++
> 2 files changed, 42 insertions(+)
>
> diff --git a/drivers/gpu/drm/drm_modes.c b/drivers/gpu/drm/drm_modes.c
> index 6d8b941..583a391 100644
> --- a/drivers/gpu/drm/drm_modes.c
> +++ b/drivers/gpu/drm/drm_modes.c
> @@ -615,6 +615,46 @@ void drm_display_mode_from_videomode(const struct videomode *vm,
> }
> EXPORT_SYMBOL_GPL(drm_display_mode_from_videomode);
>
> +/**
> + * videomode_from_drm_display_mode - fill in @vm using @dmode,
> + * @dmode: drm_display_mode structure to use as source
> + * @vm: videomode structure to use as destination
> + *
> + * Fills out @vm using the display mode specified in @dmode.
> + */
> +void videomode_from_drm_display_mode(const struct drm_display_mode *dmode,
> + struct videomode *vm)
> +{
> + vm->hactive = dmode->hdisplay;
> + vm->hfront_porch = dmode->hsync_start - dmode->hdisplay;
> + vm->hsync_len = dmode->hsync_end - dmode->hsync_start;
> + vm->hback_porch = dmode->htotal - dmode->hsync_end;
> +
> + vm->vactive = dmode->vdisplay;
> + vm->vfront_porch = dmode->vsync_start - dmode->vdisplay;
> + vm->vsync_len = dmode->vsync_end - dmode->vsync_start;
> + vm->vback_porch = dmode->vtotal - dmode->vsync_end;
> +
> + vm->pixelclock = dmode->clock * 1000;
> +
> + vm->flags = 0;
> + if (dmode->flags & DRM_MODE_FLAG_PHSYNC)
> + vm->flags |= DISPLAY_FLAGS_HSYNC_HIGH;
> + else if (dmode->flags & DRM_MODE_FLAG_NHSYNC)
> + vm->flags |= DISPLAY_FLAGS_HSYNC_LOW;
> + if (dmode->flags & DRM_MODE_FLAG_PVSYNC)
> + vm->flags |= DISPLAY_FLAGS_VSYNC_HIGH;
> + else if (dmode->flags & DRM_MODE_FLAG_NVSYNC)
> + vm->flags |= DISPLAY_FLAGS_VSYNC_LOW;
> + if (dmode->flags & DRM_MODE_FLAG_INTERLACE)
> + vm->flags |= DISPLAY_FLAGS_INTERLACED;
> + if (dmode->flags & DRM_MODE_FLAG_DBLSCAN)
> + vm->flags |= DISPLAY_FLAGS_DOUBLESCAN;
> + if (dmode->flags & DRM_MODE_FLAG_DBLCLK)
> + vm->flags |= DISPLAY_FLAGS_DOUBLECLK;
> +}
> +EXPORT_SYMBOL_GPL(videomode_from_drm_display_mode);
Is it ok for drm_modes to export a function that doesn't start with
drm_ ? We could just rename this to drm_display_mode_to_videomode if
necessary. I can fix it up as I apply it, but I'd like to know which is
preferred.
regards
Philipp
More information about the dri-devel
mailing list