drm/i915: Disable all planes before modesetting any pipes
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Fri, 22 Oct 2021 10:32:58 +0000 (13:32 +0300)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Wed, 27 Oct 2021 10:59:43 +0000 (13:59 +0300)
commit39919997322f21d367347943ffd5ba8c4007c9ae
tree5c657bc63d6dbcf3c941a13a6cd07cc05a293a61
parentf28c5950d57b280f17b950f04125ed556252403e
drm/i915: Disable all planes before modesetting any pipes

Let's disable planes on all pipes affected by the modeset before
we start doing the actual modeset. This means we have less
random planes enabled during the modeset, and it also mirrors
what we already do when enabling pipes on skl+ since we enable
planes on all pipes as the very last step. As a bonus we also
nuke a bunch og bigjoiner special casing.

I've occasionally pondered about going even furher here and
doing the pre_plane_update() stuff for all pipes first, then
actually disabling the planes, and finally running the rest
of the modeset sequence. This would potentially allow
parallelizing all the extra vblank waits across multiple pipes,
and would make the plane disable even more atomic. But let's
go one step a time here.

Cc: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Manasi Navare <manasi.d.navare@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20211022103304.24164-4-ville.syrjala@linux.intel.com
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
drivers/gpu/drm/i915/display/intel_display.c