diff options
author | Gabe Teeger <gabe.teeger@amd.com> | 2023-09-29 00:00:35 +0300 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2023-10-09 23:51:28 +0300 |
commit | 647cf5151986ce981d55bba198612667eacf8a8b (patch) | |
tree | a9f1ba476325bdb2b8b552a27ab2a3fb19ffe85d /drivers/gpu/drm/amd/display/dc/dml2 | |
parent | cbe069f5e60f6c64944d65a2676fec23769bd189 (diff) | |
download | linux-647cf5151986ce981d55bba198612667eacf8a8b.tar.xz |
drm/amd/display: add check in validate_only in dml2
[what]
does_configuration_meet_sw_policies check was not done in the
validate_only portion of dml2, so some unsupported modes were passing bw
validation, only to fail the same check later in validate_and_build. now
we add the check to validate_only.
Also add line in dcn35_resource to ensure that value set for
enable_windowed_mpo_odm gets passed to dml.
[why]
Immediate black screen during video playback at 4k144hz. The debugger
showed that we were failing validation in dml on every updateplanes().
Reviewed-by: Wenjing Liu <wenjing.liu@amd.com>
Acked-by: Qingqing Zhuo <qingqing.zhuo@amd.com>
Signed-off-by: Qingqing Zhuo <Qingqing.Zhuo@amd.com>
Signed-off-by: Gabe Teeger <gabe.teeger@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/display/dc/dml2')
-rw-r--r-- | drivers/gpu/drm/amd/display/dc/dml2/dml2_wrapper.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/display/dc/dml2/dml2_wrapper.c b/drivers/gpu/drm/amd/display/dc/dml2/dml2_wrapper.c index 11c131f6cf26..9a5e145168bc 100644 --- a/drivers/gpu/drm/amd/display/dc/dml2/dml2_wrapper.c +++ b/drivers/gpu/drm/amd/display/dc/dml2/dml2_wrapper.c @@ -659,6 +659,9 @@ static bool dml2_validate_only(const struct dc_state *context) &dml2->v20.scratch.cur_display_config, &dml2->v20.scratch.mode_support_info); + if (result) + result = does_configuration_meet_sw_policies(dml2, &dml2->v20.scratch.cur_display_config, &dml2->v20.scratch.mode_support_info); + return (result == 1) ? true : false; } |