Paul, apart from increasing the fb size to 1080p, this patch also fixes a regression, which leads to unusable by applications framebuffer on some platforms, including migor. This happens, when one of parameters lies outside of limits, being checked in sh_mobile_check_var(). On migor it is .left_margin = 0, Then the fb-console is working, but, e.g., mplayer is not. So, we need this patch in 2.6.37 too, please. Unfortunately, it also introduces a wrong format printk format, which a later patch of yours fixes, so, you might want to push that patch too, although, that's not that important. Thanks Guennadi On Thu, 4 Nov 2010, Guennadi Liakhovetski wrote: > LCDC hardware can support 1920x1080 formats, adjust the driver to cover them. > Besides, instead of guessing some "reasonable" validity checks, only verify > values in .fb_check_var(), that we are sure, we cannot support. > > Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> > --- > drivers/video/sh_mobile_lcdcfb.c | 26 ++++++++------------------ > 1 files changed, 8 insertions(+), 18 deletions(-) > > diff --git a/drivers/video/sh_mobile_lcdcfb.c b/drivers/video/sh_mobile_lcdcfb.c > index a87dace..8e8d698 100644 > --- a/drivers/video/sh_mobile_lcdcfb.c > +++ b/drivers/video/sh_mobile_lcdcfb.c > @@ -54,8 +54,8 @@ static int lcdc_shared_regs[] = { > }; > #define NR_SHARED_REGS ARRAY_SIZE(lcdc_shared_regs) > > -#define DEFAULT_XRES 1280 > -#define DEFAULT_YRES 1024 > +#define MAX_XRES 1920 > +#define MAX_YRES 1080 > > static unsigned long lcdc_offs_mainlcd[NR_CH_REGS] = { > [LDDCKPAT1R] = 0x400, > @@ -914,22 +914,12 @@ static int sh_mobile_check_var(struct fb_var_screeninfo *var, struct fb_info *in > { > struct sh_mobile_lcdc_chan *ch = info->par; > > - if (var->xres < 160 || var->xres > 1920 || > - var->yres < 120 || var->yres > 1080 || > - var->left_margin < 32 || var->left_margin > 320 || > - var->right_margin < 12 || var->right_margin > 240 || > - var->upper_margin < 12 || var->upper_margin > 120 || > - var->lower_margin < 1 || var->lower_margin > 64 || > - var->hsync_len < 32 || var->hsync_len > 240 || > - var->vsync_len < 2 || var->vsync_len > 64 || > - var->pixclock < 6000 || var->pixclock > 40000 || > + if (var->xres > MAX_XRES || var->yres > MAX_YRES || > var->xres * var->yres * (ch->cfg.bpp / 8) * 2 > info->fix.smem_len) { > - dev_warn(info->dev, "Invalid info: %u %u %u %u %u %u %u %u %u!\n", > - var->xres, var->yres, > - var->left_margin, var->right_margin, > - var->upper_margin, var->lower_margin, > - var->hsync_len, var->vsync_len, > - var->pixclock); > + dev_warn(info->dev, "Invalid info: %u-%u-%u-%u x %u-%u-%u-%u @ %ukHz!\n", > + var->left_margin, var->xres, var->right_margin, var->hsync_len, > + var->upper_margin, var->yres, var->lower_margin, var->vsync_len, > + PICOS2KHZ(var->pixclock)); > return -EINVAL; > } > return 0; > @@ -1225,7 +1215,7 @@ static int __devinit sh_mobile_lcdc_probe(struct platform_device *pdev) > } > > if (!mode) > - max_size = DEFAULT_XRES * DEFAULT_YRES; > + max_size = MAX_XRES * MAX_YRES; > else if (max_cfg) > dev_dbg(&pdev->dev, "Found largest videomode %ux%u\n", > max_cfg->xres, max_cfg->yres); > -- > 1.7.2.3 > > --- Guennadi Liakhovetski, Ph.D. Freelance Open-Source Software Developer http://www.open-technology.de/ -- To unsubscribe from this list: send the line "unsubscribe linux-fbdev" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html