drm/i915: hdcp_check_link only on CP_IRQ
authorRamalingam C <ramalingam.c@intel.com>
Tue, 23 Oct 2018 09:22:28 +0000 (14:52 +0530)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 24 Oct 2018 07:33:39 +0000 (09:33 +0200)
HDCP check link is invoked only on CP_IRQ detection, instead of all
short pulses.

v3:
  No Changes.
v4:
  Added sean in cc and collected the reviewed-by received.
v5:
  No Change.
v6:
  No Change.
v7:
  No Change.
v8:
  Rebased.

Signed-off-by: Ramalingam C <ramalingam.c@intel.com>
cc: Sean Paul <seanpaul@chromium.org>
Reviewed-by: Uma Shankar <uma.shankar@intel.com>
Reviewed-by: Sean Paul <seanpaul@chromium.org>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: https://patchwork.freedesktop.org/patch/msgid/1540286550-20399-3-git-send-email-ramalingam.c@intel.com
drivers/gpu/drm/i915/intel_dp.c

index 8c38efe..39957c8 100644 (file)
@@ -4530,8 +4530,11 @@ static void intel_dp_check_service_irq(struct intel_dp *intel_dp)
        if (val & DP_AUTOMATED_TEST_REQUEST)
                intel_dp_handle_test_request(intel_dp);
 
-       if (val & (DP_CP_IRQ | DP_SINK_SPECIFIC_IRQ))
-               DRM_DEBUG_DRIVER("CP or sink specific irq unhandled\n");
+       if (val & DP_CP_IRQ)
+               intel_hdcp_check_link(intel_dp->attached_connector);
+
+       if (val & DP_SINK_SPECIFIC_IRQ)
+               DRM_DEBUG_DRIVER("Sink specific irq unhandled\n");
 }
 
 /*
@@ -5697,9 +5700,6 @@ intel_dp_hpd_pulse(struct intel_digital_port *intel_dig_port, bool long_hpd)
 
                handled = intel_dp_short_pulse(intel_dp);
 
-               /* Short pulse can signify loss of hdcp authentication */
-               intel_hdcp_check_link(intel_dp->attached_connector);
-
                if (!handled)
                        goto put_power;
        }