mbox series

[0/9] drm/i915/dp_mst: Fix MST payload removal during output disabling

Message ID 20230125114852.748337-1-imre.deak@intel.com (mailing list archive)
Headers show
Series drm/i915/dp_mst: Fix MST payload removal during output disabling | expand

Message

Imre Deak Jan. 25, 2023, 11:48 a.m. UTC
This patchset fixes a payload tracking issue in the MST encoder's
disabling hook and adds verification for the related sw and sink state.
It also factors out a few functions to modeset CRTCs and connectors
during the atomic check phase to make it clearer where this is done.

Tested on ICL and ADLP.

Imre Deak (9):
  drm/i915/dp_mst: Add the MST topology state for modesetted CRTCs
  drm/display/dp_mst: Handle old/new payload states in
    drm_dp_remove_payload()
  drm/display/dp_mst: Add drm_atomic_get_old_mst_topology_state()
  drm/i915/dp_mst: Fix payload removal during output disabling
  drm/display/dp_mst: Fix the payload VCPI check in
    drm_dp_mst_dump_topology()
  drm/i915: Factor out helpers for modesetting CRTCs and connectors
  drm/i915/dp_mst: Move getting the MST topology state earlier to
    connector check
  drm/display/dp_mst: Add a helper to verify the MST payload state
  drm/i915/dp_mst: Verify the MST state of modesetted outputs

 .../amd/display/amdgpu_dm/amdgpu_dm_helpers.c |   2 +-
 drivers/gpu/drm/display/drm_dp_mst_topology.c | 222 +++++++++++++++++-
 drivers/gpu/drm/i915/display/intel_atomic.c   | 126 ++++++++++
 drivers/gpu/drm/i915/display/intel_atomic.h   |   7 +
 drivers/gpu/drm/i915/display/intel_cdclk.c    |   2 +-
 drivers/gpu/drm/i915/display/intel_display.c  |  57 +----
 drivers/gpu/drm/i915/display/intel_display.h  |   2 -
 drivers/gpu/drm/i915/display/intel_dp.c       |  40 +---
 drivers/gpu/drm/i915/display/intel_dp.h       |   1 +
 drivers/gpu/drm/i915/display/intel_dp_mst.c   | 132 ++++++++---
 drivers/gpu/drm/i915/display/intel_dp_mst.h   |   3 +
 .../drm/i915/display/intel_modeset_verify.c   |   2 +
 drivers/gpu/drm/i915/display/skl_watermark.c  |   2 +-
 drivers/gpu/drm/nouveau/dispnv50/disp.c       |   2 +-
 include/drm/display/drm_dp.h                  |   3 +
 include/drm/display/drm_dp_mst_helper.h       |   9 +-
 16 files changed, 472 insertions(+), 140 deletions(-)