From 55147f5fc6d723f203146a49d933aa01621ce36a Mon Sep 17 00:00:00 2001 From: Vasiliy Ulyanov Date: Thu, 29 Jan 2015 13:10:17 +0300 Subject: [PATCH] VIGS: workaround for qHD (540x960) video mode Horizontal resolution was rounded up to 544 (GTF algorithm). It was causing wrong rendering on emulator (black screen). Change-Id: I71668858cb31f0c87231c876cdb184dc70798326 Signed-off-by: Vasiliy Ulyanov --- drivers/gpu/drm/vigs/vigs_output.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/gpu/drm/vigs/vigs_output.c b/drivers/gpu/drm/vigs/vigs_output.c index fffcb709da82..77b83b14166a 100644 --- a/drivers/gpu/drm/vigs/vigs_output.c +++ b/drivers/gpu/drm/vigs/vigs_output.c @@ -101,7 +101,16 @@ static int vigs_connector_get_modes(struct drm_connector *connector) struct drm_display_mode *preferred_mode = drm_mode_create_from_cmdline_mode(drm_dev, &cmdline_mode); + + /* qHD workaround (540x960) */ + if (cmdline_mode.xres == 540 && cmdline_mode.yres == 960) { + preferred_mode->hdisplay = cmdline_mode.xres; + preferred_mode->hsync_start = preferred_mode->hsync_start - 1; + preferred_mode->hsync_end = preferred_mode->hsync_end - 1; + } + preferred_mode->type = DRM_MODE_TYPE_PREFERRED | DRM_MODE_TYPE_DRIVER; + drm_mode_set_crtcinfo(preferred_mode, CRTC_INTERLACE_HALVE_V); drm_mode_probed_add(connector, preferred_mode); return 1; } -- 2.34.1