118fd7f8aSSuraj Kandpal /* SPDX-License-Identifier: MIT */ 218fd7f8aSSuraj Kandpal /* 318fd7f8aSSuraj Kandpal * Copyright © 2023 Intel Corporation 418fd7f8aSSuraj Kandpal */ 518fd7f8aSSuraj Kandpal 618fd7f8aSSuraj Kandpal #ifndef __INTEL_HDCP_GSC_H__ 718fd7f8aSSuraj Kandpal #define __INTEL_HDCP_GSC_H__ 818fd7f8aSSuraj Kandpal 918fd7f8aSSuraj Kandpal #include <linux/err.h> 1018fd7f8aSSuraj Kandpal #include <linux/types.h> 1118fd7f8aSSuraj Kandpal 1218fd7f8aSSuraj Kandpal struct drm_i915_private; 1318fd7f8aSSuraj Kandpal 1418fd7f8aSSuraj Kandpal struct intel_hdcp_gsc_message { 1518fd7f8aSSuraj Kandpal struct i915_vma *vma; 16*b3e4aae6SSuraj Kandpal void *hdcp_cmd_in; 17*b3e4aae6SSuraj Kandpal void *hdcp_cmd_out; 1818fd7f8aSSuraj Kandpal }; 1918fd7f8aSSuraj Kandpal 2088363177SSuraj Kandpal bool intel_hdcp_gsc_cs_required(struct drm_i915_private *i915); 2118fd7f8aSSuraj Kandpal ssize_t intel_hdcp_gsc_msg_send(struct drm_i915_private *i915, u8 *msg_in, 2218fd7f8aSSuraj Kandpal size_t msg_in_len, u8 *msg_out, 2318fd7f8aSSuraj Kandpal size_t msg_out_len); 2488363177SSuraj Kandpal int intel_hdcp_gsc_init(struct drm_i915_private *i915); 2588363177SSuraj Kandpal void intel_hdcp_gsc_fini(struct drm_i915_private *i915); 2618fd7f8aSSuraj Kandpal 2718fd7f8aSSuraj Kandpal #endif /* __INTEL_HDCP_GCS_H__ */ 28