]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915: Fix post-fastset modeset check for port sync
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Wed, 15 Jan 2020 19:08:09 +0000 (21:08 +0200)
committerJani Nikula <jani.nikula@intel.com>
Sun, 9 Feb 2020 16:30:31 +0000 (18:30 +0200)
commit34f461a46e48d316467f244d09e9f7b3a51955c0
treeb7b525d724cc63e8efda3d8ccde635e8b23742ab
parenta1c0a0c9e9b55f1c461a2a6818aeea361c94a033
drm/i915: Fix post-fastset modeset check for port sync

The post-fastset "does anyone still need a full modeset?" for
port sync looks busted. The outer loop bails out of a full modeset
is still needed by the current crtc, and then we skip forcing
a full modeset on the related crtcs. That's totally the opposite
of what we want.

The MST path has the logic mostly the other way around so it
looks correct. To fix the port sync case let's follow the MST
logic for both. So, if the current crtc already needs a modeset
we do nothing. otherwise we check if any of the related crtcs
needs a modeset, and if so we force a full modeset for the
current crtc.

And while at let's change the else if to a plain if to so
we don't have needless coupling between the MST and port sync
checks.

Cc: José Roberto de Souza <jose.souza@intel.com>
Cc: Manasi Navare <manasi.d.navare@intel.com>
Fixes: 289f5320e533 ("drm/i915/display: Use external dependency loop for port sync")
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200115190813.17971-1-ville.syrjala@linux.intel.com
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
(cherry picked from commit d0eed1545fe75f115a548691a008e94b0e7abc45)
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
drivers/gpu/drm/i915/display/intel_display.c