Connectors are updated atomically now, so the only interaction
with the encoder is through base.crtc.

If it's NULL the encoder's not part of any crtc, and if it's
not NULL then active should be equal to crtc_state->active.

Signed-off-by: Maarten Lankhorst <maarten.lankho...@linux.intel.com>
---
 drivers/gpu/drm/i915/intel_display.c | 24 ++++++++----------------
 1 file changed, 8 insertions(+), 16 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_display.c 
b/drivers/gpu/drm/i915/intel_display.c
index 30ece88703f0..bd6319bba2e3 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -6303,9 +6303,6 @@ static void intel_connector_check_state(struct 
intel_connector *connector)
                     "active connector not linked to encoder\n");
 
                if (encoder) {
-                       I915_STATE_WARN(!encoder->connectors_active,
-                            "encoder->connectors_active not set\n");
-
                        encoder_enabled = encoder->get_hw_state(encoder, &pipe);
                        I915_STATE_WARN(!encoder_enabled, "encoder not 
enabled\n");
                        if (I915_STATE_WARN_ON(!encoder->base.crtc))
@@ -12655,9 +12652,6 @@ check_encoder_state(struct drm_device *dev)
                              encoder->base.base.id,
                              encoder->base.name);
 
-               I915_STATE_WARN(encoder->connectors_active && 
!encoder->base.crtc,
-                    "encoder's active_connectors set, but no crtc\n");
-
                for_each_intel_connector(dev, connector) {
                        if (connector->base.encoder != &encoder->base)
                                continue;
@@ -12684,18 +12678,16 @@ check_encoder_state(struct drm_device *dev)
                I915_STATE_WARN(active && !encoder->base.crtc,
                     "active encoder with no crtc\n");
 
-               I915_STATE_WARN(encoder->connectors_active != active,
-                    "encoder's computed active state doesn't match tracked 
active state "
-                    "(expected %i, found %i)\n", active, 
encoder->connectors_active);
-
                active = encoder->get_hw_state(encoder, &pipe);
-               I915_STATE_WARN(active != encoder->connectors_active,
-                    "encoder's hw state doesn't match sw tracking "
-                    "(expected %i, found %i)\n",
-                    encoder->connectors_active, active);
-
-               if (!encoder->base.crtc)
+               if (!encoder->base.crtc) {
+                       I915_STATE_WARN(active,
+                            "encoder's active but not enabled in sw tracking");
                        continue;
+               }
+
+               I915_STATE_WARN(active != encoder->base.crtc->state->active,
+                            "encoder's active state %i doesn't match crtc 
state %i\n",
+                            active, encoder->base.crtc->state->active);
 
                tracked_pipe = to_intel_crtc(encoder->base.crtc)->pipe;
                I915_STATE_WARN(active && pipe != tracked_pipe,
-- 
2.1.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to