topic/mst-suspend-resume-reprobe-2019-10-29-2: UAPI Changes: Cross-subsystem Changes: Core Changes: * Handle UP requests asynchronously in the DP MST helpers, fixing hotplug notifications and allowing us to implement suspend/resume reprobing * Add basic suspend/resume reprobing to the DP MST helpers * Improve locking for link address reprobing and connection status request handling in the DP MST helpers * Miscellaneous refactoring in the DP MST helpers * Add a Kconfig option to the DP MST helpers to enable tracking of gets/puts for topology references for debugging purposes Driver Changes: * nouveau: Resume hotplug interrupts earlier, so that sideband messages may be transmitted during resume and thus allow suspend/resume reprobing for DP MST to work * nouveau: Avoid grabbing runtime PM references when handling short DP pulses, so that handling sideband messages in resume codepaths with the DP MST helpers doesn't deadlock us * i915, nouveau, amdgpu, radeon: Use detect_ctx for probing MST connectors, so that we can grab the topology manager's atomic lock Note: there's some amdgpu patches that I didn't realize were pushed upstream already when creating this topic branch. When they fail to apply, you can just ignore and skip them. The following changes since commit 2e79e22e092acd55da0b2db066e4826d7d152c41: Merge v5.4-rc4 into drm-next (2019-10-23 12:10:05 +0200) are available in the Git repository at: git://anongit.freedesktop.org/drm/drm-misc tags/topic/mst-suspend-resume-reprobe-2019-10-29-2 for you to fetch changes up to 12a280c7286857119cf0d88c487f695e3a1c0912: drm/dp_mst: Add topology ref history tracking for debugging (2019-10-24 14:36:13 -0400) ---------------------------------------------------------------- UAPI Changes: Cross-subsystem Changes: Core Changes: * Handle UP requests asynchronously in the DP MST helpers, fixing hotplug notifications and allowing us to implement suspend/resume reprobing * Add basic suspend/resume reprobing to the DP MST helpers * Improve locking for link address reprobing and connection status request handling in the DP MST helpers * Miscellaneous refactoring in the DP MST helpers * Add a Kconfig option to the DP MST helpers to enable tracking of gets/puts for topology references for debugging purposes Driver Changes: * nouveau: Resume hotplug interrupts earlier, so that sideband messages may be transmitted during resume and thus allow suspend/resume reprobing for DP MST to work * nouveau: Avoid grabbing runtime PM references when handling short DP pulses, so that handling sideband messages in resume codepaths with the DP MST helpers doesn't deadlock us * i915, nouveau, amdgpu, radeon: Use detect_ctx for probing MST connectors, so that we can grab the topology manager's atomic lock Note: there's some amdgpu patches that I didn't realize were pushed upstream already when creating this topic branch. When they fail to apply, you can just ignore and skip them. ---------------------------------------------------------------- Lyude Paul (14): drm/dp_mst: Destroy MSTBs asynchronously drm/dp_mst: Remove PDT teardown in drm_dp_destroy_port() and refactor drm/dp_mst: Refactor pdt setup/teardown, add more locking drm/dp_mst: Handle UP requests asynchronously drm/dp_mst: Add probe_lock drm/dp_mst: Protect drm_dp_mst_port members with locking drm/dp_mst: Don't forget to update port->input in drm_dp_mst_handle_conn_stat() drm/dp_mst: Lessen indenting in drm_dp_mst_topology_mgr_resume() drm/nouveau: Don't grab runtime PM refs for HPD IRQs drm/nouveau: Resume hotplug interrupts earlier drm/amdgpu: Iterate through DRM connectors correctly drm/amdgpu/dm: Resume short HPD IRQs before resuming MST topology drm/dp_mst: Add basic topology reprobing when resuming drm/dp_mst: Add topology ref history tracking for debugging drivers/gpu/drm/Kconfig | 14 + drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c | 13 +- drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 20 +- drivers/gpu/drm/amd/amdgpu/amdgpu_display.c | 5 +- drivers/gpu/drm/amd/amdgpu/amdgpu_encoders.c | 40 +- drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c | 5 +- drivers/gpu/drm/amd/amdgpu/dce_v10_0.c | 34 +- drivers/gpu/drm/amd/amdgpu/dce_v11_0.c | 34 +- drivers/gpu/drm/amd/amdgpu/dce_v6_0.c | 40 +- drivers/gpu/drm/amd/amdgpu/dce_v8_0.c | 34 +- drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 41 +- .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_irq.c | 10 +- .../amd/display/amdgpu_dm/amdgpu_dm_mst_types.c | 28 +- drivers/gpu/drm/drm_dp_mst_topology.c | 1176 +++++++++++++++----- drivers/gpu/drm/i915/display/intel_dp.c | 3 +- drivers/gpu/drm/i915/display/intel_dp_mst.c | 28 +- drivers/gpu/drm/nouveau/dispnv50/disp.c | 38 +- drivers/gpu/drm/nouveau/nouveau_connector.c | 33 +- drivers/gpu/drm/nouveau/nouveau_display.c | 19 +- drivers/gpu/drm/radeon/radeon_dp_mst.c | 24 +- include/drm/drm_dp_mst_helper.h | 160 ++- 21 files changed, 1322 insertions(+), 477 deletions(-) _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel