* [PATCH 1/6] dma-buf: Remove old lies about dma_fence_wait_any_timeout() not accepting some fences
2026-04-08 23:34 [PATCH 0/6] drm/i915/reset: Solve display vs. GPU reset deadlock, again Ville Syrjala
@ 2026-04-08 23:34 ` Ville Syrjala
2026-04-09 8:09 ` Jani Nikula
2026-04-09 10:39 ` Christian König
2026-04-08 23:34 ` [PATCH 2/6] drm/i915/reset: Reorganize display reset code Ville Syrjala
` (6 subsequent siblings)
7 siblings, 2 replies; 19+ messages in thread
From: Ville Syrjala @ 2026-04-08 23:34 UTC (permalink / raw)
To: intel-gfx
Cc: intel-xe, dri-devel, Simona Vetter, Christian König,
Jani Nikula, Jouni Högander, Maarten Lankhorst
From: Ville Syrjälä <ville.syrjala@linux.intel.com>
commit 796422f227ee ("dma-fence: Allow wait_any_timeout for all
fences") made dma_fence_wait_any_timeout() accept any fence, even
one with a custom .wait() implementation. Update the docs to match.
Cc: Simona Vetter <simona.vetter@ffwll.ch>
Cc: Christian König <christian.koenig@amd.com>
Cc: Jani Nikula <jani.nikula@intel.com>
Cc: Jouni Högander <jouni.hogander@intel.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
drivers/dma-buf/dma-fence.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/drivers/dma-buf/dma-fence.c b/drivers/dma-buf/dma-fence.c
index 1826ba73094c..2c623c0221e2 100644
--- a/drivers/dma-buf/dma-fence.c
+++ b/drivers/dma-buf/dma-fence.c
@@ -884,9 +884,8 @@ dma_fence_test_signaled_any(struct dma_fence **fences, uint32_t count,
* @idx: used to store the first signaled fence index, meaningful only on
* positive return
*
- * Returns -EINVAL on custom fence wait implementation, -ERESTARTSYS if
- * interrupted, 0 if the wait timed out, or the remaining timeout in jiffies
- * on success.
+ * Returns -ERESTARTSYS if interrupted, 0 if the wait timed out,
+ * or the remaining timeout in jiffies on success.
*
* Synchronous waits for the first fence in the array to be signaled. The
* caller needs to hold a reference to all fences in the array, otherwise a
--
2.52.0
^ permalink raw reply related [flat|nested] 19+ messages in thread* Re: [PATCH 1/6] dma-buf: Remove old lies about dma_fence_wait_any_timeout() not accepting some fences
2026-04-08 23:34 ` [PATCH 1/6] dma-buf: Remove old lies about dma_fence_wait_any_timeout() not accepting some fences Ville Syrjala
@ 2026-04-09 8:09 ` Jani Nikula
2026-04-09 10:39 ` Christian König
1 sibling, 0 replies; 19+ messages in thread
From: Jani Nikula @ 2026-04-09 8:09 UTC (permalink / raw)
To: Ville Syrjala, intel-gfx
Cc: intel-xe, dri-devel, Simona Vetter, Christian König,
Jouni Högander, Maarten Lankhorst
On Thu, 09 Apr 2026, Ville Syrjala <ville.syrjala@linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> commit 796422f227ee ("dma-fence: Allow wait_any_timeout for all
> fences") made dma_fence_wait_any_timeout() accept any fence, even
> one with a custom .wait() implementation. Update the docs to match.
>
> Cc: Simona Vetter <simona.vetter@ffwll.ch>
> Cc: Christian König <christian.koenig@amd.com>
> Cc: Jani Nikula <jani.nikula@intel.com>
> Cc: Jouni Högander <jouni.hogander@intel.com>
> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
> ---
> drivers/dma-buf/dma-fence.c | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/dma-buf/dma-fence.c b/drivers/dma-buf/dma-fence.c
> index 1826ba73094c..2c623c0221e2 100644
> --- a/drivers/dma-buf/dma-fence.c
> +++ b/drivers/dma-buf/dma-fence.c
> @@ -884,9 +884,8 @@ dma_fence_test_signaled_any(struct dma_fence **fences, uint32_t count,
> * @idx: used to store the first signaled fence index, meaningful only on
> * positive return
> *
> - * Returns -EINVAL on custom fence wait implementation, -ERESTARTSYS if
> - * interrupted, 0 if the wait timed out, or the remaining timeout in jiffies
> - * on success.
> + * Returns -ERESTARTSYS if interrupted, 0 if the wait timed out,
> + * or the remaining timeout in jiffies on success.
> *
> * Synchronous waits for the first fence in the array to be signaled. The
> * caller needs to hold a reference to all fences in the array, otherwise a
--
Jani Nikula, Intel
^ permalink raw reply [flat|nested] 19+ messages in thread* Re: [PATCH 1/6] dma-buf: Remove old lies about dma_fence_wait_any_timeout() not accepting some fences
2026-04-08 23:34 ` [PATCH 1/6] dma-buf: Remove old lies about dma_fence_wait_any_timeout() not accepting some fences Ville Syrjala
2026-04-09 8:09 ` Jani Nikula
@ 2026-04-09 10:39 ` Christian König
1 sibling, 0 replies; 19+ messages in thread
From: Christian König @ 2026-04-09 10:39 UTC (permalink / raw)
To: Ville Syrjala, intel-gfx
Cc: intel-xe, dri-devel, Simona Vetter, Jani Nikula,
Jouni Högander, Maarten Lankhorst
On 4/9/26 01:34, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> commit 796422f227ee ("dma-fence: Allow wait_any_timeout for all
> fences") made dma_fence_wait_any_timeout() accept any fence, even
> one with a custom .wait() implementation. Update the docs to match.
>
> Cc: Simona Vetter <simona.vetter@ffwll.ch>
> Cc: Christian König <christian.koenig@amd.com>
> Cc: Jani Nikula <jani.nikula@intel.com>
> Cc: Jouni Högander <jouni.hogander@intel.com>
> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Yeah that is indeed outdated.
Reviewed-by: Christian König <christian.koenig@amd.com>
> ---
> drivers/dma-buf/dma-fence.c | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/dma-buf/dma-fence.c b/drivers/dma-buf/dma-fence.c
> index 1826ba73094c..2c623c0221e2 100644
> --- a/drivers/dma-buf/dma-fence.c
> +++ b/drivers/dma-buf/dma-fence.c
> @@ -884,9 +884,8 @@ dma_fence_test_signaled_any(struct dma_fence **fences, uint32_t count,
> * @idx: used to store the first signaled fence index, meaningful only on
> * positive return
> *
> - * Returns -EINVAL on custom fence wait implementation, -ERESTARTSYS if
> - * interrupted, 0 if the wait timed out, or the remaining timeout in jiffies
> - * on success.
> + * Returns -ERESTARTSYS if interrupted, 0 if the wait timed out,
> + * or the remaining timeout in jiffies on success.
> *
> * Synchronous waits for the first fence in the array to be signaled. The
> * caller needs to hold a reference to all fences in the array, otherwise a
^ permalink raw reply [flat|nested] 19+ messages in thread
* [PATCH 2/6] drm/i915/reset: Reorganize display reset code
2026-04-08 23:34 [PATCH 0/6] drm/i915/reset: Solve display vs. GPU reset deadlock, again Ville Syrjala
2026-04-08 23:34 ` [PATCH 1/6] dma-buf: Remove old lies about dma_fence_wait_any_timeout() not accepting some fences Ville Syrjala
@ 2026-04-08 23:34 ` Ville Syrjala
2026-04-09 8:13 ` Jani Nikula
2026-04-08 23:34 ` [PATCH 3/6] drm/i915/reset: Move pending_fb_pin handling to i915 Ville Syrjala
` (5 subsequent siblings)
7 siblings, 1 reply; 19+ messages in thread
From: Ville Syrjala @ 2026-04-08 23:34 UTC (permalink / raw)
To: intel-gfx
Cc: intel-xe, dri-devel, Simona Vetter, Christian König,
Jani Nikula, Jouni Högander, Maarten Lankhorst
From: Ville Syrjälä <ville.syrjala@linux.intel.com>
Stop returning the "is there a display?" status from
intel_display_reset_prepare(). I plan to move the pending_fb_pin
into the i915 code, so I need to make that determination already
before intel_display_reset_prepare() is called. Add a new
intel_display_reset_supported() function for that.
Cc: Simona Vetter <simona.vetter@ffwll.ch>
Cc: Christian König <christian.koenig@amd.com>
Cc: Jani Nikula <jani.nikula@intel.com>
Cc: Jouni Högander <jouni.hogander@intel.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
.../drm/i915/display/intel_display_reset.c | 23 ++++++++-----------
.../drm/i915/display/intel_display_reset.h | 3 ++-
drivers/gpu/drm/i915/gt/intel_reset.c | 13 +++++++----
3 files changed, 20 insertions(+), 19 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_display_reset.c b/drivers/gpu/drm/i915/display/intel_display_reset.c
index d00ef5bdcbda..137a2a33c8b0 100644
--- a/drivers/gpu/drm/i915/display/intel_display_reset.c
+++ b/drivers/gpu/drm/i915/display/intel_display_reset.c
@@ -16,22 +16,24 @@
#include "intel_hotplug.h"
#include "intel_pps.h"
+bool intel_display_reset_supported(struct intel_display *display)
+{
+ return HAS_DISPLAY(display);
+}
+
bool intel_display_reset_test(struct intel_display *display)
{
- return display->params.force_reset_modeset_test;
+ return HAS_DISPLAY(display) &&
+ display->params.force_reset_modeset_test;
}
-/* returns true if intel_display_reset_finish() needs to be called */
-bool intel_display_reset_prepare(struct intel_display *display,
+void intel_display_reset_prepare(struct intel_display *display,
modeset_stuck_fn modeset_stuck, void *context)
{
struct drm_modeset_acquire_ctx *ctx = &display->restore.reset_ctx;
struct drm_atomic_state *state;
int ret;
- if (!HAS_DISPLAY(display))
- return false;
-
if (atomic_read(&display->restore.pending_fb_pin)) {
drm_dbg_kms(display->drm,
"Modeset potentially stuck, unbreaking through wedging\n");
@@ -60,7 +62,7 @@ bool intel_display_reset_prepare(struct intel_display *display,
ret = PTR_ERR(state);
drm_err(display->drm, "Duplicating state failed with %i\n",
ret);
- return true;
+ return;
}
ret = drm_atomic_helper_disable_all(display->drm, ctx);
@@ -68,13 +70,11 @@ bool intel_display_reset_prepare(struct intel_display *display,
drm_err(display->drm, "Suspending crtc's failed with %i\n",
ret);
drm_atomic_state_put(state);
- return true;
+ return;
}
display->restore.modeset_state = state;
state->acquire_ctx = ctx;
-
- return true;
}
void intel_display_reset_finish(struct intel_display *display, bool test_only)
@@ -83,9 +83,6 @@ void intel_display_reset_finish(struct intel_display *display, bool test_only)
struct drm_atomic_state *state;
int ret;
- if (!HAS_DISPLAY(display))
- return;
-
state = fetch_and_zero(&display->restore.modeset_state);
if (!state)
goto unlock;
diff --git a/drivers/gpu/drm/i915/display/intel_display_reset.h b/drivers/gpu/drm/i915/display/intel_display_reset.h
index 8b3bda134454..e0f15e757728 100644
--- a/drivers/gpu/drm/i915/display/intel_display_reset.h
+++ b/drivers/gpu/drm/i915/display/intel_display_reset.h
@@ -12,8 +12,9 @@ struct intel_display;
typedef void modeset_stuck_fn(void *context);
+bool intel_display_reset_supported(struct intel_display *display);
bool intel_display_reset_test(struct intel_display *display);
-bool intel_display_reset_prepare(struct intel_display *display,
+void intel_display_reset_prepare(struct intel_display *display,
modeset_stuck_fn modeset_stuck, void *context);
void intel_display_reset_finish(struct intel_display *display, bool test_only);
diff --git a/drivers/gpu/drm/i915/gt/intel_reset.c b/drivers/gpu/drm/i915/gt/intel_reset.c
index 37272871b0f2..ffd11767874f 100644
--- a/drivers/gpu/drm/i915/gt/intel_reset.c
+++ b/drivers/gpu/drm/i915/gt/intel_reset.c
@@ -1425,16 +1425,19 @@ static void intel_gt_reset_global(struct intel_gt *gt,
bool need_display_reset;
bool reset_display;
- need_display_reset = intel_gt_gpu_reset_clobbers_display(gt) &&
+ need_display_reset =
+ intel_display_reset_supported(display) &&
+ intel_gt_gpu_reset_clobbers_display(gt) &&
intel_has_gpu_reset(gt);
- reset_display = intel_display_reset_test(display) ||
+ reset_display =
+ intel_display_reset_test(display) ||
need_display_reset;
if (reset_display)
- reset_display = intel_display_reset_prepare(display,
- display_reset_modeset_stuck,
- gt);
+ intel_display_reset_prepare(display,
+ display_reset_modeset_stuck,
+ gt);
intel_gt_reset(gt, engine_mask, reason);
--
2.52.0
^ permalink raw reply related [flat|nested] 19+ messages in thread* Re: [PATCH 2/6] drm/i915/reset: Reorganize display reset code
2026-04-08 23:34 ` [PATCH 2/6] drm/i915/reset: Reorganize display reset code Ville Syrjala
@ 2026-04-09 8:13 ` Jani Nikula
0 siblings, 0 replies; 19+ messages in thread
From: Jani Nikula @ 2026-04-09 8:13 UTC (permalink / raw)
To: Ville Syrjala, intel-gfx
Cc: intel-xe, dri-devel, Simona Vetter, Christian König,
Jouni Högander, Maarten Lankhorst
On Thu, 09 Apr 2026, Ville Syrjala <ville.syrjala@linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> Stop returning the "is there a display?" status from
> intel_display_reset_prepare(). I plan to move the pending_fb_pin
> into the i915 code, so I need to make that determination already
> before intel_display_reset_prepare() is called. Add a new
> intel_display_reset_supported() function for that.
>
> Cc: Simona Vetter <simona.vetter@ffwll.ch>
> Cc: Christian König <christian.koenig@amd.com>
> Cc: Jani Nikula <jani.nikula@intel.com>
> Cc: Jouni Högander <jouni.hogander@intel.com>
> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
> ---
> .../drm/i915/display/intel_display_reset.c | 23 ++++++++-----------
> .../drm/i915/display/intel_display_reset.h | 3 ++-
> drivers/gpu/drm/i915/gt/intel_reset.c | 13 +++++++----
> 3 files changed, 20 insertions(+), 19 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display_reset.c b/drivers/gpu/drm/i915/display/intel_display_reset.c
> index d00ef5bdcbda..137a2a33c8b0 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_reset.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_reset.c
> @@ -16,22 +16,24 @@
> #include "intel_hotplug.h"
> #include "intel_pps.h"
>
> +bool intel_display_reset_supported(struct intel_display *display)
> +{
> + return HAS_DISPLAY(display);
> +}
> +
> bool intel_display_reset_test(struct intel_display *display)
> {
> - return display->params.force_reset_modeset_test;
> + return HAS_DISPLAY(display) &&
> + display->params.force_reset_modeset_test;
> }
>
> -/* returns true if intel_display_reset_finish() needs to be called */
> -bool intel_display_reset_prepare(struct intel_display *display,
> +void intel_display_reset_prepare(struct intel_display *display,
> modeset_stuck_fn modeset_stuck, void *context)
> {
> struct drm_modeset_acquire_ctx *ctx = &display->restore.reset_ctx;
> struct drm_atomic_state *state;
> int ret;
>
> - if (!HAS_DISPLAY(display))
> - return false;
> -
> if (atomic_read(&display->restore.pending_fb_pin)) {
> drm_dbg_kms(display->drm,
> "Modeset potentially stuck, unbreaking through wedging\n");
> @@ -60,7 +62,7 @@ bool intel_display_reset_prepare(struct intel_display *display,
> ret = PTR_ERR(state);
> drm_err(display->drm, "Duplicating state failed with %i\n",
> ret);
> - return true;
> + return;
> }
>
> ret = drm_atomic_helper_disable_all(display->drm, ctx);
> @@ -68,13 +70,11 @@ bool intel_display_reset_prepare(struct intel_display *display,
> drm_err(display->drm, "Suspending crtc's failed with %i\n",
> ret);
> drm_atomic_state_put(state);
> - return true;
> + return;
> }
>
> display->restore.modeset_state = state;
> state->acquire_ctx = ctx;
> -
> - return true;
> }
>
> void intel_display_reset_finish(struct intel_display *display, bool test_only)
> @@ -83,9 +83,6 @@ void intel_display_reset_finish(struct intel_display *display, bool test_only)
> struct drm_atomic_state *state;
> int ret;
>
> - if (!HAS_DISPLAY(display))
> - return;
> -
> state = fetch_and_zero(&display->restore.modeset_state);
> if (!state)
> goto unlock;
> diff --git a/drivers/gpu/drm/i915/display/intel_display_reset.h b/drivers/gpu/drm/i915/display/intel_display_reset.h
> index 8b3bda134454..e0f15e757728 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_reset.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_reset.h
> @@ -12,8 +12,9 @@ struct intel_display;
>
> typedef void modeset_stuck_fn(void *context);
>
> +bool intel_display_reset_supported(struct intel_display *display);
> bool intel_display_reset_test(struct intel_display *display);
> -bool intel_display_reset_prepare(struct intel_display *display,
> +void intel_display_reset_prepare(struct intel_display *display,
> modeset_stuck_fn modeset_stuck, void *context);
> void intel_display_reset_finish(struct intel_display *display, bool test_only);
>
> diff --git a/drivers/gpu/drm/i915/gt/intel_reset.c b/drivers/gpu/drm/i915/gt/intel_reset.c
> index 37272871b0f2..ffd11767874f 100644
> --- a/drivers/gpu/drm/i915/gt/intel_reset.c
> +++ b/drivers/gpu/drm/i915/gt/intel_reset.c
> @@ -1425,16 +1425,19 @@ static void intel_gt_reset_global(struct intel_gt *gt,
> bool need_display_reset;
> bool reset_display;
>
> - need_display_reset = intel_gt_gpu_reset_clobbers_display(gt) &&
> + need_display_reset =
> + intel_display_reset_supported(display) &&
> + intel_gt_gpu_reset_clobbers_display(gt) &&
> intel_has_gpu_reset(gt);
>
> - reset_display = intel_display_reset_test(display) ||
> + reset_display =
> + intel_display_reset_test(display) ||
> need_display_reset;
>
> if (reset_display)
> - reset_display = intel_display_reset_prepare(display,
> - display_reset_modeset_stuck,
> - gt);
> + intel_display_reset_prepare(display,
> + display_reset_modeset_stuck,
> + gt);
>
> intel_gt_reset(gt, engine_mask, reason);
--
Jani Nikula, Intel
^ permalink raw reply [flat|nested] 19+ messages in thread
* [PATCH 3/6] drm/i915/reset: Move pending_fb_pin handling to i915
2026-04-08 23:34 [PATCH 0/6] drm/i915/reset: Solve display vs. GPU reset deadlock, again Ville Syrjala
2026-04-08 23:34 ` [PATCH 1/6] dma-buf: Remove old lies about dma_fence_wait_any_timeout() not accepting some fences Ville Syrjala
2026-04-08 23:34 ` [PATCH 2/6] drm/i915/reset: Reorganize display reset code Ville Syrjala
@ 2026-04-08 23:34 ` Ville Syrjala
2026-04-09 8:17 ` Jani Nikula
2026-04-08 23:34 ` [PATCH 4/6] drm/xe/display: Add init_clock_gating.h stubs Ville Syrjala
` (4 subsequent siblings)
7 siblings, 1 reply; 19+ messages in thread
From: Ville Syrjala @ 2026-04-08 23:34 UTC (permalink / raw)
To: intel-gfx
Cc: intel-xe, dri-devel, Simona Vetter, Christian König,
Jani Nikula, Jouni Högander, Maarten Lankhorst
From: Ville Syrjälä <ville.syrjala@linux.intel.com>
Only i915 uses the pending_fb_pin counter to potentially whack
the GPU harder if the display gets nuked during a GPU reset.
Move the atomic counter into the i915 specific bits of code, so
that we don't need to worry about on the display side.
For some reason the overlay code kept the pending_fb_pin counter
elevated for longer than just for the pin, but from now on it'll
just cover the actual pinning part.
Cc: Simona Vetter <simona.vetter@ffwll.ch>
Cc: Christian König <christian.koenig@amd.com>
Cc: Jani Nikula <jani.nikula@intel.com>
Cc: Jouni Högander <jouni.hogander@intel.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
.../gpu/drm/i915/display/intel_display_core.h | 1 -
.../drm/i915/display/intel_display_reset.c | 9 +--------
.../drm/i915/display/intel_display_reset.h | 5 +----
drivers/gpu/drm/i915/display/intel_overlay.c | 10 ++--------
drivers/gpu/drm/i915/gt/intel_reset.c | 19 ++++++++++---------
drivers/gpu/drm/i915/i915_dpt.c | 5 ++---
drivers/gpu/drm/i915/i915_drv.h | 2 ++
drivers/gpu/drm/i915/i915_fb_pin.c | 9 ++++-----
drivers/gpu/drm/i915/i915_overlay.c | 6 ++++++
9 files changed, 28 insertions(+), 38 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_display_core.h b/drivers/gpu/drm/i915/display/intel_display_core.h
index d708d322aa85..9e77003addd0 100644
--- a/drivers/gpu/drm/i915/display/intel_display_core.h
+++ b/drivers/gpu/drm/i915/display/intel_display_core.h
@@ -561,7 +561,6 @@ struct intel_display {
struct drm_atomic_state *modeset_state;
struct drm_modeset_acquire_ctx reset_ctx;
/* modeset stuck tracking for reset */
- atomic_t pending_fb_pin;
u32 saveDSPARB;
u32 saveSWF0[16];
u32 saveSWF1[16];
diff --git a/drivers/gpu/drm/i915/display/intel_display_reset.c b/drivers/gpu/drm/i915/display/intel_display_reset.c
index 137a2a33c8b0..ca15dc18ef0f 100644
--- a/drivers/gpu/drm/i915/display/intel_display_reset.c
+++ b/drivers/gpu/drm/i915/display/intel_display_reset.c
@@ -27,19 +27,12 @@ bool intel_display_reset_test(struct intel_display *display)
display->params.force_reset_modeset_test;
}
-void intel_display_reset_prepare(struct intel_display *display,
- modeset_stuck_fn modeset_stuck, void *context)
+void intel_display_reset_prepare(struct intel_display *display)
{
struct drm_modeset_acquire_ctx *ctx = &display->restore.reset_ctx;
struct drm_atomic_state *state;
int ret;
- if (atomic_read(&display->restore.pending_fb_pin)) {
- drm_dbg_kms(display->drm,
- "Modeset potentially stuck, unbreaking through wedging\n");
- modeset_stuck(context);
- }
-
/*
* Need mode_config.mutex so that we don't
* trample ongoing ->detect() and whatnot.
diff --git a/drivers/gpu/drm/i915/display/intel_display_reset.h b/drivers/gpu/drm/i915/display/intel_display_reset.h
index e0f15e757728..a8aa7729d33f 100644
--- a/drivers/gpu/drm/i915/display/intel_display_reset.h
+++ b/drivers/gpu/drm/i915/display/intel_display_reset.h
@@ -10,12 +10,9 @@
struct intel_display;
-typedef void modeset_stuck_fn(void *context);
-
bool intel_display_reset_supported(struct intel_display *display);
bool intel_display_reset_test(struct intel_display *display);
-void intel_display_reset_prepare(struct intel_display *display,
- modeset_stuck_fn modeset_stuck, void *context);
+void intel_display_reset_prepare(struct intel_display *display);
void intel_display_reset_finish(struct intel_display *display, bool test_only);
#endif /* __INTEL_RESET_H__ */
diff --git a/drivers/gpu/drm/i915/display/intel_overlay.c b/drivers/gpu/drm/i915/display/intel_overlay.c
index 12a325ceae6f..a809aa2950ac 100644
--- a/drivers/gpu/drm/i915/display/intel_overlay.c
+++ b/drivers/gpu/drm/i915/display/intel_overlay.c
@@ -481,13 +481,9 @@ static int intel_overlay_do_put_image(struct intel_overlay *overlay,
if (ret != 0)
return ret;
- atomic_inc(&display->restore.pending_fb_pin);
-
vma = intel_parent_overlay_pin_fb(display, obj, &offset);
- if (IS_ERR(vma)) {
- ret = PTR_ERR(vma);
- goto out_pin_section;
- }
+ if (IS_ERR(vma))
+ return PTR_ERR(vma);
if (!intel_parent_overlay_is_active(display)) {
const struct intel_crtc_state *crtc_state =
@@ -571,8 +567,6 @@ static int intel_overlay_do_put_image(struct intel_overlay *overlay,
out_unpin:
intel_parent_overlay_unpin_fb(display, vma);
-out_pin_section:
- atomic_dec(&display->restore.pending_fb_pin);
return ret;
}
diff --git a/drivers/gpu/drm/i915/gt/intel_reset.c b/drivers/gpu/drm/i915/gt/intel_reset.c
index ffd11767874f..a1e6aaca8c9b 100644
--- a/drivers/gpu/drm/i915/gt/intel_reset.c
+++ b/drivers/gpu/drm/i915/gt/intel_reset.c
@@ -1398,11 +1398,6 @@ int intel_engine_reset(struct intel_engine_cs *engine, const char *msg)
return err;
}
-static void display_reset_modeset_stuck(void *gt)
-{
- intel_gt_set_wedged(gt);
-}
-
static void intel_gt_reset_global(struct intel_gt *gt,
u32 engine_mask,
const char *reason)
@@ -1434,10 +1429,16 @@ static void intel_gt_reset_global(struct intel_gt *gt,
intel_display_reset_test(display) ||
need_display_reset;
- if (reset_display)
- intel_display_reset_prepare(display,
- display_reset_modeset_stuck,
- gt);
+ if (reset_display) {
+ if (atomic_read(&i915->pending_fb_pin)) {
+ drm_dbg_kms(&i915->drm,
+ "Modeset potentially stuck, unbreaking through wedging\n");
+
+ intel_gt_set_wedged(gt);
+ }
+
+ intel_display_reset_prepare(display);
+ }
intel_gt_reset(gt, engine_mask, reason);
diff --git a/drivers/gpu/drm/i915/i915_dpt.c b/drivers/gpu/drm/i915/i915_dpt.c
index 9f47bb563c85..fcd7cced771d 100644
--- a/drivers/gpu/drm/i915/i915_dpt.c
+++ b/drivers/gpu/drm/i915/i915_dpt.c
@@ -129,7 +129,6 @@ static void dpt_cleanup(struct i915_address_space *vm)
struct i915_vma *i915_dpt_pin_to_ggtt(struct intel_dpt *dpt, unsigned int alignment)
{
struct drm_i915_private *i915 = dpt->vm.i915;
- struct intel_display *display = i915->display;
struct ref_tracker *wakeref;
struct i915_vma *vma;
void __iomem *iomem;
@@ -141,7 +140,7 @@ struct i915_vma *i915_dpt_pin_to_ggtt(struct intel_dpt *dpt, unsigned int alignm
pin_flags |= PIN_MAPPABLE;
wakeref = intel_runtime_pm_get(&i915->runtime_pm);
- atomic_inc(&display->restore.pending_fb_pin);
+ atomic_inc(&i915->pending_fb_pin);
for_i915_gem_ww(&ww, err, true) {
err = i915_gem_object_lock(dpt->obj, &ww);
@@ -171,7 +170,7 @@ struct i915_vma *i915_dpt_pin_to_ggtt(struct intel_dpt *dpt, unsigned int alignm
dpt->obj->mm.dirty = true;
- atomic_dec(&display->restore.pending_fb_pin);
+ atomic_dec(&i915->pending_fb_pin);
intel_runtime_pm_put(&i915->runtime_pm, wakeref);
return err ? ERR_PTR(err) : vma;
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index dafee3dcd1c5..844ed79e7211 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -315,6 +315,8 @@ struct drm_i915_private {
/* The TTM device structure. */
struct ttm_device bdev;
+ atomic_t pending_fb_pin;
+
I915_SELFTEST_DECLARE(struct i915_selftest_stash selftest;)
/*
diff --git a/drivers/gpu/drm/i915/i915_fb_pin.c b/drivers/gpu/drm/i915/i915_fb_pin.c
index 1018f4b7bc2c..a08a8ace681f 100644
--- a/drivers/gpu/drm/i915/i915_fb_pin.c
+++ b/drivers/gpu/drm/i915/i915_fb_pin.c
@@ -29,7 +29,6 @@ intel_fb_pin_to_dpt(const struct drm_framebuffer *fb,
unsigned long *out_flags,
struct intel_dpt *dpt)
{
- struct intel_display *display = to_intel_display(fb->dev);
struct drm_i915_private *i915 = to_i915(fb->dev);
struct drm_gem_object *_obj = intel_fb_bo(fb);
struct drm_i915_gem_object *obj = to_intel_bo(_obj);
@@ -48,7 +47,7 @@ intel_fb_pin_to_dpt(const struct drm_framebuffer *fb,
if (WARN_ON(!i915_gem_object_is_framebuffer(obj)))
return ERR_PTR(-EINVAL);
- atomic_inc(&display->restore.pending_fb_pin);
+ atomic_inc(&i915->pending_fb_pin);
for_i915_gem_ww(&ww, ret, true) {
ret = i915_gem_object_lock(obj, &ww);
@@ -103,7 +102,7 @@ intel_fb_pin_to_dpt(const struct drm_framebuffer *fb,
i915_vma_get(vma);
err:
- atomic_dec(&display->restore.pending_fb_pin);
+ atomic_dec(&i915->pending_fb_pin);
return vma;
}
@@ -142,7 +141,7 @@ intel_fb_pin_to_ggtt(const struct drm_framebuffer *fb,
*/
wakeref = intel_runtime_pm_get(&i915->runtime_pm);
- atomic_inc(&display->restore.pending_fb_pin);
+ atomic_inc(&i915->pending_fb_pin);
/*
* Valleyview is definitely limited to scanning out the first
@@ -218,7 +217,7 @@ intel_fb_pin_to_ggtt(const struct drm_framebuffer *fb,
if (ret)
vma = ERR_PTR(ret);
- atomic_dec(&display->restore.pending_fb_pin);
+ atomic_dec(&i915->pending_fb_pin);
intel_runtime_pm_put(&i915->runtime_pm, wakeref);
return vma;
}
diff --git a/drivers/gpu/drm/i915/i915_overlay.c b/drivers/gpu/drm/i915/i915_overlay.c
index 2d7aff51e39b..6de550a17756 100644
--- a/drivers/gpu/drm/i915/i915_overlay.c
+++ b/drivers/gpu/drm/i915/i915_overlay.c
@@ -354,11 +354,14 @@ static struct i915_vma *i915_overlay_pin_fb(struct drm_device *drm,
struct drm_gem_object *obj,
u32 *offset)
{
+ struct drm_i915_private *i915 = to_i915(drm);
struct drm_i915_gem_object *new_bo = to_intel_bo(obj);
struct i915_gem_ww_ctx ww;
struct i915_vma *vma;
int ret;
+ atomic_inc(&i915->pending_fb_pin);
+
i915_gem_ww_ctx_init(&ww, true);
retry:
ret = i915_gem_object_lock(new_bo, &ww);
@@ -373,6 +376,9 @@ static struct i915_vma *i915_overlay_pin_fb(struct drm_device *drm,
goto retry;
}
i915_gem_ww_ctx_fini(&ww);
+
+ atomic_dec(&i915->pending_fb_pin);
+
if (ret)
return ERR_PTR(ret);
--
2.52.0
^ permalink raw reply related [flat|nested] 19+ messages in thread* Re: [PATCH 3/6] drm/i915/reset: Move pending_fb_pin handling to i915
2026-04-08 23:34 ` [PATCH 3/6] drm/i915/reset: Move pending_fb_pin handling to i915 Ville Syrjala
@ 2026-04-09 8:17 ` Jani Nikula
0 siblings, 0 replies; 19+ messages in thread
From: Jani Nikula @ 2026-04-09 8:17 UTC (permalink / raw)
To: Ville Syrjala, intel-gfx
Cc: intel-xe, dri-devel, Simona Vetter, Christian König,
Jouni Högander, Maarten Lankhorst
On Thu, 09 Apr 2026, Ville Syrjala <ville.syrjala@linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> Only i915 uses the pending_fb_pin counter to potentially whack
> the GPU harder if the display gets nuked during a GPU reset.
> Move the atomic counter into the i915 specific bits of code, so
> that we don't need to worry about on the display side.
>
> For some reason the overlay code kept the pending_fb_pin counter
> elevated for longer than just for the pin, but from now on it'll
> just cover the actual pinning part.
>
> Cc: Simona Vetter <simona.vetter@ffwll.ch>
> Cc: Christian König <christian.koenig@amd.com>
> Cc: Jani Nikula <jani.nikula@intel.com>
> Cc: Jouni Högander <jouni.hogander@intel.com>
> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Yay, this is nice!
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
> ---
> .../gpu/drm/i915/display/intel_display_core.h | 1 -
> .../drm/i915/display/intel_display_reset.c | 9 +--------
> .../drm/i915/display/intel_display_reset.h | 5 +----
> drivers/gpu/drm/i915/display/intel_overlay.c | 10 ++--------
> drivers/gpu/drm/i915/gt/intel_reset.c | 19 ++++++++++---------
> drivers/gpu/drm/i915/i915_dpt.c | 5 ++---
> drivers/gpu/drm/i915/i915_drv.h | 2 ++
> drivers/gpu/drm/i915/i915_fb_pin.c | 9 ++++-----
> drivers/gpu/drm/i915/i915_overlay.c | 6 ++++++
> 9 files changed, 28 insertions(+), 38 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display_core.h b/drivers/gpu/drm/i915/display/intel_display_core.h
> index d708d322aa85..9e77003addd0 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_core.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_core.h
> @@ -561,7 +561,6 @@ struct intel_display {
> struct drm_atomic_state *modeset_state;
> struct drm_modeset_acquire_ctx reset_ctx;
> /* modeset stuck tracking for reset */
> - atomic_t pending_fb_pin;
> u32 saveDSPARB;
> u32 saveSWF0[16];
> u32 saveSWF1[16];
> diff --git a/drivers/gpu/drm/i915/display/intel_display_reset.c b/drivers/gpu/drm/i915/display/intel_display_reset.c
> index 137a2a33c8b0..ca15dc18ef0f 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_reset.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_reset.c
> @@ -27,19 +27,12 @@ bool intel_display_reset_test(struct intel_display *display)
> display->params.force_reset_modeset_test;
> }
>
> -void intel_display_reset_prepare(struct intel_display *display,
> - modeset_stuck_fn modeset_stuck, void *context)
> +void intel_display_reset_prepare(struct intel_display *display)
> {
> struct drm_modeset_acquire_ctx *ctx = &display->restore.reset_ctx;
> struct drm_atomic_state *state;
> int ret;
>
> - if (atomic_read(&display->restore.pending_fb_pin)) {
> - drm_dbg_kms(display->drm,
> - "Modeset potentially stuck, unbreaking through wedging\n");
> - modeset_stuck(context);
> - }
> -
> /*
> * Need mode_config.mutex so that we don't
> * trample ongoing ->detect() and whatnot.
> diff --git a/drivers/gpu/drm/i915/display/intel_display_reset.h b/drivers/gpu/drm/i915/display/intel_display_reset.h
> index e0f15e757728..a8aa7729d33f 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_reset.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_reset.h
> @@ -10,12 +10,9 @@
>
> struct intel_display;
>
> -typedef void modeset_stuck_fn(void *context);
> -
> bool intel_display_reset_supported(struct intel_display *display);
> bool intel_display_reset_test(struct intel_display *display);
> -void intel_display_reset_prepare(struct intel_display *display,
> - modeset_stuck_fn modeset_stuck, void *context);
> +void intel_display_reset_prepare(struct intel_display *display);
> void intel_display_reset_finish(struct intel_display *display, bool test_only);
>
> #endif /* __INTEL_RESET_H__ */
> diff --git a/drivers/gpu/drm/i915/display/intel_overlay.c b/drivers/gpu/drm/i915/display/intel_overlay.c
> index 12a325ceae6f..a809aa2950ac 100644
> --- a/drivers/gpu/drm/i915/display/intel_overlay.c
> +++ b/drivers/gpu/drm/i915/display/intel_overlay.c
> @@ -481,13 +481,9 @@ static int intel_overlay_do_put_image(struct intel_overlay *overlay,
> if (ret != 0)
> return ret;
>
> - atomic_inc(&display->restore.pending_fb_pin);
> -
> vma = intel_parent_overlay_pin_fb(display, obj, &offset);
> - if (IS_ERR(vma)) {
> - ret = PTR_ERR(vma);
> - goto out_pin_section;
> - }
> + if (IS_ERR(vma))
> + return PTR_ERR(vma);
>
> if (!intel_parent_overlay_is_active(display)) {
> const struct intel_crtc_state *crtc_state =
> @@ -571,8 +567,6 @@ static int intel_overlay_do_put_image(struct intel_overlay *overlay,
>
> out_unpin:
> intel_parent_overlay_unpin_fb(display, vma);
> -out_pin_section:
> - atomic_dec(&display->restore.pending_fb_pin);
>
> return ret;
> }
> diff --git a/drivers/gpu/drm/i915/gt/intel_reset.c b/drivers/gpu/drm/i915/gt/intel_reset.c
> index ffd11767874f..a1e6aaca8c9b 100644
> --- a/drivers/gpu/drm/i915/gt/intel_reset.c
> +++ b/drivers/gpu/drm/i915/gt/intel_reset.c
> @@ -1398,11 +1398,6 @@ int intel_engine_reset(struct intel_engine_cs *engine, const char *msg)
> return err;
> }
>
> -static void display_reset_modeset_stuck(void *gt)
> -{
> - intel_gt_set_wedged(gt);
> -}
> -
> static void intel_gt_reset_global(struct intel_gt *gt,
> u32 engine_mask,
> const char *reason)
> @@ -1434,10 +1429,16 @@ static void intel_gt_reset_global(struct intel_gt *gt,
> intel_display_reset_test(display) ||
> need_display_reset;
>
> - if (reset_display)
> - intel_display_reset_prepare(display,
> - display_reset_modeset_stuck,
> - gt);
> + if (reset_display) {
> + if (atomic_read(&i915->pending_fb_pin)) {
> + drm_dbg_kms(&i915->drm,
> + "Modeset potentially stuck, unbreaking through wedging\n");
> +
> + intel_gt_set_wedged(gt);
> + }
> +
> + intel_display_reset_prepare(display);
> + }
>
> intel_gt_reset(gt, engine_mask, reason);
>
> diff --git a/drivers/gpu/drm/i915/i915_dpt.c b/drivers/gpu/drm/i915/i915_dpt.c
> index 9f47bb563c85..fcd7cced771d 100644
> --- a/drivers/gpu/drm/i915/i915_dpt.c
> +++ b/drivers/gpu/drm/i915/i915_dpt.c
> @@ -129,7 +129,6 @@ static void dpt_cleanup(struct i915_address_space *vm)
> struct i915_vma *i915_dpt_pin_to_ggtt(struct intel_dpt *dpt, unsigned int alignment)
> {
> struct drm_i915_private *i915 = dpt->vm.i915;
> - struct intel_display *display = i915->display;
> struct ref_tracker *wakeref;
> struct i915_vma *vma;
> void __iomem *iomem;
> @@ -141,7 +140,7 @@ struct i915_vma *i915_dpt_pin_to_ggtt(struct intel_dpt *dpt, unsigned int alignm
> pin_flags |= PIN_MAPPABLE;
>
> wakeref = intel_runtime_pm_get(&i915->runtime_pm);
> - atomic_inc(&display->restore.pending_fb_pin);
> + atomic_inc(&i915->pending_fb_pin);
>
> for_i915_gem_ww(&ww, err, true) {
> err = i915_gem_object_lock(dpt->obj, &ww);
> @@ -171,7 +170,7 @@ struct i915_vma *i915_dpt_pin_to_ggtt(struct intel_dpt *dpt, unsigned int alignm
>
> dpt->obj->mm.dirty = true;
>
> - atomic_dec(&display->restore.pending_fb_pin);
> + atomic_dec(&i915->pending_fb_pin);
> intel_runtime_pm_put(&i915->runtime_pm, wakeref);
>
> return err ? ERR_PTR(err) : vma;
> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> index dafee3dcd1c5..844ed79e7211 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -315,6 +315,8 @@ struct drm_i915_private {
> /* The TTM device structure. */
> struct ttm_device bdev;
>
> + atomic_t pending_fb_pin;
> +
> I915_SELFTEST_DECLARE(struct i915_selftest_stash selftest;)
>
> /*
> diff --git a/drivers/gpu/drm/i915/i915_fb_pin.c b/drivers/gpu/drm/i915/i915_fb_pin.c
> index 1018f4b7bc2c..a08a8ace681f 100644
> --- a/drivers/gpu/drm/i915/i915_fb_pin.c
> +++ b/drivers/gpu/drm/i915/i915_fb_pin.c
> @@ -29,7 +29,6 @@ intel_fb_pin_to_dpt(const struct drm_framebuffer *fb,
> unsigned long *out_flags,
> struct intel_dpt *dpt)
> {
> - struct intel_display *display = to_intel_display(fb->dev);
> struct drm_i915_private *i915 = to_i915(fb->dev);
> struct drm_gem_object *_obj = intel_fb_bo(fb);
> struct drm_i915_gem_object *obj = to_intel_bo(_obj);
> @@ -48,7 +47,7 @@ intel_fb_pin_to_dpt(const struct drm_framebuffer *fb,
> if (WARN_ON(!i915_gem_object_is_framebuffer(obj)))
> return ERR_PTR(-EINVAL);
>
> - atomic_inc(&display->restore.pending_fb_pin);
> + atomic_inc(&i915->pending_fb_pin);
>
> for_i915_gem_ww(&ww, ret, true) {
> ret = i915_gem_object_lock(obj, &ww);
> @@ -103,7 +102,7 @@ intel_fb_pin_to_dpt(const struct drm_framebuffer *fb,
>
> i915_vma_get(vma);
> err:
> - atomic_dec(&display->restore.pending_fb_pin);
> + atomic_dec(&i915->pending_fb_pin);
>
> return vma;
> }
> @@ -142,7 +141,7 @@ intel_fb_pin_to_ggtt(const struct drm_framebuffer *fb,
> */
> wakeref = intel_runtime_pm_get(&i915->runtime_pm);
>
> - atomic_inc(&display->restore.pending_fb_pin);
> + atomic_inc(&i915->pending_fb_pin);
>
> /*
> * Valleyview is definitely limited to scanning out the first
> @@ -218,7 +217,7 @@ intel_fb_pin_to_ggtt(const struct drm_framebuffer *fb,
> if (ret)
> vma = ERR_PTR(ret);
>
> - atomic_dec(&display->restore.pending_fb_pin);
> + atomic_dec(&i915->pending_fb_pin);
> intel_runtime_pm_put(&i915->runtime_pm, wakeref);
> return vma;
> }
> diff --git a/drivers/gpu/drm/i915/i915_overlay.c b/drivers/gpu/drm/i915/i915_overlay.c
> index 2d7aff51e39b..6de550a17756 100644
> --- a/drivers/gpu/drm/i915/i915_overlay.c
> +++ b/drivers/gpu/drm/i915/i915_overlay.c
> @@ -354,11 +354,14 @@ static struct i915_vma *i915_overlay_pin_fb(struct drm_device *drm,
> struct drm_gem_object *obj,
> u32 *offset)
> {
> + struct drm_i915_private *i915 = to_i915(drm);
> struct drm_i915_gem_object *new_bo = to_intel_bo(obj);
> struct i915_gem_ww_ctx ww;
> struct i915_vma *vma;
> int ret;
>
> + atomic_inc(&i915->pending_fb_pin);
> +
> i915_gem_ww_ctx_init(&ww, true);
> retry:
> ret = i915_gem_object_lock(new_bo, &ww);
> @@ -373,6 +376,9 @@ static struct i915_vma *i915_overlay_pin_fb(struct drm_device *drm,
> goto retry;
> }
> i915_gem_ww_ctx_fini(&ww);
> +
> + atomic_dec(&i915->pending_fb_pin);
> +
> if (ret)
> return ERR_PTR(ret);
--
Jani Nikula, Intel
^ permalink raw reply [flat|nested] 19+ messages in thread
* [PATCH 4/6] drm/xe/display: Add init_clock_gating.h stubs
2026-04-08 23:34 [PATCH 0/6] drm/i915/reset: Solve display vs. GPU reset deadlock, again Ville Syrjala
` (2 preceding siblings ...)
2026-04-08 23:34 ` [PATCH 3/6] drm/i915/reset: Move pending_fb_pin handling to i915 Ville Syrjala
@ 2026-04-08 23:34 ` Ville Syrjala
2026-04-09 8:19 ` Jani Nikula
2026-04-08 23:34 ` [PATCH 5/6] drm/i915/reset: Handle the display vs. GPU reset deadlock using a custom dma-fence Ville Syrjala
` (3 subsequent siblings)
7 siblings, 1 reply; 19+ messages in thread
From: Ville Syrjala @ 2026-04-08 23:34 UTC (permalink / raw)
To: intel-gfx
Cc: intel-xe, dri-devel, Simona Vetter, Christian König,
Jani Nikula, Jouni Högander, Maarten Lankhorst
From: Ville Syrjälä <ville.syrjala@linux.intel.com>
Add static inline stubs for init_clock_gating.h functions
so that we don't need ifdefs in the actual code. We already
have one in intel_display_power.c, and now I need to bring
over intel_display_reset.c.
Cc: Simona Vetter <simona.vetter@ffwll.ch>
Cc: Christian König <christian.koenig@amd.com>
Cc: Jani Nikula <jani.nikula@intel.com>
Cc: Jouni Högander <jouni.hogander@intel.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
drivers/gpu/drm/i915/display/intel_display_power.c | 2 --
| 10 +++++++++-
2 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_display_power.c b/drivers/gpu/drm/i915/display/intel_display_power.c
index 4091b7c4914f..5ba3969e9ed6 100644
--- a/drivers/gpu/drm/i915/display/intel_display_power.c
+++ b/drivers/gpu/drm/i915/display/intel_display_power.c
@@ -1420,9 +1420,7 @@ static void hsw_disable_pc8(struct intel_display *display)
intel_init_pch_refclk(display);
/* Many display registers don't survive PC8+ */
-#ifdef I915 /* FIXME */
intel_clock_gating_init(display->drm);
-#endif
}
static void intel_pch_reset_handshake(struct intel_display *display,
--git a/drivers/gpu/drm/xe/compat-i915-headers/intel_clock_gating.h b/drivers/gpu/drm/xe/compat-i915-headers/intel_clock_gating.h
index ce986f0e8f38..552975a30ba2 100644
--- a/drivers/gpu/drm/xe/compat-i915-headers/intel_clock_gating.h
+++ b/drivers/gpu/drm/xe/compat-i915-headers/intel_clock_gating.h
@@ -3,4 +3,12 @@
* Copyright © 2023 Intel Corporation
*/
-#include "../../i915/intel_clock_gating.h"
+#ifndef __INTEL_CLOCK_GATING_H__
+#define __INTEL_CLOCK_GATING_H__
+
+struct drm_device;
+
+static inline void intel_clock_gating_init(struct drm_device *drm) {}
+static inline void intel_clock_gating_hooks_init(struct drm_device *drm) {}
+
+#endif /* __INTEL_CLOCK_GATING_H__ */
--
2.52.0
^ permalink raw reply related [flat|nested] 19+ messages in thread* Re: [PATCH 4/6] drm/xe/display: Add init_clock_gating.h stubs
2026-04-08 23:34 ` [PATCH 4/6] drm/xe/display: Add init_clock_gating.h stubs Ville Syrjala
@ 2026-04-09 8:19 ` Jani Nikula
0 siblings, 0 replies; 19+ messages in thread
From: Jani Nikula @ 2026-04-09 8:19 UTC (permalink / raw)
To: Ville Syrjala, intel-gfx
Cc: intel-xe, dri-devel, Simona Vetter, Christian König,
Jouni Högander, Maarten Lankhorst
On Thu, 09 Apr 2026, Ville Syrjala <ville.syrjala@linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> Add static inline stubs for init_clock_gating.h functions
> so that we don't need ifdefs in the actual code. We already
> have one in intel_display_power.c, and now I need to bring
> over intel_display_reset.c.
>
> Cc: Simona Vetter <simona.vetter@ffwll.ch>
> Cc: Christian König <christian.koenig@amd.com>
> Cc: Jani Nikula <jani.nikula@intel.com>
> Cc: Jouni Högander <jouni.hogander@intel.com>
> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Hopefully short-lived,
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_display_power.c | 2 --
> .../drm/xe/compat-i915-headers/intel_clock_gating.h | 10 +++++++++-
> 2 files changed, 9 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display_power.c b/drivers/gpu/drm/i915/display/intel_display_power.c
> index 4091b7c4914f..5ba3969e9ed6 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_power.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_power.c
> @@ -1420,9 +1420,7 @@ static void hsw_disable_pc8(struct intel_display *display)
> intel_init_pch_refclk(display);
>
> /* Many display registers don't survive PC8+ */
> -#ifdef I915 /* FIXME */
> intel_clock_gating_init(display->drm);
> -#endif
> }
>
> static void intel_pch_reset_handshake(struct intel_display *display,
> diff --git a/drivers/gpu/drm/xe/compat-i915-headers/intel_clock_gating.h b/drivers/gpu/drm/xe/compat-i915-headers/intel_clock_gating.h
> index ce986f0e8f38..552975a30ba2 100644
> --- a/drivers/gpu/drm/xe/compat-i915-headers/intel_clock_gating.h
> +++ b/drivers/gpu/drm/xe/compat-i915-headers/intel_clock_gating.h
> @@ -3,4 +3,12 @@
> * Copyright © 2023 Intel Corporation
> */
>
> -#include "../../i915/intel_clock_gating.h"
> +#ifndef __INTEL_CLOCK_GATING_H__
> +#define __INTEL_CLOCK_GATING_H__
> +
> +struct drm_device;
> +
> +static inline void intel_clock_gating_init(struct drm_device *drm) {}
> +static inline void intel_clock_gating_hooks_init(struct drm_device *drm) {}
> +
> +#endif /* __INTEL_CLOCK_GATING_H__ */
--
Jani Nikula, Intel
^ permalink raw reply [flat|nested] 19+ messages in thread
* [PATCH 5/6] drm/i915/reset: Handle the display vs. GPU reset deadlock using a custom dma-fence
2026-04-08 23:34 [PATCH 0/6] drm/i915/reset: Solve display vs. GPU reset deadlock, again Ville Syrjala
` (3 preceding siblings ...)
2026-04-08 23:34 ` [PATCH 4/6] drm/xe/display: Add init_clock_gating.h stubs Ville Syrjala
@ 2026-04-08 23:34 ` Ville Syrjala
2026-04-09 10:37 ` Jani Nikula
2026-04-09 10:46 ` Christian König
2026-04-08 23:34 ` [PATCH 6/6] drm/i915/display: Make fence timeout infinite Ville Syrjala
` (2 subsequent siblings)
7 siblings, 2 replies; 19+ messages in thread
From: Ville Syrjala @ 2026-04-08 23:34 UTC (permalink / raw)
To: intel-gfx
Cc: intel-xe, dri-devel, Simona Vetter, Christian König,
Jani Nikula, Jouni Högander, Maarten Lankhorst
From: Ville Syrjälä <ville.syrjala@linux.intel.com>
The old display vs. GPU reset deadlock is back more or less.
The old (working) solution to the problem was originally
introduced in commit 9db529aac938 ("drm/i915: More surgically
unbreak the modeset vs reset deadlock"), but it got nuked with
commit d59cf7bb73f3 ("drm/i915/display: Use dma_fence interfaces
instead of i915_sw_fence").
Apparently no one looked hard enough to see that things didn't
work quite properly anymore. What is still saving us for the most
part is that we have a timeout on the fence wait
(CONFIG_DRM_I915_FENCE_TIMEOUT, 10 seconds by default). But
people are perhaps trying to get rid of that so we may need
another solution, and 10 seconds is a bit slow.
Re-solve the problem yet again with a custom dma-fence that gets
signaled just prior to a GPU reset, and have the atomic commit wait
for either that or the real fence using dma_fence_wait_any_timeout().
Whichever signals first will let the commit proceed. We create a new
"reset fence" whenever someone needs one, and keep it until the next
GPU reset has completed. After that the next guy will again get a
fresh unsignaled "reset fence".
Cc: Simona Vetter <simona.vetter@ffwll.ch>
Cc: Christian König <christian.koenig@amd.com>
Cc: Jani Nikula <jani.nikula@intel.com>
Cc: Jouni Högander <jouni.hogander@intel.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
drivers/gpu/drm/i915/display/intel_display.c | 34 +++++---
.../gpu/drm/i915/display/intel_display_core.h | 6 ++
.../drm/i915/display/intel_display_driver.c | 5 ++
.../drm/i915/display/intel_display_reset.c | 77 +++++++++++++++++++
.../drm/i915/display/intel_display_reset.h | 4 +
drivers/gpu/drm/xe/Makefile | 1 +
6 files changed, 117 insertions(+), 10 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
index 58a654ca0d20..83ccf13c4b16 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -72,6 +72,7 @@
#include "intel_display_driver.h"
#include "intel_display_power.h"
#include "intel_display_regs.h"
+#include "intel_display_reset.h"
#include "intel_display_rpm.h"
#include "intel_display_types.h"
#include "intel_display_utils.h"
@@ -7149,22 +7150,35 @@ static void skl_commit_modeset_enables(struct intel_atomic_state *state)
static void intel_atomic_commit_fence_wait(struct intel_atomic_state *intel_state)
{
- struct drm_plane *plane;
+ struct intel_display *display = to_intel_display(intel_state);
struct drm_plane_state *new_plane_state;
- long ret;
+ struct dma_fence *reset_fence;
+ struct drm_plane *plane;
int i;
+ reset_fence = intel_display_reset_fence_get(display);
+
for_each_new_plane_in_state(&intel_state->base, plane, new_plane_state, i) {
- if (new_plane_state->fence) {
- ret = dma_fence_wait_timeout(new_plane_state->fence, false,
- i915_fence_timeout());
- if (ret <= 0)
- break;
+ struct dma_fence *fences[2] = {
+ [0] = new_plane_state->fence,
+ [1] = reset_fence,
+ };
+ long ret;
- dma_fence_put(new_plane_state->fence);
- new_plane_state->fence = NULL;
- }
+ if (!new_plane_state->fence)
+ continue;
+
+ ret = dma_fence_wait_any_timeout(fences, reset_fence ? 2 : 1, false,
+ i915_fence_timeout(), NULL);
+ if (ret <= 0)
+ break;
+
+ dma_fence_put(new_plane_state->fence);
+ new_plane_state->fence = NULL;
}
+
+ if (reset_fence)
+ dma_fence_put(reset_fence);
}
static void intel_atomic_dsb_wait_commit(struct intel_crtc_state *crtc_state)
diff --git a/drivers/gpu/drm/i915/display/intel_display_core.h b/drivers/gpu/drm/i915/display/intel_display_core.h
index 9e77003addd0..6687b658c51d 100644
--- a/drivers/gpu/drm/i915/display/intel_display_core.h
+++ b/drivers/gpu/drm/i915/display/intel_display_core.h
@@ -556,6 +556,12 @@ struct intel_display {
unsigned long mask;
} quirks;
+ struct {
+ /* protects reset.fence */
+ struct mutex mutex;
+ struct dma_fence *fence;
+ } reset;
+
struct {
/* restore state for suspend/resume and display reset */
struct drm_atomic_state *modeset_state;
diff --git a/drivers/gpu/drm/i915/display/intel_display_driver.c b/drivers/gpu/drm/i915/display/intel_display_driver.c
index 23bfecc983e8..fcd31722c731 100644
--- a/drivers/gpu/drm/i915/display/intel_display_driver.c
+++ b/drivers/gpu/drm/i915/display/intel_display_driver.c
@@ -34,6 +34,7 @@
#include "intel_display_driver.h"
#include "intel_display_irq.h"
#include "intel_display_power.h"
+#include "intel_display_reset.h"
#include "intel_display_types.h"
#include "intel_display_utils.h"
#include "intel_display_wa.h"
@@ -257,6 +258,8 @@ int intel_display_driver_probe_noirq(struct intel_display *display)
intel_mode_config_init(display);
+ intel_display_reset_fence_init(display);
+
ret = intel_cdclk_init(display);
if (ret)
goto cleanup_wq_unordered;
@@ -584,6 +587,8 @@ void intel_display_driver_remove(struct intel_display *display)
if (!HAS_DISPLAY(display))
return;
+ intel_display_reset_fence_discard(display);
+
flush_workqueue(display->wq.flip);
flush_workqueue(display->wq.modeset);
flush_workqueue(display->wq.cleanup);
diff --git a/drivers/gpu/drm/i915/display/intel_display_reset.c b/drivers/gpu/drm/i915/display/intel_display_reset.c
index ca15dc18ef0f..80dd2ea8a0c2 100644
--- a/drivers/gpu/drm/i915/display/intel_display_reset.c
+++ b/drivers/gpu/drm/i915/display/intel_display_reset.c
@@ -3,6 +3,8 @@
* Copyright © 2023 Intel Corporation
*/
+#include <linux/dma-fence.h>
+
#include <drm/drm_atomic_helper.h>
#include <drm/drm_print.h>
@@ -16,6 +18,72 @@
#include "intel_hotplug.h"
#include "intel_pps.h"
+static const char *intel_display_reset_fence_get_driver_name(struct dma_fence *fence)
+{
+ return "intel_display";
+}
+
+static const char *intel_display_reset_fence_get_timeline_name(struct dma_fence *fence)
+{
+ return "reset";
+}
+
+static const struct dma_fence_ops intel_display_reset_fence_ops = {
+ .get_driver_name = intel_display_reset_fence_get_driver_name,
+ .get_timeline_name = intel_display_reset_fence_get_timeline_name,
+};
+
+static void intel_display_reset_create(struct intel_display *display)
+{
+ struct dma_fence *fence;
+
+ fence = kzalloc_obj(*fence);
+ if (!fence)
+ return;
+
+ dma_fence_init(fence, &intel_display_reset_fence_ops, NULL, 0, 0);
+
+ display->reset.fence = fence;
+}
+
+struct dma_fence *intel_display_reset_fence_get(struct intel_display *display)
+{
+ struct dma_fence *fence;
+
+ mutex_lock(&display->reset.mutex);
+
+ if (!display->reset.fence)
+ intel_display_reset_create(display);
+
+ fence = display->reset.fence;
+ if (fence)
+ dma_fence_get(fence);
+
+ mutex_unlock(&display->reset.mutex);
+
+ return fence;
+}
+
+void intel_display_reset_fence_discard(struct intel_display *display)
+{
+ struct dma_fence *fence;
+
+ mutex_lock(&display->reset.mutex);
+
+ fence = display->reset.fence;
+ if (fence)
+ dma_fence_put(fence);
+
+ display->reset.fence = NULL;
+
+ mutex_unlock(&display->reset.mutex);
+}
+
+void intel_display_reset_fence_init(struct intel_display *display)
+{
+ mutex_init(&display->reset.mutex);
+}
+
bool intel_display_reset_supported(struct intel_display *display)
{
return HAS_DISPLAY(display);
@@ -31,8 +99,15 @@ void intel_display_reset_prepare(struct intel_display *display)
{
struct drm_modeset_acquire_ctx *ctx = &display->restore.reset_ctx;
struct drm_atomic_state *state;
+ struct dma_fence *reset_fence;
int ret;
+ reset_fence = intel_display_reset_fence_get(display);
+ if (reset_fence) {
+ dma_fence_signal(reset_fence);
+ dma_fence_put(reset_fence);
+ }
+
/*
* Need mode_config.mutex so that we don't
* trample ongoing ->detect() and whatnot.
@@ -110,6 +185,8 @@ void intel_display_reset_finish(struct intel_display *display, bool test_only)
drm_atomic_state_put(state);
unlock:
+ intel_display_reset_fence_discard(display);
+
drm_modeset_drop_locks(ctx);
drm_modeset_acquire_fini(ctx);
mutex_unlock(&display->drm->mode_config.mutex);
diff --git a/drivers/gpu/drm/i915/display/intel_display_reset.h b/drivers/gpu/drm/i915/display/intel_display_reset.h
index a8aa7729d33f..c36a075c6b4d 100644
--- a/drivers/gpu/drm/i915/display/intel_display_reset.h
+++ b/drivers/gpu/drm/i915/display/intel_display_reset.h
@@ -10,6 +10,10 @@
struct intel_display;
+struct dma_fence *intel_display_reset_fence_get(struct intel_display *display);
+void intel_display_reset_fence_discard(struct intel_display *display);
+void intel_display_reset_fence_init(struct intel_display *display);
+
bool intel_display_reset_supported(struct intel_display *display);
bool intel_display_reset_test(struct intel_display *display);
void intel_display_reset_prepare(struct intel_display *display);
diff --git a/drivers/gpu/drm/xe/Makefile b/drivers/gpu/drm/xe/Makefile
index 110fef511fe2..1a85dfe457f0 100644
--- a/drivers/gpu/drm/xe/Makefile
+++ b/drivers/gpu/drm/xe/Makefile
@@ -262,6 +262,7 @@ xe-$(CONFIG_DRM_XE_DISPLAY) += \
i915-display/intel_display_power.o \
i915-display/intel_display_power_map.o \
i915-display/intel_display_power_well.o \
+ i915-display/intel_display_reset.o \
i915-display/intel_display_rpm.o \
i915-display/intel_display_rps.o \
i915-display/intel_display_trace.o \
--
2.52.0
^ permalink raw reply related [flat|nested] 19+ messages in thread* Re: [PATCH 5/6] drm/i915/reset: Handle the display vs. GPU reset deadlock using a custom dma-fence
2026-04-08 23:34 ` [PATCH 5/6] drm/i915/reset: Handle the display vs. GPU reset deadlock using a custom dma-fence Ville Syrjala
@ 2026-04-09 10:37 ` Jani Nikula
2026-04-09 10:46 ` Christian König
1 sibling, 0 replies; 19+ messages in thread
From: Jani Nikula @ 2026-04-09 10:37 UTC (permalink / raw)
To: Ville Syrjala, intel-gfx
Cc: intel-xe, dri-devel, Simona Vetter, Christian König,
Jouni Högander, Maarten Lankhorst
On Thu, 09 Apr 2026, Ville Syrjala <ville.syrjala@linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> The old display vs. GPU reset deadlock is back more or less.
> The old (working) solution to the problem was originally
> introduced in commit 9db529aac938 ("drm/i915: More surgically
> unbreak the modeset vs reset deadlock"), but it got nuked with
> commit d59cf7bb73f3 ("drm/i915/display: Use dma_fence interfaces
> instead of i915_sw_fence").
>
> Apparently no one looked hard enough to see that things didn't
> work quite properly anymore. What is still saving us for the most
> part is that we have a timeout on the fence wait
> (CONFIG_DRM_I915_FENCE_TIMEOUT, 10 seconds by default). But
> people are perhaps trying to get rid of that so we may need
> another solution, and 10 seconds is a bit slow.
>
> Re-solve the problem yet again with a custom dma-fence that gets
> signaled just prior to a GPU reset, and have the atomic commit wait
> for either that or the real fence using dma_fence_wait_any_timeout().
> Whichever signals first will let the commit proceed. We create a new
> "reset fence" whenever someone needs one, and keep it until the next
> GPU reset has completed. After that the next guy will again get a
> fresh unsignaled "reset fence".
>
> Cc: Simona Vetter <simona.vetter@ffwll.ch>
> Cc: Christian König <christian.koenig@amd.com>
> Cc: Jani Nikula <jani.nikula@intel.com>
> Cc: Jouni Högander <jouni.hogander@intel.com>
> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
This all makes sense to me, but I'd like to solicit addition review from
Simona, Christian and/or Maarten.
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_display.c | 34 +++++---
> .../gpu/drm/i915/display/intel_display_core.h | 6 ++
> .../drm/i915/display/intel_display_driver.c | 5 ++
> .../drm/i915/display/intel_display_reset.c | 77 +++++++++++++++++++
> .../drm/i915/display/intel_display_reset.h | 4 +
> drivers/gpu/drm/xe/Makefile | 1 +
> 6 files changed, 117 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
> index 58a654ca0d20..83ccf13c4b16 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -72,6 +72,7 @@
> #include "intel_display_driver.h"
> #include "intel_display_power.h"
> #include "intel_display_regs.h"
> +#include "intel_display_reset.h"
> #include "intel_display_rpm.h"
> #include "intel_display_types.h"
> #include "intel_display_utils.h"
> @@ -7149,22 +7150,35 @@ static void skl_commit_modeset_enables(struct intel_atomic_state *state)
>
> static void intel_atomic_commit_fence_wait(struct intel_atomic_state *intel_state)
> {
> - struct drm_plane *plane;
> + struct intel_display *display = to_intel_display(intel_state);
> struct drm_plane_state *new_plane_state;
> - long ret;
> + struct dma_fence *reset_fence;
> + struct drm_plane *plane;
> int i;
>
> + reset_fence = intel_display_reset_fence_get(display);
> +
> for_each_new_plane_in_state(&intel_state->base, plane, new_plane_state, i) {
> - if (new_plane_state->fence) {
> - ret = dma_fence_wait_timeout(new_plane_state->fence, false,
> - i915_fence_timeout());
> - if (ret <= 0)
> - break;
> + struct dma_fence *fences[2] = {
> + [0] = new_plane_state->fence,
> + [1] = reset_fence,
> + };
> + long ret;
>
> - dma_fence_put(new_plane_state->fence);
> - new_plane_state->fence = NULL;
> - }
> + if (!new_plane_state->fence)
> + continue;
> +
> + ret = dma_fence_wait_any_timeout(fences, reset_fence ? 2 : 1, false,
> + i915_fence_timeout(), NULL);
> + if (ret <= 0)
> + break;
> +
> + dma_fence_put(new_plane_state->fence);
> + new_plane_state->fence = NULL;
> }
> +
> + if (reset_fence)
> + dma_fence_put(reset_fence);
> }
>
> static void intel_atomic_dsb_wait_commit(struct intel_crtc_state *crtc_state)
> diff --git a/drivers/gpu/drm/i915/display/intel_display_core.h b/drivers/gpu/drm/i915/display/intel_display_core.h
> index 9e77003addd0..6687b658c51d 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_core.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_core.h
> @@ -556,6 +556,12 @@ struct intel_display {
> unsigned long mask;
> } quirks;
>
> + struct {
> + /* protects reset.fence */
> + struct mutex mutex;
> + struct dma_fence *fence;
> + } reset;
> +
> struct {
> /* restore state for suspend/resume and display reset */
> struct drm_atomic_state *modeset_state;
> diff --git a/drivers/gpu/drm/i915/display/intel_display_driver.c b/drivers/gpu/drm/i915/display/intel_display_driver.c
> index 23bfecc983e8..fcd31722c731 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_driver.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_driver.c
> @@ -34,6 +34,7 @@
> #include "intel_display_driver.h"
> #include "intel_display_irq.h"
> #include "intel_display_power.h"
> +#include "intel_display_reset.h"
> #include "intel_display_types.h"
> #include "intel_display_utils.h"
> #include "intel_display_wa.h"
> @@ -257,6 +258,8 @@ int intel_display_driver_probe_noirq(struct intel_display *display)
>
> intel_mode_config_init(display);
>
> + intel_display_reset_fence_init(display);
> +
> ret = intel_cdclk_init(display);
> if (ret)
> goto cleanup_wq_unordered;
> @@ -584,6 +587,8 @@ void intel_display_driver_remove(struct intel_display *display)
> if (!HAS_DISPLAY(display))
> return;
>
> + intel_display_reset_fence_discard(display);
> +
> flush_workqueue(display->wq.flip);
> flush_workqueue(display->wq.modeset);
> flush_workqueue(display->wq.cleanup);
> diff --git a/drivers/gpu/drm/i915/display/intel_display_reset.c b/drivers/gpu/drm/i915/display/intel_display_reset.c
> index ca15dc18ef0f..80dd2ea8a0c2 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_reset.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_reset.c
> @@ -3,6 +3,8 @@
> * Copyright © 2023 Intel Corporation
> */
>
> +#include <linux/dma-fence.h>
> +
> #include <drm/drm_atomic_helper.h>
> #include <drm/drm_print.h>
>
> @@ -16,6 +18,72 @@
> #include "intel_hotplug.h"
> #include "intel_pps.h"
>
> +static const char *intel_display_reset_fence_get_driver_name(struct dma_fence *fence)
> +{
> + return "intel_display";
> +}
> +
> +static const char *intel_display_reset_fence_get_timeline_name(struct dma_fence *fence)
> +{
> + return "reset";
> +}
> +
> +static const struct dma_fence_ops intel_display_reset_fence_ops = {
> + .get_driver_name = intel_display_reset_fence_get_driver_name,
> + .get_timeline_name = intel_display_reset_fence_get_timeline_name,
> +};
> +
> +static void intel_display_reset_create(struct intel_display *display)
> +{
> + struct dma_fence *fence;
> +
> + fence = kzalloc_obj(*fence);
> + if (!fence)
> + return;
> +
> + dma_fence_init(fence, &intel_display_reset_fence_ops, NULL, 0, 0);
> +
> + display->reset.fence = fence;
> +}
> +
> +struct dma_fence *intel_display_reset_fence_get(struct intel_display *display)
> +{
> + struct dma_fence *fence;
> +
> + mutex_lock(&display->reset.mutex);
> +
> + if (!display->reset.fence)
> + intel_display_reset_create(display);
> +
> + fence = display->reset.fence;
> + if (fence)
> + dma_fence_get(fence);
> +
> + mutex_unlock(&display->reset.mutex);
> +
> + return fence;
> +}
> +
> +void intel_display_reset_fence_discard(struct intel_display *display)
> +{
> + struct dma_fence *fence;
> +
> + mutex_lock(&display->reset.mutex);
> +
> + fence = display->reset.fence;
> + if (fence)
> + dma_fence_put(fence);
> +
> + display->reset.fence = NULL;
> +
> + mutex_unlock(&display->reset.mutex);
> +}
> +
> +void intel_display_reset_fence_init(struct intel_display *display)
> +{
> + mutex_init(&display->reset.mutex);
> +}
> +
> bool intel_display_reset_supported(struct intel_display *display)
> {
> return HAS_DISPLAY(display);
> @@ -31,8 +99,15 @@ void intel_display_reset_prepare(struct intel_display *display)
> {
> struct drm_modeset_acquire_ctx *ctx = &display->restore.reset_ctx;
> struct drm_atomic_state *state;
> + struct dma_fence *reset_fence;
> int ret;
>
> + reset_fence = intel_display_reset_fence_get(display);
> + if (reset_fence) {
> + dma_fence_signal(reset_fence);
> + dma_fence_put(reset_fence);
> + }
> +
> /*
> * Need mode_config.mutex so that we don't
> * trample ongoing ->detect() and whatnot.
> @@ -110,6 +185,8 @@ void intel_display_reset_finish(struct intel_display *display, bool test_only)
>
> drm_atomic_state_put(state);
> unlock:
> + intel_display_reset_fence_discard(display);
> +
> drm_modeset_drop_locks(ctx);
> drm_modeset_acquire_fini(ctx);
> mutex_unlock(&display->drm->mode_config.mutex);
> diff --git a/drivers/gpu/drm/i915/display/intel_display_reset.h b/drivers/gpu/drm/i915/display/intel_display_reset.h
> index a8aa7729d33f..c36a075c6b4d 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_reset.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_reset.h
> @@ -10,6 +10,10 @@
>
> struct intel_display;
>
> +struct dma_fence *intel_display_reset_fence_get(struct intel_display *display);
> +void intel_display_reset_fence_discard(struct intel_display *display);
> +void intel_display_reset_fence_init(struct intel_display *display);
> +
> bool intel_display_reset_supported(struct intel_display *display);
> bool intel_display_reset_test(struct intel_display *display);
> void intel_display_reset_prepare(struct intel_display *display);
> diff --git a/drivers/gpu/drm/xe/Makefile b/drivers/gpu/drm/xe/Makefile
> index 110fef511fe2..1a85dfe457f0 100644
> --- a/drivers/gpu/drm/xe/Makefile
> +++ b/drivers/gpu/drm/xe/Makefile
> @@ -262,6 +262,7 @@ xe-$(CONFIG_DRM_XE_DISPLAY) += \
> i915-display/intel_display_power.o \
> i915-display/intel_display_power_map.o \
> i915-display/intel_display_power_well.o \
> + i915-display/intel_display_reset.o \
> i915-display/intel_display_rpm.o \
> i915-display/intel_display_rps.o \
> i915-display/intel_display_trace.o \
--
Jani Nikula, Intel
^ permalink raw reply [flat|nested] 19+ messages in thread* Re: [PATCH 5/6] drm/i915/reset: Handle the display vs. GPU reset deadlock using a custom dma-fence
2026-04-08 23:34 ` [PATCH 5/6] drm/i915/reset: Handle the display vs. GPU reset deadlock using a custom dma-fence Ville Syrjala
2026-04-09 10:37 ` Jani Nikula
@ 2026-04-09 10:46 ` Christian König
2026-04-09 11:19 ` Ville Syrjälä
1 sibling, 1 reply; 19+ messages in thread
From: Christian König @ 2026-04-09 10:46 UTC (permalink / raw)
To: Ville Syrjala, intel-gfx
Cc: intel-xe, dri-devel, Simona Vetter, Jani Nikula,
Jouni Högander, Maarten Lankhorst
On 4/9/26 01:34, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> The old display vs. GPU reset deadlock is back more or less.
> The old (working) solution to the problem was originally
> introduced in commit 9db529aac938 ("drm/i915: More surgically
> unbreak the modeset vs reset deadlock"), but it got nuked with
> commit d59cf7bb73f3 ("drm/i915/display: Use dma_fence interfaces
> instead of i915_sw_fence").
>
> Apparently no one looked hard enough to see that things didn't
> work quite properly anymore. What is still saving us for the most
> part is that we have a timeout on the fence wait
> (CONFIG_DRM_I915_FENCE_TIMEOUT, 10 seconds by default). But
> people are perhaps trying to get rid of that so we may need
> another solution, and 10 seconds is a bit slow.
Yeah agree that approach with the timeout is usually a big no no.
> Re-solve the problem yet again with a custom dma-fence that gets
> signaled just prior to a GPU reset, and have the atomic commit wait
> for either that or the real fence using dma_fence_wait_any_timeout().
Hui? I don't fully understand what the source of the problem is, but of hand that approach of solving it doesn't sound like a good idea either.
> Whichever signals first will let the commit proceed. We create a new
> "reset fence" whenever someone needs one, and keep it until the next
> GPU reset has completed. After that the next guy will again get a
> fresh unsignaled "reset fence".
And that sounds even worse. A dma_fence which waits for the next GPU reset without triggering it itself would be an indefinite dma_fence which is not allowed.
I think something is missing in my picture how that is supposed to work.
Thanks,
Christian.
>
> Cc: Simona Vetter <simona.vetter@ffwll.ch>
> Cc: Christian König <christian.koenig@amd.com>
> Cc: Jani Nikula <jani.nikula@intel.com>
> Cc: Jouni Högander <jouni.hogander@intel.com>
> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_display.c | 34 +++++---
> .../gpu/drm/i915/display/intel_display_core.h | 6 ++
> .../drm/i915/display/intel_display_driver.c | 5 ++
> .../drm/i915/display/intel_display_reset.c | 77 +++++++++++++++++++
> .../drm/i915/display/intel_display_reset.h | 4 +
> drivers/gpu/drm/xe/Makefile | 1 +
> 6 files changed, 117 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
> index 58a654ca0d20..83ccf13c4b16 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -72,6 +72,7 @@
> #include "intel_display_driver.h"
> #include "intel_display_power.h"
> #include "intel_display_regs.h"
> +#include "intel_display_reset.h"
> #include "intel_display_rpm.h"
> #include "intel_display_types.h"
> #include "intel_display_utils.h"
> @@ -7149,22 +7150,35 @@ static void skl_commit_modeset_enables(struct intel_atomic_state *state)
>
> static void intel_atomic_commit_fence_wait(struct intel_atomic_state *intel_state)
> {
> - struct drm_plane *plane;
> + struct intel_display *display = to_intel_display(intel_state);
> struct drm_plane_state *new_plane_state;
> - long ret;
> + struct dma_fence *reset_fence;
> + struct drm_plane *plane;
> int i;
>
> + reset_fence = intel_display_reset_fence_get(display);
> +
> for_each_new_plane_in_state(&intel_state->base, plane, new_plane_state, i) {
> - if (new_plane_state->fence) {
> - ret = dma_fence_wait_timeout(new_plane_state->fence, false,
> - i915_fence_timeout());
> - if (ret <= 0)
> - break;
> + struct dma_fence *fences[2] = {
> + [0] = new_plane_state->fence,
> + [1] = reset_fence,
> + };
> + long ret;
>
> - dma_fence_put(new_plane_state->fence);
> - new_plane_state->fence = NULL;
> - }
> + if (!new_plane_state->fence)
> + continue;
> +
> + ret = dma_fence_wait_any_timeout(fences, reset_fence ? 2 : 1, false,
> + i915_fence_timeout(), NULL);
> + if (ret <= 0)
> + break;
> +
> + dma_fence_put(new_plane_state->fence);
> + new_plane_state->fence = NULL;
> }
> +
> + if (reset_fence)
> + dma_fence_put(reset_fence);
> }
>
> static void intel_atomic_dsb_wait_commit(struct intel_crtc_state *crtc_state)
> diff --git a/drivers/gpu/drm/i915/display/intel_display_core.h b/drivers/gpu/drm/i915/display/intel_display_core.h
> index 9e77003addd0..6687b658c51d 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_core.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_core.h
> @@ -556,6 +556,12 @@ struct intel_display {
> unsigned long mask;
> } quirks;
>
> + struct {
> + /* protects reset.fence */
> + struct mutex mutex;
> + struct dma_fence *fence;
> + } reset;
> +
> struct {
> /* restore state for suspend/resume and display reset */
> struct drm_atomic_state *modeset_state;
> diff --git a/drivers/gpu/drm/i915/display/intel_display_driver.c b/drivers/gpu/drm/i915/display/intel_display_driver.c
> index 23bfecc983e8..fcd31722c731 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_driver.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_driver.c
> @@ -34,6 +34,7 @@
> #include "intel_display_driver.h"
> #include "intel_display_irq.h"
> #include "intel_display_power.h"
> +#include "intel_display_reset.h"
> #include "intel_display_types.h"
> #include "intel_display_utils.h"
> #include "intel_display_wa.h"
> @@ -257,6 +258,8 @@ int intel_display_driver_probe_noirq(struct intel_display *display)
>
> intel_mode_config_init(display);
>
> + intel_display_reset_fence_init(display);
> +
> ret = intel_cdclk_init(display);
> if (ret)
> goto cleanup_wq_unordered;
> @@ -584,6 +587,8 @@ void intel_display_driver_remove(struct intel_display *display)
> if (!HAS_DISPLAY(display))
> return;
>
> + intel_display_reset_fence_discard(display);
> +
> flush_workqueue(display->wq.flip);
> flush_workqueue(display->wq.modeset);
> flush_workqueue(display->wq.cleanup);
> diff --git a/drivers/gpu/drm/i915/display/intel_display_reset.c b/drivers/gpu/drm/i915/display/intel_display_reset.c
> index ca15dc18ef0f..80dd2ea8a0c2 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_reset.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_reset.c
> @@ -3,6 +3,8 @@
> * Copyright © 2023 Intel Corporation
> */
>
> +#include <linux/dma-fence.h>
> +
> #include <drm/drm_atomic_helper.h>
> #include <drm/drm_print.h>
>
> @@ -16,6 +18,72 @@
> #include "intel_hotplug.h"
> #include "intel_pps.h"
>
> +static const char *intel_display_reset_fence_get_driver_name(struct dma_fence *fence)
> +{
> + return "intel_display";
> +}
> +
> +static const char *intel_display_reset_fence_get_timeline_name(struct dma_fence *fence)
> +{
> + return "reset";
> +}
> +
> +static const struct dma_fence_ops intel_display_reset_fence_ops = {
> + .get_driver_name = intel_display_reset_fence_get_driver_name,
> + .get_timeline_name = intel_display_reset_fence_get_timeline_name,
> +};
> +
> +static void intel_display_reset_create(struct intel_display *display)
> +{
> + struct dma_fence *fence;
> +
> + fence = kzalloc_obj(*fence);
> + if (!fence)
> + return;
> +
> + dma_fence_init(fence, &intel_display_reset_fence_ops, NULL, 0, 0);
> +
> + display->reset.fence = fence;
> +}
> +
> +struct dma_fence *intel_display_reset_fence_get(struct intel_display *display)
> +{
> + struct dma_fence *fence;
> +
> + mutex_lock(&display->reset.mutex);
> +
> + if (!display->reset.fence)
> + intel_display_reset_create(display);
> +
> + fence = display->reset.fence;
> + if (fence)
> + dma_fence_get(fence);
> +
> + mutex_unlock(&display->reset.mutex);
> +
> + return fence;
> +}
> +
> +void intel_display_reset_fence_discard(struct intel_display *display)
> +{
> + struct dma_fence *fence;
> +
> + mutex_lock(&display->reset.mutex);
> +
> + fence = display->reset.fence;
> + if (fence)
> + dma_fence_put(fence);
> +
> + display->reset.fence = NULL;
> +
> + mutex_unlock(&display->reset.mutex);
> +}
> +
> +void intel_display_reset_fence_init(struct intel_display *display)
> +{
> + mutex_init(&display->reset.mutex);
> +}
> +
> bool intel_display_reset_supported(struct intel_display *display)
> {
> return HAS_DISPLAY(display);
> @@ -31,8 +99,15 @@ void intel_display_reset_prepare(struct intel_display *display)
> {
> struct drm_modeset_acquire_ctx *ctx = &display->restore.reset_ctx;
> struct drm_atomic_state *state;
> + struct dma_fence *reset_fence;
> int ret;
>
> + reset_fence = intel_display_reset_fence_get(display);
> + if (reset_fence) {
> + dma_fence_signal(reset_fence);
> + dma_fence_put(reset_fence);
> + }
> +
> /*
> * Need mode_config.mutex so that we don't
> * trample ongoing ->detect() and whatnot.
> @@ -110,6 +185,8 @@ void intel_display_reset_finish(struct intel_display *display, bool test_only)
>
> drm_atomic_state_put(state);
> unlock:
> + intel_display_reset_fence_discard(display);
> +
> drm_modeset_drop_locks(ctx);
> drm_modeset_acquire_fini(ctx);
> mutex_unlock(&display->drm->mode_config.mutex);
> diff --git a/drivers/gpu/drm/i915/display/intel_display_reset.h b/drivers/gpu/drm/i915/display/intel_display_reset.h
> index a8aa7729d33f..c36a075c6b4d 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_reset.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_reset.h
> @@ -10,6 +10,10 @@
>
> struct intel_display;
>
> +struct dma_fence *intel_display_reset_fence_get(struct intel_display *display);
> +void intel_display_reset_fence_discard(struct intel_display *display);
> +void intel_display_reset_fence_init(struct intel_display *display);
> +
> bool intel_display_reset_supported(struct intel_display *display);
> bool intel_display_reset_test(struct intel_display *display);
> void intel_display_reset_prepare(struct intel_display *display);
> diff --git a/drivers/gpu/drm/xe/Makefile b/drivers/gpu/drm/xe/Makefile
> index 110fef511fe2..1a85dfe457f0 100644
> --- a/drivers/gpu/drm/xe/Makefile
> +++ b/drivers/gpu/drm/xe/Makefile
> @@ -262,6 +262,7 @@ xe-$(CONFIG_DRM_XE_DISPLAY) += \
> i915-display/intel_display_power.o \
> i915-display/intel_display_power_map.o \
> i915-display/intel_display_power_well.o \
> + i915-display/intel_display_reset.o \
> i915-display/intel_display_rpm.o \
> i915-display/intel_display_rps.o \
> i915-display/intel_display_trace.o \
^ permalink raw reply [flat|nested] 19+ messages in thread* Re: [PATCH 5/6] drm/i915/reset: Handle the display vs. GPU reset deadlock using a custom dma-fence
2026-04-09 10:46 ` Christian König
@ 2026-04-09 11:19 ` Ville Syrjälä
2026-04-09 12:17 ` Christian König
0 siblings, 1 reply; 19+ messages in thread
From: Ville Syrjälä @ 2026-04-09 11:19 UTC (permalink / raw)
To: Christian König
Cc: intel-gfx, intel-xe, dri-devel, Simona Vetter, Jani Nikula,
Jouni Högander, Maarten Lankhorst
On Thu, Apr 09, 2026 at 12:46:11PM +0200, Christian König wrote:
> On 4/9/26 01:34, Ville Syrjala wrote:
> > From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> >
> > The old display vs. GPU reset deadlock is back more or less.
> > The old (working) solution to the problem was originally
> > introduced in commit 9db529aac938 ("drm/i915: More surgically
> > unbreak the modeset vs reset deadlock"), but it got nuked with
> > commit d59cf7bb73f3 ("drm/i915/display: Use dma_fence interfaces
> > instead of i915_sw_fence").
> >
> > Apparently no one looked hard enough to see that things didn't
> > work quite properly anymore. What is still saving us for the most
> > part is that we have a timeout on the fence wait
> > (CONFIG_DRM_I915_FENCE_TIMEOUT, 10 seconds by default). But
> > people are perhaps trying to get rid of that so we may need
> > another solution, and 10 seconds is a bit slow.
>
> Yeah agree that approach with the timeout is usually a big no no.
>
> > Re-solve the problem yet again with a custom dma-fence that gets
> > signaled just prior to a GPU reset, and have the atomic commit wait
> > for either that or the real fence using dma_fence_wait_any_timeout().
>
> Hui? I don't fully understand what the source of the problem is, but of hand that approach of solving it doesn't sound like a good idea either.
>
> > Whichever signals first will let the commit proceed. We create a new
> > "reset fence" whenever someone needs one, and keep it until the next
> > GPU reset has completed. After that the next guy will again get a
> > fresh unsignaled "reset fence".
>
> And that sounds even worse. A dma_fence which waits for the next GPU reset without triggering it itself would be an indefinite dma_fence which is not allowed.
This is a purely internal thing to the i915 display code. This fence
is never shared with anyone. And we never wait for just this fence,
the wait always happens alongside a real fence using
dma_fence_wait_any_timeout().
>
> I think something is missing in my picture how that is supposed to work.
The problem stems from the fact that on old platforms a GPU reset
also resets the display hardware, and to do that safely we need:
1. shut down display
2. perform the GPU reset
3. restore the display hardware to its orignal state
We just do that with essentially with a normal atomic commit. But a
previous atomic commit may already be waiting for a fence, which
won't signal until the GPU reset happens, and the GPU reset is now
waiting for that previous atomic commit to finish so that it can do
its own atomic commit. In order to break the deadlock we need to
abort the fence waits in the atomic commit, and that's what this
"reset fence" achieves.
>
> Thanks,
> Christian.
>
> >
> > Cc: Simona Vetter <simona.vetter@ffwll.ch>
> > Cc: Christian König <christian.koenig@amd.com>
> > Cc: Jani Nikula <jani.nikula@intel.com>
> > Cc: Jouni Högander <jouni.hogander@intel.com>
> > Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > ---
> > drivers/gpu/drm/i915/display/intel_display.c | 34 +++++---
> > .../gpu/drm/i915/display/intel_display_core.h | 6 ++
> > .../drm/i915/display/intel_display_driver.c | 5 ++
> > .../drm/i915/display/intel_display_reset.c | 77 +++++++++++++++++++
> > .../drm/i915/display/intel_display_reset.h | 4 +
> > drivers/gpu/drm/xe/Makefile | 1 +
> > 6 files changed, 117 insertions(+), 10 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
> > index 58a654ca0d20..83ccf13c4b16 100644
> > --- a/drivers/gpu/drm/i915/display/intel_display.c
> > +++ b/drivers/gpu/drm/i915/display/intel_display.c
> > @@ -72,6 +72,7 @@
> > #include "intel_display_driver.h"
> > #include "intel_display_power.h"
> > #include "intel_display_regs.h"
> > +#include "intel_display_reset.h"
> > #include "intel_display_rpm.h"
> > #include "intel_display_types.h"
> > #include "intel_display_utils.h"
> > @@ -7149,22 +7150,35 @@ static void skl_commit_modeset_enables(struct intel_atomic_state *state)
> >
> > static void intel_atomic_commit_fence_wait(struct intel_atomic_state *intel_state)
> > {
> > - struct drm_plane *plane;
> > + struct intel_display *display = to_intel_display(intel_state);
> > struct drm_plane_state *new_plane_state;
> > - long ret;
> > + struct dma_fence *reset_fence;
> > + struct drm_plane *plane;
> > int i;
> >
> > + reset_fence = intel_display_reset_fence_get(display);
> > +
> > for_each_new_plane_in_state(&intel_state->base, plane, new_plane_state, i) {
> > - if (new_plane_state->fence) {
> > - ret = dma_fence_wait_timeout(new_plane_state->fence, false,
> > - i915_fence_timeout());
> > - if (ret <= 0)
> > - break;
> > + struct dma_fence *fences[2] = {
> > + [0] = new_plane_state->fence,
> > + [1] = reset_fence,
> > + };
> > + long ret;
> >
> > - dma_fence_put(new_plane_state->fence);
> > - new_plane_state->fence = NULL;
> > - }
> > + if (!new_plane_state->fence)
> > + continue;
> > +
> > + ret = dma_fence_wait_any_timeout(fences, reset_fence ? 2 : 1, false,
> > + i915_fence_timeout(), NULL);
> > + if (ret <= 0)
> > + break;
> > +
> > + dma_fence_put(new_plane_state->fence);
> > + new_plane_state->fence = NULL;
> > }
> > +
> > + if (reset_fence)
> > + dma_fence_put(reset_fence);
> > }
> >
> > static void intel_atomic_dsb_wait_commit(struct intel_crtc_state *crtc_state)
> > diff --git a/drivers/gpu/drm/i915/display/intel_display_core.h b/drivers/gpu/drm/i915/display/intel_display_core.h
> > index 9e77003addd0..6687b658c51d 100644
> > --- a/drivers/gpu/drm/i915/display/intel_display_core.h
> > +++ b/drivers/gpu/drm/i915/display/intel_display_core.h
> > @@ -556,6 +556,12 @@ struct intel_display {
> > unsigned long mask;
> > } quirks;
> >
> > + struct {
> > + /* protects reset.fence */
> > + struct mutex mutex;
> > + struct dma_fence *fence;
> > + } reset;
> > +
> > struct {
> > /* restore state for suspend/resume and display reset */
> > struct drm_atomic_state *modeset_state;
> > diff --git a/drivers/gpu/drm/i915/display/intel_display_driver.c b/drivers/gpu/drm/i915/display/intel_display_driver.c
> > index 23bfecc983e8..fcd31722c731 100644
> > --- a/drivers/gpu/drm/i915/display/intel_display_driver.c
> > +++ b/drivers/gpu/drm/i915/display/intel_display_driver.c
> > @@ -34,6 +34,7 @@
> > #include "intel_display_driver.h"
> > #include "intel_display_irq.h"
> > #include "intel_display_power.h"
> > +#include "intel_display_reset.h"
> > #include "intel_display_types.h"
> > #include "intel_display_utils.h"
> > #include "intel_display_wa.h"
> > @@ -257,6 +258,8 @@ int intel_display_driver_probe_noirq(struct intel_display *display)
> >
> > intel_mode_config_init(display);
> >
> > + intel_display_reset_fence_init(display);
> > +
> > ret = intel_cdclk_init(display);
> > if (ret)
> > goto cleanup_wq_unordered;
> > @@ -584,6 +587,8 @@ void intel_display_driver_remove(struct intel_display *display)
> > if (!HAS_DISPLAY(display))
> > return;
> >
> > + intel_display_reset_fence_discard(display);
> > +
> > flush_workqueue(display->wq.flip);
> > flush_workqueue(display->wq.modeset);
> > flush_workqueue(display->wq.cleanup);
> > diff --git a/drivers/gpu/drm/i915/display/intel_display_reset.c b/drivers/gpu/drm/i915/display/intel_display_reset.c
> > index ca15dc18ef0f..80dd2ea8a0c2 100644
> > --- a/drivers/gpu/drm/i915/display/intel_display_reset.c
> > +++ b/drivers/gpu/drm/i915/display/intel_display_reset.c
> > @@ -3,6 +3,8 @@
> > * Copyright © 2023 Intel Corporation
> > */
> >
> > +#include <linux/dma-fence.h>
> > +
> > #include <drm/drm_atomic_helper.h>
> > #include <drm/drm_print.h>
> >
> > @@ -16,6 +18,72 @@
> > #include "intel_hotplug.h"
> > #include "intel_pps.h"
> >
> > +static const char *intel_display_reset_fence_get_driver_name(struct dma_fence *fence)
> > +{
> > + return "intel_display";
> > +}
> > +
> > +static const char *intel_display_reset_fence_get_timeline_name(struct dma_fence *fence)
> > +{
> > + return "reset";
> > +}
> > +
> > +static const struct dma_fence_ops intel_display_reset_fence_ops = {
> > + .get_driver_name = intel_display_reset_fence_get_driver_name,
> > + .get_timeline_name = intel_display_reset_fence_get_timeline_name,
> > +};
> > +
> > +static void intel_display_reset_create(struct intel_display *display)
> > +{
> > + struct dma_fence *fence;
> > +
> > + fence = kzalloc_obj(*fence);
> > + if (!fence)
> > + return;
> > +
> > + dma_fence_init(fence, &intel_display_reset_fence_ops, NULL, 0, 0);
> > +
> > + display->reset.fence = fence;
> > +}
> > +
> > +struct dma_fence *intel_display_reset_fence_get(struct intel_display *display)
> > +{
> > + struct dma_fence *fence;
> > +
> > + mutex_lock(&display->reset.mutex);
> > +
> > + if (!display->reset.fence)
> > + intel_display_reset_create(display);
> > +
> > + fence = display->reset.fence;
> > + if (fence)
> > + dma_fence_get(fence);
> > +
> > + mutex_unlock(&display->reset.mutex);
> > +
> > + return fence;
> > +}
> > +
> > +void intel_display_reset_fence_discard(struct intel_display *display)
> > +{
> > + struct dma_fence *fence;
> > +
> > + mutex_lock(&display->reset.mutex);
> > +
> > + fence = display->reset.fence;
> > + if (fence)
> > + dma_fence_put(fence);
> > +
> > + display->reset.fence = NULL;
> > +
> > + mutex_unlock(&display->reset.mutex);
> > +}
> > +
> > +void intel_display_reset_fence_init(struct intel_display *display)
> > +{
> > + mutex_init(&display->reset.mutex);
> > +}
> > +
> > bool intel_display_reset_supported(struct intel_display *display)
> > {
> > return HAS_DISPLAY(display);
> > @@ -31,8 +99,15 @@ void intel_display_reset_prepare(struct intel_display *display)
> > {
> > struct drm_modeset_acquire_ctx *ctx = &display->restore.reset_ctx;
> > struct drm_atomic_state *state;
> > + struct dma_fence *reset_fence;
> > int ret;
> >
> > + reset_fence = intel_display_reset_fence_get(display);
> > + if (reset_fence) {
> > + dma_fence_signal(reset_fence);
> > + dma_fence_put(reset_fence);
> > + }
> > +
> > /*
> > * Need mode_config.mutex so that we don't
> > * trample ongoing ->detect() and whatnot.
> > @@ -110,6 +185,8 @@ void intel_display_reset_finish(struct intel_display *display, bool test_only)
> >
> > drm_atomic_state_put(state);
> > unlock:
> > + intel_display_reset_fence_discard(display);
> > +
> > drm_modeset_drop_locks(ctx);
> > drm_modeset_acquire_fini(ctx);
> > mutex_unlock(&display->drm->mode_config.mutex);
> > diff --git a/drivers/gpu/drm/i915/display/intel_display_reset.h b/drivers/gpu/drm/i915/display/intel_display_reset.h
> > index a8aa7729d33f..c36a075c6b4d 100644
> > --- a/drivers/gpu/drm/i915/display/intel_display_reset.h
> > +++ b/drivers/gpu/drm/i915/display/intel_display_reset.h
> > @@ -10,6 +10,10 @@
> >
> > struct intel_display;
> >
> > +struct dma_fence *intel_display_reset_fence_get(struct intel_display *display);
> > +void intel_display_reset_fence_discard(struct intel_display *display);
> > +void intel_display_reset_fence_init(struct intel_display *display);
> > +
> > bool intel_display_reset_supported(struct intel_display *display);
> > bool intel_display_reset_test(struct intel_display *display);
> > void intel_display_reset_prepare(struct intel_display *display);
> > diff --git a/drivers/gpu/drm/xe/Makefile b/drivers/gpu/drm/xe/Makefile
> > index 110fef511fe2..1a85dfe457f0 100644
> > --- a/drivers/gpu/drm/xe/Makefile
> > +++ b/drivers/gpu/drm/xe/Makefile
> > @@ -262,6 +262,7 @@ xe-$(CONFIG_DRM_XE_DISPLAY) += \
> > i915-display/intel_display_power.o \
> > i915-display/intel_display_power_map.o \
> > i915-display/intel_display_power_well.o \
> > + i915-display/intel_display_reset.o \
> > i915-display/intel_display_rpm.o \
> > i915-display/intel_display_rps.o \
> > i915-display/intel_display_trace.o \
--
Ville Syrjälä
Intel
^ permalink raw reply [flat|nested] 19+ messages in thread* Re: [PATCH 5/6] drm/i915/reset: Handle the display vs. GPU reset deadlock using a custom dma-fence
2026-04-09 11:19 ` Ville Syrjälä
@ 2026-04-09 12:17 ` Christian König
0 siblings, 0 replies; 19+ messages in thread
From: Christian König @ 2026-04-09 12:17 UTC (permalink / raw)
To: Ville Syrjälä
Cc: intel-gfx, intel-xe, dri-devel, Simona Vetter, Jani Nikula,
Jouni Högander, Maarten Lankhorst, Michel Dänzer
On 4/9/26 13:19, Ville Syrjälä wrote:
> On Thu, Apr 09, 2026 at 12:46:11PM +0200, Christian König wrote:
>> On 4/9/26 01:34, Ville Syrjala wrote:
>>> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>>>
>>> The old display vs. GPU reset deadlock is back more or less.
>>> The old (working) solution to the problem was originally
>>> introduced in commit 9db529aac938 ("drm/i915: More surgically
>>> unbreak the modeset vs reset deadlock"), but it got nuked with
>>> commit d59cf7bb73f3 ("drm/i915/display: Use dma_fence interfaces
>>> instead of i915_sw_fence").
>>>
>>> Apparently no one looked hard enough to see that things didn't
>>> work quite properly anymore. What is still saving us for the most
>>> part is that we have a timeout on the fence wait
>>> (CONFIG_DRM_I915_FENCE_TIMEOUT, 10 seconds by default). But
>>> people are perhaps trying to get rid of that so we may need
>>> another solution, and 10 seconds is a bit slow.
>>
>> Yeah agree that approach with the timeout is usually a big no no.
>>
>>> Re-solve the problem yet again with a custom dma-fence that gets
>>> signaled just prior to a GPU reset, and have the atomic commit wait
>>> for either that or the real fence using dma_fence_wait_any_timeout().
>>
>> Hui? I don't fully understand what the source of the problem is, but of hand that approach of solving it doesn't sound like a good idea either.
>>
>>> Whichever signals first will let the commit proceed. We create a new
>>> "reset fence" whenever someone needs one, and keep it until the next
>>> GPU reset has completed. After that the next guy will again get a
>>> fresh unsignaled "reset fence".
>>
>> And that sounds even worse. A dma_fence which waits for the next GPU reset without triggering it itself would be an indefinite dma_fence which is not allowed.
>
> This is a purely internal thing to the i915 display code. This fence
> is never shared with anyone. And we never wait for just this fence,
> the wait always happens alongside a real fence using
> dma_fence_wait_any_timeout().
>
>>
>> I think something is missing in my picture how that is supposed to work.
>
> The problem stems from the fact that on old platforms a GPU reset
> also resets the display hardware,
Which is true for at least AMD GPUs and I think pretty much everybody else as well, but that wasn't so much of a problem so far.
> and to do that safely we need:
> 1. shut down display
> 2. perform the GPU reset
> 3. restore the display hardware to its orignal state
Mhm, I've recently talked with Michel about it and we confirmed that this is perfectly possible without issues. Adding Michel as well.
> We just do that with essentially with a normal atomic commit.
I think that is the source of the problem.
I'm not an expert on that topic but amdgpu and tons of other drivers seem to just use drm_atomic_helper_shutdown() for that.
What is i915 doing differently?
> But a
> previous atomic commit may already be waiting for a fence, which
> won't signal until the GPU reset happens, and the GPU reset is now
> waiting for that previous atomic commit to finish so that it can do
> its own atomic commit. In order to break the deadlock we need to
> abort the fence waits in the atomic commit, and that's what this
> "reset fence" achieves.
As far as I can see that approach looks strongly like a no-go.
You essentially have a lock inversion here and it is documented that it should *never* be resolved by a timeout, the approach you take now is not much better.
Regards,
Christian.
>
>>
>> Thanks,
>> Christian.
>>
>>>
>>> Cc: Simona Vetter <simona.vetter@ffwll.ch>
>>> Cc: Christian König <christian.koenig@amd.com>
>>> Cc: Jani Nikula <jani.nikula@intel.com>
>>> Cc: Jouni Högander <jouni.hogander@intel.com>
>>> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
>>> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
>>> ---
>>> drivers/gpu/drm/i915/display/intel_display.c | 34 +++++---
>>> .../gpu/drm/i915/display/intel_display_core.h | 6 ++
>>> .../drm/i915/display/intel_display_driver.c | 5 ++
>>> .../drm/i915/display/intel_display_reset.c | 77 +++++++++++++++++++
>>> .../drm/i915/display/intel_display_reset.h | 4 +
>>> drivers/gpu/drm/xe/Makefile | 1 +
>>> 6 files changed, 117 insertions(+), 10 deletions(-)
>>>
>>> diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
>>> index 58a654ca0d20..83ccf13c4b16 100644
>>> --- a/drivers/gpu/drm/i915/display/intel_display.c
>>> +++ b/drivers/gpu/drm/i915/display/intel_display.c
>>> @@ -72,6 +72,7 @@
>>> #include "intel_display_driver.h"
>>> #include "intel_display_power.h"
>>> #include "intel_display_regs.h"
>>> +#include "intel_display_reset.h"
>>> #include "intel_display_rpm.h"
>>> #include "intel_display_types.h"
>>> #include "intel_display_utils.h"
>>> @@ -7149,22 +7150,35 @@ static void skl_commit_modeset_enables(struct intel_atomic_state *state)
>>>
>>> static void intel_atomic_commit_fence_wait(struct intel_atomic_state *intel_state)
>>> {
>>> - struct drm_plane *plane;
>>> + struct intel_display *display = to_intel_display(intel_state);
>>> struct drm_plane_state *new_plane_state;
>>> - long ret;
>>> + struct dma_fence *reset_fence;
>>> + struct drm_plane *plane;
>>> int i;
>>>
>>> + reset_fence = intel_display_reset_fence_get(display);
>>> +
>>> for_each_new_plane_in_state(&intel_state->base, plane, new_plane_state, i) {
>>> - if (new_plane_state->fence) {
>>> - ret = dma_fence_wait_timeout(new_plane_state->fence, false,
>>> - i915_fence_timeout());
>>> - if (ret <= 0)
>>> - break;
>>> + struct dma_fence *fences[2] = {
>>> + [0] = new_plane_state->fence,
>>> + [1] = reset_fence,
>>> + };
>>> + long ret;
>>>
>>> - dma_fence_put(new_plane_state->fence);
>>> - new_plane_state->fence = NULL;
>>> - }
>>> + if (!new_plane_state->fence)
>>> + continue;
>>> +
>>> + ret = dma_fence_wait_any_timeout(fences, reset_fence ? 2 : 1, false,
>>> + i915_fence_timeout(), NULL);
>>> + if (ret <= 0)
>>> + break;
>>> +
>>> + dma_fence_put(new_plane_state->fence);
>>> + new_plane_state->fence = NULL;
>>> }
>>> +
>>> + if (reset_fence)
>>> + dma_fence_put(reset_fence);
>>> }
>>>
>>> static void intel_atomic_dsb_wait_commit(struct intel_crtc_state *crtc_state)
>>> diff --git a/drivers/gpu/drm/i915/display/intel_display_core.h b/drivers/gpu/drm/i915/display/intel_display_core.h
>>> index 9e77003addd0..6687b658c51d 100644
>>> --- a/drivers/gpu/drm/i915/display/intel_display_core.h
>>> +++ b/drivers/gpu/drm/i915/display/intel_display_core.h
>>> @@ -556,6 +556,12 @@ struct intel_display {
>>> unsigned long mask;
>>> } quirks;
>>>
>>> + struct {
>>> + /* protects reset.fence */
>>> + struct mutex mutex;
>>> + struct dma_fence *fence;
>>> + } reset;
>>> +
>>> struct {
>>> /* restore state for suspend/resume and display reset */
>>> struct drm_atomic_state *modeset_state;
>>> diff --git a/drivers/gpu/drm/i915/display/intel_display_driver.c b/drivers/gpu/drm/i915/display/intel_display_driver.c
>>> index 23bfecc983e8..fcd31722c731 100644
>>> --- a/drivers/gpu/drm/i915/display/intel_display_driver.c
>>> +++ b/drivers/gpu/drm/i915/display/intel_display_driver.c
>>> @@ -34,6 +34,7 @@
>>> #include "intel_display_driver.h"
>>> #include "intel_display_irq.h"
>>> #include "intel_display_power.h"
>>> +#include "intel_display_reset.h"
>>> #include "intel_display_types.h"
>>> #include "intel_display_utils.h"
>>> #include "intel_display_wa.h"
>>> @@ -257,6 +258,8 @@ int intel_display_driver_probe_noirq(struct intel_display *display)
>>>
>>> intel_mode_config_init(display);
>>>
>>> + intel_display_reset_fence_init(display);
>>> +
>>> ret = intel_cdclk_init(display);
>>> if (ret)
>>> goto cleanup_wq_unordered;
>>> @@ -584,6 +587,8 @@ void intel_display_driver_remove(struct intel_display *display)
>>> if (!HAS_DISPLAY(display))
>>> return;
>>>
>>> + intel_display_reset_fence_discard(display);
>>> +
>>> flush_workqueue(display->wq.flip);
>>> flush_workqueue(display->wq.modeset);
>>> flush_workqueue(display->wq.cleanup);
>>> diff --git a/drivers/gpu/drm/i915/display/intel_display_reset.c b/drivers/gpu/drm/i915/display/intel_display_reset.c
>>> index ca15dc18ef0f..80dd2ea8a0c2 100644
>>> --- a/drivers/gpu/drm/i915/display/intel_display_reset.c
>>> +++ b/drivers/gpu/drm/i915/display/intel_display_reset.c
>>> @@ -3,6 +3,8 @@
>>> * Copyright © 2023 Intel Corporation
>>> */
>>>
>>> +#include <linux/dma-fence.h>
>>> +
>>> #include <drm/drm_atomic_helper.h>
>>> #include <drm/drm_print.h>
>>>
>>> @@ -16,6 +18,72 @@
>>> #include "intel_hotplug.h"
>>> #include "intel_pps.h"
>>>
>>> +static const char *intel_display_reset_fence_get_driver_name(struct dma_fence *fence)
>>> +{
>>> + return "intel_display";
>>> +}
>>> +
>>> +static const char *intel_display_reset_fence_get_timeline_name(struct dma_fence *fence)
>>> +{
>>> + return "reset";
>>> +}
>>> +
>>> +static const struct dma_fence_ops intel_display_reset_fence_ops = {
>>> + .get_driver_name = intel_display_reset_fence_get_driver_name,
>>> + .get_timeline_name = intel_display_reset_fence_get_timeline_name,
>>> +};
>>> +
>>> +static void intel_display_reset_create(struct intel_display *display)
>>> +{
>>> + struct dma_fence *fence;
>>> +
>>> + fence = kzalloc_obj(*fence);
>>> + if (!fence)
>>> + return;
>>> +
>>> + dma_fence_init(fence, &intel_display_reset_fence_ops, NULL, 0, 0);
>>> +
>>> + display->reset.fence = fence;
>>> +}
>>> +
>>> +struct dma_fence *intel_display_reset_fence_get(struct intel_display *display)
>>> +{
>>> + struct dma_fence *fence;
>>> +
>>> + mutex_lock(&display->reset.mutex);
>>> +
>>> + if (!display->reset.fence)
>>> + intel_display_reset_create(display);
>>> +
>>> + fence = display->reset.fence;
>>> + if (fence)
>>> + dma_fence_get(fence);
>>> +
>>> + mutex_unlock(&display->reset.mutex);
>>> +
>>> + return fence;
>>> +}
>>> +
>>> +void intel_display_reset_fence_discard(struct intel_display *display)
>>> +{
>>> + struct dma_fence *fence;
>>> +
>>> + mutex_lock(&display->reset.mutex);
>>> +
>>> + fence = display->reset.fence;
>>> + if (fence)
>>> + dma_fence_put(fence);
>>> +
>>> + display->reset.fence = NULL;
>>> +
>>> + mutex_unlock(&display->reset.mutex);
>>> +}
>>> +
>>> +void intel_display_reset_fence_init(struct intel_display *display)
>>> +{
>>> + mutex_init(&display->reset.mutex);
>>> +}
>>> +
>>> bool intel_display_reset_supported(struct intel_display *display)
>>> {
>>> return HAS_DISPLAY(display);
>>> @@ -31,8 +99,15 @@ void intel_display_reset_prepare(struct intel_display *display)
>>> {
>>> struct drm_modeset_acquire_ctx *ctx = &display->restore.reset_ctx;
>>> struct drm_atomic_state *state;
>>> + struct dma_fence *reset_fence;
>>> int ret;
>>>
>>> + reset_fence = intel_display_reset_fence_get(display);
>>> + if (reset_fence) {
>>> + dma_fence_signal(reset_fence);
>>> + dma_fence_put(reset_fence);
>>> + }
>>> +
>>> /*
>>> * Need mode_config.mutex so that we don't
>>> * trample ongoing ->detect() and whatnot.
>>> @@ -110,6 +185,8 @@ void intel_display_reset_finish(struct intel_display *display, bool test_only)
>>>
>>> drm_atomic_state_put(state);
>>> unlock:
>>> + intel_display_reset_fence_discard(display);
>>> +
>>> drm_modeset_drop_locks(ctx);
>>> drm_modeset_acquire_fini(ctx);
>>> mutex_unlock(&display->drm->mode_config.mutex);
>>> diff --git a/drivers/gpu/drm/i915/display/intel_display_reset.h b/drivers/gpu/drm/i915/display/intel_display_reset.h
>>> index a8aa7729d33f..c36a075c6b4d 100644
>>> --- a/drivers/gpu/drm/i915/display/intel_display_reset.h
>>> +++ b/drivers/gpu/drm/i915/display/intel_display_reset.h
>>> @@ -10,6 +10,10 @@
>>>
>>> struct intel_display;
>>>
>>> +struct dma_fence *intel_display_reset_fence_get(struct intel_display *display);
>>> +void intel_display_reset_fence_discard(struct intel_display *display);
>>> +void intel_display_reset_fence_init(struct intel_display *display);
>>> +
>>> bool intel_display_reset_supported(struct intel_display *display);
>>> bool intel_display_reset_test(struct intel_display *display);
>>> void intel_display_reset_prepare(struct intel_display *display);
>>> diff --git a/drivers/gpu/drm/xe/Makefile b/drivers/gpu/drm/xe/Makefile
>>> index 110fef511fe2..1a85dfe457f0 100644
>>> --- a/drivers/gpu/drm/xe/Makefile
>>> +++ b/drivers/gpu/drm/xe/Makefile
>>> @@ -262,6 +262,7 @@ xe-$(CONFIG_DRM_XE_DISPLAY) += \
>>> i915-display/intel_display_power.o \
>>> i915-display/intel_display_power_map.o \
>>> i915-display/intel_display_power_well.o \
>>> + i915-display/intel_display_reset.o \
>>> i915-display/intel_display_rpm.o \
>>> i915-display/intel_display_rps.o \
>>> i915-display/intel_display_trace.o \
>
^ permalink raw reply [flat|nested] 19+ messages in thread
* [PATCH 6/6] drm/i915/display: Make fence timeout infinite
2026-04-08 23:34 [PATCH 0/6] drm/i915/reset: Solve display vs. GPU reset deadlock, again Ville Syrjala
` (4 preceding siblings ...)
2026-04-08 23:34 ` [PATCH 5/6] drm/i915/reset: Handle the display vs. GPU reset deadlock using a custom dma-fence Ville Syrjala
@ 2026-04-08 23:34 ` Ville Syrjala
2026-04-09 10:51 ` Jani Nikula
2026-04-09 3:27 ` ✓ i915.CI.BAT: success for drm/i915/reset: Solve display vs. GPU reset deadlock, again Patchwork
2026-04-09 12:06 ` ✓ i915.CI.Full: " Patchwork
7 siblings, 1 reply; 19+ messages in thread
From: Ville Syrjala @ 2026-04-08 23:34 UTC (permalink / raw)
To: intel-gfx
Cc: intel-xe, dri-devel, Simona Vetter, Christian König,
Jani Nikula, Jouni Högander, Maarten Lankhorst
From: Ville Syrjälä <ville.syrjala@linux.intel.com>
Switch from the 10s default fence timeout on i915 to an
infinite timeout like xe.
I'm not actually convinced we want an infinite timeout here because
the fence could be from an entirely different device/driver, and
I'm not sure it's a good idea to allow our driver to get
completely stuck due to other peoples' bugs. So I'm thinking we
should probably have a sensible timeout also on xe. But I want to
at least see what CI says about this new reset_fence thing with
an infinite timeout...
Cc: Simona Vetter <simona.vetter@ffwll.ch>
Cc: Christian König <christian.koenig@amd.com>
Cc: Jani Nikula <jani.nikula@intel.com>
Cc: Jouni Högander <jouni.hogander@intel.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
drivers/gpu/drm/i915/display/intel_display.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
index 83ccf13c4b16..a9d0e1241642 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -7169,7 +7169,7 @@ static void intel_atomic_commit_fence_wait(struct intel_atomic_state *intel_stat
continue;
ret = dma_fence_wait_any_timeout(fences, reset_fence ? 2 : 1, false,
- i915_fence_timeout(), NULL);
+ MAX_SCHEDULE_TIMEOUT, NULL);
if (ret <= 0)
break;
--
2.52.0
^ permalink raw reply related [flat|nested] 19+ messages in thread* Re: [PATCH 6/6] drm/i915/display: Make fence timeout infinite
2026-04-08 23:34 ` [PATCH 6/6] drm/i915/display: Make fence timeout infinite Ville Syrjala
@ 2026-04-09 10:51 ` Jani Nikula
0 siblings, 0 replies; 19+ messages in thread
From: Jani Nikula @ 2026-04-09 10:51 UTC (permalink / raw)
To: Ville Syrjala, intel-gfx
Cc: intel-xe, dri-devel, Simona Vetter, Christian König,
Jouni Högander, Maarten Lankhorst
On Thu, 09 Apr 2026, Ville Syrjala <ville.syrjala@linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> Switch from the 10s default fence timeout on i915 to an
> infinite timeout like xe.
>
> I'm not actually convinced we want an infinite timeout here because
> the fence could be from an entirely different device/driver, and
> I'm not sure it's a good idea to allow our driver to get
> completely stuck due to other peoples' bugs. So I'm thinking we
> should probably have a sensible timeout also on xe. But I want to
> at least see what CI says about this new reset_fence thing with
> an infinite timeout...
My only goal here is to get rid of i915_fence_timeout(), and remove
i915_config.h from xe compat.
BR,
Jani.
>
> Cc: Simona Vetter <simona.vetter@ffwll.ch>
> Cc: Christian König <christian.koenig@amd.com>
> Cc: Jani Nikula <jani.nikula@intel.com>
> Cc: Jouni Högander <jouni.hogander@intel.com>
> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_display.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
> index 83ccf13c4b16..a9d0e1241642 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -7169,7 +7169,7 @@ static void intel_atomic_commit_fence_wait(struct intel_atomic_state *intel_stat
> continue;
>
> ret = dma_fence_wait_any_timeout(fences, reset_fence ? 2 : 1, false,
> - i915_fence_timeout(), NULL);
> + MAX_SCHEDULE_TIMEOUT, NULL);
> if (ret <= 0)
> break;
--
Jani Nikula, Intel
^ permalink raw reply [flat|nested] 19+ messages in thread
* ✓ i915.CI.BAT: success for drm/i915/reset: Solve display vs. GPU reset deadlock, again
2026-04-08 23:34 [PATCH 0/6] drm/i915/reset: Solve display vs. GPU reset deadlock, again Ville Syrjala
` (5 preceding siblings ...)
2026-04-08 23:34 ` [PATCH 6/6] drm/i915/display: Make fence timeout infinite Ville Syrjala
@ 2026-04-09 3:27 ` Patchwork
2026-04-09 12:06 ` ✓ i915.CI.Full: " Patchwork
7 siblings, 0 replies; 19+ messages in thread
From: Patchwork @ 2026-04-09 3:27 UTC (permalink / raw)
To: Ville Syrjala; +Cc: intel-gfx
[-- Attachment #1: Type: text/plain, Size: 2626 bytes --]
== Series Details ==
Series: drm/i915/reset: Solve display vs. GPU reset deadlock, again
URL : https://patchwork.freedesktop.org/series/164577/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_18296 -> Patchwork_164577v1
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/index.html
Participating hosts (42 -> 40)
------------------------------
Missing (2): bat-dg2-13 fi-snb-2520m
Known issues
------------
Here are the changes found in Patchwork_164577v1 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@i915_selftest@live:
- bat-mtlp-8: [PASS][1] -> [DMESG-FAIL][2] ([i915#12061]) +1 other test dmesg-fail
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/bat-mtlp-8/igt@i915_selftest@live.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/bat-mtlp-8/igt@i915_selftest@live.html
* igt@i915_selftest@live@workarounds:
- bat-arls-5: [PASS][3] -> [DMESG-FAIL][4] ([i915#12061]) +1 other test dmesg-fail
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/bat-arls-5/igt@i915_selftest@live@workarounds.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/bat-arls-5/igt@i915_selftest@live@workarounds.html
#### Possible fixes ####
* igt@i915_selftest@live:
- bat-dg2-8: [DMESG-FAIL][5] ([i915#12061]) -> [PASS][6] +1 other test pass
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/bat-dg2-8/igt@i915_selftest@live.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/bat-dg2-8/igt@i915_selftest@live.html
* igt@i915_selftest@live@workarounds:
- bat-dg2-9: [DMESG-FAIL][7] ([i915#12061]) -> [PASS][8] +1 other test pass
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/bat-dg2-9/igt@i915_selftest@live@workarounds.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/bat-dg2-9/igt@i915_selftest@live@workarounds.html
[i915#12061]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12061
Build changes
-------------
* Linux: CI_DRM_18296 -> Patchwork_164577v1
CI-20190529: 20190529
CI_DRM_18296: 994d34e9b0e78a8c9f5768d55529bdf194654793 @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_8850: 8850
Patchwork_164577v1: 994d34e9b0e78a8c9f5768d55529bdf194654793 @ git://anongit.freedesktop.org/gfx-ci/linux
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/index.html
[-- Attachment #2: Type: text/html, Size: 3544 bytes --]
^ permalink raw reply [flat|nested] 19+ messages in thread* ✓ i915.CI.Full: success for drm/i915/reset: Solve display vs. GPU reset deadlock, again
2026-04-08 23:34 [PATCH 0/6] drm/i915/reset: Solve display vs. GPU reset deadlock, again Ville Syrjala
` (6 preceding siblings ...)
2026-04-09 3:27 ` ✓ i915.CI.BAT: success for drm/i915/reset: Solve display vs. GPU reset deadlock, again Patchwork
@ 2026-04-09 12:06 ` Patchwork
7 siblings, 0 replies; 19+ messages in thread
From: Patchwork @ 2026-04-09 12:06 UTC (permalink / raw)
To: Ville Syrjälä; +Cc: intel-gfx
[-- Attachment #1: Type: text/plain, Size: 93013 bytes --]
== Series Details ==
Series: drm/i915/reset: Solve display vs. GPU reset deadlock, again
URL : https://patchwork.freedesktop.org/series/164577/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_18296_full -> Patchwork_164577v1_full
====================================================
Summary
-------
**WARNING**
Minor unknown changes coming with Patchwork_164577v1_full need to be verified
manually.
If you think the reported changes have nothing to do with the changes
introduced in Patchwork_164577v1_full, please notify your bug team (I915-ci-infra@lists.freedesktop.org) to allow them
to document this new failure mode, which will reduce false positives in CI.
Participating hosts (10 -> 10)
------------------------------
No changes in participating hosts
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in Patchwork_164577v1_full:
### IGT changes ###
#### Warnings ####
* igt@gem_exec_nop@basic-parallel:
- shard-mtlp: [ABORT][1] ([i915#13562]) -> [ABORT][2]
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-mtlp-8/igt@gem_exec_nop@basic-parallel.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-mtlp-7/igt@gem_exec_nop@basic-parallel.html
Known issues
------------
Here are the changes found in Patchwork_164577v1_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@api_intel_bb@blit-reloc-purge-cache:
- shard-dg2: NOTRUN -> [SKIP][3] ([i915#8411])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-dg2-7/igt@api_intel_bb@blit-reloc-purge-cache.html
* igt@api_intel_bb@crc32:
- shard-rkl: NOTRUN -> [SKIP][4] ([i915#6230])
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-4/igt@api_intel_bb@crc32.html
* igt@drm_buddy@drm_buddy:
- shard-tglu: NOTRUN -> [SKIP][5] ([i915#15678])
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-tglu-6/igt@drm_buddy@drm_buddy.html
* igt@gem_ccs@suspend-resume@xmajor-compressed-compfmt0-smem-lmem0:
- shard-dg2: NOTRUN -> [INCOMPLETE][6] ([i915#12392] / [i915#13356])
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-dg2-10/igt@gem_ccs@suspend-resume@xmajor-compressed-compfmt0-smem-lmem0.html
* igt@gem_ctx_isolation@preservation-s3:
- shard-rkl: [PASS][7] -> [ABORT][8] ([i915#15131]) +1 other test abort
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-rkl-8/igt@gem_ctx_isolation@preservation-s3.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-1/igt@gem_ctx_isolation@preservation-s3.html
* igt@gem_ctx_persistence@heartbeat-hang:
- shard-dg2: NOTRUN -> [SKIP][9] ([i915#8555])
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-dg2-5/igt@gem_ctx_persistence@heartbeat-hang.html
* igt@gem_ctx_sseu@engines:
- shard-rkl: NOTRUN -> [SKIP][10] ([i915#280])
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-4/igt@gem_ctx_sseu@engines.html
* igt@gem_eio@kms:
- shard-tglu-1: NOTRUN -> [DMESG-WARN][11] ([i915#13363])
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-tglu-1/igt@gem_eio@kms.html
* igt@gem_exec_balancer@parallel-out-fence:
- shard-rkl: NOTRUN -> [SKIP][12] ([i915#4525])
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-8/igt@gem_exec_balancer@parallel-out-fence.html
- shard-tglu-1: NOTRUN -> [SKIP][13] ([i915#4525])
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-tglu-1/igt@gem_exec_balancer@parallel-out-fence.html
* igt@gem_exec_reloc@basic-range-active:
- shard-dg2: NOTRUN -> [SKIP][14] ([i915#3281]) +4 other tests skip
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-dg2-7/igt@gem_exec_reloc@basic-range-active.html
* igt@gem_exec_reloc@basic-write-read-active:
- shard-rkl: NOTRUN -> [SKIP][15] ([i915#3281]) +6 other tests skip
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-4/igt@gem_exec_reloc@basic-write-read-active.html
* igt@gem_exec_schedule@preempt-queue-chain:
- shard-dg2: NOTRUN -> [SKIP][16] ([i915#4537] / [i915#4812])
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-dg2-5/igt@gem_exec_schedule@preempt-queue-chain.html
* igt@gem_huc_copy@huc-copy:
- shard-tglu: NOTRUN -> [SKIP][17] ([i915#2190])
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-tglu-6/igt@gem_huc_copy@huc-copy.html
* igt@gem_lmem_swapping@heavy-random:
- shard-glk: NOTRUN -> [SKIP][18] ([i915#4613]) +1 other test skip
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-glk4/igt@gem_lmem_swapping@heavy-random.html
- shard-rkl: NOTRUN -> [SKIP][19] ([i915#4613])
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-2/igt@gem_lmem_swapping@heavy-random.html
* igt@gem_lmem_swapping@parallel-multi:
- shard-tglu: NOTRUN -> [SKIP][20] ([i915#4613]) +1 other test skip
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-tglu-6/igt@gem_lmem_swapping@parallel-multi.html
* igt@gem_mmap_gtt@coherency:
- shard-glk11: NOTRUN -> [SKIP][21] +61 other tests skip
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-glk11/igt@gem_mmap_gtt@coherency.html
* igt@gem_mmap_gtt@isolation:
- shard-dg2: NOTRUN -> [SKIP][22] ([i915#4077]) +2 other tests skip
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-dg2-5/igt@gem_mmap_gtt@isolation.html
* igt@gem_mmap_wc@close:
- shard-dg2: NOTRUN -> [SKIP][23] ([i915#4083]) +2 other tests skip
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-dg2-5/igt@gem_mmap_wc@close.html
* igt@gem_partial_pwrite_pread@reads-uncached:
- shard-rkl: NOTRUN -> [SKIP][24] ([i915#3282]) +6 other tests skip
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-2/igt@gem_partial_pwrite_pread@reads-uncached.html
* igt@gem_pxp@create-regular-context-2:
- shard-dg2: NOTRUN -> [SKIP][25] ([i915#4270])
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-dg2-5/igt@gem_pxp@create-regular-context-2.html
* igt@gem_pxp@hw-rejects-pxp-buffer:
- shard-tglu: NOTRUN -> [SKIP][26] ([i915#13398])
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-tglu-6/igt@gem_pxp@hw-rejects-pxp-buffer.html
* igt@gem_pxp@hw-rejects-pxp-context:
- shard-rkl: NOTRUN -> [SKIP][27] ([i915#13717])
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-7/igt@gem_pxp@hw-rejects-pxp-context.html
* igt@gem_render_copy@yf-tiled-ccs-to-y-tiled:
- shard-dg2: NOTRUN -> [SKIP][28] ([i915#5190] / [i915#8428]) +1 other test skip
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-dg2-5/igt@gem_render_copy@yf-tiled-ccs-to-y-tiled.html
* igt@gem_userptr_blits@coherency-sync:
- shard-tglu: NOTRUN -> [SKIP][29] ([i915#3297]) +2 other tests skip
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-tglu-6/igt@gem_userptr_blits@coherency-sync.html
* igt@gem_userptr_blits@dmabuf-sync:
- shard-glk: NOTRUN -> [SKIP][30] ([i915#3323])
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-glk3/igt@gem_userptr_blits@dmabuf-sync.html
* igt@gem_userptr_blits@readonly-pwrite-unsync:
- shard-rkl: NOTRUN -> [SKIP][31] ([i915#3297]) +2 other tests skip
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-7/igt@gem_userptr_blits@readonly-pwrite-unsync.html
* igt@gem_userptr_blits@unsync-unmap-after-close:
- shard-dg2: NOTRUN -> [SKIP][32] ([i915#3297])
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-dg2-5/igt@gem_userptr_blits@unsync-unmap-after-close.html
- shard-tglu-1: NOTRUN -> [SKIP][33] ([i915#3297])
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-tglu-1/igt@gem_userptr_blits@unsync-unmap-after-close.html
* igt@gem_workarounds@suspend-resume:
- shard-glk11: NOTRUN -> [INCOMPLETE][34] ([i915#13356] / [i915#14586])
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-glk11/igt@gem_workarounds@suspend-resume.html
* igt@gen3_render_mixed_blits:
- shard-dg2: NOTRUN -> [SKIP][35] +3 other tests skip
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-dg2-5/igt@gen3_render_mixed_blits.html
* igt@gen9_exec_parse@bb-start-cmd:
- shard-tglu-1: NOTRUN -> [SKIP][36] ([i915#2527] / [i915#2856])
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-tglu-1/igt@gen9_exec_parse@bb-start-cmd.html
- shard-dg2: NOTRUN -> [SKIP][37] ([i915#2856])
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-dg2-5/igt@gen9_exec_parse@bb-start-cmd.html
* igt@gen9_exec_parse@bb-start-out:
- shard-rkl: NOTRUN -> [SKIP][38] ([i915#2527]) +2 other tests skip
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-4/igt@gen9_exec_parse@bb-start-out.html
* igt@i915_drm_fdinfo@busy@vecs1:
- shard-dg2: NOTRUN -> [SKIP][39] ([i915#14073]) +7 other tests skip
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-dg2-5/igt@i915_drm_fdinfo@busy@vecs1.html
* igt@i915_pm_freq_api@freq-basic-api:
- shard-tglu: NOTRUN -> [SKIP][40] ([i915#8399])
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-tglu-6/igt@i915_pm_freq_api@freq-basic-api.html
* igt@i915_pm_freq_api@freq-reset-multiple:
- shard-rkl: NOTRUN -> [SKIP][41] ([i915#8399])
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-4/igt@i915_pm_freq_api@freq-reset-multiple.html
* igt@i915_pm_rc6_residency@rc6-fence:
- shard-tglu: [PASS][42] -> [WARN][43] ([i915#13790] / [i915#2681]) +1 other test warn
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-tglu-6/igt@i915_pm_rc6_residency@rc6-fence.html
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-tglu-7/igt@i915_pm_rc6_residency@rc6-fence.html
* igt@i915_query@hwconfig_table:
- shard-tglu-1: NOTRUN -> [SKIP][44] ([i915#6245])
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-tglu-1/igt@i915_query@hwconfig_table.html
* igt@i915_suspend@basic-s3-without-i915:
- shard-glk11: NOTRUN -> [INCOMPLETE][45] ([i915#4817])
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-glk11/igt@i915_suspend@basic-s3-without-i915.html
* igt@i915_suspend@debugfs-reader:
- shard-glk: NOTRUN -> [INCOMPLETE][46] ([i915#4817])
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-glk6/igt@i915_suspend@debugfs-reader.html
* igt@kms_addfb_basic@addfb25-x-tiled-mismatch-legacy:
- shard-dg2: NOTRUN -> [SKIP][47] ([i915#4212])
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-dg2-5/igt@kms_addfb_basic@addfb25-x-tiled-mismatch-legacy.html
* igt@kms_async_flips@async-flip-suspend-resume:
- shard-glk: NOTRUN -> [INCOMPLETE][48] ([i915#12761]) +1 other test incomplete
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-glk4/igt@kms_async_flips@async-flip-suspend-resume.html
* igt@kms_big_fb@4-tiled-addfb:
- shard-rkl: NOTRUN -> [SKIP][49] ([i915#5286]) +3 other tests skip
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-8/igt@kms_big_fb@4-tiled-addfb.html
- shard-tglu-1: NOTRUN -> [SKIP][50] ([i915#5286]) +2 other tests skip
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-tglu-1/igt@kms_big_fb@4-tiled-addfb.html
* igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0-async-flip:
- shard-tglu: NOTRUN -> [SKIP][51] ([i915#5286]) +2 other tests skip
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-tglu-6/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0-async-flip.html
* igt@kms_big_fb@linear-max-hw-stride-32bpp-rotate-0-hflip:
- shard-rkl: NOTRUN -> [SKIP][52] ([i915#3828])
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-8/igt@kms_big_fb@linear-max-hw-stride-32bpp-rotate-0-hflip.html
* igt@kms_big_fb@y-tiled-8bpp-rotate-270:
- shard-rkl: NOTRUN -> [SKIP][53] ([i915#3638]) +4 other tests skip
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-7/igt@kms_big_fb@y-tiled-8bpp-rotate-270.html
* igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip:
- shard-dg2: NOTRUN -> [SKIP][54] ([i915#4538] / [i915#5190]) +2 other tests skip
[54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-dg2-5/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip.html
* igt@kms_ccs@bad-pixel-format-4-tiled-mtl-mc-ccs@pipe-b-hdmi-a-4:
- shard-dg1: NOTRUN -> [SKIP][55] ([i915#6095]) +111 other tests skip
[55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-dg1-19/igt@kms_ccs@bad-pixel-format-4-tiled-mtl-mc-ccs@pipe-b-hdmi-a-4.html
* igt@kms_ccs@bad-pixel-format-y-tiled-gen12-mc-ccs:
- shard-tglu-1: NOTRUN -> [SKIP][56] ([i915#6095]) +34 other tests skip
[56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-tglu-1/igt@kms_ccs@bad-pixel-format-y-tiled-gen12-mc-ccs.html
* igt@kms_ccs@bad-rotation-90-4-tiled-bmg-ccs:
- shard-dg2: NOTRUN -> [SKIP][57] ([i915#12313])
[57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-dg2-5/igt@kms_ccs@bad-rotation-90-4-tiled-bmg-ccs.html
- shard-tglu-1: NOTRUN -> [SKIP][58] ([i915#12313])
[58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-tglu-1/igt@kms_ccs@bad-rotation-90-4-tiled-bmg-ccs.html
* igt@kms_ccs@ccs-on-another-bo-y-tiled-gen12-mc-ccs@pipe-b-hdmi-a-3:
- shard-dg2: NOTRUN -> [SKIP][59] ([i915#10307] / [i915#6095]) +59 other tests skip
[59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-dg2-5/igt@kms_ccs@ccs-on-another-bo-y-tiled-gen12-mc-ccs@pipe-b-hdmi-a-3.html
* igt@kms_ccs@crc-primary-basic-4-tiled-dg2-mc-ccs@pipe-d-hdmi-a-3:
- shard-dg2: NOTRUN -> [SKIP][60] ([i915#6095]) +41 other tests skip
[60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-dg2-7/igt@kms_ccs@crc-primary-basic-4-tiled-dg2-mc-ccs@pipe-d-hdmi-a-3.html
* igt@kms_ccs@crc-primary-basic-4-tiled-dg2-rc-ccs@pipe-a-hdmi-a-2:
- shard-rkl: NOTRUN -> [SKIP][61] ([i915#14544] / [i915#6095]) +1 other test skip
[61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-6/igt@kms_ccs@crc-primary-basic-4-tiled-dg2-rc-ccs@pipe-a-hdmi-a-2.html
* igt@kms_ccs@crc-primary-basic-4-tiled-dg2-rc-ccs@pipe-c-hdmi-a-2:
- shard-rkl: NOTRUN -> [SKIP][62] ([i915#14098] / [i915#14544] / [i915#6095])
[62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-6/igt@kms_ccs@crc-primary-basic-4-tiled-dg2-rc-ccs@pipe-c-hdmi-a-2.html
* igt@kms_ccs@crc-primary-rotation-180-y-tiled-gen12-mc-ccs:
- shard-tglu: NOTRUN -> [SKIP][63] ([i915#6095]) +19 other tests skip
[63]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-tglu-6/igt@kms_ccs@crc-primary-rotation-180-y-tiled-gen12-mc-ccs.html
* igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs@pipe-c-hdmi-a-2:
- shard-rkl: NOTRUN -> [INCOMPLETE][64] ([i915#14694] / [i915#15582])
[64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-3/igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs@pipe-c-hdmi-a-2.html
* igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs@pipe-c-hdmi-a-2:
- shard-rkl: NOTRUN -> [SKIP][65] ([i915#14098] / [i915#6095]) +56 other tests skip
[65]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-7/igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs@pipe-c-hdmi-a-2.html
* igt@kms_ccs@crc-sprite-planes-basic-4-tiled-mtl-rc-ccs-cc@pipe-d-hdmi-a-1:
- shard-dg2: NOTRUN -> [SKIP][66] ([i915#10307] / [i915#10434] / [i915#6095]) +1 other test skip
[66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-dg2-4/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-mtl-rc-ccs-cc@pipe-d-hdmi-a-1.html
* igt@kms_ccs@random-ccs-data-4-tiled-lnl-ccs:
- shard-rkl: NOTRUN -> [SKIP][67] ([i915#12313])
[67]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-2/igt@kms_ccs@random-ccs-data-4-tiled-lnl-ccs.html
* igt@kms_ccs@random-ccs-data-4-tiled-mtl-rc-ccs@pipe-b-hdmi-a-2:
- shard-rkl: NOTRUN -> [SKIP][68] ([i915#6095]) +95 other tests skip
[68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-7/igt@kms_ccs@random-ccs-data-4-tiled-mtl-rc-ccs@pipe-b-hdmi-a-2.html
* igt@kms_cdclk@mode-transition:
- shard-rkl: NOTRUN -> [SKIP][69] ([i915#3742])
[69]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-8/igt@kms_cdclk@mode-transition.html
- shard-tglu-1: NOTRUN -> [SKIP][70] ([i915#3742])
[70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-tglu-1/igt@kms_cdclk@mode-transition.html
* igt@kms_cdclk@mode-transition@pipe-d-hdmi-a-3:
- shard-dg2: NOTRUN -> [SKIP][71] ([i915#13781]) +4 other tests skip
[71]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-dg2-5/igt@kms_cdclk@mode-transition@pipe-d-hdmi-a-3.html
* igt@kms_cdclk@plane-scaling@pipe-c-hdmi-a-3:
- shard-dg2: NOTRUN -> [SKIP][72] ([i915#13783]) +3 other tests skip
[72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-dg2-5/igt@kms_cdclk@plane-scaling@pipe-c-hdmi-a-3.html
* igt@kms_chamelium_frames@dp-crc-single:
- shard-tglu: NOTRUN -> [SKIP][73] ([i915#11151] / [i915#7828]) +3 other tests skip
[73]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-tglu-6/igt@kms_chamelium_frames@dp-crc-single.html
* igt@kms_chamelium_frames@dp-frame-dump:
- shard-tglu-1: NOTRUN -> [SKIP][74] ([i915#11151] / [i915#7828]) +3 other tests skip
[74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-tglu-1/igt@kms_chamelium_frames@dp-frame-dump.html
* igt@kms_chamelium_frames@hdmi-crc-nonplanar-formats:
- shard-dg2: NOTRUN -> [SKIP][75] ([i915#11151] / [i915#7828]) +1 other test skip
[75]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-dg2-5/igt@kms_chamelium_frames@hdmi-crc-nonplanar-formats.html
* igt@kms_chamelium_hpd@dp-hpd-enable-disable-mode:
- shard-rkl: NOTRUN -> [SKIP][76] ([i915#11151] / [i915#7828]) +6 other tests skip
[76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-4/igt@kms_chamelium_hpd@dp-hpd-enable-disable-mode.html
* igt@kms_content_protection@dp-mst-type-0-suspend-resume:
- shard-tglu: NOTRUN -> [SKIP][77] ([i915#15330])
[77]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-tglu-6/igt@kms_content_protection@dp-mst-type-0-suspend-resume.html
* igt@kms_content_protection@mei-interface:
- shard-tglu: NOTRUN -> [SKIP][78] ([i915#15865])
[78]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-tglu-6/igt@kms_content_protection@mei-interface.html
* igt@kms_content_protection@type1:
- shard-dg2: NOTRUN -> [SKIP][79] ([i915#15865])
[79]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-dg2-5/igt@kms_content_protection@type1.html
- shard-rkl: NOTRUN -> [SKIP][80] ([i915#15865]) +2 other tests skip
[80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-8/igt@kms_content_protection@type1.html
- shard-tglu-1: NOTRUN -> [SKIP][81] ([i915#15865]) +1 other test skip
[81]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-tglu-1/igt@kms_content_protection@type1.html
* igt@kms_cursor_crc@cursor-offscreen-512x512:
- shard-dg2: NOTRUN -> [SKIP][82] ([i915#13049])
[82]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-dg2-5/igt@kms_cursor_crc@cursor-offscreen-512x512.html
- shard-rkl: NOTRUN -> [SKIP][83] ([i915#13049])
[83]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-8/igt@kms_cursor_crc@cursor-offscreen-512x512.html
- shard-tglu-1: NOTRUN -> [SKIP][84] ([i915#13049])
[84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-tglu-1/igt@kms_cursor_crc@cursor-offscreen-512x512.html
* igt@kms_cursor_crc@cursor-onscreen-256x85:
- shard-tglu-1: NOTRUN -> [FAIL][85] ([i915#13566]) +1 other test fail
[85]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-tglu-1/igt@kms_cursor_crc@cursor-onscreen-256x85.html
* igt@kms_cursor_crc@cursor-onscreen-256x85@pipe-a-hdmi-a-1:
- shard-rkl: [PASS][86] -> [FAIL][87] ([i915#13566]) +1 other test fail
[86]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-rkl-8/igt@kms_cursor_crc@cursor-onscreen-256x85@pipe-a-hdmi-a-1.html
[87]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-5/igt@kms_cursor_crc@cursor-onscreen-256x85@pipe-a-hdmi-a-1.html
* igt@kms_cursor_crc@cursor-onscreen-32x32:
- shard-tglu: NOTRUN -> [SKIP][88] ([i915#3555]) +2 other tests skip
[88]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-tglu-6/igt@kms_cursor_crc@cursor-onscreen-32x32.html
* igt@kms_cursor_crc@cursor-random-128x42@pipe-a-hdmi-a-2:
- shard-rkl: NOTRUN -> [FAIL][89] ([i915#13566])
[89]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-4/igt@kms_cursor_crc@cursor-random-128x42@pipe-a-hdmi-a-2.html
* igt@kms_cursor_crc@cursor-random-32x32:
- shard-dg2: NOTRUN -> [SKIP][90] ([i915#3555]) +1 other test skip
[90]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-dg2-5/igt@kms_cursor_crc@cursor-random-32x32.html
* igt@kms_cursor_crc@cursor-rapid-movement-32x32:
- shard-tglu-1: NOTRUN -> [SKIP][91] ([i915#3555]) +3 other tests skip
[91]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-tglu-1/igt@kms_cursor_crc@cursor-rapid-movement-32x32.html
* igt@kms_cursor_crc@cursor-sliding-512x170:
- shard-tglu: NOTRUN -> [SKIP][92] ([i915#13049])
[92]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-tglu-6/igt@kms_cursor_crc@cursor-sliding-512x170.html
* igt@kms_cursor_crc@cursor-sliding-64x21@pipe-a-hdmi-a-1:
- shard-tglu: [PASS][93] -> [FAIL][94] ([i915#13566]) +1 other test fail
[93]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-tglu-9/igt@kms_cursor_crc@cursor-sliding-64x21@pipe-a-hdmi-a-1.html
[94]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-tglu-3/igt@kms_cursor_crc@cursor-sliding-64x21@pipe-a-hdmi-a-1.html
* igt@kms_cursor_legacy@2x-long-flip-vs-cursor-legacy:
- shard-dg2: NOTRUN -> [SKIP][95] ([i915#13046] / [i915#5354]) +2 other tests skip
[95]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-dg2-5/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-legacy.html
* igt@kms_cursor_legacy@cursorb-vs-flipa-legacy:
- shard-rkl: NOTRUN -> [SKIP][96] +20 other tests skip
[96]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-2/igt@kms_cursor_legacy@cursorb-vs-flipa-legacy.html
* igt@kms_cursor_legacy@modeset-atomic-cursor-hotspot:
- shard-tglu-1: NOTRUN -> [SKIP][97] ([i915#9067])
[97]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-tglu-1/igt@kms_cursor_legacy@modeset-atomic-cursor-hotspot.html
* igt@kms_dirtyfb@drrs-dirtyfb-ioctl:
- shard-rkl: NOTRUN -> [SKIP][98] ([i915#9723])
[98]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-2/igt@kms_dirtyfb@drrs-dirtyfb-ioctl.html
* igt@kms_dither@fb-8bpc-vs-panel-6bpc:
- shard-rkl: NOTRUN -> [SKIP][99] ([i915#3555] / [i915#3804])
[99]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-8/igt@kms_dither@fb-8bpc-vs-panel-6bpc.html
* igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-1:
- shard-rkl: NOTRUN -> [SKIP][100] ([i915#3804])
[100]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-8/igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-1.html
* igt@kms_dp_aux_dev@basic:
- shard-tglu: NOTRUN -> [SKIP][101] ([i915#1257])
[101]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-tglu-6/igt@kms_dp_aux_dev@basic.html
* igt@kms_dp_link_training@non-uhbr-mst:
- shard-dg2: NOTRUN -> [SKIP][102] ([i915#13749])
[102]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-dg2-5/igt@kms_dp_link_training@non-uhbr-mst.html
- shard-tglu-1: NOTRUN -> [SKIP][103] ([i915#13749])
[103]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-tglu-1/igt@kms_dp_link_training@non-uhbr-mst.html
* igt@kms_draw_crc@draw-method-mmap-gtt:
- shard-dg2: NOTRUN -> [SKIP][104] ([i915#8812])
[104]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-dg2-5/igt@kms_draw_crc@draw-method-mmap-gtt.html
* igt@kms_dsc@dsc-basic:
- shard-rkl: NOTRUN -> [SKIP][105] ([i915#3555] / [i915#3840])
[105]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-8/igt@kms_dsc@dsc-basic.html
* igt@kms_dsc@dsc-with-output-formats:
- shard-tglu: NOTRUN -> [SKIP][106] ([i915#3555] / [i915#3840])
[106]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-tglu-6/igt@kms_dsc@dsc-with-output-formats.html
* igt@kms_fbcon_fbt@psr:
- shard-tglu: NOTRUN -> [SKIP][107] ([i915#3469])
[107]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-tglu-6/igt@kms_fbcon_fbt@psr.html
* igt@kms_feature_discovery@display-3x:
- shard-rkl: NOTRUN -> [SKIP][108] ([i915#1839])
[108]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-2/igt@kms_feature_discovery@display-3x.html
* igt@kms_feature_discovery@display-4x:
- shard-tglu-1: NOTRUN -> [SKIP][109] ([i915#1839])
[109]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-tglu-1/igt@kms_feature_discovery@display-4x.html
* igt@kms_feature_discovery@dp-mst:
- shard-rkl: NOTRUN -> [SKIP][110] ([i915#9337])
[110]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-4/igt@kms_feature_discovery@dp-mst.html
* igt@kms_flip@2x-flip-vs-dpms:
- shard-rkl: NOTRUN -> [SKIP][111] ([i915#9934]) +4 other tests skip
[111]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-2/igt@kms_flip@2x-flip-vs-dpms.html
* igt@kms_flip@2x-modeset-vs-vblank-race:
- shard-dg2: NOTRUN -> [SKIP][112] ([i915#9934]) +2 other tests skip
[112]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-dg2-5/igt@kms_flip@2x-modeset-vs-vblank-race.html
- shard-tglu-1: NOTRUN -> [SKIP][113] ([i915#3637] / [i915#9934]) +2 other tests skip
[113]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-tglu-1/igt@kms_flip@2x-modeset-vs-vblank-race.html
* igt@kms_flip@2x-nonexisting-fb:
- shard-tglu: NOTRUN -> [SKIP][114] ([i915#3637] / [i915#9934]) +2 other tests skip
[114]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-tglu-6/igt@kms_flip@2x-nonexisting-fb.html
* igt@kms_flip@flip-vs-expired-vblank@b-hdmi-a1:
- shard-glk: [PASS][115] -> [FAIL][116] ([i915#13027]) +1 other test fail
[115]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-glk8/igt@kms_flip@flip-vs-expired-vblank@b-hdmi-a1.html
[116]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-glk1/igt@kms_flip@flip-vs-expired-vblank@b-hdmi-a1.html
* igt@kms_flip@flip-vs-suspend:
- shard-rkl: [PASS][117] -> [INCOMPLETE][118] ([i915#6113])
[117]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-rkl-5/igt@kms_flip@flip-vs-suspend.html
[118]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-6/igt@kms_flip@flip-vs-suspend.html
- shard-glk10: NOTRUN -> [INCOMPLETE][119] ([i915#12745] / [i915#4839])
[119]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-glk10/igt@kms_flip@flip-vs-suspend.html
* igt@kms_flip@flip-vs-suspend@a-hdmi-a1:
- shard-glk10: NOTRUN -> [INCOMPLETE][120] ([i915#12745])
[120]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-glk10/igt@kms_flip@flip-vs-suspend@a-hdmi-a1.html
* igt@kms_flip@flip-vs-suspend@a-hdmi-a2:
- shard-rkl: NOTRUN -> [INCOMPLETE][121] ([i915#6113])
[121]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-6/igt@kms_flip@flip-vs-suspend@a-hdmi-a2.html
* igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-downscaling:
- shard-tglu-1: NOTRUN -> [SKIP][122] ([i915#15643])
[122]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-tglu-1/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-downscaling.html
* igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-downscaling:
- shard-dg2: NOTRUN -> [SKIP][123] ([i915#15643] / [i915#5190])
[123]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-dg2-5/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-downscaling.html
* igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-downscaling:
- shard-tglu: NOTRUN -> [SKIP][124] ([i915#15643]) +1 other test skip
[124]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-tglu-6/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-downscaling.html
* igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-downscaling:
- shard-rkl: NOTRUN -> [SKIP][125] ([i915#15643])
[125]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-7/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-downscaling.html
* igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling:
- shard-dg2: NOTRUN -> [SKIP][126] ([i915#15643])
[126]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-dg2-5/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-indfb-draw-mmap-cpu:
- shard-dg2: NOTRUN -> [SKIP][127] ([i915#15102])
[127]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-dg2-5/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-indfb-draw-mmap-cpu.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-indfb-pgflip-blt:
- shard-tglu: NOTRUN -> [SKIP][128] ([i915#15102]) +10 other tests skip
[128]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-tglu-6/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-indfb-pgflip-blt.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-mmap-gtt:
- shard-dg2: NOTRUN -> [SKIP][129] ([i915#8708]) +2 other tests skip
[129]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-dg2-5/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-mmap-gtt.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-indfb-draw-mmap-gtt:
- shard-glk10: NOTRUN -> [SKIP][130] +83 other tests skip
[130]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-glk10/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-indfb-draw-mmap-gtt.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-pgflip-blt:
- shard-tglu-1: NOTRUN -> [SKIP][131] +30 other tests skip
[131]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-tglu-1/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-pgflip-blt.html
* igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-mmap-cpu:
- shard-dg2: NOTRUN -> [SKIP][132] ([i915#15102] / [i915#3458]) +5 other tests skip
[132]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-dg2-5/igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-mmap-cpu.html
* igt@kms_frontbuffer_tracking@fbcpsr-rgb565-draw-mmap-gtt:
- shard-rkl: NOTRUN -> [SKIP][133] ([i915#15102] / [i915#3023]) +23 other tests skip
[133]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-7/igt@kms_frontbuffer_tracking@fbcpsr-rgb565-draw-mmap-gtt.html
* igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-shrfb-draw-mmap-wc:
- shard-dg2: NOTRUN -> [SKIP][134] ([i915#15104])
[134]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-dg2-5/igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-shrfb-draw-mmap-wc.html
- shard-rkl: NOTRUN -> [SKIP][135] ([i915#15102]) +4 other tests skip
[135]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-8/igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-shrfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@psr-1p-pri-indfb-multidraw:
- shard-glk: NOTRUN -> [SKIP][136] +155 other tests skip
[136]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-glk4/igt@kms_frontbuffer_tracking@psr-1p-pri-indfb-multidraw.html
* igt@kms_frontbuffer_tracking@psr-2p-scndscrn-indfb-msflip-blt:
- shard-rkl: NOTRUN -> [SKIP][137] ([i915#1825]) +35 other tests skip
[137]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-4/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-indfb-msflip-blt.html
* igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-shrfb-draw-mmap-wc:
- shard-tglu: NOTRUN -> [SKIP][138] +29 other tests skip
[138]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-tglu-6/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-shrfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@psr-2p-scndscrn-shrfb-msflip-blt:
- shard-dg2: NOTRUN -> [SKIP][139] ([i915#5354]) +5 other tests skip
[139]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-dg2-5/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-shrfb-msflip-blt.html
* igt@kms_frontbuffer_tracking@psr-rgb565-draw-mmap-wc:
- shard-tglu-1: NOTRUN -> [SKIP][140] ([i915#15102]) +12 other tests skip
[140]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-tglu-1/igt@kms_frontbuffer_tracking@psr-rgb565-draw-mmap-wc.html
* igt@kms_hdr@bpc-switch:
- shard-rkl: NOTRUN -> [SKIP][141] ([i915#3555] / [i915#8228]) +2 other tests skip
[141]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-7/igt@kms_hdr@bpc-switch.html
* igt@kms_hdr@static-toggle-suspend:
- shard-tglu: NOTRUN -> [SKIP][142] ([i915#3555] / [i915#8228])
[142]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-tglu-6/igt@kms_hdr@static-toggle-suspend.html
* igt@kms_joiner@basic-force-big-joiner:
- shard-rkl: NOTRUN -> [SKIP][143] ([i915#15459])
[143]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-4/igt@kms_joiner@basic-force-big-joiner.html
* igt@kms_joiner@basic-force-ultra-joiner:
- shard-dg2: NOTRUN -> [SKIP][144] ([i915#15458])
[144]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-dg2-7/igt@kms_joiner@basic-force-ultra-joiner.html
* igt@kms_pipe_crc_basic@suspend-read-crc@pipe-b-hdmi-a-2:
- shard-glk: NOTRUN -> [INCOMPLETE][145] ([i915#13409] / [i915#13476])
[145]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-glk1/igt@kms_pipe_crc_basic@suspend-read-crc@pipe-b-hdmi-a-2.html
* igt@kms_pipe_stress@stress-xrgb8888-4tiled:
- shard-rkl: NOTRUN -> [SKIP][146] ([i915#14712]) +1 other test skip
[146]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-2/igt@kms_pipe_stress@stress-xrgb8888-4tiled.html
* igt@kms_plane@pixel-format-4-tiled-bmg-ccs-modifier-source-clamping:
- shard-rkl: NOTRUN -> [SKIP][147] ([i915#15709]) +3 other tests skip
[147]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-4/igt@kms_plane@pixel-format-4-tiled-bmg-ccs-modifier-source-clamping.html
* igt@kms_plane@pixel-format-4-tiled-dg2-mc-ccs-modifier-source-clamping:
- shard-tglu: NOTRUN -> [SKIP][148] ([i915#15709]) +2 other tests skip
[148]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-tglu-6/igt@kms_plane@pixel-format-4-tiled-dg2-mc-ccs-modifier-source-clamping.html
* igt@kms_plane@pixel-format-4-tiled-lnl-ccs-modifier-source-clamping:
- shard-tglu-1: NOTRUN -> [SKIP][149] ([i915#15709]) +1 other test skip
[149]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-tglu-1/igt@kms_plane@pixel-format-4-tiled-lnl-ccs-modifier-source-clamping.html
* igt@kms_plane@pixel-format-y-tiled-gen12-rc-ccs-modifier@pipe-b-plane-5:
- shard-rkl: NOTRUN -> [SKIP][150] ([i915#15608]) +3 other tests skip
[150]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-7/igt@kms_plane@pixel-format-y-tiled-gen12-rc-ccs-modifier@pipe-b-plane-5.html
* igt@kms_plane@pixel-format-y-tiled-modifier:
- shard-dg2: NOTRUN -> [SKIP][151] ([i915#15709]) +1 other test skip
[151]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-dg2-5/igt@kms_plane@pixel-format-y-tiled-modifier.html
* igt@kms_plane@pixel-format-y-tiled-modifier@pipe-b-plane-7:
- shard-tglu-1: NOTRUN -> [SKIP][152] ([i915#15608]) +1 other test skip
[152]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-tglu-1/igt@kms_plane@pixel-format-y-tiled-modifier@pipe-b-plane-7.html
* igt@kms_plane_alpha_blend@alpha-opaque-fb:
- shard-glk: NOTRUN -> [FAIL][153] ([i915#10647] / [i915#12169])
[153]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-glk4/igt@kms_plane_alpha_blend@alpha-opaque-fb.html
* igt@kms_plane_alpha_blend@alpha-opaque-fb@pipe-a-hdmi-a-1:
- shard-glk: NOTRUN -> [FAIL][154] ([i915#10647]) +1 other test fail
[154]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-glk4/igt@kms_plane_alpha_blend@alpha-opaque-fb@pipe-a-hdmi-a-1.html
* igt@kms_plane_lowres@tiling-yf:
- shard-rkl: NOTRUN -> [SKIP][155] ([i915#3555]) +5 other tests skip
[155]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-8/igt@kms_plane_lowres@tiling-yf.html
* igt@kms_plane_multiple@tiling-yf:
- shard-tglu-1: NOTRUN -> [SKIP][156] ([i915#14259])
[156]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-tglu-1/igt@kms_plane_multiple@tiling-yf.html
* igt@kms_plane_scaling@plane-upscale-20x20-with-rotation@pipe-a:
- shard-tglu-1: NOTRUN -> [SKIP][157] ([i915#15329]) +4 other tests skip
[157]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-tglu-1/igt@kms_plane_scaling@plane-upscale-20x20-with-rotation@pipe-a.html
* igt@kms_pm_backlight@fade:
- shard-tglu: NOTRUN -> [SKIP][158] ([i915#9812]) +1 other test skip
[158]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-tglu-6/igt@kms_pm_backlight@fade.html
* igt@kms_pm_backlight@fade-with-dpms:
- shard-rkl: NOTRUN -> [SKIP][159] ([i915#5354])
[159]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-7/igt@kms_pm_backlight@fade-with-dpms.html
* igt@kms_pm_dc@dc6-psr:
- shard-rkl: NOTRUN -> [SKIP][160] ([i915#9685]) +1 other test skip
[160]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-4/igt@kms_pm_dc@dc6-psr.html
* igt@kms_pm_lpsp@screens-disabled:
- shard-tglu: NOTRUN -> [SKIP][161] ([i915#8430])
[161]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-tglu-6/igt@kms_pm_lpsp@screens-disabled.html
* igt@kms_pm_rpm@i2c:
- shard-dg1: [PASS][162] -> [DMESG-WARN][163] ([i915#4423]) +1 other test dmesg-warn
[162]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-dg1-16/igt@kms_pm_rpm@i2c.html
[163]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-dg1-16/igt@kms_pm_rpm@i2c.html
* igt@kms_pm_rpm@modeset-lpsp-stress:
- shard-rkl: [PASS][164] -> [SKIP][165] ([i915#15073]) +2 other tests skip
[164]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-rkl-5/igt@kms_pm_rpm@modeset-lpsp-stress.html
[165]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-7/igt@kms_pm_rpm@modeset-lpsp-stress.html
* igt@kms_pm_rpm@modeset-lpsp-stress-no-wait:
- shard-dg1: [PASS][166] -> [SKIP][167] ([i915#15073])
[166]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-dg1-15/igt@kms_pm_rpm@modeset-lpsp-stress-no-wait.html
[167]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-dg1-19/igt@kms_pm_rpm@modeset-lpsp-stress-no-wait.html
* igt@kms_prime@basic-crc-hybrid:
- shard-dg2: NOTRUN -> [SKIP][168] ([i915#6524] / [i915#6805])
[168]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-dg2-5/igt@kms_prime@basic-crc-hybrid.html
- shard-rkl: NOTRUN -> [SKIP][169] ([i915#6524])
[169]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-8/igt@kms_prime@basic-crc-hybrid.html
- shard-tglu-1: NOTRUN -> [SKIP][170] ([i915#6524]) +1 other test skip
[170]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-tglu-1/igt@kms_prime@basic-crc-hybrid.html
* igt@kms_prime@d3hot:
- shard-tglu: NOTRUN -> [SKIP][171] ([i915#6524])
[171]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-tglu-6/igt@kms_prime@d3hot.html
* igt@kms_psr2_sf@fbc-pr-overlay-plane-update-continuous-sf:
- shard-dg2: NOTRUN -> [SKIP][172] ([i915#11520]) +3 other tests skip
[172]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-dg2-5/igt@kms_psr2_sf@fbc-pr-overlay-plane-update-continuous-sf.html
* igt@kms_psr2_sf@fbc-pr-overlay-primary-update-sf-dmg-area:
- shard-rkl: NOTRUN -> [SKIP][173] ([i915#11520]) +7 other tests skip
[173]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-7/igt@kms_psr2_sf@fbc-pr-overlay-primary-update-sf-dmg-area.html
- shard-glk10: NOTRUN -> [SKIP][174] ([i915#11520]) +1 other test skip
[174]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-glk10/igt@kms_psr2_sf@fbc-pr-overlay-primary-update-sf-dmg-area.html
* igt@kms_psr2_sf@pr-cursor-plane-move-continuous-sf:
- shard-tglu: NOTRUN -> [SKIP][175] ([i915#11520]) +2 other tests skip
[175]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-tglu-6/igt@kms_psr2_sf@pr-cursor-plane-move-continuous-sf.html
* igt@kms_psr2_sf@pr-overlay-plane-move-continuous-sf:
- shard-glk11: NOTRUN -> [SKIP][176] ([i915#11520])
[176]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-glk11/igt@kms_psr2_sf@pr-overlay-plane-move-continuous-sf.html
* igt@kms_psr2_sf@pr-primary-plane-update-sf-dmg-area:
- shard-glk: NOTRUN -> [SKIP][177] ([i915#11520]) +4 other tests skip
[177]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-glk3/igt@kms_psr2_sf@pr-primary-plane-update-sf-dmg-area.html
* igt@kms_psr2_sf@psr2-overlay-plane-update-sf-dmg-area:
- shard-tglu-1: NOTRUN -> [SKIP][178] ([i915#11520]) +5 other tests skip
[178]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-tglu-1/igt@kms_psr2_sf@psr2-overlay-plane-update-sf-dmg-area.html
* igt@kms_psr@pr-primary-mmap-gtt:
- shard-dg2: NOTRUN -> [SKIP][179] ([i915#1072] / [i915#9732]) +3 other tests skip
[179]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-dg2-5/igt@kms_psr@pr-primary-mmap-gtt.html
* igt@kms_psr@psr2-cursor-mmap-gtt:
- shard-rkl: NOTRUN -> [SKIP][180] ([i915#1072] / [i915#9732]) +18 other tests skip
[180]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-8/igt@kms_psr@psr2-cursor-mmap-gtt.html
- shard-tglu-1: NOTRUN -> [SKIP][181] ([i915#9732]) +7 other tests skip
[181]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-tglu-1/igt@kms_psr@psr2-cursor-mmap-gtt.html
* igt@kms_psr@psr2-cursor-plane-onoff:
- shard-tglu: NOTRUN -> [SKIP][182] ([i915#9732]) +10 other tests skip
[182]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-tglu-6/igt@kms_psr@psr2-cursor-plane-onoff.html
* igt@kms_rotation_crc@primary-yf-tiled-reflect-x-270:
- shard-dg2: NOTRUN -> [SKIP][183] ([i915#12755] / [i915#15867] / [i915#5190])
[183]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-dg2-5/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-270.html
- shard-rkl: NOTRUN -> [SKIP][184] ([i915#5289])
[184]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-8/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-270.html
- shard-tglu-1: NOTRUN -> [SKIP][185] ([i915#5289])
[185]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-tglu-1/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-270.html
* igt@kms_selftest@drm_framebuffer:
- shard-tglu: NOTRUN -> [ABORT][186] ([i915#13179]) +1 other test abort
[186]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-tglu-6/igt@kms_selftest@drm_framebuffer.html
* igt@kms_setmode@basic@pipe-b-hdmi-a-3:
- shard-dg2: NOTRUN -> [FAIL][187] ([i915#15106]) +2 other tests fail
[187]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-dg2-7/igt@kms_setmode@basic@pipe-b-hdmi-a-3.html
* igt@kms_tiled_display@basic-test-pattern:
- shard-tglu-1: NOTRUN -> [SKIP][188] ([i915#8623])
[188]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-tglu-1/igt@kms_tiled_display@basic-test-pattern.html
* igt@kms_tiled_display@basic-test-pattern-with-chamelium:
- shard-tglu: NOTRUN -> [SKIP][189] ([i915#8623])
[189]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-tglu-6/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
* igt@kms_vblank@ts-continuation-dpms-suspend:
- shard-rkl: [PASS][190] -> [INCOMPLETE][191] ([i915#12276]) +1 other test incomplete
[190]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-rkl-7/igt@kms_vblank@ts-continuation-dpms-suspend.html
[191]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-3/igt@kms_vblank@ts-continuation-dpms-suspend.html
* igt@kms_vrr@negative-basic:
- shard-mtlp: [PASS][192] -> [FAIL][193] ([i915#15420]) +1 other test fail
[192]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-mtlp-5/igt@kms_vrr@negative-basic.html
[193]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-mtlp-6/igt@kms_vrr@negative-basic.html
* igt@kms_vrr@seamless-rr-switch-virtual:
- shard-rkl: NOTRUN -> [SKIP][194] ([i915#9906])
[194]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-4/igt@kms_vrr@seamless-rr-switch-virtual.html
* igt@perf@unprivileged-single-ctx-counters:
- shard-rkl: NOTRUN -> [SKIP][195] ([i915#2433])
[195]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-8/igt@perf@unprivileged-single-ctx-counters.html
* igt@perf_pmu@busy-double-start@vecs1:
- shard-dg2: [PASS][196] -> [FAIL][197] ([i915#4349]) +4 other tests fail
[196]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-dg2-6/igt@perf_pmu@busy-double-start@vecs1.html
[197]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-dg2-3/igt@perf_pmu@busy-double-start@vecs1.html
* igt@perf_pmu@rc6-all-gts:
- shard-rkl: NOTRUN -> [SKIP][198] ([i915#8516])
[198]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-8/igt@perf_pmu@rc6-all-gts.html
* igt@sriov_basic@bind-unbind-vf:
- shard-rkl: NOTRUN -> [SKIP][199] ([i915#9917]) +1 other test skip
[199]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-7/igt@sriov_basic@bind-unbind-vf.html
* igt@sriov_basic@enable-vfs-autoprobe-off@numvfs-6:
- shard-tglu: NOTRUN -> [FAIL][200] ([i915#12910]) +9 other tests fail
[200]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-tglu-6/igt@sriov_basic@enable-vfs-autoprobe-off@numvfs-6.html
#### Possible fixes ####
* igt@gem_ccs@suspend-resume@linear-compressed-compfmt0-lmem0-lmem0:
- shard-dg2: [INCOMPLETE][201] ([i915#12392] / [i915#13356]) -> [PASS][202]
[201]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-dg2-1/igt@gem_ccs@suspend-resume@linear-compressed-compfmt0-lmem0-lmem0.html
[202]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-dg2-10/igt@gem_ccs@suspend-resume@linear-compressed-compfmt0-lmem0-lmem0.html
* igt@gem_eio@suspend:
- shard-rkl: [ABORT][203] ([i915#15131]) -> [PASS][204]
[203]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-rkl-1/igt@gem_eio@suspend.html
[204]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-7/igt@gem_eio@suspend.html
* igt@gem_exec_suspend@basic-s0:
- shard-dg2: [INCOMPLETE][205] ([i915#13356]) -> [PASS][206] +1 other test pass
[205]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-dg2-7/igt@gem_exec_suspend@basic-s0.html
[206]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-dg2-7/igt@gem_exec_suspend@basic-s0.html
* igt@i915_pm_rpm@system-suspend-execbuf:
- shard-rkl: [INCOMPLETE][207] ([i915#13356]) -> [PASS][208]
[207]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-rkl-6/igt@i915_pm_rpm@system-suspend-execbuf.html
[208]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-4/igt@i915_pm_rpm@system-suspend-execbuf.html
* igt@i915_suspend@fence-restore-tiled2untiled:
- shard-rkl: [INCOMPLETE][209] ([i915#4817]) -> [PASS][210]
[209]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-rkl-6/igt@i915_suspend@fence-restore-tiled2untiled.html
[210]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-7/igt@i915_suspend@fence-restore-tiled2untiled.html
* igt@kms_atomic_transition@plane-toggle-modeset-transition:
- shard-dg2: [FAIL][211] ([i915#5956]) -> [PASS][212] +4 other tests pass
[211]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-dg2-4/igt@kms_atomic_transition@plane-toggle-modeset-transition.html
[212]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-dg2-5/igt@kms_atomic_transition@plane-toggle-modeset-transition.html
* igt@kms_atomic_transition@plane-toggle-modeset-transition@pipe-a-edp-1:
- shard-mtlp: [FAIL][213] ([i915#5956]) -> [PASS][214] +1 other test pass
[213]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-mtlp-3/igt@kms_atomic_transition@plane-toggle-modeset-transition@pipe-a-edp-1.html
[214]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-mtlp-2/igt@kms_atomic_transition@plane-toggle-modeset-transition@pipe-a-edp-1.html
* igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs@pipe-a-hdmi-a-2:
- shard-rkl: [INCOMPLETE][215] ([i915#15582]) -> [PASS][216]
[215]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-rkl-6/igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs@pipe-a-hdmi-a-2.html
[216]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-3/igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs@pipe-a-hdmi-a-2.html
* igt@kms_cursor_crc@cursor-onscreen-128x42:
- shard-tglu: [FAIL][217] ([i915#13566]) -> [PASS][218] +1 other test pass
[217]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-tglu-7/igt@kms_cursor_crc@cursor-onscreen-128x42.html
[218]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-tglu-9/igt@kms_cursor_crc@cursor-onscreen-128x42.html
* igt@kms_cursor_crc@cursor-suspend:
- shard-rkl: [INCOMPLETE][219] ([i915#12358] / [i915#14152]) -> [PASS][220]
[219]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-rkl-3/igt@kms_cursor_crc@cursor-suspend.html
[220]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-8/igt@kms_cursor_crc@cursor-suspend.html
* igt@kms_pipe_crc_basic@suspend-read-crc:
- shard-rkl: [INCOMPLETE][221] ([i915#12756] / [i915#13476]) -> [PASS][222]
[221]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-rkl-4/igt@kms_pipe_crc_basic@suspend-read-crc.html
[222]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-8/igt@kms_pipe_crc_basic@suspend-read-crc.html
* igt@kms_pipe_crc_basic@suspend-read-crc@pipe-a-hdmi-a-1:
- shard-glk: [INCOMPLETE][223] ([i915#12756] / [i915#13409] / [i915#13476]) -> [PASS][224]
[223]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-glk8/igt@kms_pipe_crc_basic@suspend-read-crc@pipe-a-hdmi-a-1.html
[224]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-glk1/igt@kms_pipe_crc_basic@suspend-read-crc@pipe-a-hdmi-a-1.html
* igt@kms_plane_alpha_blend@coverage-7efc:
- shard-dg1: [DMESG-WARN][225] ([i915#4423]) -> [PASS][226]
[225]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-dg1-14/igt@kms_plane_alpha_blend@coverage-7efc.html
[226]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-dg1-15/igt@kms_plane_alpha_blend@coverage-7efc.html
* igt@kms_plane_scaling@intel-max-src-size:
- shard-dg2: [SKIP][227] ([i915#6953] / [i915#9423]) -> [PASS][228]
[227]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-dg2-1/igt@kms_plane_scaling@intel-max-src-size.html
[228]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-dg2-10/igt@kms_plane_scaling@intel-max-src-size.html
- shard-rkl: [SKIP][229] ([i915#6953]) -> [PASS][230]
[229]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-rkl-5/igt@kms_plane_scaling@intel-max-src-size.html
[230]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-6/igt@kms_plane_scaling@intel-max-src-size.html
* igt@kms_pm_rpm@modeset-lpsp:
- shard-rkl: [SKIP][231] ([i915#15073]) -> [PASS][232]
[231]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-rkl-7/igt@kms_pm_rpm@modeset-lpsp.html
[232]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-5/igt@kms_pm_rpm@modeset-lpsp.html
* igt@kms_setmode@basic:
- shard-rkl: [FAIL][233] ([i915#15106]) -> [PASS][234]
[233]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-rkl-7/igt@kms_setmode@basic.html
[234]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-5/igt@kms_setmode@basic.html
* igt@kms_setmode@basic@pipe-a-vga-1-pipe-b-hdmi-a-1:
- shard-snb: [FAIL][235] ([i915#15106]) -> [PASS][236] +1 other test pass
[235]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-snb7/igt@kms_setmode@basic@pipe-a-vga-1-pipe-b-hdmi-a-1.html
[236]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-snb5/igt@kms_setmode@basic@pipe-a-vga-1-pipe-b-hdmi-a-1.html
#### Warnings ####
* igt@gem_ccs@large-ctrl-surf-copy:
- shard-rkl: [SKIP][237] ([i915#13008] / [i915#14544]) -> [SKIP][238] ([i915#13008])
[237]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-rkl-6/igt@gem_ccs@large-ctrl-surf-copy.html
[238]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-7/igt@gem_ccs@large-ctrl-surf-copy.html
* igt@gem_ctx_sseu@invalid-args:
- shard-rkl: [SKIP][239] ([i915#280]) -> [SKIP][240] ([i915#14544] / [i915#280])
[239]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-rkl-4/igt@gem_ctx_sseu@invalid-args.html
[240]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-6/igt@gem_ctx_sseu@invalid-args.html
* igt@gem_exec_capture@capture-recoverable:
- shard-rkl: [SKIP][241] ([i915#14544] / [i915#6344]) -> [SKIP][242] ([i915#6344])
[241]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-rkl-6/igt@gem_exec_capture@capture-recoverable.html
[242]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-7/igt@gem_exec_capture@capture-recoverable.html
* igt@gem_exec_reloc@basic-gtt-active:
- shard-rkl: [SKIP][243] ([i915#3281]) -> [SKIP][244] ([i915#14544] / [i915#3281])
[243]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-rkl-5/igt@gem_exec_reloc@basic-gtt-active.html
[244]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-6/igt@gem_exec_reloc@basic-gtt-active.html
* igt@gem_exec_reloc@basic-write-wc-noreloc:
- shard-rkl: [SKIP][245] ([i915#14544] / [i915#3281]) -> [SKIP][246] ([i915#3281]) +3 other tests skip
[245]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-rkl-6/igt@gem_exec_reloc@basic-write-wc-noreloc.html
[246]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-3/igt@gem_exec_reloc@basic-write-wc-noreloc.html
* igt@gem_lmem_swapping@massive-random:
- shard-rkl: [SKIP][247] ([i915#4613]) -> [SKIP][248] ([i915#14544] / [i915#4613]) +1 other test skip
[247]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-rkl-5/igt@gem_lmem_swapping@massive-random.html
[248]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-6/igt@gem_lmem_swapping@massive-random.html
* igt@gem_lmem_swapping@random-engines:
- shard-rkl: [SKIP][249] ([i915#14544] / [i915#4613]) -> [SKIP][250] ([i915#4613]) +1 other test skip
[249]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-rkl-6/igt@gem_lmem_swapping@random-engines.html
[250]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-3/igt@gem_lmem_swapping@random-engines.html
* igt@gem_pread@bench:
- shard-rkl: [SKIP][251] ([i915#3282]) -> [SKIP][252] ([i915#14544] / [i915#3282])
[251]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-rkl-4/igt@gem_pread@bench.html
[252]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-6/igt@gem_pread@bench.html
* igt@gem_set_tiling_vs_pwrite:
- shard-rkl: [SKIP][253] ([i915#14544] / [i915#3282]) -> [SKIP][254] ([i915#3282])
[253]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-rkl-6/igt@gem_set_tiling_vs_pwrite.html
[254]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-7/igt@gem_set_tiling_vs_pwrite.html
* igt@gem_userptr_blits@unsync-unmap:
- shard-rkl: [SKIP][255] ([i915#3297]) -> [SKIP][256] ([i915#14544] / [i915#3297])
[255]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-rkl-4/igt@gem_userptr_blits@unsync-unmap.html
[256]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-6/igt@gem_userptr_blits@unsync-unmap.html
* igt@gen9_exec_parse@secure-batches:
- shard-rkl: [SKIP][257] ([i915#2527]) -> [SKIP][258] ([i915#14544] / [i915#2527])
[257]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-rkl-4/igt@gen9_exec_parse@secure-batches.html
[258]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-6/igt@gen9_exec_parse@secure-batches.html
* igt@kms_atomic_transition@plane-all-modeset-transition-internal-panels:
- shard-rkl: [SKIP][259] ([i915#14544] / [i915#1769] / [i915#3555]) -> [SKIP][260] ([i915#1769] / [i915#3555])
[259]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-rkl-6/igt@kms_atomic_transition@plane-all-modeset-transition-internal-panels.html
[260]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-3/igt@kms_atomic_transition@plane-all-modeset-transition-internal-panels.html
* igt@kms_big_fb@4-tiled-8bpp-rotate-90:
- shard-rkl: [SKIP][261] ([i915#5286]) -> [SKIP][262] ([i915#14544] / [i915#5286])
[261]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-rkl-4/igt@kms_big_fb@4-tiled-8bpp-rotate-90.html
[262]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-6/igt@kms_big_fb@4-tiled-8bpp-rotate-90.html
* igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip:
- shard-rkl: [SKIP][263] ([i915#14544] / [i915#5286]) -> [SKIP][264] ([i915#5286]) +1 other test skip
[263]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-rkl-6/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip.html
[264]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-7/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip.html
* igt@kms_ccs@bad-rotation-90-4-tiled-mtl-rc-ccs:
- shard-rkl: [SKIP][265] ([i915#14098] / [i915#6095]) -> [SKIP][266] ([i915#14098] / [i915#14544] / [i915#6095]) +6 other tests skip
[265]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-rkl-4/igt@kms_ccs@bad-rotation-90-4-tiled-mtl-rc-ccs.html
[266]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-6/igt@kms_ccs@bad-rotation-90-4-tiled-mtl-rc-ccs.html
* igt@kms_ccs@bad-rotation-90-4-tiled-mtl-rc-ccs@pipe-b-hdmi-a-2:
- shard-rkl: [SKIP][267] ([i915#6095]) -> [SKIP][268] ([i915#14544] / [i915#6095]) +5 other tests skip
[267]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-rkl-4/igt@kms_ccs@bad-rotation-90-4-tiled-mtl-rc-ccs@pipe-b-hdmi-a-2.html
[268]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-6/igt@kms_ccs@bad-rotation-90-4-tiled-mtl-rc-ccs@pipe-b-hdmi-a-2.html
* igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-rc-ccs-cc:
- shard-rkl: [SKIP][269] ([i915#14098] / [i915#14544] / [i915#6095]) -> [SKIP][270] ([i915#14098] / [i915#6095]) +7 other tests skip
[269]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-rkl-6/igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-rc-ccs-cc.html
[270]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-7/igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-rc-ccs-cc.html
* igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-rc-ccs-cc@pipe-a-hdmi-a-2:
- shard-rkl: [SKIP][271] ([i915#14544] / [i915#6095]) -> [SKIP][272] ([i915#6095]) +7 other tests skip
[271]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-rkl-6/igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-rc-ccs-cc@pipe-a-hdmi-a-2.html
[272]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-7/igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-rc-ccs-cc@pipe-a-hdmi-a-2.html
* igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs:
- shard-rkl: [INCOMPLETE][273] ([i915#15582]) -> [INCOMPLETE][274] ([i915#14694] / [i915#15582])
[273]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-rkl-6/igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs.html
[274]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-3/igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs.html
* igt@kms_ccs@crc-sprite-planes-basic-4-tiled-lnl-ccs:
- shard-rkl: [SKIP][275] ([i915#12313]) -> [SKIP][276] ([i915#12313] / [i915#14544]) +1 other test skip
[275]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-rkl-4/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-lnl-ccs.html
[276]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-6/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-lnl-ccs.html
* igt@kms_chamelium_edid@dp-edid-change-during-suspend:
- shard-rkl: [SKIP][277] ([i915#11151] / [i915#7828]) -> [SKIP][278] ([i915#11151] / [i915#14544] / [i915#7828]) +1 other test skip
[277]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-rkl-4/igt@kms_chamelium_edid@dp-edid-change-during-suspend.html
[278]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-6/igt@kms_chamelium_edid@dp-edid-change-during-suspend.html
* igt@kms_chamelium_hpd@hdmi-hpd-with-enabled-mode:
- shard-rkl: [SKIP][279] ([i915#11151] / [i915#14544] / [i915#7828]) -> [SKIP][280] ([i915#11151] / [i915#7828]) +1 other test skip
[279]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-rkl-6/igt@kms_chamelium_hpd@hdmi-hpd-with-enabled-mode.html
[280]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-7/igt@kms_chamelium_hpd@hdmi-hpd-with-enabled-mode.html
* igt@kms_content_protection@content-type-change:
- shard-rkl: [SKIP][281] ([i915#14544] / [i915#15865]) -> [SKIP][282] ([i915#15865])
[281]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-rkl-6/igt@kms_content_protection@content-type-change.html
[282]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-7/igt@kms_content_protection@content-type-change.html
* igt@kms_content_protection@lic-type-0-hdcp14:
- shard-rkl: [SKIP][283] ([i915#15865]) -> [SKIP][284] ([i915#14544] / [i915#15865])
[283]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-rkl-4/igt@kms_content_protection@lic-type-0-hdcp14.html
[284]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-6/igt@kms_content_protection@lic-type-0-hdcp14.html
* igt@kms_cursor_crc@cursor-onscreen-512x512:
- shard-rkl: [SKIP][285] ([i915#13049]) -> [SKIP][286] ([i915#13049] / [i915#14544])
[285]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-rkl-4/igt@kms_cursor_crc@cursor-onscreen-512x512.html
[286]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-6/igt@kms_cursor_crc@cursor-onscreen-512x512.html
* igt@kms_cursor_crc@cursor-rapid-movement-32x10:
- shard-rkl: [SKIP][287] ([i915#3555]) -> [SKIP][288] ([i915#14544] / [i915#3555]) +2 other tests skip
[287]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-rkl-4/igt@kms_cursor_crc@cursor-rapid-movement-32x10.html
[288]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-6/igt@kms_cursor_crc@cursor-rapid-movement-32x10.html
* igt@kms_cursor_crc@cursor-rapid-movement-512x170:
- shard-rkl: [SKIP][289] ([i915#13049] / [i915#14544]) -> [SKIP][290] ([i915#13049])
[289]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-rkl-6/igt@kms_cursor_crc@cursor-rapid-movement-512x170.html
[290]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-3/igt@kms_cursor_crc@cursor-rapid-movement-512x170.html
* igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic:
- shard-rkl: [SKIP][291] ([i915#14544] / [i915#4103]) -> [SKIP][292] ([i915#4103])
[291]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-rkl-6/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html
[292]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-3/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html
* igt@kms_cursor_legacy@cursora-vs-flipb-legacy:
- shard-rkl: [SKIP][293] -> [SKIP][294] ([i915#14544]) +3 other tests skip
[293]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-rkl-4/igt@kms_cursor_legacy@cursora-vs-flipb-legacy.html
[294]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-6/igt@kms_cursor_legacy@cursora-vs-flipb-legacy.html
* igt@kms_dsc@dsc-with-output-formats-with-bpc:
- shard-rkl: [SKIP][295] ([i915#3840] / [i915#9053]) -> [SKIP][296] ([i915#14544] / [i915#3840] / [i915#9053])
[295]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-rkl-4/igt@kms_dsc@dsc-with-output-formats-with-bpc.html
[296]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-6/igt@kms_dsc@dsc-with-output-formats-with-bpc.html
* igt@kms_feature_discovery@psr1:
- shard-rkl: [SKIP][297] ([i915#14544] / [i915#658]) -> [SKIP][298] ([i915#658])
[297]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-rkl-6/igt@kms_feature_discovery@psr1.html
[298]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-7/igt@kms_feature_discovery@psr1.html
* igt@kms_flip@2x-flip-vs-dpms-off-vs-modeset-interruptible:
- shard-rkl: [SKIP][299] ([i915#9934]) -> [SKIP][300] ([i915#14544] / [i915#9934]) +2 other tests skip
[299]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-rkl-4/igt@kms_flip@2x-flip-vs-dpms-off-vs-modeset-interruptible.html
[300]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-6/igt@kms_flip@2x-flip-vs-dpms-off-vs-modeset-interruptible.html
* igt@kms_flip@2x-flip-vs-suspend-interruptible:
- shard-glk: [INCOMPLETE][301] ([i915#12745] / [i915#4839]) -> [INCOMPLETE][302] ([i915#12314] / [i915#12745] / [i915#4839])
[301]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-glk3/igt@kms_flip@2x-flip-vs-suspend-interruptible.html
[302]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-glk8/igt@kms_flip@2x-flip-vs-suspend-interruptible.html
* igt@kms_flip@2x-flip-vs-suspend-interruptible@ac-hdmi-a1-hdmi-a2:
- shard-glk: [INCOMPLETE][303] ([i915#12745]) -> [INCOMPLETE][304] ([i915#12314] / [i915#12745])
[303]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-glk3/igt@kms_flip@2x-flip-vs-suspend-interruptible@ac-hdmi-a1-hdmi-a2.html
[304]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-glk8/igt@kms_flip@2x-flip-vs-suspend-interruptible@ac-hdmi-a1-hdmi-a2.html
* igt@kms_flip@2x-plain-flip:
- shard-rkl: [SKIP][305] ([i915#14544] / [i915#9934]) -> [SKIP][306] ([i915#9934])
[305]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-rkl-6/igt@kms_flip@2x-plain-flip.html
[306]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-7/igt@kms_flip@2x-plain-flip.html
* igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-upscaling:
- shard-rkl: [SKIP][307] ([i915#14544] / [i915#15643]) -> [SKIP][308] ([i915#15643])
[307]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-rkl-6/igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-upscaling.html
[308]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-7/igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-upscaling.html
* igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling:
- shard-rkl: [SKIP][309] ([i915#15643]) -> [SKIP][310] ([i915#14544] / [i915#15643])
[309]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-rkl-4/igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling.html
[310]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-6/igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling.html
* igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-onoff:
- shard-rkl: [SKIP][311] ([i915#14544] / [i915#1825]) -> [SKIP][312] ([i915#1825]) +3 other tests skip
[311]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-rkl-6/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-onoff.html
[312]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-3/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-onoff.html
* igt@kms_frontbuffer_tracking@fbc-tiling-4:
- shard-rkl: [SKIP][313] ([i915#5439]) -> [SKIP][314] ([i915#14544] / [i915#5439])
[313]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-rkl-4/igt@kms_frontbuffer_tracking@fbc-tiling-4.html
[314]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-6/igt@kms_frontbuffer_tracking@fbc-tiling-4.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-mmap-cpu:
- shard-rkl: [SKIP][315] ([i915#15102] / [i915#3023]) -> [SKIP][316] ([i915#14544] / [i915#15102] / [i915#3023]) +3 other tests skip
[315]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-rkl-4/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-mmap-cpu.html
[316]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-mmap-cpu.html
* igt@kms_frontbuffer_tracking@pipe-fbc-rte:
- shard-rkl: [SKIP][317] ([i915#9766]) -> [SKIP][318] ([i915#14544] / [i915#9766])
[317]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-rkl-5/igt@kms_frontbuffer_tracking@pipe-fbc-rte.html
[318]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-6/igt@kms_frontbuffer_tracking@pipe-fbc-rte.html
* igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-shrfb-draw-pwrite:
- shard-rkl: [SKIP][319] ([i915#15102]) -> [SKIP][320] ([i915#14544] / [i915#15102])
[319]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-rkl-4/igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-shrfb-draw-pwrite.html
[320]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-shrfb-draw-pwrite.html
* igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-mmap-cpu:
- shard-dg2: [SKIP][321] ([i915#10433] / [i915#15102] / [i915#3458]) -> [SKIP][322] ([i915#15102] / [i915#3458]) +3 other tests skip
[321]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-dg2-4/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-mmap-cpu.html
[322]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-dg2-5/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-mmap-cpu.html
* igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-blt:
- shard-rkl: [SKIP][323] ([i915#14544] / [i915#15102] / [i915#3023]) -> [SKIP][324] ([i915#15102] / [i915#3023]) +6 other tests skip
[323]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-blt.html
[324]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-7/igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@psr-2p-primscrn-cur-indfb-draw-render:
- shard-rkl: [SKIP][325] ([i915#1825]) -> [SKIP][326] ([i915#14544] / [i915#1825]) +7 other tests skip
[325]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-rkl-4/igt@kms_frontbuffer_tracking@psr-2p-primscrn-cur-indfb-draw-render.html
[326]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-2p-primscrn-cur-indfb-draw-render.html
* igt@kms_joiner@invalid-modeset-force-ultra-joiner:
- shard-rkl: [SKIP][327] ([i915#15458]) -> [SKIP][328] ([i915#14544] / [i915#15458])
[327]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-rkl-4/igt@kms_joiner@invalid-modeset-force-ultra-joiner.html
[328]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-6/igt@kms_joiner@invalid-modeset-force-ultra-joiner.html
* igt@kms_pipe_b_c_ivb@disable-pipe-b-enable-pipe-c:
- shard-rkl: [SKIP][329] ([i915#14544]) -> [SKIP][330]
[329]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-rkl-6/igt@kms_pipe_b_c_ivb@disable-pipe-b-enable-pipe-c.html
[330]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-7/igt@kms_pipe_b_c_ivb@disable-pipe-b-enable-pipe-c.html
* igt@kms_plane@pixel-format-4-tiled-mtl-rc-ccs-cc-modifier-source-clamping:
- shard-rkl: [SKIP][331] ([i915#15709]) -> [SKIP][332] ([i915#14544] / [i915#15709]) +1 other test skip
[331]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-rkl-4/igt@kms_plane@pixel-format-4-tiled-mtl-rc-ccs-cc-modifier-source-clamping.html
[332]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-6/igt@kms_plane@pixel-format-4-tiled-mtl-rc-ccs-cc-modifier-source-clamping.html
* igt@kms_plane_scaling@plane-upscale-factor-0-25-with-rotation@pipe-c:
- shard-rkl: [SKIP][333] ([i915#14544] / [i915#15329]) -> [SKIP][334] ([i915#15329]) +3 other tests skip
[333]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-rkl-6/igt@kms_plane_scaling@plane-upscale-factor-0-25-with-rotation@pipe-c.html
[334]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-3/igt@kms_plane_scaling@plane-upscale-factor-0-25-with-rotation@pipe-c.html
* igt@kms_pm_lpsp@kms-lpsp:
- shard-rkl: [SKIP][335] ([i915#9340]) -> [SKIP][336] ([i915#3828])
[335]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-rkl-7/igt@kms_pm_lpsp@kms-lpsp.html
[336]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-5/igt@kms_pm_lpsp@kms-lpsp.html
* igt@kms_pm_rpm@package-g7:
- shard-rkl: [SKIP][337] ([i915#14544] / [i915#15403]) -> [SKIP][338] ([i915#15403])
[337]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-rkl-6/igt@kms_pm_rpm@package-g7.html
[338]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-3/igt@kms_pm_rpm@package-g7.html
* igt@kms_psr2_sf@fbc-pr-cursor-plane-move-continuous-exceed-fully-sf:
- shard-rkl: [SKIP][339] ([i915#11520] / [i915#14544]) -> [SKIP][340] ([i915#11520]) +1 other test skip
[339]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-rkl-6/igt@kms_psr2_sf@fbc-pr-cursor-plane-move-continuous-exceed-fully-sf.html
[340]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-3/igt@kms_psr2_sf@fbc-pr-cursor-plane-move-continuous-exceed-fully-sf.html
* igt@kms_psr2_sf@fbc-pr-plane-move-sf-dmg-area:
- shard-rkl: [SKIP][341] ([i915#11520]) -> [SKIP][342] ([i915#11520] / [i915#14544]) +1 other test skip
[341]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-rkl-4/igt@kms_psr2_sf@fbc-pr-plane-move-sf-dmg-area.html
[342]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-6/igt@kms_psr2_sf@fbc-pr-plane-move-sf-dmg-area.html
* igt@kms_psr2_su@page_flip-xrgb8888:
- shard-rkl: [SKIP][343] ([i915#9683]) -> [SKIP][344] ([i915#14544] / [i915#9683])
[343]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-rkl-4/igt@kms_psr2_su@page_flip-xrgb8888.html
[344]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-6/igt@kms_psr2_su@page_flip-xrgb8888.html
* igt@kms_psr@fbc-pr-sprite-plane-onoff:
- shard-rkl: [SKIP][345] ([i915#1072] / [i915#14544] / [i915#9732]) -> [SKIP][346] ([i915#1072] / [i915#9732]) +3 other tests skip
[345]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-rkl-6/igt@kms_psr@fbc-pr-sprite-plane-onoff.html
[346]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-7/igt@kms_psr@fbc-pr-sprite-plane-onoff.html
* igt@kms_psr@pr-cursor-blt:
- shard-rkl: [SKIP][347] ([i915#1072] / [i915#9732]) -> [SKIP][348] ([i915#1072] / [i915#14544] / [i915#9732]) +4 other tests skip
[347]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-rkl-4/igt@kms_psr@pr-cursor-blt.html
[348]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-6/igt@kms_psr@pr-cursor-blt.html
* igt@kms_vrr@flip-dpms:
- shard-rkl: [SKIP][349] ([i915#14544] / [i915#15243] / [i915#3555]) -> [SKIP][350] ([i915#15243] / [i915#3555])
[349]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-rkl-6/igt@kms_vrr@flip-dpms.html
[350]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-3/igt@kms_vrr@flip-dpms.html
* igt@prime_vgem@coherency-gtt:
- shard-rkl: [SKIP][351] ([i915#14544] / [i915#3708]) -> [SKIP][352] ([i915#3708])
[351]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18296/shard-rkl-6/igt@prime_vgem@coherency-gtt.html
[352]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/shard-rkl-7/igt@prime_vgem@coherency-gtt.html
[i915#10307]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10307
[i915#10433]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10433
[i915#10434]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10434
[i915#10647]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10647
[i915#1072]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1072
[i915#11151]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11151
[i915#11520]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11520
[i915#12169]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12169
[i915#12276]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12276
[i915#12313]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12313
[i915#12314]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12314
[i915#12358]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12358
[i915#12392]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12392
[i915#1257]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1257
[i915#12745]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12745
[i915#12755]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12755
[i915#12756]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12756
[i915#12761]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12761
[i915#12910]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12910
[i915#13008]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13008
[i915#13027]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13027
[i915#13046]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13046
[i915#13049]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13049
[i915#13179]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13179
[i915#13356]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13356
[i915#13363]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13363
[i915#13398]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13398
[i915#13409]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13409
[i915#13476]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13476
[i915#13562]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13562
[i915#13566]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13566
[i915#13717]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13717
[i915#13749]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13749
[i915#13781]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13781
[i915#13783]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13783
[i915#13790]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13790
[i915#14073]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14073
[i915#14098]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14098
[i915#14152]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14152
[i915#14259]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14259
[i915#14544]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14544
[i915#14586]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14586
[i915#14694]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14694
[i915#14712]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14712
[i915#15073]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15073
[i915#15102]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15102
[i915#15104]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15104
[i915#15106]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15106
[i915#15131]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15131
[i915#15243]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15243
[i915#15329]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15329
[i915#15330]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15330
[i915#15403]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15403
[i915#15420]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15420
[i915#15458]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15458
[i915#15459]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15459
[i915#15582]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15582
[i915#15608]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15608
[i915#15643]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15643
[i915#15678]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15678
[i915#15709]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15709
[i915#15865]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15865
[i915#15867]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15867
[i915#1769]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1769
[i915#1825]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1825
[i915#1839]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1839
[i915#2190]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2190
[i915#2433]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2433
[i915#2527]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2527
[i915#2681]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2681
[i915#280]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/280
[i915#2856]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2856
[i915#3023]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3023
[i915#3281]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3281
[i915#3282]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3282
[i915#3297]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3297
[i915#3323]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3323
[i915#3458]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3458
[i915#3469]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3469
[i915#3555]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3555
[i915#3637]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3637
[i915#3638]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3638
[i915#3708]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3708
[i915#3742]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3742
[i915#3804]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3804
[i915#3828]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3828
[i915#3840]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3840
[i915#4077]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4077
[i915#4083]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4083
[i915#4103]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4103
[i915#4212]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4212
[i915#4270]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4270
[i915#4349]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4349
[i915#4423]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4423
[i915#4525]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4525
[i915#4537]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4537
[i915#4538]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4538
[i915#4613]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4613
[i915#4812]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4812
[i915#4817]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4817
[i915#4839]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4839
[i915#5190]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5190
[i915#5286]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5286
[i915#5289]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5289
[i915#5354]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5354
[i915#5439]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5439
[i915#5956]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5956
[i915#6095]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6095
[i915#6113]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6113
[i915#6230]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6230
[i915#6245]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6245
[i915#6344]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6344
[i915#6524]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6524
[i915#658]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/658
[i915#6805]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6805
[i915#6953]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6953
[i915#7828]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7828
[i915#8228]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8228
[i915#8399]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8399
[i915#8411]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8411
[i915#8428]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8428
[i915#8430]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8430
[i915#8516]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8516
[i915#8555]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8555
[i915#8623]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8623
[i915#8708]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8708
[i915#8812]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8812
[i915#9053]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9053
[i915#9067]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9067
[i915#9337]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9337
[i915#9340]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9340
[i915#9423]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9423
[i915#9683]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9683
[i915#9685]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9685
[i915#9723]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9723
[i915#9732]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9732
[i915#9766]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9766
[i915#9812]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9812
[i915#9906]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9906
[i915#9917]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9917
[i915#9934]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9934
Build changes
-------------
* Linux: CI_DRM_18296 -> Patchwork_164577v1
CI-20190529: 20190529
CI_DRM_18296: 994d34e9b0e78a8c9f5768d55529bdf194654793 @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_8850: 8850
Patchwork_164577v1: 994d34e9b0e78a8c9f5768d55529bdf194654793 @ git://anongit.freedesktop.org/gfx-ci/linux
piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164577v1/index.html
[-- Attachment #2: Type: text/html, Size: 121402 bytes --]
^ permalink raw reply [flat|nested] 19+ messages in thread