Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: MIT */
0002 /*
0003  * Copyright © 2019 Intel Corporation
0004  */
0005 
0006 #ifndef __INTEL_HDCP_H__
0007 #define __INTEL_HDCP_H__
0008 
0009 #include <linux/types.h>
0010 
0011 #define HDCP_ENCRYPT_STATUS_CHANGE_TIMEOUT_MS   50
0012 
0013 struct drm_connector;
0014 struct drm_connector_state;
0015 struct drm_i915_private;
0016 struct intel_atomic_state;
0017 struct intel_connector;
0018 struct intel_crtc_state;
0019 struct intel_encoder;
0020 struct intel_hdcp_shim;
0021 struct intel_digital_port;
0022 enum port;
0023 enum transcoder;
0024 
0025 void intel_hdcp_atomic_check(struct drm_connector *connector,
0026                  struct drm_connector_state *old_state,
0027                  struct drm_connector_state *new_state);
0028 int intel_hdcp_init(struct intel_connector *connector,
0029             struct intel_digital_port *dig_port,
0030             const struct intel_hdcp_shim *hdcp_shim);
0031 int intel_hdcp_enable(struct intel_connector *connector,
0032               const struct intel_crtc_state *pipe_config, u8 content_type);
0033 int intel_hdcp_disable(struct intel_connector *connector);
0034 void intel_hdcp_update_pipe(struct intel_atomic_state *state,
0035                 struct intel_encoder *encoder,
0036                 const struct intel_crtc_state *crtc_state,
0037                 const struct drm_connector_state *conn_state);
0038 bool is_hdcp_supported(struct drm_i915_private *dev_priv, enum port port);
0039 bool intel_hdcp_capable(struct intel_connector *connector);
0040 bool intel_hdcp2_capable(struct intel_connector *connector);
0041 void intel_hdcp_component_init(struct drm_i915_private *dev_priv);
0042 void intel_hdcp_component_fini(struct drm_i915_private *dev_priv);
0043 void intel_hdcp_cleanup(struct intel_connector *connector);
0044 void intel_hdcp_handle_cp_irq(struct intel_connector *connector);
0045 
0046 #endif /* __INTEL_HDCP_H__ */