#include <drm/intel/i915_hdcp_interface.h>
#include "gem/i915_gem_region.h"
#include "gt/intel_gt.h"
#include "gt/uc/intel_gsc_uc_heci_cmd_submit.h"
#include "i915_drv.h"
#include "i915_utils.h"
#include "intel_hdcp_gsc.h"
#include "intel_hdcp_gsc_message.h"
struct intel_hdcp_gsc_message { … };
bool intel_hdcp_gsc_cs_required(struct drm_i915_private *i915)
{ … }
bool intel_hdcp_gsc_check_status(struct drm_i915_private *i915)
{ … }
static int intel_hdcp_gsc_initialize_message(struct drm_i915_private *i915,
struct intel_hdcp_gsc_message *hdcp_message)
{ … }
static const struct i915_hdcp_ops gsc_hdcp_ops = …;
static int intel_hdcp_gsc_hdcp2_init(struct drm_i915_private *i915)
{ … }
static void intel_hdcp_gsc_free_message(struct drm_i915_private *i915)
{ … }
int intel_hdcp_gsc_init(struct drm_i915_private *i915)
{ … }
void intel_hdcp_gsc_fini(struct drm_i915_private *i915)
{ … }
static int intel_gsc_send_sync(struct drm_i915_private *i915,
struct intel_gsc_mtl_header *header_in,
struct intel_gsc_mtl_header *header_out,
u64 addr_in, u64 addr_out,
size_t msg_out_len)
{ … }
ssize_t intel_hdcp_gsc_msg_send(struct drm_i915_private *i915, u8 *msg_in,
size_t msg_in_len, u8 *msg_out,
size_t msg_out_len)
{ … }