drm/rockchip: vop: fixup linebuffer mode calc error
authorSandy Huang <hjc@rock-chips.com>
Tue, 26 Jun 2018 08:16:44 +0000 (16:16 +0800)
committerHeiko Stuebner <heiko@sntech.de>
Wed, 27 Jun 2018 12:07:40 +0000 (14:07 +0200)
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
drivers/gpu/drm/rockchip/rockchip_drm_vop.h

index 084acdd..fcb9104 100644 (file)
@@ -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;
 }