drm/i915: hdcp1.4 CP_IRQ handling and SW encryption tracking
authorRamalingam C <ramalingam.c@intel.com>
Sat, 16 Feb 2019 17:36:52 +0000 (23:06 +0530)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 20 Feb 2019 19:40:01 +0000 (20:40 +0100)
commit09d56393c1d8d55fc8589a15cb7f4a5f1d40a0f2
tree6aaa17dc64d59aa6a1fb4b0891691a874cbcb5fd
parent9055aac76589c73fce8edc6abba9d214a4e983f2
drm/i915: hdcp1.4 CP_IRQ handling and SW encryption tracking

"hdcp_encrypted" flag is defined to denote the HDCP1.4 encryption status.
This SW tracking is used to determine the need for real hdcp1.4 disable
and hdcp_check_link upon CP_IRQ.

On CP_IRQ we filter the CP_IRQ related to the states like Link failure
and reauthentication req etc and handle them in hdcp_check_link.
CP_IRQ corresponding to the authentication msg availability are ignored.

WARN_ON is added for the abrupt stop of HDCP encryption of a port.

v2:
  bool is used in struct for the cleaner coding. [Daniel]
  check_link work_fn is scheduled for cp_irq handling [Daniel]
v3:
  rebased.

Signed-off-by: Ramalingam C <ramalingam.c@intel.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Reviewed-by: Uma Shankar <uma.shankar@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: https://patchwork.freedesktop.org/patch/msgid/1550338640-17470-6-git-send-email-ramalingam.c@intel.com
drivers/gpu/drm/i915/intel_dp.c
drivers/gpu/drm/i915/intel_drv.h
drivers/gpu/drm/i915/intel_hdcp.c