If we want to find out if a window is eSmart or not, test for not being
a cluster window, rather than AFBDC presence.

No functional effect as only cluster windows support AFBC decode.

Signed-off-by: Daniel Stone <[email protected]>
---
 drivers/gpu/drm/rockchip/rockchip_drm_vop2.c | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c 
b/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c
index 812a46032396..f8039dc0e829 100644
--- a/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c
+++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c
@@ -1227,12 +1227,10 @@ static void vop2_plane_atomic_update(struct drm_plane 
*plane,
         * This is workaround solution for IC design:
         * esmart can't support scale down when src_w % 16 == 1.
         */
-       if (!(win->data->feature & WIN_FEATURE_AFBDC)) {
-               if (src_w > dsp_w && (src_w & 0xf) == 1) {
-                       drm_dbg_kms(vop2->drm, "vp%d %s act_w[%d] MODE 16 == 
1\n",
-                                   vp->id, win->data->name, src_w);
-                       src_w -= 1;
-               }
+       if (!vop2_cluster_window(win) && src_w > dsp_w && (src_w & 1)) {
+               drm_dbg_kms(vop2->drm, "vp%d %s act_w[%d] MODE 16 == 1\n",
+                           vp->id, win->data->name, src_w);
+               src_w -= 1;
        }
 
        if (afbc_en && src_w % 4) {
-- 
2.51.0

Reply via email to