Module Name:    src
Committed By:   jmcneill
Date:           Sat Jul  6 00:23:38 UTC 2019

Modified Files:
        src/sys/arch/arm/sunxi: sunxi_lcdc.c

Log Message:
Fix start_delay calculation for tcon0. port-arm/54342


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 src/sys/arch/arm/sunxi/sunxi_lcdc.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/arm/sunxi/sunxi_lcdc.c
diff -u src/sys/arch/arm/sunxi/sunxi_lcdc.c:1.5 src/sys/arch/arm/sunxi/sunxi_lcdc.c:1.6
--- src/sys/arch/arm/sunxi/sunxi_lcdc.c:1.5	Mon Feb 18 02:42:27 2019
+++ src/sys/arch/arm/sunxi/sunxi_lcdc.c	Sat Jul  6 00:23:38 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: sunxi_lcdc.c,v 1.5 2019/02/18 02:42:27 jakllsch Exp $ */
+/* $NetBSD: sunxi_lcdc.c,v 1.6 2019/07/06 00:23:38 jmcneill Exp $ */
 
 /*-
  * Copyright (c) 2019 Jared D. McNeill <jmcne...@invisible.ca>
@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sunxi_lcdc.c,v 1.5 2019/02/18 02:42:27 jakllsch Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sunxi_lcdc.c,v 1.6 2019/07/06 00:23:38 jmcneill Exp $");
 
 #include <sys/param.h>
 #include <sys/bus.h>
@@ -219,10 +219,8 @@ sunxi_lcdc_tcon0_commit(struct drm_encod
 	const u_int hbp = mode->htotal - mode->hsync_start;
 	const u_int vspw = mode->vsync_end - mode->vsync_start;
 	const u_int vbp = mode->vtotal - mode->vsync_start;
-	const u_int vblank_len =
-	    ((mode->vtotal << interlace_p) >> 1) - mode->vdisplay - 2;
-	const u_int start_delay =
-	    vblank_len >= 32 ? 30 : vblank_len - 2;
+	const u_int vblank_len = (mode->vtotal - mode->vdisplay) >> interlace_p;
+	const u_int start_delay = uimin(vblank_len, 30);
 
 	val = TCON0_CTL_TCON0_EN |
 	      __SHIFTIN(start_delay, TCON0_CTL_START_DELAY);

Reply via email to