diff options
author | Taimur Hassan <syed.hassan@amd.com> | 2020-10-04 15:20:45 -0400 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2020-10-26 13:29:21 -0400 |
commit | a47cc3ab051f963ebca820dc48e887e9a7101244 (patch) | |
tree | 91532e3d3d0e7b34fc0fa38ef05e6d6dafa1cd6d /drivers/gpu/drm/amd/display/dc/dcn20/dcn20_opp.c | |
parent | 1db522cd03fdf692047e2317cfa16cf89bd42992 (diff) | |
download | linux-stable-a47cc3ab051f963ebca820dc48e887e9a7101244.tar.gz linux-stable-a47cc3ab051f963ebca820dc48e887e9a7101244.tar.bz2 linux-stable-a47cc3ab051f963ebca820dc48e887e9a7101244.zip |
drm/amd/display: Raise DPG height during timing synchronization
[Why]
Underflow counter increases in AGM when performing some mode switches due
to timing sync, which is a known hardware issue.
[How]
Temporarily raise DPG height during timing sync so that underflow is not
reported.
Signed-off-by: Taimur Hassan <syed.hassan@amd.com>
Acked-by: Aurabindo Pillai <aurabindo.pillai@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/display/dc/dcn20/dcn20_opp.c')
-rw-r--r-- | drivers/gpu/drm/amd/display/dc/dcn20/dcn20_opp.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_opp.c b/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_opp.c index 138321e151eb..0784d0198661 100644 --- a/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_opp.c +++ b/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_opp.c @@ -290,6 +290,17 @@ void opp2_set_disp_pattern_generator( } } +void opp2_program_dpg_dimensions( + struct output_pixel_processor *opp, + int width, int height) +{ + struct dcn20_opp *oppn20 = TO_DCN20_OPP(opp); + + REG_SET_2(DPG_DIMENSIONS, 0, + DPG_ACTIVE_WIDTH, width, + DPG_ACTIVE_HEIGHT, height); +} + void opp2_dpg_set_blank_color( struct output_pixel_processor *opp, const struct tg_color *color) @@ -350,6 +361,7 @@ static struct opp_funcs dcn20_opp_funcs = { .opp_program_stereo = opp1_program_stereo, .opp_pipe_clock_control = opp1_pipe_clock_control, .opp_set_disp_pattern_generator = opp2_set_disp_pattern_generator, + .opp_program_dpg_dimensions = opp2_program_dpg_dimensions, .dpg_is_blanked = opp2_dpg_is_blanked, .opp_dpg_set_blank_color = opp2_dpg_set_blank_color, .opp_destroy = opp1_destroy, |