Commit b126a699 authored by Wesley Chalmers's avatar Wesley Chalmers Committed by Alex Deucher

drm/amd/display: New path for enabling DPG

[WHY]
We want to make enabling test pattern a part of the
stream update code path. This change is the first step
towards that goal.
Signed-off-by: default avatarWesley Chalmers <Wesley.Chalmers@amd.com>
Reviewed-by: default avatarAric Cyr <Aric.Cyr@amd.com>
Reviewed-by: default avatarTony Cheng <Tony.Cheng@amd.com>
Acked-by: default avatarAnson Jacob <Anson.Jacob@amd.com>
Tested-by: default avatarDan Wheeler <daniel.wheeler@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 79ed7354
......@@ -2394,6 +2394,8 @@ static void copy_stream_update_to_stream(struct dc *dc,
if (update->dither_option)
stream->dither_option = *update->dither_option;
if (update->pending_test_pattern)
stream->test_pattern = *update->pending_test_pattern;
/* update current stream with writeback info */
if (update->wb_update) {
int i;
......@@ -2489,6 +2491,15 @@ static void commit_planes_do_stream_update(struct dc *dc,
}
}
if (stream_update->pending_test_pattern) {
dc_link_dp_set_test_pattern(stream->link,
stream->test_pattern.type,
stream->test_pattern.color_space,
stream->test_pattern.p_link_settings,
stream->test_pattern.p_custom_pattern,
stream->test_pattern.cust_pattern_size);
}
/* Full fe update*/
if (update_type == UPDATE_TYPE_FAST)
continue;
......
......@@ -130,6 +130,14 @@ union stream_update_flags {
uint32_t raw;
};
struct test_pattern {
enum dp_test_pattern type;
enum dp_test_pattern_color_space color_space;
struct link_training_settings const *p_link_settings;
unsigned char const *p_custom_pattern;
unsigned int cust_pattern_size;
};
struct dc_stream_state {
// sink is deprecated, new code should not reference
// this pointer
......@@ -231,6 +239,8 @@ struct dc_stream_state {
uint32_t stream_id;
bool is_dsc_enabled;
struct test_pattern test_pattern;
union stream_update_flags update_flags;
bool has_non_synchronizable_pclk;
......@@ -268,6 +278,8 @@ struct dc_stream_update {
struct dc_dsc_config *dsc_config;
struct dc_transfer_func *func_shaper;
struct dc_3dlut *lut3d_func;
struct test_pattern *pending_test_pattern;
};
bool dc_is_stream_unchanged(
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment