Skip to content

Commit

Permalink
drm/exynos: correct timing porch conversion
Browse files Browse the repository at this point in the history
The patch corrects porch calculation. It should
be calculated as a difference between adjacent
respective fields of drm_display_mode.

Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Reviewed-by: Daniel Kurtz <djkurtz@chromium.org>
Reviewed-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
  • Loading branch information
Andrzej Hajda authored and Inki Dae committed Mar 23, 2014
1 parent 8e527f0 commit 8b4cad2
Showing 1 changed file with 5 additions and 7 deletions.
12 changes: 5 additions & 7 deletions drivers/gpu/drm/exynos/exynos_drm_fimd.c
Original file line number Diff line number Diff line change
Expand Up @@ -221,7 +221,7 @@ static void fimd_commit(struct exynos_drm_manager *mgr)
struct drm_display_mode *mode = &ctx->mode;
struct fimd_driver_data *driver_data;
u32 val, clkdiv, vidcon1;
int hblank, vblank, vsync_len, vbpd, vfpd, hsync_len, hbpd, hfpd;
int vsync_len, vbpd, vfpd, hsync_len, hbpd, hfpd;

driver_data = ctx->driver_data;
if (ctx->suspended)
Expand All @@ -240,21 +240,19 @@ static void fimd_commit(struct exynos_drm_manager *mgr)
writel(vidcon1, ctx->regs + driver_data->timing_base + VIDCON1);

/* setup vertical timing values. */
vblank = mode->crtc_vblank_end - mode->crtc_vblank_start;
vsync_len = mode->crtc_vsync_end - mode->crtc_vsync_start;
vbpd = (vblank - vsync_len) / 2;
vfpd = vblank - vsync_len - vbpd;
vbpd = mode->crtc_vtotal - mode->crtc_vsync_end;
vfpd = mode->crtc_vsync_start - mode->crtc_vdisplay;

val = VIDTCON0_VBPD(vbpd - 1) |
VIDTCON0_VFPD(vfpd - 1) |
VIDTCON0_VSPW(vsync_len - 1);
writel(val, ctx->regs + driver_data->timing_base + VIDTCON0);

/* setup horizontal timing values. */
hblank = mode->crtc_hblank_end - mode->crtc_hblank_start;
hsync_len = mode->crtc_hsync_end - mode->crtc_hsync_start;
hbpd = (hblank - hsync_len) / 2;
hfpd = hblank - hsync_len - hbpd;
hbpd = mode->crtc_htotal - mode->crtc_hsync_end;
hfpd = mode->crtc_hsync_start - mode->crtc_hdisplay;

val = VIDTCON1_HBPD(hbpd - 1) |
VIDTCON1_HFPD(hfpd - 1) |
Expand Down

0 comments on commit 8b4cad2

Please sign in to comment.