summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSridevi Arvindekar <sarvinde@amd.com>2024-06-27 09:39:33 -0400
committerAlex Deucher <alexander.deucher@amd.com>2024-07-23 17:07:10 -0400
commitf5c783868855bbecfc4311050dbaca4cb28ada5e (patch)
tree17da14c47faf36730d6e41b5899b8627716939c2
parent218784049f4b90834dd7b854857df0b7e0f76567 (diff)
downloadlinux-f5c783868855bbecfc4311050dbaca4cb28ada5e.tar.gz
linux-f5c783868855bbecfc4311050dbaca4cb28ada5e.tar.bz2
linux-f5c783868855bbecfc4311050dbaca4cb28ada5e.zip
drm/amd/display: Add option to allow transition when odm is forced
Added option to allow transition for forced odm. Add the variation to the nightly run. Reviewed-by: Wenjing Liu <wenjing.liu@amd.com> Signed-off-by: Jerry Zuo <jerry.zuo@amd.com> Signed-off-by: Sridevi Arvindekar <sarvinde@amd.com> Tested-by: Daniel Wheeler <daniel.wheeler@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-rw-r--r--drivers/gpu/drm/amd/display/dc/core/dc.c3
-rw-r--r--drivers/gpu/drm/amd/display/dc/dc_stream.h6
2 files changed, 8 insertions, 1 deletions
diff --git a/drivers/gpu/drm/amd/display/dc/core/dc.c b/drivers/gpu/drm/amd/display/dc/core/dc.c
index 387b392f4c0d..c35029c65223 100644
--- a/drivers/gpu/drm/amd/display/dc/core/dc.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc.c
@@ -4338,7 +4338,8 @@ static void backup_and_set_minimal_pipe_split_policy(struct dc *dc,
dc->debug.force_disable_subvp = true;
for (i = 0; i < context->stream_count; i++) {
policy->force_odm[i] = context->streams[i]->debug.force_odm_combine_segments;
- context->streams[i]->debug.force_odm_combine_segments = 0;
+ if (context->streams[i]->debug.allow_transition_for_forced_odm)
+ context->streams[i]->debug.force_odm_combine_segments = 0;
}
}
diff --git a/drivers/gpu/drm/amd/display/dc/dc_stream.h b/drivers/gpu/drm/amd/display/dc/dc_stream.h
index 8ebd7e9e776e..3d9ee4da7056 100644
--- a/drivers/gpu/drm/amd/display/dc/dc_stream.h
+++ b/drivers/gpu/drm/amd/display/dc/dc_stream.h
@@ -159,6 +159,12 @@ struct test_pattern {
struct dc_stream_debug_options {
char force_odm_combine_segments;
+ /*
+ * When force_odm_combine_segments is non zero, allow dc to
+ * temporarily transition to ODM bypass when minimal transition state
+ * is required to prevent visual glitches showing on the screen
+ */
+ char allow_transition_for_forced_odm;
};
#define LUMINANCE_DATA_TABLE_SIZE 10