mbox series

[v2,00/22] drm/i915: Improve BW management on shared display links

Message ID 20230824080517.693621-1-imre.deak@intel.com (mailing list archive)
Headers show
Series drm/i915: Improve BW management on shared display links | expand

Message

Imre Deak Aug. 24, 2023, 8:04 a.m. UTC
This is v2 of [1], with the following changes:

- Add helpers to convert between fractional and integer bpp values
  instead of open coding these. (Jani)
- Increase back pipe B's link bpp after it was reduced due to a BW
  limit on FDI wrt. pipe C and then pipe C gets disabled. (Patch 8)
- Fix various MST DSC issues. (Patch 16-20)
- Add missing DocBook descriptions.

Tested on IVB, TGL, ADLP.

[1] https://lore.kernel.org/intel-gfx/20230817161456.3857111-1-imre.deak@intel.com

Imre Deak (22):
  drm/i915/dp: Factor out helpers to compute the link limits
  drm/i915/dp: Track the pipe and link bpp limits separately
  drm/i915/dp: Skip computing a non-DSC link config if DSC is needed
  drm/i915/dp: Update the link bpp limits for DSC mode
  drm/i915/dp: Limit the output link bpp in DSC mode
  drm/i915: Add helper to modeset a set of pipes
  drm/i915: Factor out a helper to check/compute all the CRTC states
  drm/i915/fdi: Improve FDI BW sharing between pipe B and C
  drm/dp_mst: Fix fractional bpp scaling in drm_dp_calc_pbn_mode()
  drm/dp_mst: Add a way to calculate PBN values with FEC overhead
  drm/dp_mst: Add helper to determine if an MST port is downstream of
    another port
  drm/dp_mst: Factor out a helper to check the atomic state of a
    topology manager
  drm/dp_mst: Swap the order of checking root vs. non-root port BW
    limitations
  drm/i915/dp_mst: Fix PBN calculation with FEC overhead
  drm/i915/dp_mst: Add atomic state for all streams on pre-tgl platforms
  drm/i915/dp_mst: Program the DSC PPS SDP for each stream
  drm/i915/dp: Make sure the DSC PPS SDP is disabled whenever DSC is
    disabled
  drm/i915/dp_mst: Enable DSC decompression if any stream needs this
  drm/i915/dp_mst: Add missing DSC compression disabling
  drm/i915/dp_mst: Allow DSC only for sink ports of the first branch
    device
  drm/i915/dp_mst: Improve BW sharing between MST streams
  drm/i915/dp_mst: Check BW limitations only after all streams are
    computed

 .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c |   2 +-
 .../display/amdgpu_dm/amdgpu_dm_mst_types.c   |   2 +-
 drivers/gpu/drm/display/drm_dp_mst_topology.c | 171 +++++++++--
 drivers/gpu/drm/i915/display/g4x_hdmi.c       |   5 +-
 drivers/gpu/drm/i915/display/intel_atomic.c   | 217 ++++++++++++++
 drivers/gpu/drm/i915/display/intel_atomic.h   |   8 +
 drivers/gpu/drm/i915/display/intel_crt.c      |   7 +
 drivers/gpu/drm/i915/display/intel_crtc.c     |   1 +
 drivers/gpu/drm/i915/display/intel_ddi.c      |  12 +-
 drivers/gpu/drm/i915/display/intel_display.c  | 164 +++++++----
 drivers/gpu/drm/i915/display/intel_display.h  |   7 +
 .../drm/i915/display/intel_display_types.h    |  30 +-
 drivers/gpu/drm/i915/display/intel_dp.c       | 185 +++++++++---
 drivers/gpu/drm/i915/display/intel_dp.h       |  17 +-
 drivers/gpu/drm/i915/display/intel_dp_mst.c   | 278 +++++++++++++++---
 drivers/gpu/drm/i915/display/intel_dp_mst.h   |   3 +
 drivers/gpu/drm/i915/display/intel_fdi.c      | 137 +++++++--
 drivers/gpu/drm/i915/display/intel_fdi.h      |   5 +
 drivers/gpu/drm/i915/display/intel_lvds.c     |   9 +-
 drivers/gpu/drm/i915/display/intel_sdvo.c     |   9 +-
 drivers/gpu/drm/i915/display/intel_vdsc.c     |   6 +
 drivers/gpu/drm/nouveau/dispnv50/disp.c       |   2 +-
 .../gpu/drm/tests/drm_dp_mst_helper_test.c    |  31 +-
 include/drm/display/drm_dp_mst_helper.h       |   9 +-
 24 files changed, 1107 insertions(+), 210 deletions(-)