[PATCH 51/133] [Jaunty SRU] ARM.imx51 Freescale:ENGR00111670-2 mxcfb: support mode string on command line

Brad Figg brad.figg at canonical.com
Thu Jul 9 16:48:41 UTC 2009


From: Rob Herring <r.herring at freescale.com>

Support mode string on kernel cmd line.
Unblank DI1 when it is primary display.

Signed-off-by: Rob Herring <r.herring at freescale.com>
Signed-off-by: Brad Figg <brad.figg at canonical.com>
---
 arch/arm/plat-mxc/include/mach/mxc.h |    1 +
 drivers/video/mxc/mxc_ipuv3_fb.c     |   10 +++++++++-
 2 files changed, 10 insertions(+), 1 deletions(-)

diff --git a/arch/arm/plat-mxc/include/mach/mxc.h b/arch/arm/plat-mxc/include/mach/mxc.h
index b8d738e..860bcad 100644
--- a/arch/arm/plat-mxc/include/mach/mxc.h
+++ b/arch/arm/plat-mxc/include/mach/mxc.h
@@ -151,6 +151,7 @@ struct mxc_lightsensor_platform_data {
 
 struct mxc_fb_platform_data {
 	struct fb_videomode *mode;
+	char *mode_str;
 	u32 interface_pix_fmt;
 };
 
diff --git a/drivers/video/mxc/mxc_ipuv3_fb.c b/drivers/video/mxc/mxc_ipuv3_fb.c
index 55911d8..2b9d43d 100644
--- a/drivers/video/mxc/mxc_ipuv3_fb.c
+++ b/drivers/video/mxc/mxc_ipuv3_fb.c
@@ -901,13 +901,14 @@ static int mxcfb_probe(struct platform_device *pdev)
 		if (!g_dp_in_use) {
 			mxcfbi->ipu_ch_irq = IPU_IRQ_BG_SYNC_EOF;
 			mxcfbi->ipu_ch = MEM_BG_SYNC;
+			mxcfbi->blank = FB_BLANK_UNBLANK;
 		} else {
 			mxcfbi->ipu_ch_irq = IPU_IRQ_DC_SYNC_EOF;
 			mxcfbi->ipu_ch = MEM_DC_SYNC;
 			fbi->var.nonstd = IPU_PIX_FMT_UYVY;
+			mxcfbi->blank = FB_BLANK_POWERDOWN;
 		}
 		mxcfbi->ipu_di = pdev->id;
-		mxcfbi->blank = FB_BLANK_POWERDOWN;
 
 		strcpy(fbi->fix.id, "DISP3 BG - DI1");
 	} else if (pdev->id == 2) {	/* Overlay */
@@ -942,6 +943,13 @@ static int mxcfb_probe(struct platform_device *pdev)
 	fbi->var.xres = 240;
 	fbi->var.yres = 320;
 
+	if (!fb_mode && plat_data && plat_data->mode_str)
+		fb_mode = plat_data->mode_str;
+
+	if (fb_mode)
+		fb_find_mode(&fbi->var, fbi, fb_mode, NULL, 0, NULL,
+			     default_bpp);
+
 	if (plat_data) {
 		mxcfbi->ipu_di_pix_fmt = plat_data->interface_pix_fmt;
 		if (plat_data->mode)
-- 
1.6.0.4





More information about the kernel-team mailing list