1 /* SPDX-License-Identifier: MIT */ 2 /* 3 * Copyright © 2023 Intel Corporation 4 */ 5 6 #ifndef __INTEL_HDCP_GSC_H__ 7 #define __INTEL_HDCP_GSC_H__ 8 9 #include <linux/err.h> 10 #include <linux/types.h> 11 12 struct drm_i915_private; 13 14 struct intel_hdcp_gsc_message { 15 struct i915_vma *vma; 16 void *hdcp_cmd_in; 17 void *hdcp_cmd_out; 18 }; 19 20 bool intel_hdcp_gsc_cs_required(struct drm_i915_private *i915); 21 ssize_t intel_hdcp_gsc_msg_send(struct drm_i915_private *i915, u8 *msg_in, 22 size_t msg_in_len, u8 *msg_out, 23 size_t msg_out_len); 24 int intel_hdcp_gsc_init(struct drm_i915_private *i915); 25 void intel_hdcp_gsc_fini(struct drm_i915_private *i915); 26 bool intel_hdcp_gsc_check_status(struct drm_i915_private *i915); 27 28 #endif /* __INTEL_HDCP_GCS_H__ */ 29