linux/drivers/gpu/drm/amd/display/amdgpu_dm
Nicholas Kazlauskas f6d7c7faf0 drm/amd/display: Drop dm_determine_update_type_for_commit
[Why]
This was added in the past to solve the issue of not knowing when
to stall for medium and full updates in DM.

Since DC is ultimately decides what requires bandwidth changes we
wanted to make use of it directly to determine this.

The problem is that we can't actually pass any of the stream or surface
updates into DC global validation, so we don't actually check if the new
configuration is valid - we just validate the old existing config
instead and stall for outstanding commits to finish.

There's also the problem of grabbing the DRM private object for
pageflips which can lead to page faults in the case where commits
execute out of order and free a DRM private object state that was
still required for commit tail.

[How]
Now that we reset the plane in DM with the same conditions DC checks
we can have planes go through DC validation and we know when we need
to check and stall based on whether the stream or planes changed.

We mark lock_and_validation_needed whenever we've done this, so just
go back to using that instead of dm_determine_update_type_for_commit.

Since we'll skip resetting the plane for a pageflip we will no longer
grab the DRM private object for pageflips as well, avoiding the
page fault issued caused by pageflipping under load with commits
executing out of order.

Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Reviewed-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2020-08-06 15:49:15 -04:00
..
amdgpu_dm_color.c drm/amd/display: change global buffer to local buffer 2020-07-01 01:59:21 -04:00
amdgpu_dm_crc.c drm/amd/display: Added pixel dynamic expansion control. 2019-10-10 19:24:26 -05:00
amdgpu_dm_crc.h drm/amd/display: Split out DC programming for CRC capture 2019-08-21 22:18:25 -05:00
amdgpu_dm_debugfs.c drm/amd/display: Add debugfs for forcing stream timing sync 2020-08-04 17:29:28 -04:00
amdgpu_dm_debugfs.h amdgpu_dm: no need to check return value of debugfs_create functions 2019-06-13 13:59:49 -05:00
amdgpu_dm_hdcp.c drm/amdgpu/display: Unlock mutex on error 2020-07-01 01:59:26 -04:00
amdgpu_dm_hdcp.h drm/amd/display: Add sysfs interface for set/get srm 2020-02-06 15:04:36 -05:00
amdgpu_dm_helpers.c drm/amd/display: Add DCN3 Support in DM (v2) 2020-07-01 01:59:15 -04:00
amdgpu_dm_irq.c drm/amd: use list_for_each_entry for list iteration. 2020-01-07 12:04:16 -05:00
amdgpu_dm_irq.h
amdgpu_dm_mst_types.c drm/amd/display: DSC Bit target rate debugfs write entry 2020-08-04 17:29:27 -04:00
amdgpu_dm_mst_types.h drm/amdgpu/display: create fake mst encoders ahead of time (v4) 2020-07-10 17:50:00 -04:00
amdgpu_dm_pp_smu.c drm/amdgpu/display: properly guard the calls to swSMU functions 2020-07-01 01:59:23 -04:00
amdgpu_dm_services.c drm/amd/display: Handle persistence in DM 2020-05-28 14:00:47 -04:00
amdgpu_dm_trace.h drm/amd/display: Add tracing to dc 2018-12-05 17:49:49 -05:00
amdgpu_dm.c drm/amd/display: Drop dm_determine_update_type_for_commit 2020-08-06 15:49:15 -04:00
amdgpu_dm.h drm/amd/display: Store tiling_flags and tmz_surface on dm_plane_state 2020-08-06 15:46:11 -04:00
Makefile drm/amd/display: Create amdgpu_dm_hdcp 2019-10-03 09:10:58 -05:00