From 753fa6e9e9ae5b43d41c92f7fdfa6bfc98ef2776 Mon Sep 17 00:00:00 2001 From: yxj Date: Wed, 12 Sep 2012 19:01:21 +0800 Subject: [PATCH] modify config for rkfb dual display --- drivers/video/rockchip/Kconfig | 22 ++++++++++++++++++---- drivers/video/rockchip/rk_fb.c | 12 ++++++------ 2 files changed, 24 insertions(+), 10 deletions(-) diff --git a/drivers/video/rockchip/Kconfig b/drivers/video/rockchip/Kconfig index ec333509658d..27226c26a397 100755 --- a/drivers/video/rockchip/Kconfig +++ b/drivers/video/rockchip/Kconfig @@ -7,18 +7,32 @@ config FB_ROCKCHIP ---help--- Framebuffer driver for rockchip based platform -config DUAL_DISP_IN_KERNEL - bool "implement dual display in kernel" +choice + bool "Dual display ploy select" + depends on FB_ROCKCHIP + default NO_DUAL_DISP + help + If you use dual lcdc for dual display ,select "implement dual display in kernel with dual lcdc" + If you use one lcdc like rk2928 or one lcdc with RK Jetta,select "one lcdc dual output display interface support" + +config DUAL_LCDC_DUAL_DISP_IN_KERNEL + bool "implement dual display in kernel with dual lcdc" depends on FB_ROCKCHIP - default y if HDMI_RK30 help select y will implement dual screen display in kernel + config ONE_LCDC_DUAL_OUTPUT_INF bool "one lcdc dual output display interface support" depends on FB_ROCKCHIP - default y if ARCH_RK2928 help select y if on platform like rk2928 which have one lcdc but two output interface +config NO_DUAL_DISP + bool "NO dual display needed" + depends on FB_ROCKCHIP + help + No dual display needed +endchoice + config THREE_FB_BUFFER bool "Three fb buffer support" depends on FB_ROCKCHIP diff --git a/drivers/video/rockchip/rk_fb.c b/drivers/video/rockchip/rk_fb.c index c192a8e4d777..2620761b3e42 100644 --- a/drivers/video/rockchip/rk_fb.c +++ b/drivers/video/rockchip/rk_fb.c @@ -199,7 +199,7 @@ static int rk_pan_display(struct fb_var_screeninfo *var, struct fb_info *info) } #if defined(CONFIG_HDMI_RK30) - #if defined(CONFIG_DUAL_DISP_IN_KERNEL) + #if defined(CONFIG_DUAL_LCDC_DUAL_DISP_IN_KERNEL) if(hdmi_get_hotplug() == HDMI_HPD_ACTIVED) { if(inf->num_fb >= 2) @@ -363,7 +363,7 @@ static int rk_fb_set_par(struct fb_info *info) var->pixclock = dev_drv->pixclock; #if defined(CONFIG_HDMI_RK30) - #if defined(CONFIG_DUAL_DISP_IN_KERNEL) + #if defined(CONFIG_DUAL_LCDC_DUAL_DISP_IN_KERNEL) if(hdmi_get_hotplug() == HDMI_HPD_ACTIVED) { if(inf->num_fb >= 2) @@ -488,7 +488,7 @@ static int rk_fb_set_par(struct fb_info *info) par->yvir = var->yres_virtual; #if defined(CONFIG_HDMI_RK30) - #if defined(CONFIG_DUAL_DISP_IN_KERNEL) + #if defined(CONFIG_DUAL_LCDC_DUAL_DISP_IN_KERNEL) if(hdmi_get_hotplug() == HDMI_HPD_ACTIVED) { if(info != info2) @@ -701,7 +701,7 @@ int rk_fb_switch_screen(rk_screen *screen ,int enable ,int lcdc_id) hdmi_var = &info->var; hdmi_fix = &info->fix; - #if defined(CONFIG_DUAL_DISP_IN_KERNEL) + #if defined(CONFIG_DUAL_LCDC_DUAL_DISP_IN_KERNEL) if(likely(inf->num_lcdc == 2)) { pmy_var = &inf->fb[0]->var; @@ -731,7 +731,7 @@ int rk_fb_switch_screen(rk_screen *screen ,int enable ,int lcdc_id) ret = info->fbops->fb_open(info,1); ret = dev_drv->load_screen(dev_drv,1); ret = info->fbops->fb_set_par(info); - #if defined(CONFIG_DUAL_DISP_IN_KERNEL) + #if defined(CONFIG_DUAL_LCDC_DUAL_DISP_IN_KERNEL) if(likely(inf->num_lcdc == 2)) { pmy_info = inf->fb[0]; @@ -1204,7 +1204,7 @@ static int __devinit rk_fb_probe (struct platform_device *pdev) } platform_set_drvdata(pdev,fb_inf); #if defined(CONFIG_HDMI_RK30) - #if defined(CONFIG_DUAL_DISP_IN_KERNEL) + #if defined(CONFIG_DUAL_LCDC_DUAL_DISP_IN_KERNEL) fb_inf->workqueue = create_singlethread_workqueue("hdmi_post"); INIT_DELAYED_WORK(&(fb_inf->delay_work), hdmi_post_work); #endif -- 2.34.1