openwrt/target/linux/brcm2708/patches-3.10/0164-video-relax-the-dimens...

38 lines
1.4 KiB
Diff

From c53c5708dcae81fbda536e38bbca6fa45886ffa9 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Wed, 29 Jan 2014 21:37:00 +0000
Subject: [PATCH 164/196] video: relax the dimensions check for rotated
displays
---
drivers/video/bcm2708_fb.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/video/bcm2708_fb.c b/drivers/video/bcm2708_fb.c
index 5758146..935288d 100644
--- a/drivers/video/bcm2708_fb.c
+++ b/drivers/video/bcm2708_fb.c
@@ -255,8 +255,8 @@ static int bcm2708_fb_check_var(struct fb_var_screeninfo *var,
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 fb_info *info,
/* 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 ||
--
1.9.1