The fix of flagging state->modeset whenever distrust_bios_wm is set
causes a regression when initializing display(s) attached to a Lenovo
USB-C docking station. The display remains blank until the dock is
reattached. Revert to bring the behavior of the functional v5.6 stable.

This reverts commit 0f8839f5f323da04a800e6ced1136e4b1e1689a9.

BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1879442
Signed-off-by: Stefan Joosten <ste...@atcomputing.nl>
---
 drivers/gpu/drm/i915/display/intel_display.c | 14 --------------
 1 file changed, 14 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display.c 
b/drivers/gpu/drm/i915/display/intel_display.c
index b18c5ac2934d..ece1c28278f7 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -14942,20 +14942,6 @@ static int intel_atomic_check(struct drm_device *dev,
        if (ret)
                goto fail;
 
-       /*
-        * distrust_bios_wm will force a full dbuf recomputation
-        * but the hardware state will only get updated accordingly
-        * if state->modeset==true. Hence distrust_bios_wm==true &&
-        * state->modeset==false is an invalid combination which
-        * would cause the hardware and software dbuf state to get
-        * out of sync. We must prevent that.
-        *
-        * FIXME clean up this mess and introduce better
-        * state tracking for dbuf.
-        */
-       if (dev_priv->wm.distrust_bios_wm)
-               any_ms = true;
-
        intel_fbc_choose_crtc(dev_priv, state);
        ret = calc_watermark_data(state);
        if (ret)
-- 
2.25.4


Reply via email to