Commit 79aad7bd authored by Bhawanpreet Lakha's avatar Bhawanpreet Lakha Committed by Alex Deucher
Browse files

drm/amd/display: update psp interface header



[Why]
We need to support SRM(System Renewability Message)
As per hdcp spec (5.Renewability) SRM needs to be storage in a non-volatile
memory.

PSP owns the checking of SRM but doesn't have the ability to store it in a
non-volatile memory. So we need the kernel driver to facilitate it using the
interface provided by PSP

[How]
Add the interface to the header file, so the driver can use them

v2: update commit description

Signed-off-by: default avatarBhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
Reviewed-by: default avatarRodrigo Siqueira <Rodrigo.Siqueira@amd.com>
Reviewed-by: default avatarHarry Wentland <harry.wentland@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent e50dc171
Loading
Loading
Loading
Loading
+25 −1
Original line number Diff line number Diff line
@@ -117,6 +117,8 @@ struct ta_dtm_shared_memory {
int psp_cmd_submit_buf(struct psp_context *psp, struct amdgpu_firmware_info *ucode, struct psp_gfx_cmd_resp *cmd,
		uint64_t fence_mc_addr);

enum { PSP_HDCP_SRM_FIRST_GEN_MAX_SIZE = 5120 };

enum ta_hdcp_command {
	TA_HDCP_COMMAND__INITIALIZE,
	TA_HDCP_COMMAND__HDCP1_CREATE_SESSION,
@@ -134,7 +136,10 @@ enum ta_hdcp_command {
	TA_HDCP_COMMAND__UNUSED_3,
	TA_HDCP_COMMAND__HDCP2_CREATE_SESSION_V2,
	TA_HDCP_COMMAND__HDCP2_PREPARE_PROCESS_AUTHENTICATION_MSG_V2,
	TA_HDCP_COMMAND__HDCP2_ENABLE_DP_STREAM_ENCRYPTION
	TA_HDCP_COMMAND__HDCP2_ENABLE_DP_STREAM_ENCRYPTION,
	TA_HDCP_COMMAND__HDCP_DESTROY_ALL_SESSIONS,
	TA_HDCP_COMMAND__HDCP_SET_SRM,
	TA_HDCP_COMMAND__HDCP_GET_SRM
};

enum ta_hdcp2_msg_id {
@@ -415,6 +420,22 @@ struct ta_hdcp_cmd_hdcp2_enable_dp_stream_encryption_input {
	uint32_t display_handle;
};

struct ta_hdcp_cmd_set_srm_input {
	uint32_t srm_buf_size;
	uint8_t srm_buf[PSP_HDCP_SRM_FIRST_GEN_MAX_SIZE];
};

struct ta_hdcp_cmd_set_srm_output {
	uint8_t valid_signature;
	uint32_t srm_version;
};

struct ta_hdcp_cmd_get_srm_output {
	uint32_t srm_version;
	uint32_t srm_buf_size;
	uint8_t srm_buf[PSP_HDCP_SRM_FIRST_GEN_MAX_SIZE];
};

/**********************************************************/
/* Common input structure for HDCP callbacks */
union ta_hdcp_cmd_input {
@@ -432,6 +453,7 @@ union ta_hdcp_cmd_input {
	struct ta_hdcp_cmd_hdcp2_process_prepare_authentication_message_input_v2
		hdcp2_prepare_process_authentication_message_v2;
	struct ta_hdcp_cmd_hdcp2_enable_dp_stream_encryption_input hdcp2_enable_dp_stream_encryption;
	struct ta_hdcp_cmd_set_srm_input hdcp_set_srm;
};

/* Common output structure for HDCP callbacks */
@@ -444,6 +466,8 @@ union ta_hdcp_cmd_output {
	struct ta_hdcp_cmd_hdcp2_create_session_output_v2 hdcp2_create_session_v2;
	struct ta_hdcp_cmd_hdcp2_process_prepare_authentication_message_output_v2
		hdcp2_prepare_process_authentication_message_v2;
	struct ta_hdcp_cmd_set_srm_output hdcp_set_srm;
	struct ta_hdcp_cmd_get_srm_output hdcp_get_srm;
};
/**********************************************************/