Commit 6cfb6df2 authored by Leo (Hanghong) Ma's avatar Leo (Hanghong) Ma Committed by Alex Deucher

drm/amd/display: Fix FreeSync active bit issue

[Why]
The FreeSync active bit unconditionally set in HDMI VSIF.

[How]
Set this bit to true when FAMS is enable on desktop.
Reviewed-by: default avatarFelipe Clark <felipe.clark@amd.com>
Acked-by: default avatarQingqing Zhuo <qingqing.zhuo@amd.com>
Signed-off-by: default avatarLeo (Hanghong) Ma <hanghong.ma@amd.com>
Tested-by: default avatarDaniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent ba760684
...@@ -955,20 +955,26 @@ void mod_freesync_build_vrr_infopacket(struct mod_freesync *mod_freesync, ...@@ -955,20 +955,26 @@ void mod_freesync_build_vrr_infopacket(struct mod_freesync *mod_freesync,
* Check if Freesync is supported. Return if false. If true, * Check if Freesync is supported. Return if false. If true,
* set the corresponding bit in the info packet * set the corresponding bit in the info packet
*/ */
bool freesync_on_desktop;
bool fams_enable;
fams_enable = stream->ctx->dc->current_state->bw_ctx.bw.dcn.clk.fw_based_mclk_switching;
freesync_on_desktop = stream->freesync_on_desktop && fams_enable;
if (!vrr->send_info_frame) if (!vrr->send_info_frame)
return; return;
switch (packet_type) { switch (packet_type) {
case PACKET_TYPE_FS_V3: case PACKET_TYPE_FS_V3:
build_vrr_infopacket_v3(stream->signal, vrr, app_tf, infopacket, stream->freesync_on_desktop); build_vrr_infopacket_v3(stream->signal, vrr, app_tf, infopacket, freesync_on_desktop);
break; break;
case PACKET_TYPE_FS_V2: case PACKET_TYPE_FS_V2:
build_vrr_infopacket_v2(stream->signal, vrr, app_tf, infopacket, stream->freesync_on_desktop); build_vrr_infopacket_v2(stream->signal, vrr, app_tf, infopacket, freesync_on_desktop);
break; break;
case PACKET_TYPE_VRR: case PACKET_TYPE_VRR:
case PACKET_TYPE_FS_V1: case PACKET_TYPE_FS_V1:
default: default:
build_vrr_infopacket_v1(stream->signal, vrr, infopacket, stream->freesync_on_desktop); build_vrr_infopacket_v1(stream->signal, vrr, infopacket, freesync_on_desktop);
} }
if (true == pack_sdp_v1_3 && if (true == pack_sdp_v1_3 &&
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment