From 852db9dfc59b26c30674b6a251e4c8014c3a95c6 Mon Sep 17 00:00:00 2001 From: cjp Date: Wed, 2 Aug 2017 15:50:55 +0800 Subject: [PATCH] Kernel->lcdc:fix boot color not same --- kernel/drivers/video/rockchip/lcdc/rk3288_lcdc.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/kernel/drivers/video/rockchip/lcdc/rk3288_lcdc.c b/kernel/drivers/video/rockchip/lcdc/rk3288_lcdc.c index b8a37bef27..a9fb50a256 100755 --- a/kernel/drivers/video/rockchip/lcdc/rk3288_lcdc.c +++ b/kernel/drivers/video/rockchip/lcdc/rk3288_lcdc.c @@ -1393,7 +1393,7 @@ static int rk3288_load_screen(struct rk_lcdc_driver *dev_drv, bool initscreen) val = v_DSP_LINE_FLAG_NUM(vsync_len + upper_margin + y_res); lcdc_msk_reg(lcdc_dev, INTR_CTRL0, mask, val); dev_drv->output_color = screen->color_mode; - if (dev_drv->version == VOP_FULL_RK3288_V1_1) { + if ((dev_drv->version == VOP_FULL_RK3288_V1_1) && support_uboot_display() && (dev_drv->id == 0)){ rk3288_lcdc_bcsh_path_sel(dev_drv); } else { if (dev_drv->output_color != COLOR_RGB) { @@ -2682,6 +2682,7 @@ static int rk3288_lcdc_early_resume(struct rk_lcdc_driver *dev_drv) lcdc_cfg_done(lcdc_dev); if (dev_drv->iommu_enabled) { + udelay(200); if (dev_drv->mmu_dev) rockchip_iovmm_activate(dev_drv->dev); } @@ -3804,7 +3805,7 @@ static int rk3288_lcdc_open_bcsh(struct rk_lcdc_driver *dev_drv, bool open) lcdc_msk_reg(lcdc_dev, BCSH_COLOR_BAR, mask, val); dev_drv->bcsh.enable = 0; } - if (dev_drv->version == VOP_FULL_RK3288_V1_1) + if ((dev_drv->version == VOP_FULL_RK3288_V1_1)&& support_uboot_display() && (dev_drv->id == 0)) rk3288_lcdc_bcsh_path_sel(dev_drv); lcdc_cfg_done(lcdc_dev); }