Roll back to 16-bit displays

This commit is contained in:
Matt Sealey
2010-09-09 10:13:19 -05:00
parent 252d8b02d5
commit 1d91ed0309
2 changed files with 11 additions and 6 deletions

View File

@@ -48,7 +48,7 @@ int cs8556_reinit(struct fb_var_screeninfo *var);
#define MEGA 1000000
#define EFIKAMX_DEFAULT_BPP 32 /* please keep synced with mxc_ipu3_fb.c */
#define EFIKAMX_DEFAULT_BPP 16 /* please keep synced with mxc_ipu3_fb.c */
int __initdata video_output = { VIDEO_OUT_STATIC_HDMI };
int __initdata video_mode = { VIDEO_OUT_STATIC_HDMI };

View File

@@ -70,7 +70,7 @@ extern void mxcfb_adjust(struct fb_var_screeninfo *var );
* Driver name
*/
#define MXCFB_NAME "mxc_sdc_fb"
#define MXCFB_DEFAULT_BPP 32 /* fsl default is 16 */
#define MXCFB_DEFAULT_BPP 16 /* fsl default is 16 */
/*!
* Structure containing the MXC specific framebuffer information.
@@ -172,9 +172,14 @@ static int mxcfb_set_fix(struct fb_info *info)
if( clock_auto && extsync ) {
if ( var->pixclock < pixclk_limit ) {
printk(KERN_INFO "exceed pixel clock limit %d, auto adjust to 720p\n", pixclk_limit );
fb_find_mode( var, info, "1280x720-32@60", NULL, 0, NULL, 0 );
if (MXCFB_DEFAULT_BPP == 32)
fb_find_mode( var, info, "1280x720-32@60", NULL, 0, NULL, 0 );
else
fb_find_mode( var, info, "1280x720-16@60", NULL, 0, NULL, 0 );
/* BUG: this should be the same bit depth as the current mode,
or if it resyncs a 1280x720p mode it won't reclock */
/* BUG: sprintf would be better than this */
}
var->sync |= FB_SYNC_EXT; /* x window need it otherwise refresh rate will become bigger than user specified */
}
@@ -671,7 +676,7 @@ static int mxcfb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
var->red.msb_right = 0;
var->green.length = 8;
var->green.offset = 8;
var->green.offset = 24;
var->green.msb_right = 0;
var->blue.length = 8;
@@ -679,7 +684,7 @@ static int mxcfb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
var->blue.msb_right = 0;
var->transp.length = 8;
var->transp.offset = 24;
var->transp.offset = 8;
var->transp.msb_right = 0;
break;
}
@@ -1715,7 +1720,7 @@ static int mxcfb_probe(struct platform_device *pdev)
/* Default Y virtual size is 2x panel size */
#if defined(CONFIG_MACH_MX51_EFIKAMX)
if (0 || machine_is_mx51_efikamx()) /* disabled pending retest */
if (machine_is_mx51_efikamx())
fbi->var.yres_virtual = fbi->var.yres * 2;
else
#else