rk3188 lcdc:select dither algorithm 2 in dither down mode
authoryxj <yxj@rock-chips.com>
Fri, 1 Feb 2013 08:18:16 +0000 (16:18 +0800)
committeryxj <yxj@rock-chips.com>
Fri, 1 Feb 2013 08:58:43 +0000 (16:58 +0800)
drivers/video/rockchip/lcdc/rk3188_lcdc.c

index a67bcdc07aa147b77ecbfff5371709c3c2076e37..fb56d7f82a21e85300ca2dc1d76e01e8e2983dc3 100644 (file)
@@ -369,19 +369,27 @@ static int rk3188_load_screen(struct rk_lcdc_device_driver *dev_drv, bool initsc
                {
                case OUT_P565:
                        face = OUT_P565;  //dither down to rgb565
-                       lcdc_msk_reg(lcdc_dev, DSP_CTRL0, m_DITHER_DOWN_EN | m_DITHER_DOWN_MODE, v_DITHER_DOWN_EN(1) | v_DITHER_DOWN_MODE(0));
+                       lcdc_msk_reg(lcdc_dev, DSP_CTRL0, m_DITHER_DOWN_EN | m_DITHER_DOWN_MODE |
+                                m_DITHER_DOWN_SEL,v_DITHER_DOWN_EN(1) | v_DITHER_DOWN_MODE(0) |
+                                v_DITHER_DOWN_SEL(1));
                        break;
                case OUT_P666:
                        face = OUT_P666; //dither down to rgb666
-                       lcdc_msk_reg(lcdc_dev, DSP_CTRL0, m_DITHER_DOWN_EN | m_DITHER_DOWN_MODE, v_DITHER_DOWN_EN(1) | v_DITHER_DOWN_MODE(1));
+                       lcdc_msk_reg(lcdc_dev, DSP_CTRL0, m_DITHER_DOWN_EN | m_DITHER_DOWN_MODE |
+                               m_DITHER_DOWN_SEL, v_DITHER_DOWN_EN(1) | v_DITHER_DOWN_MODE(1) |
+                               v_DITHER_DOWN_SEL(1));
                        break;
                case OUT_D888_P565:
                        face = OUT_P888;
-                       lcdc_msk_reg(lcdc_dev, DSP_CTRL0, m_DITHER_DOWN_EN | m_DITHER_DOWN_MODE, v_DITHER_DOWN_EN(1) | v_DITHER_DOWN_MODE(0));
+                       lcdc_msk_reg(lcdc_dev, DSP_CTRL0, m_DITHER_DOWN_EN | m_DITHER_DOWN_MODE |
+                               m_DITHER_DOWN_SEL, v_DITHER_DOWN_EN(1) | v_DITHER_DOWN_MODE(0) |
+                               v_DITHER_DOWN_SEL(1));
                        break;
                case OUT_D888_P666:
                        face = OUT_P888;
-                       lcdc_msk_reg(lcdc_dev, DSP_CTRL0, m_DITHER_DOWN_EN | m_DITHER_DOWN_MODE, v_DITHER_DOWN_EN(1) | v_DITHER_DOWN_MODE(1));
+                       lcdc_msk_reg(lcdc_dev, DSP_CTRL0, m_DITHER_DOWN_EN | m_DITHER_DOWN_MODE |
+                               m_DITHER_DOWN_SEL, v_DITHER_DOWN_EN(1) | v_DITHER_DOWN_MODE(1) |
+                               v_DITHER_DOWN_SEL(1));
                        break;
                case OUT_P888:
                        face = OUT_P888;