mirror of
https://github.com/torvalds/linux.git
synced 2026-05-26 08:02:27 +02:00
drm/amd/display: Add missing post flip calls
[WHY&HOW] dc_post_update_surfaces_to_stream needs to be called after a full update completes in order to optimize clocks and watermarks for power. Add missing calls before idle entry is requested to ensure optimal power. Reviewed-by: Aurabindo Pillai <aurabindo.pillai@amd.com> Signed-off-by: Dillon Varone <Dillon.Varone@amd.com> Signed-off-by: Ivan Lipski <ivan.lipski@amd.com> Tested-by: Dan Wheeler <daniel.wheeler@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
c82b8f96eb
commit
54980f3c63
|
|
@ -417,8 +417,7 @@ static inline bool update_planes_and_stream_adapter(struct dc *dc,
|
|||
/*
|
||||
* Previous frame finished and HW is ready for optimization.
|
||||
*/
|
||||
if (update_type == UPDATE_TYPE_FAST)
|
||||
dc_post_update_surfaces_to_stream(dc);
|
||||
dc_post_update_surfaces_to_stream(dc);
|
||||
|
||||
return dc_update_planes_and_stream(dc,
|
||||
array_of_surface_update,
|
||||
|
|
|
|||
|
|
@ -218,8 +218,10 @@ static void amdgpu_dm_idle_worker(struct work_struct *work)
|
|||
break;
|
||||
}
|
||||
|
||||
if (idle_work->enable)
|
||||
if (idle_work->enable) {
|
||||
dc_post_update_surfaces_to_stream(idle_work->dm->dc);
|
||||
dc_allow_idle_optimizations(idle_work->dm->dc, true);
|
||||
}
|
||||
mutex_unlock(&idle_work->dm->dc_lock);
|
||||
}
|
||||
idle_work->dm->idle_workqueue->running = false;
|
||||
|
|
@ -273,8 +275,10 @@ static void amdgpu_dm_crtc_vblank_control_worker(struct work_struct *work)
|
|||
vblank_work->acrtc->dm_irq_params.allow_sr_entry);
|
||||
}
|
||||
|
||||
if (dm->active_vblank_irq_count == 0)
|
||||
if (dm->active_vblank_irq_count == 0) {
|
||||
dc_post_update_surfaces_to_stream(dm->dc);
|
||||
dc_allow_idle_optimizations(dm->dc, true);
|
||||
}
|
||||
|
||||
mutex_unlock(&dm->dc_lock);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user