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
  11struct drm_connector;
  12struct drm_connector_state;
  13struct drm_i915_private;
  14struct intel_atomic_state;
  15struct intel_connector;
  16struct intel_crtc_state;
  17struct intel_encoder;
  18struct intel_hdcp_shim;
  19enum port;
  20enum transcoder;
  21
  22void intel_hdcp_atomic_check(struct drm_connector *connector,
  23                             struct drm_connector_state *old_state,
  24                             struct drm_connector_state *new_state);
  25int intel_hdcp_init(struct intel_connector *connector,
  26                    const struct intel_hdcp_shim *hdcp_shim);
  27int intel_hdcp_enable(struct intel_connector *connector,
  28                      enum transcoder cpu_transcoder, u8 content_type);
  29int intel_hdcp_disable(struct intel_connector *connector);
  30void intel_hdcp_update_pipe(struct intel_atomic_state *state,
  31                            struct intel_encoder *encoder,
  32                            const struct intel_crtc_state *crtc_state,
  33                            const struct drm_connector_state *conn_state);
  34bool is_hdcp_supported(struct drm_i915_private *dev_priv, enum port port);
  35bool intel_hdcp_capable(struct intel_connector *connector);
  36bool intel_hdcp2_capable(struct intel_connector *connector);
  37void intel_hdcp_component_init(struct drm_i915_private *dev_priv);
  38void intel_hdcp_component_fini(struct drm_i915_private *dev_priv);
  39void intel_hdcp_cleanup(struct intel_connector *connector);
  40void intel_hdcp_handle_cp_irq(struct intel_connector *connector);
  41
  42#endif /* __INTEL_HDCP_H__ */
  43