[Intel-gfx] [PULL] topic/mst-suspend-resume-reprobe-2019-10-29-2

Lyude Paul lyude at redhat.com
Tue Oct 29 22:05:58 UTC 2019


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(-)



More information about the Intel-gfx mailing list