[PATCH 0/6] drm/amdgpu: Fix incorrect encoder API usages
Lyude Paul
lyude at redhat.com
Thu Sep 26 22:51:02 UTC 2019
Noticed this while trying to respin my MST suspend/resume patch series.
It's not technically possible (at least until someone moves amdgpu
away from the deprecated drm_device->driver->{load,unload} hooks) for
amdgpu to properly register all of it's encoders before registering with
userspace. However, amdgpu also apparently adds and removes encoders
along with MST connectors - which is a much bigger issue as userspace
applications definitely do not expect this type of behavior.
So, let's fix it and add some WARNs() so new drivers don't accidentally
make this mistake in the future.
Lyude Paul (6):
drm/amdgpu/dm/mst: Don't create MST topology managers for eDP ports
drm/amdgpu/dm/mst: Remove unnecessary NULL check
drm/amdgpu/dm/mst: Use ->atomic_best_encoder
drm/amdgpu/dm/mst: Make MST encoders per-CRTC and fix encoder usage
drm/amdgpu/dm/mst: Report possible_crtcs incorrectly, for now
drm/encoder: WARN() when adding/removing encoders after device
registration
drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h | 3 ++
.../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 15 ++++++
.../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h | 1 -
.../display/amdgpu_dm/amdgpu_dm_mst_types.c | 46 ++++++++++---------
.../display/amdgpu_dm/amdgpu_dm_mst_types.h | 3 ++
drivers/gpu/drm/drm_encoder.c | 31 ++++++++++---
6 files changed, 70 insertions(+), 29 deletions(-)
--
2.21.0
More information about the dri-devel
mailing list