From: hjc Date: Sat, 11 Oct 2014 07:50:43 +0000 (+0800) Subject: rk312x lcdc: this vop bg layer not support yuv domain overlay,so bg val X-Git-Tag: firefly_0821_release~4591 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=ea450470913828911da098059f810da0ee669fce;p=firefly-linux-kernel-4.4.55.git rk312x lcdc: this vop bg layer not support yuv domain overlay,so bg val have to set 0x800a80 equeal to 0x000000 at rgb domian,after open win0/win1 alpha we recover to 0x00000. --- diff --git a/drivers/video/rockchip/lcdc/rk312x_lcdc.c b/drivers/video/rockchip/lcdc/rk312x_lcdc.c index b304a97cb7e9..f600bdbd6680 100755 --- a/drivers/video/rockchip/lcdc/rk312x_lcdc.c +++ b/drivers/video/rockchip/lcdc/rk312x_lcdc.c @@ -301,6 +301,12 @@ static int rk312x_lcdc_alpha_cfg(struct lcdc_device *lcdc_dev) mask = m_WIN0_ALPHA_MODE | m_ALPHA_MODE_SEL0 | m_ALPHA_MODE_SEL1; val = v_WIN0_ALPHA_MODE(1) | v_ALPHA_MODE_SEL0(1) | v_ALPHA_MODE_SEL1(0); lcdc_msk_reg(lcdc_dev, DSP_CTRL0, mask, val); + /*this vop bg layer not support yuv domain overlay,so bg val + have to set 0x800a80 equeal to 0x000000 at rgb domian,after + android start we recover to 0x00000*/ + mask = m_BG_COLOR; + val = v_BG_COLOR(0x000000); + lcdc_msk_reg(lcdc_dev, DSP_CTRL1, mask, val); } else if ((!win0_top) && (lcdc_dev->atv_layer_cnt >= 2) && (win1_alpha_en)) { mask = m_WIN0_ALPHA_EN | m_WIN1_ALPHA_EN; @@ -310,6 +316,12 @@ static int rk312x_lcdc_alpha_cfg(struct lcdc_device *lcdc_dev) mask = m_WIN1_ALPHA_MODE | m_ALPHA_MODE_SEL0 | m_ALPHA_MODE_SEL1; val = v_WIN1_ALPHA_MODE(1) | v_ALPHA_MODE_SEL0(1) | v_ALPHA_MODE_SEL1(0); lcdc_msk_reg(lcdc_dev, DSP_CTRL0, mask, val); + /*this vop bg layer not support yuv domain overlay,so bg val + have to set 0x800a80 equeal to 0x000000 at rgb domian,after + android start we recover to 0x00000*/ + mask = m_BG_COLOR; + val = v_BG_COLOR(0x000000); + lcdc_msk_reg(lcdc_dev, DSP_CTRL1, mask, val); } else { mask = m_WIN0_ALPHA_EN | m_WIN1_ALPHA_EN; val = v_WIN0_ALPHA_EN(0) | v_WIN1_ALPHA_EN(0);