diff options
author | Joshua Aberback <joshua.aberback@amd.com> | 2020-09-23 15:12:39 -0400 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2020-10-05 15:16:36 -0400 |
commit | 7c4ed1df0a59541b0c40c468df52217c2e03c210 (patch) | |
tree | ed39391f1c090ec938d590511ce6ceb9e0efca14 /drivers/gpu/drm/amd/display/dc/inc/hw/dchubbub.h | |
parent | 3e19095534caec6be8f8c1a7d8fd4879e23637ed (diff) | |
download | lwn-7c4ed1df0a59541b0c40c468df52217c2e03c210.tar.gz lwn-7c4ed1df0a59541b0c40c468df52217c2e03c210.zip |
drm/amd/display: Copy WM values from set A to other sets in hw_init
[Why]
When we transfer the WM range table to SMU, they can perform a watermark
switch right away. This can be a problem if we're in not in accelerated mode
during hw_init as SMU may initiate a dummy p-state change before the rest
of the watermarks are programmed. Watermark set A is defined to be
sufficient for all cases, so we can copy the values from set A to all other
sets, avoiding any issues from SMU doing WM switches.
[How]
- new hubbub func init_watermarks
- copy register values from set A to all other sets
- call init_watermarks before calling notify_wm_ranges
Signed-off-by: Joshua Aberback <joshua.aberback@amd.com>
Reviewed-by: Jun Lei <Jun.Lei@amd.com>
Acked-by: Eryk Brol <eryk.brol@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/display/dc/inc/hw/dchubbub.h')
-rw-r--r-- | drivers/gpu/drm/amd/display/dc/inc/hw/dchubbub.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/display/dc/inc/hw/dchubbub.h b/drivers/gpu/drm/amd/display/dc/inc/hw/dchubbub.h index 371da657c8a4..bf4d6190dd00 100644 --- a/drivers/gpu/drm/amd/display/dc/inc/hw/dchubbub.h +++ b/drivers/gpu/drm/amd/display/dc/inc/hw/dchubbub.h @@ -155,6 +155,8 @@ struct hubbub_funcs { #if defined(CONFIG_DRM_AMD_DC_DCN3_0) void (*force_pstate_change_control)(struct hubbub *hubbub, bool force, bool allow); + + void (*init_watermarks)(struct hubbub *hubbub); #endif }; |