linux/drivers/gpu/drm/i915/display/intel_hdcp.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: MIT */
   2/*
   3 * Copyright © 2019 Intel Corporation
   4 */
   5
   6#ifndef __INTEL_HDCP_H__
   7#define __INTEL_HDCP_H__
   8
   9#include <linux/types.h>
  10
  11#define HDCP_ENCRYPT_STATUS_CHANGE_TIMEOUT_MS   50
  12
  13struct drm_connector;
  14struct drm_connector_state;
  15struct drm_i915_private;
  16struct intel_atomic_state;
  17struct intel_connector;
  18struct intel_crtc_state;
  19struct intel_encoder;
  20struct intel_hdcp_shim;
  21struct intel_digital_port;
  22enum port;
  23enum transcoder;
  24
  25void intel_hdcp_atomic_check(struct drm_connector *connector,
  26                             struct drm_connector_state *old_state,
  27                             struct drm_connector_state *new_state);
  28int intel_hdcp_init(struct intel_connector *connector,
  29                    struct intel_digital_port *dig_port,
  30                    const struct intel_hdcp_shim *hdcp_shim);
  31int intel_hdcp_enable(struct intel_connector *connector,
  32                      const struct intel_crtc_state *pipe_config, u8 content_type);
  33int intel_hdcp_disable(struct intel_connector *connector);
  34void intel_hdcp_update_pipe(struct intel_atomic_state *state,
  35                            struct intel_encoder *encoder,
  36                            const struct intel_crtc_state *crtc_state,
  37                            const struct drm_connector_state *conn_state);
  38bool is_hdcp_supported(struct drm_i915_private *dev_priv, enum port port);
  39bool intel_hdcp_capable(struct intel_connector *connector);
  40bool intel_hdcp2_capable(struct intel_connector *connector);
  41void intel_hdcp_component_init(struct drm_i915_private *dev_priv);
  42void intel_hdcp_component_fini(struct drm_i915_private *dev_priv);
  43void intel_hdcp_cleanup(struct intel_connector *connector);
  44void intel_hdcp_handle_cp_irq(struct intel_connector *connector);
  45
  46#endif /* __INTEL_HDCP_H__ */
  47