[Intel-gfx] [PATCH 03/11] drm/i915: Update connector atomic state before crtc sanitize-disabling

Imre Deak
2023-04-26T16:53:16Z

During HW state readout/sanitization an up-to-date connector atomic
state will be required by a follow-up patch, which can disable CRTCs
with an encoder (and calling the correct encoder hooks happens via the
connector atomic state encoder pointer). So update the connector state
already before the CRTC sanitize/disable step. For now this doesn't make
a difference, since intel_modeset_update_connector_atomic_state() will
update/enable the atomic state only for connectors that have an enabled
encoder/CRTC. Such CRTCs/encoders will not be affected by
intel_sanitize_crtc().

Signed-off-by: Imre Deak <imre.deak@intel.com>
---
drivers/gpu/drm/i915/display/intel_modeset_setup.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_modeset_setup.c b/drivers/gpu/drm/i915/display/intel_modeset_setup.c
index 57d087de654f8..fe83579529b3a 100644
--- a/drivers/gpu/drm/i915/display/intel_modeset_setup.c
+++ b/drivers/gpu/drm/i915/display/intel_modeset_setup.c
@@ -706,6 +706,8 @@ void intel_modeset_setup_hw_state(struct drm_i915_private *i915,
for_each_intel_encoder(&i915->drm, encoder)
intel_sanitize_encoder(encoder);

+ intel_modeset_update_connector_atomic_state(i915);
+
for_each_intel_crtc(&i915->drm, crtc) {
struct intel_crtc_state *crtc_state =
to_intel_crtc_state(crtc->base.state);
@@ -714,8 +716,6 @@ void intel_modeset_setup_hw_state(struct drm_i915_private *i915,
intel_crtc_state_dump(crtc_state, NULL, "setup_hw_state");
}

- intel_modeset_update_connector_atomic_state(i915);
-
intel_dpll_sanitize_state(i915);

intel_wm_get_hw_state(i915);
--
2.37.2