Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/amd/display: update topology_update_input_v3 struct

[Why]
DIO parameters were missing in topology_update_intput_v3 struct.

[How]
Add DIO parameters in v3 struct and update in functions perspectively.

Reviewed-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
Acked-by: Hamza Mahfooz <hamza.mahfooz@amd.com>
Signed-off-by: Qingqing Zhuo <qingqing.zhuo@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

authored by

Qingqing Zhuo and committed by
Alex Deucher
f51d22b0 a141d208

+17
+2
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_hdcp.c
··· 476 476 link->ddc_line = aconnector->dc_link->ddc_hw_inst + 1; 477 477 display->stream_enc_idx = config->stream_enc_idx; 478 478 link->link_enc_idx = config->link_enc_idx; 479 + link->dio_output_id = config->dio_output_idx; 479 480 link->phy_idx = config->phy_idx; 480 481 if (sink) 481 482 link_is_hdcp14 = dc_link_is_hdcp14(aconnector->dc_link, sink->sink_signal); ··· 484 483 link->dp.rev = aconnector->dc_link->dpcd_caps.dpcd_rev.raw; 485 484 link->dp.assr_enabled = config->assr_enabled; 486 485 link->dp.mst_enabled = config->mst_enabled; 486 + link->dp.usb4_enabled = config->usb4_enabled; 487 487 display->adjust.disable = MOD_HDCP_DISPLAY_DISABLE_AUTHENTICATION; 488 488 link->adjust.auth_delay = 3; 489 489 link->adjust.hdcp1.disable = 0;
+4
drivers/gpu/drm/amd/display/modules/hdcp/hdcp_psp.c
··· 202 202 dtm_cmd->dtm_status = TA_DTM_STATUS__GENERIC_FAILURE; 203 203 dtm_cmd->dtm_in_message.topology_update_v3.phy_id = link->phy_idx; 204 204 dtm_cmd->dtm_in_message.topology_update_v3.link_hdcp_cap = link->hdcp_supported_informational; 205 + dtm_cmd->dtm_in_message.topology_update_v3.dio_output_type = link->dp.usb4_enabled ? 206 + TA_DTM_DIO_OUTPUT_TYPE__DPIA : 207 + TA_DTM_DIO_OUTPUT_TYPE__DIRECT; 208 + dtm_cmd->dtm_in_message.topology_update_v3.dio_output_id = link->dio_output_id; 205 209 206 210 psp_dtm_invoke(psp, dtm_cmd->cmd_id); 207 211 mutex_unlock(&psp->dtm_context.mutex);
+11
drivers/gpu/drm/amd/display/modules/hdcp/hdcp_psp.h
··· 94 94 TA_DTM_ENCODER_TYPE__DIG = 0x10 95 95 }; 96 96 97 + /* @enum ta_dtm_dio_output_type 98 + * This enum defines software value for dio_output_type 99 + */ 100 + typedef enum { 101 + TA_DTM_DIO_OUTPUT_TYPE__INVALID, 102 + TA_DTM_DIO_OUTPUT_TYPE__DIRECT, 103 + TA_DTM_DIO_OUTPUT_TYPE__DPIA 104 + } ta_dtm_dio_output_type; 105 + 97 106 struct ta_dtm_topology_update_input_v3 { 98 107 /* display handle is unique across the driver and is used to identify a display */ 99 108 /* for all security interfaces which reference displays such as HDCP */ ··· 120 111 enum ta_dtm_encoder_type encoder_type; 121 112 uint32_t phy_id; 122 113 uint32_t link_hdcp_cap; 114 + ta_dtm_dio_output_type dio_output_type; 115 + uint32_t dio_output_id; 123 116 }; 124 117 125 118 struct ta_dtm_topology_assr_enable {