From: Anthony Koo Date: Tue, 8 May 2018 21:09:49 +0000 (-0400) Subject: drm/amd/display: add config for sending VSIF X-Git-Tag: v4.20-rc1~81^2~24^2~264 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=69ff884526742fcb00b7509461bf8e41c87d9b10;p=thirdparty%2Fkernel%2Flinux.git drm/amd/display: add config for sending VSIF Signed-off-by: Anthony Koo Reviewed-by: Aric Cyr Acked-by: Harry Wentland Signed-off-by: Alex Deucher --- diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c index 5f5e5ea20d789..f0f1e58b98309 100644 --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c @@ -4680,6 +4680,7 @@ void set_freesync_on_stream(struct amdgpu_display_manager *dm, aconnector->min_vfreq * 1000000; config.max_refresh_in_uhz = aconnector->max_vfreq * 1000000; + config.vsif_supported = true; } mod_freesync_build_vrr_params(dm->freesync_module, diff --git a/drivers/gpu/drm/amd/display/modules/freesync/freesync.c b/drivers/gpu/drm/amd/display/modules/freesync/freesync.c index 769f46777a1d5..e1688902a1b01 100644 --- a/drivers/gpu/drm/amd/display/modules/freesync/freesync.c +++ b/drivers/gpu/drm/amd/display/modules/freesync/freesync.c @@ -492,7 +492,7 @@ void mod_freesync_build_vrr_infopacket(struct mod_freesync *mod_freesync, /* Check if Freesync is supported. Return if false. If true, * set the corresponding bit in the info packet */ - if (!vrr->supported) + if (!vrr->supported || !vrr->send_vsif) return; if (dc_is_hdmi_signal(stream->signal)) { @@ -634,6 +634,7 @@ void mod_freesync_build_vrr_params(struct mod_freesync *mod_freesync, return; in_out_vrr->state = in_config->state; + in_out_vrr->send_vsif = in_config->vsif_supported; if (in_config->state == VRR_STATE_UNSUPPORTED) { in_out_vrr->state = VRR_STATE_UNSUPPORTED; diff --git a/drivers/gpu/drm/amd/display/modules/inc/mod_freesync.h b/drivers/gpu/drm/amd/display/modules/inc/mod_freesync.h index 85c98afe93758..a0f32cde721cc 100644 --- a/drivers/gpu/drm/amd/display/modules/inc/mod_freesync.h +++ b/drivers/gpu/drm/amd/display/modules/inc/mod_freesync.h @@ -78,6 +78,7 @@ enum mod_vrr_state { struct mod_freesync_config { enum mod_vrr_state state; + bool vsif_supported; bool ramping; bool btr; unsigned int min_refresh_in_uhz; @@ -103,6 +104,7 @@ struct mod_vrr_params_fixed_refresh { struct mod_vrr_params { bool supported; + bool send_vsif; enum mod_vrr_state state; uint32_t min_refresh_in_uhz;