public inbox for intel-gfx@lists.freedesktop.org
 help / color / mirror / Atom feed
* [PATCH] drm/i915/display: Fixed the main link lost in MST
@ 2024-04-22  6:33 gareth.yu
  2024-04-22  7:01 ` ✗ Fi.CI.CHECKPATCH: warning for " Patchwork
                   ` (14 more replies)
  0 siblings, 15 replies; 31+ messages in thread
From: gareth.yu @ 2024-04-22  6:33 UTC (permalink / raw)
  To: intel-gfx; +Cc: Gareth Yu

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

Re-train the main link when the sink asserts a HPD for the main lnk 
lost.

Cc : Tejas Upadhyay <tejaskumarx.surendrakumar.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 | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
index e05e25cd4a94..db5d4fa8340b 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -5849,8 +5849,13 @@ intel_dp_detect(struct drm_connector *connector,
 	/* Can't disconnect eDP */
 	if (intel_dp_is_edp(intel_dp))
 		status = edp_detect(intel_dp);
-	else if (intel_digital_port_connected(encoder))
+	else if (intel_digital_port_connected(encoder)) {
 		status = intel_dp_detect_dpcd(intel_dp);
+		if (status == connector_status_connected && intel_dp->is_mst &&
+			!intel_dp_mst_link_status(intel_dp))
+			if (intel_dp_retrain_link(encoder, ctx))
+				status = connector_status_disconnected;
+	}
 	else
 		status = connector_status_disconnected;
 
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 31+ messages in thread
* [PATCH v2 00/21] drm/i915/dp_mst: Enable link training fallback
@ 2024-05-20 18:57 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
  0 siblings, 1 reply; 31+ 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] 31+ messages in thread

end of thread, other threads:[~2024-05-30  5:19 UTC | newest]

Thread overview: 31+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-04-22  6:33 [PATCH] drm/i915/display: Fixed the main link lost in MST gareth.yu
2024-04-22  7:01 ` ✗ Fi.CI.CHECKPATCH: warning for " Patchwork
2024-04-22  7:09 ` ✓ Fi.CI.BAT: success " Patchwork
2024-04-22  7:55 ` [PATCH] " gareth.yu
2024-04-22  8:27   ` Jani Nikula
2024-04-22  9:44 ` [PATCH] drm/i915/display: Fixed HDMI can't show up behind a USB-C dock station gareth.yu
2024-04-22 11:26   ` Jani Nikula
2024-04-22 11:33     ` Jani Nikula
2024-04-22 10:35 ` ✓ Fi.CI.BAT: success for drm/i915/display: Fixed the main link lost in MST (rev3) Patchwork
2024-04-25  3:34 ` [PATCH] drm/i915/display: Fixed the main link lost in MST gareth.yu
2024-04-25 11:30   ` Jani Nikula
2024-04-26  7:56     ` Yu, Gareth
2024-04-25  4:14 ` ✓ Fi.CI.BAT: success for drm/i915/display: Fixed the main link lost in MST (rev4) Patchwork
2024-04-25 14:23 ` ✗ Fi.CI.IGT: failure " Patchwork
2024-04-26  3:11 ` [PATCH] drm/i915/display: Fixed the main link lost in MST gareth.yu
2024-04-26  4:10 ` ✗ Fi.CI.SPARSE: warning for drm/i915/display: Fixed the main link lost in MST (rev5) Patchwork
2024-04-26  4:17 ` ✗ Fi.CI.BAT: failure " Patchwork
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
2024-05-30  5:29   ` drm/i915/display: Fixed the main link lost in MST (rev6) gareth.yu
2024-04-30  8:11 ` ✓ Fi.CI.BAT: success for " Patchwork
2024-04-30  8:13 ` ✗ Fi.CI.SPARSE: warning " Patchwork
2024-04-30 10:31 ` ✓ Fi.CI.IGT: success " Patchwork
  -- strict thread matches above, loose matches on Subject: below --
2024-05-20 18:57 [PATCH v2 00/21] drm/i915/dp_mst: Enable link training fallback 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

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