public inbox for intel-gfx@lists.freedesktop.org
 help / color / mirror / Atom feed
From: Imre Deak <imre.deak@intel.com>
To: <intel-gfx@lists.freedesktop.org>, <intel-xe@lists.freedesktop.org>
Subject: [PATCH 026/108] drm/i915/dp_link_training: Document DP link recovery logic
Date: Tue, 28 Apr 2026 15:51:07 +0300	[thread overview]
Message-ID: <20260428125233.1664668-27-imre.deak@intel.com> (raw)
In-Reply-To: <20260428125233.1664668-1-imre.deak@intel.com>

Add kernel-doc documentation describing the Intel DP link training
recovery state machine and the sequence of automatic retraining,
fallback selection, and userspace notification.

Signed-off-by: Imre Deak <imre.deak@intel.com>
---
 Documentation/gpu/i915.rst                    |   9 +
 .../drm/i915/display/intel_dp_link_training.c | 241 ++++++++++++++++++
 2 files changed, 250 insertions(+)

diff --git a/Documentation/gpu/i915.rst b/Documentation/gpu/i915.rst
index eba09c3ddce42..34556b2104aa5 100644
--- a/Documentation/gpu/i915.rst
+++ b/Documentation/gpu/i915.rst
@@ -141,6 +141,15 @@ Hotplug
 .. kernel-doc:: drivers/gpu/drm/i915/display/intel_hotplug.c
    :internal:
 
+DisplayPort Link Training
+-------------------------
+
+.. kernel-doc:: drivers/gpu/drm/i915/display/intel_dp_link_training.c
+   :doc: DisplayPort link training
+
+.. kernel-doc:: drivers/gpu/drm/i915/display/intel_dp_link_training.c
+   :internal:
+
 High Definition Audio
 ---------------------
 
diff --git a/drivers/gpu/drm/i915/display/intel_dp_link_training.c b/drivers/gpu/drm/i915/display/intel_dp_link_training.c
index 35f160761e182..810227328d002 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_link_training.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_link_training.c
@@ -41,6 +41,246 @@
 #include "intel_panel.h"
 #include "intel_psr.h"
 
