linux/drivers/gpu/drm/amd/display/amdgpu_dm
David Francis bc7f670ee0 drm/amd/display: Perform plane updates only when needed
[Why]
Our old logic: if pageflip, update freesync and plane address.
Otherwise, update everything.
This over-updated on non-pageflip cases, and it failed to
update if pageflip and non-pageflip changes occurred on
the same commit

[How]
Update flip_addrs on pageflips.
Update scaling_info when it changes.
Update color fields on color changes.
Updates plane_info always because we don't have a good way of
knowing when it needs to be updated.

Unfortunately, this means that every stream commit involves two
calls into DC.  In particular, on pageflips there is a second,
pointless update that changes nothing but costs several
microseconds (about a 50% increase in time taken). The update is
fast, but there are comparisons and some useless programming.

Leave TODOs indicating dissatisfaction.

Signed-off-by: David Francis <David.Francis@amd.com>
Reviewed-by: Harry Wentland <Harry.Wentland@amd.com>
Reviewed-by: Nicholas Kazlauskas <Nicholas.Kazlauskas@amd.com>
Acked-by: Leo Li <sunpeng.li@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2019-01-25 16:15:36 -05:00
..
amdgpu_dm.c drm/amd/display: Perform plane updates only when needed 2019-01-25 16:15:36 -05:00
amdgpu_dm.h drm/amd/display: Add below the range support for FreeSync 2018-12-18 17:39:42 -05:00
amdgpu_dm_color.c
amdgpu_dm_crc.c drm/amd/display: Guard against null stream_state in set_crc_source 2018-11-05 14:21:42 -05:00
amdgpu_dm_debugfs.c drm/amd/display: Add backlight pwm debugfs 2019-01-14 15:04:38 -05:00
amdgpu_dm_debugfs.h
amdgpu_dm_helpers.c drm/amd/display: Use 100 Hz precision for pipe pixel clocks 2019-01-14 15:04:39 -05:00
amdgpu_dm_irq.c
amdgpu_dm_irq.h
amdgpu_dm_mst_types.c drm/amd/display: Shift dc link aux to aux_payload 2019-01-14 15:40:33 -05:00
amdgpu_dm_mst_types.h drm/amd/display: Cleanup MST non-atomic code workaround 2018-11-07 18:20:49 -05:00
amdgpu_dm_pp_smu.c drm/amd/display: dal-pplib interface refactor dal part 2019-01-14 15:41:01 -05:00
amdgpu_dm_services.c
amdgpu_dm_trace.h drm/amd/display: Add tracing to dc 2018-12-05 17:49:49 -05:00
Makefile