drm/amd/display: clean up validation failure log spam

Currently dcn2+ validation will unconditionally print a failure
reason before validation completes. This change categorizes the
failure reason as a warning log and only prints at the end of
validation resolving false positives.

Signed-off-by: Dmytro Laktyushkin <Dmytro.Laktyushkin@amd.com>
Reviewed-by: Nikola Cornij <Nikola.Cornij@amd.com>
Acked-by: Leo Li <sunpeng.li@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
Dmytro Laktyushkin 2019-03-18 18:20:56 -04:00 committed by Alex Deucher
parent 0cd3262566
commit 00999d991f
2 changed files with 4 additions and 11 deletions

View File

@ -1880,6 +1880,7 @@ bool dcn20_validate_bandwidth(struct dc *dc,
int split_threshold = dc->res_pool->pipe_count / 2;
bool avoid_split = dc->debug.pipe_split_policy != MPC_SPLIT_DYNAMIC;
display_e2e_pipe_params_st *pipes = kzalloc(dc->res_pool->pipe_count * sizeof(display_e2e_pipe_params_st), GFP_KERNEL);
DC_LOGGER_INIT(dc->ctx->logger);
ASSERT(pipes);
if (!pipes)
@ -2183,6 +2184,8 @@ bool dcn20_validate_bandwidth(struct dc *dc,
return true;
validate_fail:
DC_LOG_WARNING("Mode Validation Warning: %s failed validation.\n",
dml_get_status_message(context->bw_ctx.dml.vba.ValidationStatus[context->bw_ctx.dml.vba.soc.num_states]));
kfree(pipes);
return false;
}

View File

@ -73,17 +73,7 @@ unsigned int dml_get_voltage_level(
fetch_pipe_params(mode_lib);
PixelClockAdjustmentForProgressiveToInterlaceUnit(mode_lib);
}
mode_lib->funcs.validate(mode_lib);
/* check if Mode Support Validation failed */
if (mode_lib->vba.VoltageLevel > mode_lib->vba.soc.num_states) {
/* get the validation status for highest voltage level and output console message */
enum dm_validation_status status = mode_lib->vba.ValidationStatus[mode_lib->vba.soc.num_states];
if (status != DML_FAIL_PITCH_SUPPORT) {
/*AlignedYPitch is based on swizzle mode, so it is normal if some swizzle mode not supported*/
dm_output_to_console("Mode Validation Error: %s failed validation.\n", dml_get_status_message(status));
}
}
mode_lib->funcs.validate(mode_lib);
return mode_lib->vba.VoltageLevel;
}