From 1c77fc3a48a37bacd539d18f9bbb24038e64a749 Mon Sep 17 00:00:00 2001 From: Russell King Date: Thu, 28 Apr 2005 10:43:52 +0100 Subject: [PATCH] --- yaml --- r: 547 b: refs/heads/master c: 82235e9170f19fa327361ee82a76618e60f2db47 h: refs/heads/master i: 545: e1b567ab62eac35260bfce57648960d4369d7abd 543: 19d2887fdb623e0ac3f1fd7a70c95805e357361e v: v3 --- [refs] | 2 +- trunk/drivers/video/amba-clcd.c | 8 +++++++- trunk/include/asm-arm/hardware/amba_clcd.h | 2 +- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 17cc2fb64d91..9cc9afbef7f8 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: c4d12b98ead8bb2437f656c17e7ef065fa160e13 +refs/heads/master: 82235e9170f19fa327361ee82a76618e60f2db47 diff --git a/trunk/drivers/video/amba-clcd.c b/trunk/drivers/video/amba-clcd.c index 075d3961a119..3e386fd4c5c6 100644 --- a/trunk/drivers/video/amba-clcd.c +++ b/trunk/drivers/video/amba-clcd.c @@ -146,7 +146,7 @@ clcdfb_set_bitfields(struct clcd_fb *fb, struct fb_var_screeninfo *var) var->blue.offset = 10; } break; - case 24: + case 32: if (fb->panel->cntl & CNTL_LCDTFT) { var->red.length = 8; var->green.length = 8; @@ -178,6 +178,12 @@ static int clcdfb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) if (fb->board->check) ret = fb->board->check(fb, var); + + if (ret == 0 && + var->xres_virtual * var->bits_per_pixel / 8 * + var->yres_virtual > fb->fb.fix.smem_len) + ret = -EINVAL; + if (ret == 0) ret = clcdfb_set_bitfields(fb, var); diff --git a/trunk/include/asm-arm/hardware/amba_clcd.h b/trunk/include/asm-arm/hardware/amba_clcd.h index 476b6398ae1e..d6ad33e52ea9 100644 --- a/trunk/include/asm-arm/hardware/amba_clcd.h +++ b/trunk/include/asm-arm/hardware/amba_clcd.h @@ -211,7 +211,7 @@ static inline void clcdfb_decode(struct clcd_fb *fb, struct clcd_regs *regs) case 16: val |= CNTL_LCDBPP16; break; - case 24: + case 32: val |= CNTL_LCDBPP24; break; }