drm/amd/display: Workaround to do HDCP authentication twice on certain displays
[Why] When transitioning from SST to MST, the HDCP repeater in some MST displays will enter a bad state. The HDCP repeater is recovered after failing and performing authentication again. [How] Add monitor patch to trigger HDCP authentication failure after encryption is enabled and re-authenticate. Signed-off-by: George Shen <george.shen@amd.com> Reviewed-by: Wenjing Liu <Wenjing.Liu@amd.com> Acked-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
df8e34ac27
commit
7bc3807fe1
@ -230,6 +230,9 @@ enum mod_hdcp_status mod_hdcp_hdcp1_dp_transition(struct mod_hdcp *hdcp,
|
||||
(!conn->is_repeater && is_dp_mst_hdcp(hdcp) && input->stream_encryption_dp != PASS)) {
|
||||
fail_and_restart_in_ms(0, &status, output);
|
||||
break;
|
||||
} else if (conn->hdcp1_retry_count < conn->link.adjust.hdcp1.min_auth_retries_wa) {
|
||||
fail_and_restart_in_ms(0, &status, output);
|
||||
break;
|
||||
}
|
||||
if (conn->is_repeater) {
|
||||
set_watchdog_in_ms(hdcp, 5000, output);
|
||||
|
@ -157,7 +157,8 @@ struct mod_hdcp_display_adjustment {
|
||||
struct mod_hdcp_link_adjustment_hdcp1 {
|
||||
uint8_t disable : 1;
|
||||
uint8_t postpone_encryption : 1;
|
||||
uint8_t reserved : 6;
|
||||
uint8_t min_auth_retries_wa : 1;
|
||||
uint8_t reserved : 5;
|
||||
};
|
||||
|
||||
enum mod_hdcp_force_hdcp_type {
|
||||
|
Loading…
x
Reference in New Issue
Block a user