• Ramalingam C's avatar
    drm/i915: Enable and Disable of HDCP2.2 · 49a630b0
    Ramalingam C authored
    Considering that HDCP2.2 is more secure than HDCP1.4, When a setup
    supports HDCP2.2 and HDCP1.4, HDCP2.2 will be enabled.
    
    When HDCP2.2 enabling fails and HDCP1.4 is supported, HDCP1.4 is
    enabled.
    
    This change implements a sequence of enabling and disabling of
    HDCP2.2 authentication and HDCP2.2 port encryption.
    
    v2:
      Included few optimization suggestions [Chris Wilson]
      Commit message is updated as per the rebased version.
      intel_wait_for_register is used instead of wait_for. [Chris Wilson]
    v3:
      Extra comment added and Style issue fixed [Uma]
    v4:
      Rebased as part of patch reordering.
      HDCP2 encryption status is tracked.
      HW state check is moved into WARN_ON [Daniel]
    v5:
      Redefined the mei service functions as per comp redesign.
      Merged patches related to hdcp2.2 enabling and disabling [Sean Paul].
      Required shim functionality is defined [Sean Paul]
    v6:
      Return values are handles [Uma]
      Realigned the code.
      Check for comp_master is removed.
    v7:
      HDCP2.2 is attempted only if mei interface is up.
      Adjust to the new interface
      Avoid bool usage in struct [Tomas]
    v8:
      mei_binded status check is removed.
      %s/hdcp2_in_use/hdcp2_encrypted
    v9:
      bool is used in struct intel_hdcp. [Daniel]
    v10:
      panel is replaced with sink [Uma]
      Mei interface decided the hdcp2_capability.
      WARN_ON if hdcp_enable is called when hdcp state is ENABLED.
      Reviewed-by Uma.
    Signed-off-by: default avatarRamalingam C <ramalingam.c@intel.com>
    Reviewed-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    Reviewed-by: default avatarUma Shankar <uma.shankar@intel.com>
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    Link: https://patchwork.freedesktop.org/patch/msgid/1550338640-17470-7-git-send-email-ramalingam.c@intel.com
    49a630b0
intel_hdcp.c 41.5 KB