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