diff options
author | Sandy Huang <hjc@rock-chips.com> | 2018-06-26 10:16:44 +0200 |
---|---|---|
committer | Heiko Stuebner <heiko@sntech.de> | 2018-06-27 14:07:40 +0200 |
commit | 106359177a57c7ea4a0c31e9cd24e6313b355ed7 (patch) | |
tree | 75e186a0a12353496ef1ef9eef69155f1768a47c /drivers/gpu/drm/rockchip | |
parent | drm/rockchip: Use drm_crtc_mask() (diff) | |
download | linux-106359177a57c7ea4a0c31e9cd24e6313b355ed7.tar.xz linux-106359177a57c7ea4a0c31e9cd24e6313b355ed7.zip |
drm/rockchip: vop: fixup linebuffer mode calc error
linebuffer mode should be LB_YUV_3840X5 when width is bigger than 1280
in yuv mode.
Separate yuv and rgb case makes the scl_vop_cal_lb_mode() logic clearer.
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Link: https://patchwork.freedesktop.org/patch/msgid/1530001004-25036-1-git-send-email-hjc@rock-chips.com
Diffstat (limited to 'drivers/gpu/drm/rockchip')
-rw-r--r-- | drivers/gpu/drm/rockchip/rockchip_drm_vop.h | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.h b/drivers/gpu/drm/rockchip/rockchip_drm_vop.h index 084acdd0019a..fcb91041a666 100644 --- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.h +++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.h @@ -331,16 +331,19 @@ static inline int scl_vop_cal_lb_mode(int width, bool is_yuv) { int lb_mode; - if (width > 2560) - lb_mode = LB_RGB_3840X2; - else if (width > 1920) - lb_mode = LB_RGB_2560X4; - else if (!is_yuv) - lb_mode = LB_RGB_1920X5; - else if (width > 1280) - lb_mode = LB_YUV_3840X5; - else - lb_mode = LB_YUV_2560X8; + if (is_yuv) { + if (width > 1280) + lb_mode = LB_YUV_3840X5; + else + lb_mode = LB_YUV_2560X8; + } else { + if (width > 2560) + lb_mode = LB_RGB_3840X2; + else if (width > 1920) + lb_mode = LB_RGB_2560X4; + else + lb_mode = LB_RGB_1920X5; + } return lb_mode; } |