public inbox for intel-gfx@lists.freedesktop.org
 help / color / mirror / Atom feed
* [PATCH v2 00/21] drm/i915/dp_mst: Enable link training fallback
@ 2024-05-20 18:57 Imre Deak
  2024-05-20 18:57 ` [PATCH v2 01/21] drm/i915/dp_mst: Align TUs to avoid splitting symbols across MTPs Imre Deak
                   ` (25 more replies)
  0 siblings, 26 replies; 62+ messages in thread
From: Imre Deak @ 2024-05-20 18:57 UTC (permalink / raw)
  To: intel-gfx; +Cc: Jani Nikula, Ville Syrjälä

This is v2 of [1], addressing the feedback comments from Jani and Ville:

- Use a more generic 'link' substruct instead of 'link_train'. (Patch 2)
- Add the debugfs entries from intel_dp_link_training.c . (Patch 17-21)
- Add the link state check work to intel_digital_port instead of
  intel_dp, to allow using it later for HDMI. (Patch 7)
- Keep using the atomic state to look up MST connectors, avoiding the
  access to any object's current state. (Patch 9)
- Add a separate debugfs entry to get the max link rate/lane count.
  (Patch 18)

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

Cc: Jani Nikula <jani.nikula@intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>

Imre Deak (21):
  drm/i915/dp_mst: Align TUs to avoid splitting symbols across MTPs
  drm/i915/dp: Move link train params to a substruct in intel_dp
  drm/i915/dp: Move link train fallback to intel_dp_link_training.c
  drm/i915/dp: Sanitize intel_dp_get_link_train_fallback_values()
  drm/i915: Factor out function to modeset commit a set of pipes
  drm/i915/dp: Use a commit modeset for link retraining MST links
  drm/i915/dp: Recheck link state after modeset
  drm/i915/dp: Reduce link params only after retrying with unchanged
    params
  drm/i915/dp: Pass atomic state to link training function
  drm/i915/dp: Send a link training modeset-retry uevent to all MST
    connectors
  drm/i915/dp: Use check link state work in the hotplug handler
  drm/i915/dp: Use check link state work in the detect handler
  drm/i915/dp: Use check link state work in the HPD IRQ handler
  drm/i915/dp: Disable link retraining after the last fallback step
  drm/i915/dp_mst: Reset intel_dp->link_trained during disabling
  drm/i915/dp_mst: Enable link training fallback for MST
  drm/i915/dp: Add debugfs entries to set a target link rate/lane count
  drm/i915/dp: Add debugfs entries to get the max link rate/lane count
  drm/i915/dp: Add debugfs entry to force link training failure
  drm/i915/dp: Add debugfs entry to force link retrain
  drm/i915/dp: Add debugfs entry for link training info

 drivers/gpu/drm/i915/display/g4x_dp.c         |  29 +-
 drivers/gpu/drm/i915/display/intel_ddi.c      |  64 +-
 drivers/gpu/drm/i915/display/intel_ddi.h      |   4 +
 drivers/gpu/drm/i915/display/intel_display.c  |  34 ++
 drivers/gpu/drm/i915/display/intel_display.h  |   3 +
 .../drm/i915/display/intel_display_debugfs.c  |   2 +
 .../drm/i915/display/intel_display_types.h    |  26 +-
 drivers/gpu/drm/i915/display/intel_dp.c       | 241 ++++----
 drivers/gpu/drm/i915/display/intel_dp.h       |   8 +-
 .../drm/i915/display/intel_dp_link_training.c | 545 +++++++++++++++++-
 .../drm/i915/display/intel_dp_link_training.h |   8 +-
 drivers/gpu/drm/i915/display/intel_dp_mst.c   |  30 +-
 12 files changed, 805 insertions(+), 189 deletions(-)

-- 
2.43.3


