diff --git a/drivers/gpu/drm/omapdrm/dss/dispc.c b/drivers/gpu/drm/omapdrm/dss/dispc.c index ac8ca605e3147d56d392d93ca6d76b36543ce2a6..afefdcfdde6c0e1f2067b7832b9e0b559a3233eb 100644 --- a/drivers/gpu/drm/omapdrm/dss/dispc.c +++ b/drivers/gpu/drm/omapdrm/dss/dispc.c @@ -1864,14 +1864,15 @@ static void dispc_ovl_set_rotation_attrs(enum omap_plane_id plane, u8 rotation, REG_FLD_MOD(DISPC_OVL_ATTRIBUTES(plane), row_repeat ? 1 : 0, 18, 18); - if (color_mode == OMAP_DSS_COLOR_NV12) { - bool doublestride = (rotation_type == OMAP_DSS_ROT_TILER) && - (rotation == OMAP_DSS_ROT_0 || - rotation == OMAP_DSS_ROT_180); + if (dss_feat_color_mode_supported(plane, OMAP_DSS_COLOR_NV12)) { + bool doublestride = + color_mode == OMAP_DSS_COLOR_NV12 && + rotation_type == OMAP_DSS_ROT_TILER && + (rotation == OMAP_DSS_ROT_0 || rotation == OMAP_DSS_ROT_180); + /* DOUBLESTRIDE */ REG_FLD_MOD(DISPC_OVL_ATTRIBUTES(plane), doublestride, 22, 22); } - } static int color_mode_to_bpp(enum omap_color_mode color_mode)