1/* $NetBSD: intel_hdcp.h,v 1.2 2021/12/18 23:45:30 riastradh Exp $ */ 2 3/* SPDX-License-Identifier: MIT */ 4/* 5 * Copyright �� 2019 Intel Corporation 6 */ 7 8#ifndef __INTEL_HDCP_H__ 9#define __INTEL_HDCP_H__ 10 11#include <linux/types.h> 12 13#include <drm/i915_drm.h> 14 15struct drm_connector; 16struct drm_connector_state; 17struct drm_i915_private; 18struct intel_connector; 19struct intel_hdcp_shim; 20enum port; 21enum transcoder; 22 23void intel_hdcp_atomic_check(struct drm_connector *connector, 24 struct drm_connector_state *old_state, 25 struct drm_connector_state *new_state); 26int intel_hdcp_init(struct intel_connector *connector, 27 const struct intel_hdcp_shim *hdcp_shim); 28int intel_hdcp_enable(struct intel_connector *connector, 29 enum transcoder cpu_transcoder, u8 content_type); 30int intel_hdcp_disable(struct intel_connector *connector); 31bool is_hdcp_supported(struct drm_i915_private *dev_priv, enum port port); 32bool intel_hdcp_capable(struct intel_connector *connector); 33bool intel_hdcp2_capable(struct intel_connector *connector); 34void intel_hdcp_component_init(struct drm_i915_private *dev_priv); 35void intel_hdcp_component_fini(struct drm_i915_private *dev_priv); 36void intel_hdcp_cleanup(struct intel_connector *connector); 37void intel_hdcp_handle_cp_irq(struct intel_connector *connector); 38 39#endif /* __INTEL_HDCP_H__ */ 40