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 088/108] drm/i915/dp_link_caps: Account for disabled configs during max link info update
Date: Tue, 28 Apr 2026 15:52:09 +0300	[thread overview]
Message-ID: <20260428125233.1664668-89-imre.deak@intel.com> (raw)
In-Reply-To: <20260428125233.1664668-1-imre.deak@intel.com>

Account for disabled configurations when updating the maximum link
limits.

If a capability update leaves no allowed configuration, re-enable the
minimum configuration and reset the maximum link limits so at least one
configuration remains available.

Also add a helper to look up a configuration by its canonical index,
needed by the recovery path above and by follow-up modeset state
computation logic.

Signed-off-by: Imre Deak <imre.deak@intel.com>
---
 .../gpu/drm/i915/display/intel_dp_link_caps.c | 116 +++++++++++++++++-
 .../gpu/drm/i915/display/intel_dp_link_caps.h |   3 +
 2 files changed, 116 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_dp_link_caps.c b/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
index 9b69e7642717b..d53cd416a4e09 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
@@ -595,6 +595,42 @@ bool intel_dp_link_caps_get_config_by_pos(struct intel_dp_link_caps *link_caps,
 				       config, config_idx);
 }
 
+static bool config_idx_is_valid(struct intel_dp_link_caps *link_caps, int config_idx)
+{
+	if (link_config_idx_to_rate_idx(config_idx) >=
+	    link_caps->config_table.num_rates)
+		return false;
+
+	if (link_config_idx_to_lane_count(config_idx) >
+	    link_caps->config_table.max_lane_count)
+		return false;
+
+	return true;
+}
+
+/**
+ * intel_dp_link_caps_get_config_by_idx - get config for a given config index
+ * @link_caps: link capabilities state
+ * @config_idx: configuration index to look up
+ * @config: returned link configuration
+ *
+ * Look up the link configuration identified by @config_idx.
+ *
+ * Return:
+ * - %true  if @config_idx is valid, storing the configuration in @config.
+ * - %false if @config_idx is invalid.
+ */
+bool intel_dp_link_caps_get_config_by_idx(struct intel_dp_link_caps *link_caps, int config_idx,
+					  struct intel_dp_link_config *config)
+{
+	if (!config_idx_is_valid(link_caps, config_idx))
+		return false;
+
+	to_intel_dp_link_config(&link_caps->config_table, config_idx, config);
+
+	return true;
+}
+
 static bool is_within_percent(int actual, int nominal, int percent)
 {
 	int diff = abs(actual - nominal);
@@ -714,9 +750,15 @@ static void reset_max_link_limits_no_update(struct intel_dp_link_caps *link_caps
 	set_max_link_limits_no_update(link_caps, &max_link_limits);
 }
 
+static void reset_max_link_limits_reenable_all_no_update(struct intel_dp_link_caps *link_caps)
+{
+	link_caps->config_table.disabled_config_mask = 0;
+	reset_max_link_limits_no_update(link_caps);
+}
+
 static void reset_all_restrictions_no_update(struct intel_dp_link_caps *link_caps)
 {
-	reset_max_link_limits_no_update(link_caps);
+	reset_max_link_limits_reenable_all_no_update(link_caps);
 	link_caps->forced_params = INTEL_DP_LINK_CONFIG_NULL;
 }
 
@@ -759,20 +801,41 @@ static void compute_max_link_limits(struct intel_dp_link_caps *link_caps,
  * derived from that same set, so it can only be less than or equal to
  * the stored max_limits.
  *
+ * In addition, configurations may be disabled, further constraining the
+ * allowed set.
+ *
+ * Although the allowed mask itself depends on max_limits, this update
+ * must not change the effective allowed set. The recomputed limits still
+ * cover every configuration that is currently allowed.
+ *
  * A %false return indicates an internal error (either the stored
  * max_limits was below all allowed configurations, or
  * compute_max_link_limits() returned a larger value). The caller must
  * recover by removing all restrictions.
  *
+ * A %false return may also indicate an invalid state, e.g. after a sink
+ * capability update removes rates or lane counts and leaves no allowed
+ * configuration. The caller must restore a state where at least one
+ * configuration is enabled (see sanitize_disallowed_config()).
+ *
  * Return:
  * - %true  if max_limits was updated successfully.
- * - %false if an internal error was detected.
+ * - %false if an internal error was detected or the state is invalid.
  */
 static bool update_max_link_limits(struct intel_dp_link_caps *link_caps)
 {
 	struct intel_display *display = to_intel_display(link_caps->dp);
+	u32 old_allowed_mask = intel_dp_link_caps_get_allowed_config_mask(link_caps);
 	struct intel_dp_link_config new_limits;
 
+	/*
+	 * If the stored max_limits is below all enabled and forced
+	 * configurations, the allowed mask is empty. Fail and let the caller
+	 * recover (see function documentation).
+	 */
+	if (!old_allowed_mask)
+		return false;
+
 	compute_max_link_limits(link_caps, &new_limits);
 
 	if (drm_WARN_ON(display->drm,
@@ -782,8 +845,25 @@ static bool update_max_link_limits(struct intel_dp_link_caps *link_caps)
 			new_limits.lane_count > link_caps->max_limits.lane_count))
 		return false;
 
+	/*
+	 * The allowed mask shouldn't have changed, since the bounds could
+	 * only get updated due to configs that were already disabled in the
+	 * old mask. So the new limit values will not disable any configs.
+	 */
 	link_caps->max_limits = new_limits;
 
+	/*
+	 * Updating max_limits above must not change the allowed mask.
+	 *
+	 * The old allowed mask is already constrained by the old stored max_limits.
+	 * Since the recomputed max_limits is derived from that same allowed set, it
+	 * cannot exclude any configuration that was previously allowed.
+	 */
+	if (drm_WARN_ON(display->drm,
+			old_allowed_mask !=
+			intel_dp_link_caps_get_allowed_config_mask(link_caps)))
+		return false;
+
 	return true;
 }
 
@@ -893,6 +973,34 @@ void intel_dp_link_caps_reset_max_limits(struct intel_dp_link_caps *link_caps)
 	update_max_link_info(link_caps);
 }
 
+static void enable_link_config_no_update(struct intel_dp_link_caps *link_caps, int config_idx)
+{
+	struct intel_display *display = to_intel_display(link_caps->dp);
+
+	if (drm_WARN_ON(display->drm, !config_idx_is_valid(link_caps, config_idx)))
+		return;
+
+	link_caps->config_table.disabled_config_mask &= ~BIT(config_idx);
+}
+
+static void sanitize_disallowed_config(struct intel_dp_link_caps *link_caps)
+{
+	struct intel_display *display = to_intel_display(link_caps->dp);
+	struct intel_dp_link_config min_link_config;
+
+	if (intel_dp_link_caps_get_allowed_config_mask(link_caps))
+		return;
+
+	drm_dbg_kms(display->drm,
+		    "No allowed link config left, force enable the minimum config\n");
+
+	if (!intel_dp_link_caps_get_config_by_idx(link_caps, 0, &min_link_config))
+		return;
+
+	enable_link_config_no_update(link_caps, 0);
+	reset_max_link_limits_no_update(link_caps);
+}
+
 static int intel_dp_link_config_bw(const struct intel_dp_link_config *link_config)
 {
 	return drm_dp_max_dprx_data_rate(link_config->rate, link_config->lane_count);
@@ -1105,6 +1213,8 @@ bool intel_dp_link_caps_update(struct intel_dp_link_caps *link_caps,
 	if (update_mode == INTEL_DP_LINK_CAPS_UPDATE_RESET)
 		reset_max_link_limits_no_update(link_caps);
 
+	sanitize_disallowed_config(link_caps);
+
 	/*
 	 * A failure could be only due to a bug, the update function handles
 	 * that case by removing all restriction and resetting the max limit
@@ -1135,7 +1245,7 @@ bool intel_dp_link_caps_update(struct intel_dp_link_caps *link_caps,
  */
 void intel_dp_link_caps_reset(struct intel_dp_link_caps *link_caps)
 {
-	reset_max_link_limits_no_update(link_caps);
+	reset_max_link_limits_reenable_all_no_update(link_caps);
 	/* On failure the following removes all restrictions. */
 	update_max_link_info(link_caps);
 }
diff --git a/drivers/gpu/drm/i915/display/intel_dp_link_caps.h b/drivers/gpu/drm/i915/display/intel_dp_link_caps.h
index 939586c74e644..009bee0f7dffb 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_link_caps.h
+++ b/drivers/gpu/drm/i915/display/intel_dp_link_caps.h
@@ -180,6 +180,9 @@ void intel_dp_link_caps_get_forced_params(struct intel_dp_link_caps *link_caps,
 					  struct intel_dp_link_config *forced_params);
 u32 intel_dp_link_caps_get_allowed_config_mask(struct intel_dp_link_caps *link_caps);
 
+bool intel_dp_link_caps_get_config_by_idx(struct intel_dp_link_caps *link_caps,
+					  int config_idx,
+					  struct intel_dp_link_config *config);
 bool
 intel_dp_link_caps_get_config_by_pos(struct intel_dp_link_caps *link_caps,
 				     struct intel_dp_link_caps_config_order config_order,
-- 
2.49.1


  parent reply	other threads:[~2026-04-28 12:55 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 ` [PATCH 026/108] drm/i915/dp_link_training: Document DP link recovery logic Imre Deak
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 ` Imre Deak [this message]
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-89-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