+/**
+ * DOC: DisplayPort link training
+ *
+ * This documents the Intel DisplayPort link training implementation and
+ * its internal interfaces, with a current focus on link recovery.
+ *
+ * Documentation of the full link training procedure is not yet included.
+ *
+ * The Intel DP link recovery logic governs how the driver reacts to link
+ * training (LT) failures and to links that degrade asynchronously after a
+ * previously successful training. Recovery is first attempted via
+ * automatic retraining (autoretrain) and, when that is no longer possible,
+ * by selecting fallback link configurations and notifying userspace to
+ * recover the link via a modeset.
+ *
+ * Recovery sequence and userspace notification:
+ *   After the first link training failure following initialization or a
+ *   previously successful training, recovery is first attempted by the
+ *   driver via automatic retraining, without userspace involvement. During
+ *   this phase, a given link configuration is attempted twice before being
+ *   abandoned: after the initial link training failure, an automatic
+ *   retraining modeset is performed with the same link parameters,
+ *   constituting the second attempt.
+ *
+ *   Once automatic retraining is no longer possible, recovery is delegated
+ *   to userspace, which must select a new modeset configuration, as the
+ *   kernel must not do so. From this point onwards, each link configuration
+ *   may be attempted only once as userspace iterates through alternative
+ *   configurations. A successful link training restores the automatic
+ *   retraining model for subsequent failures.
+ *
+ *   The failure of the last automatic retraining attempt is reported to
+ *   userspace, and from that point onward the driver notifies userspace of
+ *   each subsequent failure. This allows userspace to both initiate
+ *   recovery via modesets and observe the outcome of those recovery
+ *   attempts, even when no further fallback configurations remain.
+ *
+ *   Link training failures are always reported to userspace, even when they
+ *   result from a kernel-internal modeset. Such modesets only re-apply the
+ *   existing userspace-provided state and must not modify it. A failure
+ *   triggered by such a modeset is therefore treated the same as a link
+ *   degradation after a previously successful training, and recovery is
+ *   handled by userspace in place of the kernel caller.
+ *
+ * Contexts:
+ *   The following execution contexts (A/B/C) describe how the different
+ *   recovery states are reached but are not themselves implementation
+ *   states. The actual state machine is defined by &enum
+ *   intel_dp_link_training_recovery_state.
+ *
+ *   A. Modeset-triggered link training:
+ *
+ *     Triggered by:
+ *       - link training during a modeset, or
+ *       - via the "i915_dp_force_link_training_failure" debugfs entry,
+ *         forcing this path by emulating a link training failure.
+ *
+ *     Transitions:
+ *       - A1 Link training succeeds.
+ *
+ *         State -> %INTEL_DP_LINK_RECOVERY_IDLE.
+ *
+ *       - A2 First link training fails after initialization or a previously
+ *         successful training.
+ *
+ *         An automatic retraining attempt is scheduled with the same link
+ *         parameters with which the link training failed.
+ *
+ *         State -> %INTEL_DP_LINK_RECOVERY_AUTORETRAIN_PENDING.
+ *
+ *       - A3 Link training fails again after A2, or fails when automatic
+ *         retraining is already disabled.
+ *
+ *         Through fallback selection, the driver attempts to restrict the
+ *         allowed link configurations for subsequent modesets. This may
+ *         be done either by lowering global limits (rate/lane caps), or by
+ *         disabling only the currently failing configuration while leaving
+ *         all other configurations allowed, even if they use higher rate or
+ *         lane count.
+ *
+ *         (The current implementation may still apply parameter capping as
+ *         a coarse fallback selection mechanism. This is transitional and is
+ *         expected to be replaced by a scheme that disables only the failing
+ *         configuration, rather than removing configurations that have not
+ *         been observed to fail and may still train successfully.)
+ *
+ *         This case may repeat in a loop:
+ *             %INTEL_DP_LINK_RECOVERY_AUTORETRAIN_DISABLED ->
+ *             %INTEL_DP_LINK_RECOVERY_AUTORETRAIN_DISABLED
+ *
+ *         via repeated A3a -> A3a transitions until the configuration fallback
+ *         space is exhausted, reaching the A3b terminal case.
+ *
+ *         - A3a Fallback selection succeeds.
+ *
+ *           Userspace is notified to retry the modeset.
+ *
+ *           State -> %INTEL_DP_LINK_RECOVERY_AUTORETRAIN_DISABLED.
+ *
+ *         - A3b Fallback selection fails.
+ *
+ *           Userspace is notified of the failure and may continue recovery
+ *           by retrying the modeset with the remaining allowed link
+ *           configuration.
+ *
+ *           State -> %INTEL_DP_LINK_RECOVERY_NO_FALLBACK.
+ *
+ *   B. Automatic retraining:
+ *
+ *     Triggered by:
+ *       - after a failed link training attempt, or
+ *       - after a successful link training followed by asynchronous link
+ *         degradation, or
+ *       - via the "i915_dp_force_link_retrain" debugfs entry, which may
+ *         bypass normal gating and force this path.
+ *
+ *     Transitions:
+ *       - B1 Autoretrain modeset succeeds and link training succeeds.
+ *
+ *         State -> %INTEL_DP_LINK_RECOVERY_IDLE.
+ *
+ *       - B2 Autoretrain modeset succeeds but link training fails.
+ *
+ *         - B2a The current state is %INTEL_DP_LINK_RECOVERY_IDLE.
+ *
+ *           This corresponds to a first failure in a new failure
+ *           sequence and is handled as in A2: an automatic retraining
+ *           attempt is scheduled with the same link parameters.
+ *
+ *           State -> %INTEL_DP_LINK_RECOVERY_AUTORETRAIN_PENDING.
+ *
+ *         - B2b The current state is %INTEL_DP_LINK_RECOVERY_AUTORETRAIN_PENDING.
+ *
+ *           In non-regular (debug-forced) scenarios this may also be
+ *           reached from
+ *           %INTEL_DP_LINK_RECOVERY_AUTORETRAIN_DISABLED or
+ *           %INTEL_DP_LINK_RECOVERY_NO_FALLBACK, effectively behaving
+ *           like a userspace-driven recovery attempt.
+ *
+ *           The failure is handled as in A3, performing fallback
+ *           selection and transitioning according to A3a or A3b.
+ *
+ *       - B3 Link retraining cannot be started because its modeset atomic
+ *         check fails.
+ *
+ *         The modeset may fail, for example, due to external conditions such
+ *         as changed shared link bandwidth, which can make previously valid
+ *         modeset parameters no longer acceptable.
+ *
+ *         In this case, automatic retraining is disabled without selecting
+ *         a fallback configuration. The driver hands recovery over to
+ *         userspace without modifying the allowed configuration set, so a
+ *         subsequent userspace modeset will retry with the current link
+ *         configuration. Userspace is in a better position to select new
+ *         modeset parameters (e.g. video mode or enabled outputs) that
+ *         satisfy the updated constraints, as the driver is only allowed
+ *         to retry the modeset with the existing userspace-provided modeset
+ *         configuration.
+ *
+ *         This policy preserves the normal retry model, where a given link
+ *         configuration is attempted twice in the automatic retraining
+ *         flow before being abandoned: after a first link training failure,
+ *         an automatic retraining modeset is performed with the same link
+ *         parameters, and if its atomic check passes, the link training
+ *         itself may either succeed or fail, constituting the second
+ *         attempt. In this case, however, the retry modeset's atomic check
+ *         failed, so no second link training attempt with those parameters
+ *         was performed, and selecting a fallback would cause that
+ *         configuration to be tried only once rather than twice.
+ *
+ *   C. State reset:
+ *
+ *     Triggered by:
+ *       - sink capability changes,
+ *       - sink disconnect/reconnect,
+ *       - system suspend/resume or power transitions where HPD
+ *         handling may have been suppressed, or
+ *       - successful link training.
+ *
+ *     Transitions:
+ *       - The recovery state is reset from any of the recovery states
+ *
+ *         State -> %INTEL_DP_LINK_RECOVERY_IDLE.
+ *
+ *         After reset, the driver may re-check link status and schedule
+ *         retraining if the link is found to remain degraded.
+ *
+ * State transition summary:
+ *   - From %INTEL_DP_LINK_RECOVERY_IDLE
+ *
+ *     - To %INTEL_DP_LINK_RECOVERY_AUTORETRAIN_PENDING
+ *
+ *       - In contexts: A2, B2a
+ *       - Action: queue autoretrain work
+ *
+ *     - To %INTEL_DP_LINK_RECOVERY_AUTORETRAIN_DISABLED
+ *
+ *       - In context: B3
+ *       - Action: disable automatic retraining, notify userspace
+ *
+ *   - From %INTEL_DP_LINK_RECOVERY_AUTORETRAIN_PENDING
+ *
+ *     - To %INTEL_DP_LINK_RECOVERY_AUTORETRAIN_DISABLED
+ *
+ *       - In contexts: A3a, B2b
+ *       - Action: disable automatic retraining, select fallback
+ *         configurations, notify userspace
+ *
+ *     - To %INTEL_DP_LINK_RECOVERY_NO_FALLBACK
+ *
+ *       - In contexts: A3b, B2b
+ *       - Action: disable automatic retraining, notify userspace
+ *
+ *   - From %INTEL_DP_LINK_RECOVERY_AUTORETRAIN_DISABLED
+ *
+ *     - To %INTEL_DP_LINK_RECOVERY_AUTORETRAIN_DISABLED
+ *
+ *       - In contexts: A3a, B2b
+ *       - Action: select fallback configurations, notify userspace
+ *
+ *     - To %INTEL_DP_LINK_RECOVERY_NO_FALLBACK
+ *
+ *       - In contexts: A3b, B2b
+ *       - Action: notify userspace
+ *
+ *   - From %INTEL_DP_LINK_RECOVERY_NO_FALLBACK
+ *
+ *     - To %INTEL_DP_LINK_RECOVERY_NO_FALLBACK
+ *
+ *       - In contexts: A3b
+ *       - Action: notify userspace
+ *
+ *   - From any state
+ *
+ *     - To %INTEL_DP_LINK_RECOVERY_IDLE
+ *
+ *       - In contexts: C
+ *       - Action: no action
+ */
+
 #define LT_MSG_PREFIX			"[CONNECTOR:%d:%s][ENCODER:%d:%s][%s] "
 #define LT_MSG_ARGS(_intel_dp, _dp_phy)	(_intel_dp)->attached_connector->base.base.id, \
 					(_intel_dp)->attached_connector->base.name, \
