drm/amd/display: Restrict multi-disp support for in-game FAMS
[HOW&WHY] In multi-monitor cases the VBLANK stretch that is required to align both monitors may be so large that it may create issues for gaming performance. Use debug value to restrict in-game FAMS support for multi-disp use case. Reviewed-by: Harry Vanzylldejong <harry.vanzylldejong@amd.com> Acked-by: Wayne Lin <wayne.lin@amd.com> Signed-off-by: Iswara Nagulendran <iswara.nagulendran@amd.com> Tested-by: Daniel Wheeler <daniel.wheeler@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
committed by
Alex Deucher
parent
69925c0036
commit
ae308e93db
@@ -499,6 +499,12 @@ enum dcc_option {
|
||||
DCC_HALF_REQ_DISALBE = 2,
|
||||
};
|
||||
|
||||
enum in_game_fams_config {
|
||||
INGAME_FAMS_SINGLE_DISP_ENABLE, // enable in-game fams
|
||||
INGAME_FAMS_DISABLE, // disable in-game fams
|
||||
INGAME_FAMS_MULTI_DISP_ENABLE, //enable in-game fams for multi-display
|
||||
};
|
||||
|
||||
/**
|
||||
* enum pipe_split_policy - Pipe split strategy supported by DCN
|
||||
*
|
||||
@@ -951,7 +957,7 @@ struct dc_debug_options {
|
||||
/* Enable dmub aux for legacy ddc */
|
||||
bool enable_dmub_aux_for_legacy_ddc;
|
||||
bool disable_fams;
|
||||
bool disable_fams_gaming;
|
||||
enum in_game_fams_config disable_fams_gaming;
|
||||
/* FEC/PSR1 sequence enable delay in 100us */
|
||||
uint8_t fec_enable_delay_in100us;
|
||||
bool enable_driver_sequence_debug;
|
||||
|
||||
@@ -580,7 +580,9 @@ struct dc_stream_state *dcn32_can_support_mclk_switch_using_fw_based_vblank_stre
|
||||
if (!fpo_candidate_stream->allow_freesync)
|
||||
return NULL;
|
||||
|
||||
if (fpo_candidate_stream->vrr_active_variable && dc->debug.disable_fams_gaming)
|
||||
if (fpo_candidate_stream->vrr_active_variable &&
|
||||
((dc->debug.disable_fams_gaming == INGAME_FAMS_DISABLE) ||
|
||||
(context->stream_count > 1 && !(dc->debug.disable_fams_gaming == INGAME_FAMS_MULTI_DISP_ENABLE))))
|
||||
return NULL;
|
||||
|
||||
return fpo_candidate_stream;
|
||||
|
||||
@@ -1996,7 +1996,7 @@ bool dcn30_can_support_mclk_switch_using_fw_based_vblank_stretch(struct dc *dc,
|
||||
if (!context->streams[0]->allow_freesync)
|
||||
return false;
|
||||
|
||||
if (context->streams[0]->vrr_active_variable && dc->debug.disable_fams_gaming)
|
||||
if (context->streams[0]->vrr_active_variable && (dc->debug.disable_fams_gaming == INGAME_FAMS_DISABLE))
|
||||
return false;
|
||||
|
||||
context->streams[0]->fpo_in_use = true;
|
||||
|
||||
Reference in New Issue
Block a user