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. Tested-by: Daniel Wheeler <daniel.wheeler@amd.com> Signed-off-by: Wesley Chalmers <Wesley.Chalmers@amd.com> Reviewed-by: Aric Cyr <Aric.Cyr@amd.com> Acked-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
fd1c85d3ac
commit
f8e792dc5c
@ -2265,6 +2265,9 @@ 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;
|
||||
@ -2361,6 +2364,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
|
||||
@ -227,6 +235,8 @@ struct dc_stream_state {
|
||||
|
||||
uint32_t stream_id;
|
||||
bool is_dsc_enabled;
|
||||
|
||||
struct test_pattern test_pattern;
|
||||
union stream_update_flags update_flags;
|
||||
};
|
||||
|
||||
@ -261,6 +271,7 @@ 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(
|
||||
|
Loading…
Reference in New Issue
Block a user