On Wed, 2019-10-30 at 10:21 +0100, Daniel Vetter wrote: > On Tue, Oct 29, 2019 at 11:06 PM Lyude Paul <lyude@xxxxxxxxxx> wrote: > > 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: > > Out of curiosity, why did you go with a topic branch here? Usually we > only do those if there's a serious cross-tree coordination problem, > that can't be solved with some acks for merging the patches through > the unusual tree. Plus then some notes in the pull requests why and > who should pull this in. These one here doesn't seem like this is > necessary, and the standard approach of stuffing it all into > drm-misc-next should be good enough. Also rule of thumb maintainers do > the topic branch stuff with merges and prep and everything. > > I'm also confused with your "when they fail to apply", topic branches > are only ever merged, not applied individually. Ah sorry, I'm still a bit new to this. The reason I didn't want to just push this into drm-misc is because without some of the nouveau and amdgpu patches coming before the suspend/resume stuff there would have been regressions, and I didn't want to push a bunch of unrelated patches into drm-misc and cause issues like what happened the last time I merged a large MST series like this. > -Daniel > > > 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(-) > > > > -- Cheers, Lyude Paul _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel