MTL uses GSC command streamer i.e gsc cs to send HDCP/PXP commands to GSC f/w. It requires to keep hdcp display driver agnostic to content protection f/w (ME/GSC fw) in the form of i915_hdcp_fw_ops generic ops. Adding HDCP GSC CS interface by leveraging the i915_hdcp_fw_ops generic ops instead of I915_HDCP_COMPONENT as integral part of i915. Adding checks to see if GSC is loaded and proxy is setup --v6 -dont change the license date in same patch series [Jani] -fix the license year {Jani] --v8 -remove stale comment [Ankit] -get headers in alphabetical order [Ankit] -fix hdcp2_supported check [Ankit] --v9 -remove return statement from hdcp_gsc_fini [Ankit] Cc: Tomas Winkler <tomas.winkler@intel.com> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> Cc: Uma Shankar <uma.shankar@intel.com> Cc: Ankit Nautiyal <ankit.k.nautiyal@intel.com> Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com> Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com> Reviewed-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com> Reviewed-by: Uma Shankar <uma.shankar@intel.com> Signed-off-by: Uma Shankar <uma.shankar@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20230316092927.668980-7-suraj.kandpal@intel.com
26 lines
640 B
C
26 lines
640 B
C
/* SPDX-License-Identifier: MIT */
|
|
/*
|
|
* Copyright © 2023 Intel Corporation
|
|
*/
|
|
|
|
#ifndef __INTEL_HDCP_GSC_H__
|
|
#define __INTEL_HDCP_GSC_H__
|
|
|
|
#include <linux/err.h>
|
|
#include <linux/types.h>
|
|
|
|
struct drm_i915_private;
|
|
|
|
struct intel_hdcp_gsc_message {
|
|
struct i915_vma *vma;
|
|
void *hdcp_cmd;
|
|
};
|
|
|
|
bool intel_hdcp_gsc_cs_required(struct drm_i915_private *i915);
|
|
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);
|
|
int intel_hdcp_gsc_init(struct drm_i915_private *i915);
|
|
void intel_hdcp_gsc_fini(struct drm_i915_private *i915);
|
|
|
|
#endif /* __INTEL_HDCP_GCS_H__ */
|