[PATCH 00/19] drm/i915: Add Display Port tunnel BW allocation support
Imre Deak
imre.deak at intel.com
Tue Jan 23 10:28:31 UTC 2024
Add support for detecting DP tunnels on (Thunderbolt) display links and
enabling the Bandwidth Allocation mode on the link. This helps in
enabling the maximum resolution in any scenario on displays sharing the
BW on such links.
Kudos to all Cc'd for advices, co-development and testing.
Cc: Mika Westerberg <notifications at github.com>
Cc: Ville Syrjälä <ville.syrjala at linux.intel.com>
Cc: Saranya Gopal <saranya.gopal at intel.com>
Cc: Rajaram Regupathy <rajaram.regupathy at intel.com>
Cc: Gil Fine <gil.fine at intel.com>
Cc: Naama Shachar <naamax.shachar at intel.com>
Cc: Pengfei Xu <pengfei.xu at intel.com>
Imre Deak (19):
drm/dp: Add drm_dp_max_dprx_data_rate()
drm/dp: Add support for DP tunneling
drm/i915/dp: Add support to notify MST connectors to retry modesets
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 way to get active pipes with syncing commits
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() always for DDI DP encoders
drm/i915/dp: Suspend/resume DP tunnels
drm/i915/dp: Enable DP tunnel BW allocation mode
drivers/gpu/drm/display/Kconfig | 17 +
drivers/gpu/drm/display/Makefile | 2 +
drivers/gpu/drm/display/drm_dp_helper.c | 58 +
drivers/gpu/drm/display/drm_dp_tunnel.c | 1715 +++++++++++++++++
drivers/gpu/drm/i915/Kconfig | 13 +
drivers/gpu/drm/i915/Kconfig.debug | 1 +
drivers/gpu/drm/i915/Makefile | 3 +
drivers/gpu/drm/i915/display/g4x_dp.c | 28 +
drivers/gpu/drm/i915/display/intel_atomic.c | 10 +
drivers/gpu/drm/i915/display/intel_ddi.c | 9 +-
drivers/gpu/drm/i915/display/intel_display.c | 26 +-
.../gpu/drm/i915/display/intel_display_core.h | 1 +
.../drm/i915/display/intel_display_driver.c | 20 +-
.../drm/i915/display/intel_display_types.h | 9 +
drivers/gpu/drm/i915/display/intel_dp.c | 309 ++-
drivers/gpu/drm/i915/display/intel_dp.h | 21 +-
.../drm/i915/display/intel_dp_link_training.c | 33 +-
.../drm/i915/display/intel_dp_link_training.h | 1 +
drivers/gpu/drm/i915/display/intel_dp_mst.c | 18 +-
.../gpu/drm/i915/display/intel_dp_tunnel.c | 642 ++++++
.../gpu/drm/i915/display/intel_dp_tunnel.h | 131 ++
drivers/gpu/drm/i915/display/intel_link_bw.c | 5 +
drivers/gpu/drm/i915/display/intel_tc.c | 4 +-
include/drm/display/drm_dp.h | 61 +
include/drm/display/drm_dp_helper.h | 2 +
include/drm/display/drm_dp_tunnel.h | 270 +++
26 files changed, 3292 insertions(+), 117 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
mailing list