^ permalink raw reply	[flat|nested] 62+ messages in thread
* [PATCH] drm/i915/display: Fixed the main link lost in MST
@ 2024-04-30  7:31 gareth.yu
  2024-05-30  5:24 ` [PATCH v2 12/21] drm/i915/dp: Use check link state work in the detect handler gareth.yu
  0 siblings, 1 reply; 62+ messages in thread
From: gareth.yu @ 2024-04-30  7:31 UTC (permalink / raw)
  To: intel-gfx; +Cc: gareth.yu, Tejas Upadhyay, Matt Roper, Ville Syrjälä

From: Gareth Yu <gareth.yu@intel.com>

Re-train the main link for the main link lost in MST. The previous
version doesn't cover MST mode.

v5: Move link status check to the location which covers MST mode
v6: Correct Tejas' email address in cc

Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/10902
Cc: Tejas Upadhyay <tejas.upadhyay@intel.com>
Cc: Matt Roper <matthew.d.roper@intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Gareth Yu <gareth.yu@intel.com>
---
 drivers/gpu/drm/i915/display/intel_dp.c | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
index e05e25cd4a94..8043740b4233 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -5891,16 +5891,6 @@ intel_dp_detect(struct drm_connector *connector,
 
 	intel_dp_print_rates(intel_dp);
 
-	if (intel_dp->is_mst) {
-		/*
-		 * If we are in MST mode then this connector
-		 * won't appear connected or have anything
-		 * with EDID on it
-		 */
-		status = connector_status_disconnected;
-		goto out;
-	}
-
 	/*
 	 * Some external monitors do not signal loss of link synchronization
 	 * with an IRQ_HPD, so force a link status check.
@@ -5911,6 +5901,16 @@ intel_dp_detect(struct drm_connector *connector,
 			return ret;
 	}
 
+	if (intel_dp->is_mst) {
+		/*
+		 * If we are in MST mode then this connector
+		 * won't appear connected or have anything
+		 * with EDID on it
+		 */
+		status = connector_status_disconnected;
+		goto out;
+	}
+
 	/*
 	 * Clearing NACK and defer counts to get their exact values
 	 * while reading EDID which are required by Compliance tests
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 62+ messages in thread

end of thread, other threads:[~2024-06-10 16:13 UTC | newest]

Thread overview: 62+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-05-20 18:57 [PATCH v2 00/21] drm/i915/dp_mst: Enable link training fallback Imre Deak
2024-05-20 18:57 ` [PATCH v2 01/21] drm/i915/dp_mst: Align TUs to avoid splitting symbols across MTPs Imre Deak
2024-05-22 18:22   ` Ville Syrjälä
2024-05-20 18:58 ` [PATCH v2 02/21] drm/i915/dp: Move link train params to a substruct in intel_dp Imre Deak
2024-05-20 18:58 ` [PATCH v2 03/21] drm/i915/dp: Move link train fallback to intel_dp_link_training.c Imre Deak
2024-05-22 18:23   ` Ville Syrjälä
2024-06-10 16:13     ` Manasi Navare
2024-05-20 18:58 ` [PATCH v2 04/21] drm/i915/dp: Sanitize intel_dp_get_link_train_fallback_values() Imre Deak
2024-05-22 18:23   ` Ville Syrjälä
2024-05-22 18:45     ` Imre Deak
2024-05-23 15:48     ` Jani Nikula
2024-05-20 18:58 ` [PATCH v2 05/21] drm/i915: Factor out function to modeset commit a set of pipes Imre Deak
2024-05-22 18:23   ` Ville Syrjälä
2024-05-20 18:58 ` [PATCH v2 06/21] drm/i915/dp: Use a commit modeset for link retraining MST links Imre Deak
2024-05-23 12:58   ` Ville Syrjälä
2024-05-23 13:26     ` Imre Deak
2024-05-20 18:58 ` [PATCH v2 07/21] drm/i915/dp: Recheck link state after modeset Imre Deak
2024-05-22 13:38   ` Imre Deak
2024-05-23 13:23     ` Ville Syrjälä
2024-05-23 13:27       ` Ville Syrjälä
2024-05-23 13:30   ` Ville Syrjälä
2024-05-23 13:46     ` Imre Deak
2024-05-23 13:58       ` Ville Syrjälä
2024-05-23 14:12         ` Imre Deak
2024-05-20 18:58 ` [PATCH v2 08/21] drm/i915/dp: Reduce link params only after retrying with unchanged params Imre Deak
2024-05-20 18:58 ` [PATCH v2 09/21] drm/i915/dp: Pass atomic state to link training function Imre Deak
2024-05-23 14:41   ` Ville Syrjälä
2024-05-23 14:47     ` Imre Deak
2024-05-23 14:54       ` Ville Syrjälä
2024-05-23 14:58         ` Imre Deak
2024-05-23 15:05         ` Ville Syrjälä
2024-05-20 18:58 ` [PATCH v2 10/21] drm/i915/dp: Send a link training modeset-retry uevent to all MST connectors Imre Deak
2024-05-20 18:58 ` [PATCH v2 11/21] drm/i915/dp: Use check link state work in the hotplug handler Imre Deak
2024-05-20 18:58 ` [PATCH v2 12/21] drm/i915/dp: Use check link state work in the detect handler Imre Deak
2024-05-23 15:08   ` Ville Syrjälä
2024-05-23 15:29     ` Imre Deak
2024-05-23 15:43       ` Ville Syrjälä
2024-05-23 15:54         ` Imre Deak
2024-05-27  5:14   ` gareth.yu
2024-05-27 11:30     ` Imre Deak
2024-05-28  5:33       ` Yu, Gareth
2024-05-20 18:58 ` [PATCH v2 13/21] drm/i915/dp: Use check link state work in the HPD IRQ handler Imre Deak
2024-05-20 18:58 ` [PATCH v2 14/21] drm/i915/dp: Disable link retraining after the last fallback step Imre Deak
2024-05-23 15:28   ` Ville Syrjälä
2024-05-23 16:36     ` Imre Deak
2024-05-20 18:58 ` [PATCH v2 15/21] drm/i915/dp_mst: Reset intel_dp->link_trained during disabling Imre Deak
2024-05-20 18:58 ` [PATCH v2 16/21] drm/i915/dp_mst: Enable link training fallback for MST Imre Deak
2024-05-20 18:58 ` [PATCH v2 17/21] drm/i915/dp: Add debugfs entries to set a target link rate/lane count Imre Deak
2024-05-23 15:25   ` Ville Syrjälä
2024-05-23 16:15     ` Imre Deak
2024-05-20 18:58 ` [PATCH v2 18/21] drm/i915/dp: Add debugfs entries to get the max " Imre Deak
2024-05-20 18:58 ` [PATCH v2 19/21] drm/i915/dp: Add debugfs entry to force link training failure Imre Deak
2024-05-23 15:29   ` Ville Syrjälä
2024-05-23 16:32     ` Imre Deak
2024-05-20 18:58 ` [PATCH v2 20/21] drm/i915/dp: Add debugfs entry to force link retrain Imre Deak
2024-05-20 18:58 ` [PATCH v2 21/21] drm/i915/dp: Add debugfs entry for link training info Imre Deak
2024-05-20 19:30 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915/dp_mst: Enable link training fallback (rev3) Patchwork
2024-05-20 19:30 ` ✗ Fi.CI.SPARSE: " Patchwork
2024-05-20 19:41 ` ✓ Fi.CI.BAT: success " Patchwork
2024-05-21  5:58 ` ✗ Fi.CI.IGT: failure " Patchwork
2024-05-22  4:20 ` ✓ Fi.CI.IGT: success " Patchwork
  -- strict thread matches above, loose matches on Subject: below --
2024-04-30  7:31 [PATCH] drm/i915/display: Fixed the main link lost in MST gareth.yu
2024-05-30  5:24 ` [PATCH v2 12/21] drm/i915/dp: Use check link state work in the detect handler gareth.yu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox