drm/amd/display: Update adaptive sync infopackets for replay
authorBhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
Wed, 28 Jun 2023 15:57:51 +0000 (11:57 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 15 Aug 2023 22:08:30 +0000 (18:08 -0400)
Update infopackets for replay

Signed-off-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
Reviewed-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
drivers/gpu/drm/amd/display/modules/info_packet/info_packet.c

index 4d3d6009838c7e4685ddbd9b655f002714a6db36..268cb99a4c4bc46d70ef0a5aeaab49dff6a4c3fd 100644 (file)
@@ -6045,7 +6045,7 @@ create_stream_for_sink(struct amdgpu_dm_connector *aconnector,
        if (stream->signal == SIGNAL_TYPE_HDMI_TYPE_A)
                mod_build_hf_vsif_infopacket(stream, &stream->vsp_infopacket);
 
-       if (stream->link->psr_settings.psr_feature_enabled) {
+       if (stream->link->psr_settings.psr_feature_enabled || stream->link->replay_settings.replay_feature_enabled) {
                //
                // should decide stream support vsc sdp colorimetry capability
                // before building vsc info packet
@@ -7785,7 +7785,7 @@ static void update_freesync_state_on_stream(
 
        aconn = (struct amdgpu_dm_connector *)new_stream->dm_stream_context;
 
-       if (aconn && aconn->as_type == FREESYNC_TYPE_PCON_IN_WHITELIST) {
+       if (aconn && (aconn->as_type == FREESYNC_TYPE_PCON_IN_WHITELIST || aconn->vsdb_info.replay_mode)) {
                pack_sdp_v1_3 = aconn->pack_sdp_v1_3;
 
                if (aconn->vsdb_info.amd_vsdb_version == 1)
index ec64f19e178660d316e90257c6028f828007c783..84f9b412a4f1172d17502395d0f418bae8233d1a 100644 (file)
@@ -149,6 +149,8 @@ void mod_build_vsc_infopacket(const struct dc_stream_state *stream,
        /* VSC packet set to 4 for PSR-SU, or 2 for PSR1 */
        if (stream->link->psr_settings.psr_version == DC_PSR_VERSION_SU_1)
                vsc_packet_revision = vsc_packet_rev4;
+       else if (stream->link->replay_settings.config.replay_supported)
+               vsc_packet_revision = vsc_packet_rev4;
        else if (stream->link->psr_settings.psr_version == DC_PSR_VERSION_1)
                vsc_packet_revision = vsc_packet_rev2;
 
@@ -536,6 +538,9 @@ void mod_build_adaptive_sync_infopacket(const struct dc_stream_state *stream,
        case FREESYNC_TYPE_PCON_IN_WHITELIST:
                mod_build_adaptive_sync_infopacket_v1(info_packet);
                break;
+       case ADAPTIVE_SYNC_TYPE_EDP:
+               mod_build_adaptive_sync_infopacket_v1(info_packet);
+               break;
        case ADAPTIVE_SYNC_TYPE_NONE:
        case FREESYNC_TYPE_PCON_NOT_IN_WHITELIST:
        default: