diff options
Diffstat (limited to 'drivers/video/mxc')
-rw-r--r-- | drivers/video/mxc/mxc_ipuv3_fb.c | 2 | ||||
-rw-r--r-- | drivers/video/mxc/tve.c | 22 |
2 files changed, 22 insertions, 2 deletions
diff --git a/drivers/video/mxc/mxc_ipuv3_fb.c b/drivers/video/mxc/mxc_ipuv3_fb.c index 32c775bde1e4..0a63f4922f0b 100644 --- a/drivers/video/mxc/mxc_ipuv3_fb.c +++ b/drivers/video/mxc/mxc_ipuv3_fb.c @@ -510,12 +510,14 @@ static int swap_channels(struct fb_info *fbi) mxc_fbi_from->ipu_ch_irq); return -EBUSY; } + ipu_disable_irq(mxc_fbi_from->ipu_ch_irq); if (ipu_request_irq(mxc_fbi_to->ipu_ch_irq, mxcfb_irq_handler, 0, MXCFB_NAME, fbi_to) != 0) { dev_err(fbi_to->device, "Error registering irq %d\n", mxc_fbi_to->ipu_ch_irq); return -EBUSY; } + ipu_disable_irq(mxc_fbi_to->ipu_ch_irq); return 0; } diff --git a/drivers/video/mxc/tve.c b/drivers/video/mxc/tve.c index 58738daeb11e..37bba3a8f9d8 100644 --- a/drivers/video/mxc/tve.c +++ b/drivers/video/mxc/tve.c @@ -1,5 +1,5 @@ /* - * Copyright 2008-2009 Freescale Semiconductor, Inc. All Rights Reserved. + * Copyright 2008-2010 Freescale Semiconductor, Inc. All Rights Reserved. */ /* @@ -649,7 +649,7 @@ static int _tve_get_revision(void) extern int g_di1_tvout; static int tve_probe(struct platform_device *pdev) { - int ret, i; + int ret, i, primary = 0; struct resource *res; struct tve_platform_data *plat_data = pdev->dev.platform_data; u32 conf_reg; @@ -683,6 +683,12 @@ static int tve_probe(struct platform_device *pdev) for (i = 0; i < num_registered_fb; i++) { if (strcmp(registered_fb[i]->fix.id, "DISP3 BG - DI1") == 0) { tve_fbi = registered_fb[i]; + if (i == 0) { + primary = 1; + acquire_console_sem(); + fb_blank(tve_fbi, FB_BLANK_POWERDOWN); + release_console_sem(); + } break; } } @@ -749,6 +755,18 @@ static int tve_probe(struct platform_device *pdev) clk_disable(tve.clk); + /* is primary display? */ + if (primary) { + struct fb_event event; + + event.info = tve_fbi; + tve_fb_event(NULL, FB_EVENT_MODE_CHANGE, &event); + acquire_console_sem(); + fb_blank(tve_fbi, FB_BLANK_UNBLANK); + release_console_sem(); + fb_show_logo(tve_fbi, 0); + } + ret = fb_register_client(&nb); if (ret < 0) goto err2; |