• Ramalingam C's avatar
    drm/i915: Implement HDCP2.2 receiver authentication · bd90d7c7
    Ramalingam C authored
    Implements HDCP2.2 authentication for hdcp2.2 receivers, with
    following steps:
    	Authentication and Key exchange (AKE).
    	Locality Check (LC).
    	Session Key Exchange(SKE).
    	DP Errata for stream type configuration for receivers.
    
    At AKE, the HDCP Receiver’s public key certificate is verified by the
    HDCP Transmitter. A Master Key k m is exchanged.
    
    At LC, the HDCP Transmitter enforces locality on the content by
    requiring that the Round Trip Time (RTT) between a pair of messages
    is not more than 20 ms.
    
    At SKE, The HDCP Transmitter exchanges Session Key ks with
    the HDCP Receiver.
    
    In DP HDCP2.2 encryption and decryption logics use the stream type as
    one of the parameter. So Before enabling the Encryption DP HDCP2.2
    receiver needs to be communicated with stream type. This is added to
    spec as ERRATA.
    
    This generic implementation is complete only with the hdcp2 specific
    functions defined at hdcp_shim.
    
    v2: Rebased.
    v3:
      %s/PARING/PAIRING
      Coding style fixing [Uma]
    v4:
      Rebased as part of patch reordering.
      Defined the functions for mei services. [Daniel]
    v5:
      Redefined the mei service functions as per comp redesign.
      Required intel_hdcp members are defined [Sean Paul]
    v6:
      Typo of cipher is Fixed [Uma]
      %s/uintxx_t/uxx
      Check for comp_master is removed.
    v7:
      Adjust to the new interface.
      Avoid using bool structure members. [Tomas]
    v8: Rebased.
    v9:
      bool is used in struct intel_hdcp [Daniel]
      config_stream_type is redesigned [Daniel]
      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-8-git-send-email-ramalingam.c@intel.com
    bd90d7c7
intel_hdcp.c 45.5 KB