-
- Downloads
WIP: drm/dp_mst: Add helpers for serializing SST <-> MST transitions
There's another kind of situation where we could potentially race with
nonblocking modesets and MST, especially if we were to only use the locking
provided by atomic modesetting:
* Display 1 begins as enabled on DP-1 in SST mode
* Display 1 switches to MST mode, exposes one sink in MST mode
* Userspace does non-blocking modeset to disable the SST display
* Userspace does non-blocking modeset to enable the MST display with a
different CRTC, but the SST display hasn't been fully taken down yet
* Execution order between the last two commits isn't guaranteed since they
share no drm resources
We can fix this however, by ensuring that we always pull in the atomic
topology state whenever a connector capable of driving an MST display
performs its atomic check - and then tracking CRTC commits happening on the
SST connector in the MST topology state.
Signed-off-by:
Lyude Paul <lyude@redhat.com>
Showing
- drivers/gpu/drm/display/drm_dp_mst_topology.c 59 additions, 0 deletionsdrivers/gpu/drm/display/drm_dp_mst_topology.c
- drivers/gpu/drm/i915/display/intel_dp.c 9 additions, 0 deletionsdrivers/gpu/drm/i915/display/intel_dp.c
- drivers/gpu/drm/nouveau/dispnv50/disp.c 1 addition, 1 deletiondrivers/gpu/drm/nouveau/dispnv50/disp.c
- drivers/gpu/drm/nouveau/dispnv50/disp.h 2 additions, 0 deletionsdrivers/gpu/drm/nouveau/dispnv50/disp.h
- drivers/gpu/drm/nouveau/nouveau_connector.c 14 additions, 0 deletionsdrivers/gpu/drm/nouveau/nouveau_connector.c
- include/drm/display/drm_dp_mst_helper.h 2 additions, 0 deletionsinclude/drm/display/drm_dp_mst_helper.h
Loading
Please register or sign in to comment