@@ -95,6 +335,7 @@
  * logic.
  *
  * See also:
+ *   - DOC: DisplayPort link training
  *   - link_recovery_autoretrain_pending()
  *   - link_recovery_autoretrain_allowed()
  *   - link_recovery_has_no_fallback()
-- 
2.49.1


  parent reply	other threads:[~2026-04-28 12:53 UTC|newest]

Thread overview: 113+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-04-28 12:50 [PATCH 000/108] drm/i915/dp_link: Refactor DP link capability logic Imre Deak
2026-04-28 12:50 ` [PATCH 001/108] drm/i915/dp: Move clamping max link rate to common rates setup Imre Deak
2026-04-28 12:50 ` [PATCH 002/108] drm/i915/dp: Clamp max lane count to max common lane count Imre Deak
2026-04-28 12:50 ` [PATCH 003/108] drm/i915/dp: Bump connector epoch on link capability changes Imre Deak
2026-04-28 12:50 ` [PATCH 004/108] drm/i915/dp_link_training: Introduce link training state struct Imre Deak
2026-04-28 12:50 ` [PATCH 005/108] drm/i915/dp_link_training: Factor out link training state reset helper Imre Deak
2026-04-28 12:50 ` [PATCH 006/108] drm/i915/dp_link_training: Reset link training state on link capability change Imre Deak
2026-04-28 12:50 ` [PATCH 007/108] drm/i915/dp_link_training: Flush commits in debugfs entries Imre Deak
2026-04-28 12:50 ` [PATCH 008/108] drm/i915/dp_link_training: Move link training helpers to link training code Imre Deak
2026-04-28 12:50 ` [PATCH 009/108] drm/i915/dp_link_training: Use link_training as base pointer in debugfs Imre Deak
2026-04-28 12:50 ` [PATCH 010/108] drm/i915/dp_link_training: Add helpers to access force retrain state Imre Deak
2026-04-28 12:50 ` [PATCH 011/108] drm/i915/dp_link_training: Move link recovery/debug state to link_training Imre Deak
2026-04-28 12:50 ` [PATCH 012/108] drm/i915/dp_link_training: Prevent repeated autoretrain attempts Imre Deak
2026-04-28 12:50 ` [PATCH 013/108] drm/i915/dp_link_training: Clamp sequential link training failure counter Imre Deak
2026-04-28 12:50 ` [PATCH 014/108] drm/i915/dp_link_training: Check for pending autoretrain explicitly Imre Deak
2026-04-28 12:50 ` [PATCH 015/108] drm/i915/dp_link_training: Add helper to query pending autoretrain Imre Deak
2026-04-28 12:50 ` [PATCH 016/108] drm/i915/dp_link_training: Add helper to query allowed autoretrain Imre Deak
2026-04-28 12:50 ` [PATCH 017/108] drm/i915/dp_link_training: Add helper to mark link training failure Imre Deak
2026-04-28 12:50 ` [PATCH 018/108] drm/i915/dp_link_training: Add helper to reset link recovery state Imre Deak
2026-04-28 12:51 ` [PATCH 019/108] drm/i915/dp_link_training: Track link recovery state with an enum Imre Deak
2026-04-28 12:51 ` [PATCH 020/108] drm/i915/dp_link_training: Add no-fallback link recovery state Imre Deak
2026-04-28 12:51 ` [PATCH 021/108] drm/i915/display: Factor out a helper to modeset a pipe with atomic state Imre Deak
2026-04-28 12:51 ` [PATCH 022/108] drm/i915/display: Simplify intel_modeset_commit_pipes_for_atomic_state() Imre Deak
2026-04-28 12:51 ` [PATCH 023/108] drm/i915/dp_link_training: Allocate atomic state for autoretrain modeset Imre Deak
2026-04-28 12:51 ` [PATCH 024/108] drm/i915/dp_link_training: Disallow autoretrains after failed modeset Imre Deak
2026-04-28 12:51 ` [PATCH 025/108] drm/i915/dp_link_training: Fix kernel-doc of intel_dp_init_lttpr_and_dprx_caps() Imre Deak
2026-04-28 12:51 ` Imre Deak [this message]
2026-04-28 12:51 ` [PATCH 027/108] drm/i915/dp: Rename intel_dp_link_config to intel_dp_link_config_entry Imre Deak
2026-04-28 12:51 ` [PATCH 028/108] drm/i915/dp: Add struct intel_dp_link_config Imre Deak
2026-04-28 12:51 ` [PATCH 029/108] drm/i915/dp_link_caps: Introduce DP link capability module Imre Deak
2026-04-28 12:51 ` [PATCH 030/108] drm/i915/dp_link_caps: Move common rate helpers to link caps Imre Deak
2026-04-28 12:51 ` [PATCH 031/108] drm/i915/dp_link_caps: Move forced link param " Imre Deak
2026-04-28 12:51 ` [PATCH 032/108] drm/i915/dp: Simplify querying of forced link parameters Imre Deak
2026-04-28 12:51 ` [PATCH 033/108] drm/i915/dp_link_caps: Move forced and max link debugfs entries to link caps Imre Deak
2026-04-28 12:51 ` [PATCH 034/108] drm/i915/dp_link_training: Use helpers to get forced link params Imre Deak
2026-04-28 12:51 ` [PATCH 035/108] drm/i915/dp_link_caps: Move forced link params to link_caps Imre Deak
2026-04-28 12:51 ` [PATCH 036/108] drm/i915/dp_link_caps: Move link config helpers to link caps Imre Deak
2026-04-28 12:51 ` [PATCH 037/108] drm/i915/dp_link_caps: Move link config tracking to link_caps Imre Deak
2026-04-28 12:51 ` [PATCH 038/108] drm/i915/dp_link_caps: Rename helper updating the link configurations Imre Deak
2026-04-28 12:51 ` [PATCH 039/108] drm/i915/dp: Factor out helper to get link rate capabilities Imre Deak
2026-04-28 12:51 ` [PATCH 040/108] drm/i915/dp_link_caps: Pass supported link rates to link caps update Imre Deak
2026-04-28 12:51 ` [PATCH 041/108] drm/i915/dp_link_caps: Add helper to get all supported link rates Imre Deak
2026-04-28 12:51 ` [PATCH 042/108] drm/i915/dp_link_caps: Add helper to get the number of " Imre Deak
2026-04-28 12:51 ` [PATCH 043/108] drm/i915/dp_link_caps: Add helper to get common rate index Imre Deak
2026-04-28 12:51 ` [PATCH 044/108] drm/i915/dp_link_caps: Move tracking of common rates to link_caps struct Imre Deak
2026-04-28 12:51 ` [PATCH 045/108] drm/i915/dp_link_caps: Track max common lane count in link_caps Imre Deak
2026-04-28 12:51 ` [PATCH 046/108] drm/i915/dp_link_caps: Move max lane count change detection to link_caps Imre Deak
2026-04-28 12:51 ` [PATCH 047/108] drm/i915/dp_link_caps: Use max common lane count from link_caps Imre Deak
2026-04-28 12:51 ` [PATCH 048/108] drm/i915/dp_link_caps: Move updating max link limits to link_caps update Imre Deak
2026-04-28 12:51 ` [PATCH 049/108] drm/i915/dp_link_caps: Add helpers to get max link limits Imre Deak
2026-04-28 12:51 ` [PATCH 050/108] drm/i915/dp_link_caps: Add helpers to set " Imre Deak
2026-04-28 12:51 ` [PATCH 051/108] drm/i915/dp_link_caps: Validate " Imre Deak
2026-04-28 12:51 ` [PATCH 052/108] drm/i915/dp_link_caps: Add helper to reset " Imre Deak
2026-04-28 12:51 ` [PATCH 053/108] drm/i915/dp_link_caps: Add helper to reset link_caps state Imre Deak
2026-04-28 12:51 ` [PATCH 054/108] drm/i915/dp_link_caps: Move max link limits to link_caps Imre Deak
2026-04-28 12:51 ` [PATCH 055/108] drm/i915/dp_link_caps: Pass link_caps to static functions Imre Deak
2026-04-28 12:51 ` [PATCH 056/108] drm/i915/dp_link_caps: Pass link_caps to config update/lookup helpers Imre Deak
2026-04-28 12:51 ` [PATCH 057/108] drm/i915/dp_link_caps: Pass link_caps to common rate helpers Imre Deak
2026-04-28 12:51 ` [PATCH 058/108] drm/i915/dp_link_caps: Add link_caps prefix " Imre Deak
2026-04-28 12:51 ` [PATCH 059/108] drm/i915/dp_link_caps: Add missing documentation to exported functions Imre Deak
2026-04-28 12:51 ` [PATCH 060/108] drm/i915/dp_link_caps: Set forced link params before resetting link params Imre Deak
2026-04-28 12:51 ` [PATCH 061/108] drm/i915/dp_link_caps: Adjust max_limits during link config update Imre Deak
2026-04-28 12:51 ` [PATCH 062/108] drm/i915/dp_link_caps: Adjust max_limits when setting or resetting it Imre Deak
2026-04-28 12:51 ` [PATCH 063/108] drm/i915/dp: Simplify the modeset max link rate limit computation Imre Deak
2026-04-28 12:51 ` [PATCH 064/108] drm/i915/dp: Query max limits via link_caps during mode validation Imre Deak
2026-04-28 12:51 ` [PATCH 065/108] drm/i915/dp_tunnel: Query max link limits via link_caps for BW computation Imre Deak
2026-04-28 12:51 ` [PATCH 066/108] drm/i915/doc: Document DP link capabilities Imre Deak
2026-04-28 12:51 ` [PATCH 067/108] drm/i915/dp_link_caps: Move config table members to a substruct Imre Deak
2026-04-28 12:51 ` [PATCH 068/108] drm/i915/dp_link_caps: Factor out a helper to look up a config table rate Imre Deak
2026-04-28 12:51 ` [PATCH 069/108] drm/i915/dp_link_caps: Pass config table pointer to rate lookup helper Imre Deak
2026-04-28 12:51 ` [PATCH 070/108] drm/i915/dp_link_caps: Factor out helper to get link config from table by index Imre Deak
2026-04-28 12:51 ` [PATCH 071/108] drm/i915/dp_link_caps: Add helper to get config at iterator position Imre Deak
2026-04-28 12:51 ` [PATCH 072/108] drm/i915/dp_link_caps: Add helper to find position of matching config Imre Deak
2026-04-28 12:51 ` [PATCH 073/108] drm/i915/dp_link_training: Reset the max link limits in the fallback code Imre Deak
2026-04-28 12:51 ` [PATCH 074/108] drm/i915/dp_link_training: Use config iterator for BW-order fallback Imre Deak
2026-04-28 12:51 ` [PATCH 075/108] drm/i915/dp_link_training: Look up configurations using fuzzy rate matching Imre Deak
2026-04-28 12:51 ` [PATCH 076/108] drm/i915/dp_link_caps: Pass table pointer to the sort compare function Imre Deak
2026-04-28 12:51 ` [PATCH 077/108] drm/i915/dp_link_caps: Compare config tables instead of link parameters Imre Deak
2026-04-28 12:51 ` [PATCH 078/108] drm/i915/dp_link_caps: Precompute config table before update Imre Deak
2026-04-28 12:52 ` [PATCH 079/108] drm/i915/dp_link_caps: Compare internal config entries during table matching Imre Deak
2026-04-28 12:52 ` [PATCH 080/108] drm/i915/dp_link_caps: Use virtual config indexing in config table Imre Deak
2026-04-28 12:52 ` [PATCH 081/108] drm/i915/dp_link_caps: Simplify idx->link rate/lane count lookup Imre Deak
2026-04-28 12:52 ` [PATCH 082/108] drm/i915/dp_link_caps: Simplify BW order pos->config index array Imre Deak
2026-04-28 12:52 ` [PATCH 083/108] drm/i915/dp_link_caps: Add helper to get iteration order for a connector Imre Deak
2026-04-28 12:52 ` [PATCH 084/108] drm/i915/dp_link_caps: Add reset and merge update modes Imre Deak
2026-04-28 12:52 ` [PATCH 085/108] drm/i915/dp_link_caps: Add mask for disabled link configurations Imre Deak
2026-04-28 12:52 ` [PATCH 086/108] drm/i915/dp_link_caps: Add link configuration iterators Imre Deak
2026-04-28 12:52 ` [PATCH 087/108] drm/i915/dp_link_caps: Preserve disabled config mask during merge update Imre Deak
2026-04-28 12:52 ` [PATCH 088/108] drm/i915/dp_link_caps: Account for disabled configs during max link info update Imre Deak
2026-04-28 12:52 ` [PATCH 089/108] drm/i915/dp_link_caps: Add debugfs entry showing allowed configurations Imre Deak
2026-04-28 12:52 ` [PATCH 090/108] drm/i915/dp: Add a mask of valid configurations for modeset computation Imre Deak
2026-04-28 12:52 ` [PATCH 091/108] drm/i915/dp: Iterate configurations via link_caps for SST non-DSC Imre Deak
2026-04-28 12:52 ` [PATCH 092/108] drm/i915/dp: Iterate configurations via link_caps for SST DSC Imre Deak
2026-04-28 12:52 ` [PATCH 093/108] drm/i915/dp: Use link caps for eDP DSC config selection Imre Deak
2026-04-28 12:52 ` [PATCH 094/108] drm/i915/dp_mst: Use link caps for non-DSC " Imre Deak
2026-04-28 12:52 ` [PATCH 095/108] drm/i915/dp_mst: Use link caps for MST DSC " Imre Deak
2026-04-28 12:52 ` [PATCH 096/108] drm/i915/dp_test: Use link caps for compliance link configs Imre Deak
2026-04-28 12:52 ` [PATCH 097/108] drm/i915/dp: Remove min/max link config limits Imre Deak
2026-04-28 12:52 ` [PATCH 098/108] drm/i915/dp_link_training: Account for disabled configs during SST fallback Imre Deak
2026-04-28 12:52 ` [PATCH 099/108] drm/i915/dp_link_training: Disable failed config during fallback Imre Deak
2026-04-28 12:52 ` [PATCH 100/108] drm/i915/kunit: Enable KUnit tests Imre Deak
2026-04-28 12:52 ` [PATCH 101/108] drm/i915/kunit: Add DP link test stub Imre Deak
2026-04-29  7:36   ` [PATCH v2 " Imre Deak
2026-04-28 12:52 ` [PATCH 102/108] drm/xe/kunit: Add display test config Imre Deak
2026-04-28 12:52 ` [PATCH 103/108] drm/xe/kunit: Build DP link display tests Imre Deak
2026-04-28 12:52 ` [PATCH 104/108] drm/i915/kunit: setup DP link test context Imre Deak
2026-04-28 12:52 ` [PATCH 105/108] drm/i915/kunit: Export link training and caps funcs for testing Imre Deak
2026-04-28 12:52 ` [PATCH 106/108] drm/i915/kunit: DP link: add baseline fixed table reference test Imre Deak
2026-04-28 12:52 ` [PATCH 107/108] drm/i915/kunit: DP link: add update config tests Imre Deak
2026-04-28 12:52 ` [PATCH 108/108] drm/i915/kunit: DP link: add fallback tests Imre Deak
2026-04-28 14:38 ` ✗ Fi.CI.BUILD: failure for drm/i915/dp_link: Refactor DP link capability logic Patchwork
2026-04-29  9:17 ` ✓ i915.CI.BAT: success for drm/i915/dp_link: Refactor DP link capability logic (rev2) Patchwork
2026-04-29 15:35 ` ✗ i915.CI.Full: failure " Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260428125233.1664668-27-imre.deak@intel.com \
    --to=imre.deak@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=intel-xe@lists.freedesktop.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox