diff options
author | Noah Abradjian <noah.abradjian@amd.com> | 2019-09-27 16:30:57 -0400 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2019-10-25 16:50:09 -0400 |
commit | 1ea8751bd28d1ec2b36a56ec6bc1ac28903d09b4 (patch) | |
tree | 317a09d3dd278b8630b38cc516a5b8d04c350bc4 /drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c | |
parent | 50575eb5b339683ee148189beae5eb53ccb3158b (diff) | |
download | linux-1ea8751bd28d1ec2b36a56ec6bc1ac28903d09b4.tar.gz linux-1ea8751bd28d1ec2b36a56ec6bc1ac28903d09b4.tar.bz2 linux-1ea8751bd28d1ec2b36a56ec6bc1ac28903d09b4.zip |
drm/amd/display: Make clk mgr the only dto update point
[Why]
* Clk Mgr DTO update point did not cover all needed updates, as it included a
check for plane_state which does not exist yet when the updater is called on
driver startup
* This resulted in another update path in the pipe programming sequence, based
on a dppclk update flag
* However, this alternate path allowed for stray DTO updates, some of which would
occur in the wrong order during dppclk lowering and cause underflow
[How]
* Remove plane_state check and use of plane_res.dpp->inst, getting rid
of sequence dependencies (this results in extra dto programming for unused
pipes but that doesn't cause issues and is a small cost)
* Allow DTOs to be updated even if global clock is equal, to account for
edge case exposed by diags tests
* Remove update_dpp_dto call in pipe programming sequence (leave update to
dppclk_control there, as that update is necessary and shouldn't occur in clk
mgr)
* Remove call to optimize_bandwidth when committing state, as it is not needed
and resulted in sporadic underflows even with other fixes in place
Signed-off-by: Noah Abradjian <noah.abradjian@amd.com>
Reviewed-by: Jun Lei <Jun.Lei@amd.com>
Acked-by: Leo Li <sunpeng.li@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c')
0 files changed, 0 insertions, 0 deletions