drm/amd/display: Add minimum Z8 residency debug option
[ Upstream commit 0db13eae41fcc67f408dbb3dfda59633c4fa03fb ]
[Why]
Allows finer control and tuning for debug and profiling.
[How]
Add the debug option into DC. The default remains the same as before
for now.
Reviewed-by: Jun Lei <Jun.Lei@amd.com>
Acked-by: Qingqing Zhuo <qingqing.zhuo@amd.com>
Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Stable-dep-of: d893f39320e1 ("drm/amd/display: Lowering min Z8 residency time")
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
97b3d8eed0
commit
25f6036242
3 changed files with 4 additions and 1 deletions
|
|
@ -781,6 +781,7 @@ struct dc_debug_options {
|
||||||
unsigned int force_odm_combine; //bit vector based on otg inst
|
unsigned int force_odm_combine; //bit vector based on otg inst
|
||||||
unsigned int seamless_boot_odm_combine;
|
unsigned int seamless_boot_odm_combine;
|
||||||
unsigned int force_odm_combine_4to1; //bit vector based on otg inst
|
unsigned int force_odm_combine_4to1; //bit vector based on otg inst
|
||||||
|
int minimum_z8_residency_time;
|
||||||
bool disable_z9_mpc;
|
bool disable_z9_mpc;
|
||||||
unsigned int force_fclk_khz;
|
unsigned int force_fclk_khz;
|
||||||
bool enable_tri_buf;
|
bool enable_tri_buf;
|
||||||
|
|
|
||||||
|
|
@ -884,6 +884,7 @@ static const struct dc_plane_cap plane_cap = {
|
||||||
static const struct dc_debug_options debug_defaults_drv = {
|
static const struct dc_debug_options debug_defaults_drv = {
|
||||||
.disable_z10 = false,
|
.disable_z10 = false,
|
||||||
.enable_z9_disable_interface = true,
|
.enable_z9_disable_interface = true,
|
||||||
|
.minimum_z8_residency_time = 1000,
|
||||||
.psr_skip_crtc_disable = true,
|
.psr_skip_crtc_disable = true,
|
||||||
.disable_dmcu = true,
|
.disable_dmcu = true,
|
||||||
.force_abm_enable = false,
|
.force_abm_enable = false,
|
||||||
|
|
|
||||||
|
|
@ -973,7 +973,8 @@ static enum dcn_zstate_support_state decide_zstate_support(struct dc *dc, struc
|
||||||
else if (context->stream_count == 1 && context->streams[0]->signal == SIGNAL_TYPE_EDP) {
|
else if (context->stream_count == 1 && context->streams[0]->signal == SIGNAL_TYPE_EDP) {
|
||||||
struct dc_link *link = context->streams[0]->sink->link;
|
struct dc_link *link = context->streams[0]->sink->link;
|
||||||
struct dc_stream_status *stream_status = &context->stream_status[0];
|
struct dc_stream_status *stream_status = &context->stream_status[0];
|
||||||
bool allow_z8 = context->bw_ctx.dml.vba.StutterPeriod > 1000.0;
|
int minmum_z8_residency = dc->debug.minimum_z8_residency_time > 0 ? dc->debug.minimum_z8_residency_time : 1000;
|
||||||
|
bool allow_z8 = context->bw_ctx.dml.vba.StutterPeriod > (double)minmum_z8_residency;
|
||||||
bool is_pwrseq0 = link->link_index == 0;
|
bool is_pwrseq0 = link->link_index == 0;
|
||||||
|
|
||||||
if (dc_extended_blank_supported(dc)) {
|
if (dc_extended_blank_supported(dc)) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue