intel_dp_long_pulse() is always checking link status because
there has been known issues of link loss triggerring long pulse.

However this is not needed for eDP display since we won't have
link loss for internal display. Also there are reports that
screens are flickering during link status check. (repro by
running modetest command repeatedly)

Signed-off-by: Puthikorn Voravootivat <put...@chromium.org>
---
 drivers/gpu/drm/i915/intel_dp.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index 4b65cf137f79..75a77ef257e2 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -4763,7 +4763,8 @@ intel_dp_long_pulse(struct intel_connector 
*intel_connector)
                 */
                status = connector_status_disconnected;
                goto out;
-       } else {
+       } else if (status != connector_status_connected ||
+                  intel_encoder->type != INTEL_OUTPUT_EDP) {
                /*
                 * If display is now connected check links status,
                 * there has been known issues of link loss triggerring
@@ -4775,6 +4776,10 @@ intel_dp_long_pulse(struct intel_connector 
*intel_connector)
                 * going back up soon after. And once that happens we must
                 * retrain the link to get a picture. That's in case no
                 * userspace component reacted to intermittent HPD dip.
+                *
+                * Skip checking links status for connected eDP display.
+                * There are known issues of display blinking during checking
+                * link status and we don't have link loss for internal display.
                 */
                intel_dp_check_link_status(intel_dp);
        }
-- 
2.15.0.rc0.271.g36b669edcc-goog

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

Reply via email to