aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm2708/patches-3.10/0164-video-relax-the-dimensions-check-for-rotated-display.patch
blob: bb731187be2b2926b72cdb384196be852b70f01f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
From cadc956e10cf0811927600dfe1f4657d92aad32a Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Wed, 29 Jan 2014 21:37:00 +0000
Subject: [PATCH 164/174] video: relax the dimensions check for rotated
 displays

---
 drivers/video/bcm2708_fb.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

--- a/drivers/video/bcm2708_fb.c
+++ b/drivers/video/bcm2708_fb.c
@@ -255,8 +255,8 @@ static int bcm2708_fb_check_var(struct f
 	else if (var->vmode & FB_VMODE_INTERLACED)
 		yres = (yres + 1) / 2;
 
-	if (yres > 1200) {
-		pr_err("bcm2708_fb_check_var: ERROR: VerticalTotal >= 1200; "
+	if (var->xres * yres > 1920 * 1200) {
+		pr_err("bcm2708_fb_check_var: ERROR: Pixel size >= 1920x1200; "
 		       "special treatment required! (TODO)\n");
 		return -EINVAL;
 	}
@@ -415,7 +415,7 @@ static void bcm2708_fb_copyarea(struct f
 
 	/* Fallback to cfb_copyarea() if we don't like something */
 	if (bytes_per_pixel > 4 ||
-	    info->var.xres > 1920 || info->var.yres > 1200 ||
+	    info->var.xres * info->var.yres > 1920 * 1200 ||
 	    region->width <= 0 || region->width > info->var.xres ||
 	    region->height <= 0 || region->height > info->var.yres ||
 	    region->sx < 0 || region->sx >= info->var.xres ||