drm/i915: Don't do the WM0->WM1 copy w/a if WM1 is already enabled
authorjsg <jsg@openbsd.org>
Wed, 15 Feb 2023 10:07:43 +0000 (10:07 +0000)
committerjsg <jsg@openbsd.org>
Wed, 15 Feb 2023 10:07:43 +0000 (10:07 +0000)
From Ville Syrjala
d05b72328810897a28fe313735481789edfef7e4 in linux-6.1.y/6.1.12
90d5e8301ac24550be80d193aa5582cab56c29fc in mainline linux

sys/dev/pci/drm/i915/display/skl_watermark.c

index 420f4d1..0b16782 100644 (file)
@@ -1587,7 +1587,8 @@ skl_crtc_allocate_plane_ddb(struct intel_atomic_state *state,
                                skl_check_wm_level(&wm->wm[level], ddb);
 
                        if (icl_need_wm1_wa(i915, plane_id) &&
-                           level == 1 && wm->wm[0].enable) {
+                           level == 1 && !wm->wm[level].enable &&
+                           wm->wm[0].enable) {
                                wm->wm[level].blocks = wm->wm[0].blocks;
                                wm->wm[level].lines = wm->wm[0].lines;
                                wm->wm[level].ignore_lines = wm->wm[0].ignore_lines;