drm: Fix hotplugging docking stations
ClosedPublic

Authored by apol on Apr 7 2020, 12:34 AM.

Details

Summary

It turns out DRM connectors are not static and may change over time.
This patch refreshes them right before looking for new outputs.

BUG: 419061
FIXED-IN: 5.19.0

Test Plan

Seems to work better, it's still not ideal but I think there's an unrelated bug
sending updates to clients.

Diff Detail

Repository
R108 KWin
Branch
arcpatch-D28642
Lint
No Linters Available
Unit
No Unit Test Coverage
Build Status
Buildable 24949
Build 24967: arc lint + arc unit
apol created this revision.Apr 7 2020, 12:34 AM
Restricted Application added a project: KWin. · View Herald TranscriptApr 7 2020, 12:34 AM
Restricted Application added a subscriber: kwin. · View Herald Transcript
apol requested review of this revision.Apr 7 2020, 12:34 AM
davidedmundson accepted this revision.Apr 7 2020, 6:52 AM
This revision is now accepted and ready to land.Apr 7 2020, 6:52 AM
meven edited the summary of this revision. (Show Details)Apr 7 2020, 10:26 AM
meven accepted this revision.Apr 7 2020, 10:29 AM
apol updated this revision to Diff 79654.Apr 8 2020, 4:40 PM

rebase + debugging

This revision was automatically updated to reflect the committed changes.
zzag added a subscriber: zzag.Apr 14 2020, 3:48 PM

CRTC objects are static, not dynamic. The total number of CRTCs remains the same even if you connect an 8K monitor, which most likely will be internally driven by two CRTCs.

We need to query connector objects when the DRM device has been changed and presumably (not 100% sure) after waking up from sleep mode.