From: Huang Jiachai Date: Mon, 12 Dec 2016 07:18:44 +0000 (+0800) Subject: drm/rockchip: update pre dither down config X-Git-Tag: firefly_0821_release~1065 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=998cc9d887d980253db0f9f44f24f07a6076e1bd;p=firefly-linux-kernel-4.4.55.git drm/rockchip: update pre dither down config between vop big and hdmi/edp/dp connect mode is 10bit, so we disable pre dither down, otherwise enable pre dither down. Change-Id: If18ed05647d2eb3c6d5c159dd365ea66e55cd408 Signed-off-by: Huang Jiachai --- diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c index 0ef34f76b908..75c764ccb6ef 100644 --- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c +++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c @@ -1435,19 +1435,21 @@ static void vop_crtc_enable(struct drm_crtc *crtc) VOP_CTRL_SET(vop, out_mode, s->output_mode); switch (s->bus_format) { case MEDIA_BUS_FMT_RGB565_1X16: - val = DITHER_DOWN_EN(1) | DITHER_DOWN_MODE(RGB888_TO_RGB565) | - PRE_DITHER_DOWN_EN(1); + val = DITHER_DOWN_EN(1) | DITHER_DOWN_MODE(RGB888_TO_RGB565); break; case MEDIA_BUS_FMT_RGB666_1X18: case MEDIA_BUS_FMT_RGB666_1X24_CPADHI: - val = DITHER_DOWN_EN(1) | DITHER_DOWN_MODE(RGB888_TO_RGB666) | - PRE_DITHER_DOWN_EN(1); + val = DITHER_DOWN_EN(1) | DITHER_DOWN_MODE(RGB888_TO_RGB666); break; case MEDIA_BUS_FMT_RGB888_1X24: default: val = DITHER_DOWN_EN(0) | PRE_DITHER_DOWN_EN(0); break; } + if (s->output_mode == ROCKCHIP_OUT_MODE_AAAA) + val |= PRE_DITHER_DOWN_EN(0); + else + val |= PRE_DITHER_DOWN_EN(1); val |= DITHER_DOWN_MODE_SEL(DITHER_DOWN_ALLEGRO); VOP_CTRL_SET(vop, dither_down, val);