[PATCH 00/29] drm/i915: Add support for DP tunnel BW allocation

Imre Deak imre.deak at intel.com
Wed Dec 20 00:53:39 UTC 2023


Add support for detecting DP tunnels and enabling the BW allocation mode
on them.

Also fix hotplug detection issues during driver unloading and
system suspend/resume.

Imre Deak (29):
  drm/dp: Add DP tunnel DPCD registers
  drm/dp: Add drm_dp_max_dprx_data_rate()
  drm/dp: Add support for DP tunneling
  drm: Add support for disabling/enabling hotplug events
  drm/i915/dp_mst: Move suspend/resume to display suspend/resume
  drm/i915: Move HPD poll disable/enable to display suspend/resume
    handlers
  drm/i915: Add helpers to init/enable/disable hotplug detection
  drm/i915: Move intel_hpd_poll_fini() to intel_hotplug.c
  drm/i915: Disable hotplug detection during driver unregistration
  drm/i915: Fix hotplug detection during suspend/unload
  drm/i915: Add asserts that detect doesn't run unexpectedly
  drm/i915: Filter out glitches during hotplug detection
  drm/i915/dp_mst: Add support to notify MST connectors to retry
    modesets
  drm/i915/dp: Abort AUX on disconnected native DP ports
  drm/i915/dp: Use drm_dp_max_dprx_data_rate()
  drm/i915/dp: Factor out intel_dp_config_required_rate()
  drm/i915/dp: Export intel_dp_max_common_rate/lane_count()
  drm/i915/dp: Factor out intel_dp_update_sink_caps()
  drm/i915/dp: Factor out intel_dp_read_dprx_caps()
  drm/i915/dp: Add intel_dp_max_link_data_rate()
  drm/i915/dp: Add support for DP tunnel BW allocation
  drm/i915/dp: Add DP tunnel atomic state and check BW limit
  drm/i915/dp: Account for tunnel BW limit in
    intel_dp_max_link_data_rate()
  drm/i915/dp: Compute DP tunel BW during encoder state computation
  drm/i915/dp: Allocate/free DP tunnel BW in the encoder enable/disable
    hooks
  drm/i915/dp: Handle DP tunnel IRQs
  drm/i915/dp: Call intel_dp_sync_state() for DDI DP encoders
  drm/i915/dp: Suspend/resume DP tunnels
  drm/i915/dp: Enable DP tunnel BW allocation mode

 drivers/gpu/drm/display/Makefile              |    1 +
 drivers/gpu/drm/display/drm_dp_helper.c       |   58 +
 drivers/gpu/drm/display/drm_dp_tunnel.c       | 1679 +++++++++++++++++
 drivers/gpu/drm/drm_probe_helper.c            |   18 +
 drivers/gpu/drm/i915/Makefile                 |    1 +
 drivers/gpu/drm/i915/display/g4x_dp.c         |   28 +
 drivers/gpu/drm/i915/display/intel_atomic.c   |   10 +
 drivers/gpu/drm/i915/display/intel_crt.c      |    2 +
 drivers/gpu/drm/i915/display/intel_ddi.c      |    9 +-
 drivers/gpu/drm/i915/display/intel_display.c  |   35 +-
 drivers/gpu/drm/i915/display/intel_display.h  |    2 -
 .../gpu/drm/i915/display/intel_display_core.h |    7 +
 .../drm/i915/display/intel_display_driver.c   |   37 +-
 .../drm/i915/display/intel_display_types.h    |   11 +
 drivers/gpu/drm/i915/display/intel_dp.c       |  266 ++-
 drivers/gpu/drm/i915/display/intel_dp.h       |   11 +-
 drivers/gpu/drm/i915/display/intel_dp_aux.c   |   16 +-
 .../drm/i915/display/intel_dp_link_training.c |   32 +-
 .../drm/i915/display/intel_dp_link_training.h |    1 +
 drivers/gpu/drm/i915/display/intel_dp_mst.c   |   21 +-
 .../gpu/drm/i915/display/intel_dp_tunnel.c    |  661 +++++++
 .../gpu/drm/i915/display/intel_dp_tunnel.h    |   65 +
 drivers/gpu/drm/i915/display/intel_dvo.c      |    3 +
 drivers/gpu/drm/i915/display/intel_hdmi.c     |    5 +
 drivers/gpu/drm/i915/display/intel_hotplug.c  |   96 +-
 drivers/gpu/drm/i915/display/intel_hotplug.h  |    7 +
 drivers/gpu/drm/i915/display/intel_link_bw.c  |    5 +
 drivers/gpu/drm/i915/display/intel_panel.c    |    3 +
 drivers/gpu/drm/i915/display/intel_sdvo.c     |    2 +
 drivers/gpu/drm/i915/display/intel_tv.c       |    2 +
 drivers/gpu/drm/i915/i915_driver.c            |   12 +-
 include/drm/display/drm_dp.h                  |   60 +
 include/drm/display/drm_dp_helper.h           |    2 +
 include/drm/display/drm_dp_tunnel.h           |  106 ++
 include/drm/drm_mode_config.h                 |    2 +
 include/drm/drm_probe_helper.h                |    2 +
 36 files changed, 3117 insertions(+), 161 deletions(-)
 create mode 100644 drivers/gpu/drm/display/drm_dp_tunnel.c
 create mode 100644 drivers/gpu/drm/i915/display/intel_dp_tunnel.c
 create mode 100644 drivers/gpu/drm/i915/display/intel_dp_tunnel.h
 create mode 100644 include/drm/display/drm_dp_tunnel.h

-- 
2.39.2



More information about the Intel-gfx-trybot mailing list