* [PATCH v4 0/6] drm/i915/xe3: FBC Dirty rect feature support
@ 2025-01-22 9:30 Vinod Govindapillai
2025-01-22 9:30 ` [PATCH v4 1/6] drm/i915/xe3: avoid calling fbc activate if fbc is active Vinod Govindapillai
` (9 more replies)
0 siblings, 10 replies; 19+ messages in thread
From: Vinod Govindapillai @ 2025-01-22 9:30 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: vinod.govindapillai, ville.syrjala, santhosh.reddy.guddati,
jani.saarinen
Dirty rect support for FBC in xe3 onwards based on the comments after the
initial RFC series.
v2: Dirty rect related compute and storage moved to fbc state (Ville)
V3: Dont call fbc activate if FBC is already active
v4: Dirty rect compute and programming moved within DSB scope
New changes are added as separate patches to make it easy for review
But could be squashed if the reviews as ok.
Vinod Govindapillai (6):
drm/i915/xe3: avoid calling fbc activate if fbc is active
drm/i915/xe3: add register definitions for fbc dirty rect support
drm/i915/xe3: disable FBC if PSR2 selective fetch is enabled
drm/i915/xe3: add dirty rect support for FBC
drm/i915/xe3: handle dirty rect update within the scope of DSB
drm/i915/xe3: introduce a dirty rectangle state variable
drivers/gpu/drm/i915/display/intel_display.c | 7 +
drivers/gpu/drm/i915/display/intel_fbc.c | 153 +++++++++++++++++-
drivers/gpu/drm/i915/display/intel_fbc.h | 7 +
drivers/gpu/drm/i915/display/intel_fbc_regs.h | 9 ++
4 files changed, 173 insertions(+), 3 deletions(-)
--
2.43.0
^ permalink raw reply [flat|nested] 19+ messages in thread
* [PATCH v4 1/6] drm/i915/xe3: avoid calling fbc activate if fbc is active
2025-01-22 9:30 [PATCH v4 0/6] drm/i915/xe3: FBC Dirty rect feature support Vinod Govindapillai
@ 2025-01-22 9:30 ` Vinod Govindapillai
2025-01-22 18:13 ` Ville Syrjälä
2025-01-22 9:30 ` [PATCH v4 2/6] drm/i915/xe3: add register definitions for fbc dirty rect support Vinod Govindapillai
` (8 subsequent siblings)
9 siblings, 1 reply; 19+ messages in thread
From: Vinod Govindapillai @ 2025-01-22 9:30 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: vinod.govindapillai, ville.syrjala, santhosh.reddy.guddati,
jani.saarinen
If FBC is already active, we don't need to call FBC activate
routine again during the post plane update. As this will
explicitly call the nuke and also rewrite the FBC ctl registers.
Xe doesn't support legacy fences. Hence fence programming also
not required as part of this fbc_haw_activate.
"intel_atomic_commit_tail-> intel_post_plane_update->
intel_fbc_post_update-> _intel_fbc_post_update" path will be
executed during the normal flip cases. FBC HW will nuke on sync
flip event and driver do not need to call the nuke explicitly.
This is much more relevant in case of dirty rectangle support
in FBC with the follow-up patches. Nuke on flip in that case will
remove all the benefits of fetching only the modified region.
Also any FBC related register updates with dirty rectangle
support enabled will trigger nuke by FBC HW.
The front buffer rendering sequence will call intel_fbc_flush()
and which will call intel_fbc_nuke() or intel_fbc_activate()
based on FBC status explicitly and won't get impacted by this
change.
Signed-off-by: Vinod Govindapillai <vinod.govindapillai@intel.com>
---
drivers/gpu/drm/i915/display/intel_fbc.c | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/drivers/gpu/drm/i915/display/intel_fbc.c b/drivers/gpu/drm/i915/display/intel_fbc.c
index df05904bac8a..ab9649dd606c 100644
--- a/drivers/gpu/drm/i915/display/intel_fbc.c
+++ b/drivers/gpu/drm/i915/display/intel_fbc.c
@@ -1556,11 +1556,22 @@ static void __intel_fbc_disable(struct intel_fbc *fbc)
static void __intel_fbc_post_update(struct intel_fbc *fbc)
{
+ struct intel_display *display = fbc->display;
+
lockdep_assert_held(&fbc->lock);
fbc->flip_pending = false;
fbc->busy_bits = 0;
+ /*
+ * When dirty rectangle is enabled, any updates to FBC registers will
+ * trigger nuke. So avoid calling intel_fbc_activate if fbc is already
+ * active and for XE3 cases. Xe doesn't support legacy fences. So
+ * no need to update the fences as well.
+ */
+ if (DISPLAY_VER(display) >= 30 && fbc->active)
+ return;
+
intel_fbc_activate(fbc);
}
--
2.43.0
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH v4 2/6] drm/i915/xe3: add register definitions for fbc dirty rect support
2025-01-22 9:30 [PATCH v4 0/6] drm/i915/xe3: FBC Dirty rect feature support Vinod Govindapillai
2025-01-22 9:30 ` [PATCH v4 1/6] drm/i915/xe3: avoid calling fbc activate if fbc is active Vinod Govindapillai
@ 2025-01-22 9:30 ` Vinod Govindapillai
2025-01-22 9:30 ` [PATCH v4 3/6] drm/i915/xe3: disable FBC if PSR2 selective fetch is enabled Vinod Govindapillai
` (7 subsequent siblings)
9 siblings, 0 replies; 19+ messages in thread
From: Vinod Govindapillai @ 2025-01-22 9:30 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: vinod.govindapillai, ville.syrjala, santhosh.reddy.guddati,
jani.saarinen
Register definitions for FBC dirty rect support
Bspec: 71675, 73424
Signed-off-by: Vinod Govindapillai <vinod.govindapillai@intel.com>
---
drivers/gpu/drm/i915/display/intel_fbc_regs.h | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/drivers/gpu/drm/i915/display/intel_fbc_regs.h b/drivers/gpu/drm/i915/display/intel_fbc_regs.h
index ae0699c3c2fe..b1d0161a3196 100644
--- a/drivers/gpu/drm/i915/display/intel_fbc_regs.h
+++ b/drivers/gpu/drm/i915/display/intel_fbc_regs.h
@@ -100,6 +100,15 @@
#define FBC_STRIDE_MASK REG_GENMASK(14, 0)
#define FBC_STRIDE(x) REG_FIELD_PREP(FBC_STRIDE_MASK, (x))
+#define XE3_FBC_DIRTY_RECT(fbc_id) _MMIO_PIPE((fbc_id), 0x43230, 0x43270)
+#define FBC_DIRTY_RECT_END_LINE_MASK REG_GENMASK(31, 16)
+#define FBC_DIRTY_RECT_END_LINE(val) REG_FIELD_PREP(FBC_DIRTY_RECT_END_LINE_MASK, (val))
+#define FBC_DIRTY_RECT_START_LINE_MASK REG_GENMASK(15, 0)
+#define FBC_DIRTY_RECT_START_LINE(val) REG_FIELD_PREP(FBC_DIRTY_RECT_START_LINE_MASK, (val))
+
+#define XE3_FBC_DIRTY_CTL(fbc_id) _MMIO_PIPE((fbc_id), 0x43234, 0x43274)
+#define FBC_DIRTY_RECT_EN REG_BIT(31)
+
#define ILK_FBC_RT_BASE _MMIO(0x2128)
#define ILK_FBC_RT_VALID REG_BIT(0)
#define SNB_FBC_FRONT_BUFFER REG_BIT(1)
--
2.43.0
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH v4 3/6] drm/i915/xe3: disable FBC if PSR2 selective fetch is enabled
2025-01-22 9:30 [PATCH v4 0/6] drm/i915/xe3: FBC Dirty rect feature support Vinod Govindapillai
2025-01-22 9:30 ` [PATCH v4 1/6] drm/i915/xe3: avoid calling fbc activate if fbc is active Vinod Govindapillai
2025-01-22 9:30 ` [PATCH v4 2/6] drm/i915/xe3: add register definitions for fbc dirty rect support Vinod Govindapillai
@ 2025-01-22 9:30 ` Vinod Govindapillai
2025-01-22 9:30 ` [PATCH v4 4/6] drm/i915/xe3: add dirty rect support for FBC Vinod Govindapillai
` (6 subsequent siblings)
9 siblings, 0 replies; 19+ messages in thread
From: Vinod Govindapillai @ 2025-01-22 9:30 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: vinod.govindapillai, ville.syrjala, santhosh.reddy.guddati,
jani.saarinen
It is not recommended to have both FBC and PSR2 selective fetch
be enabled at the same time in a plane. If PSR2 selective fetch
or panel replay is on, mark FBC as not possible in that plane.
v2: fix the condition to disable FBC if PSR2 enabled (Jani)
Bspec: 68881
Signed-off-by: Vinod Govindapillai <vinod.govindapillai@intel.com>
---
drivers/gpu/drm/i915/display/intel_fbc.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_fbc.c b/drivers/gpu/drm/i915/display/intel_fbc.c
index ab9649dd606c..7eefe699a0e6 100644
--- a/drivers/gpu/drm/i915/display/intel_fbc.c
+++ b/drivers/gpu/drm/i915/display/intel_fbc.c
@@ -1338,9 +1338,14 @@ static int intel_fbc_check_plane(struct intel_atomic_state *state,
* Display 12+ is not supporting FBC with PSR2.
* Recommendation is to keep this combination disabled
* Bspec: 50422 HSD: 14010260002
+ *
+ * In Xe3, PSR2 selective fetch and FBC dirty rect feature cannot
+ * coexist. So if PSR2 selective fetch is supported then mark that
+ * FBC is not supported.
+ * TODO: Need a logic to decide between PSR2 and FBC Dirty rect
*/
- if (IS_DISPLAY_VER(display, 12, 14) && crtc_state->has_sel_update &&
- !crtc_state->has_panel_replay) {
+ if ((IS_DISPLAY_VER(display, 12, 14) || DISPLAY_VER(display) >= 30) &&
+ crtc_state->has_sel_update && !crtc_state->has_panel_replay) {
plane_state->no_fbc_reason = "PSR2 enabled";
return 0;
}
--
2.43.0
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH v4 4/6] drm/i915/xe3: add dirty rect support for FBC
2025-01-22 9:30 [PATCH v4 0/6] drm/i915/xe3: FBC Dirty rect feature support Vinod Govindapillai
` (2 preceding siblings ...)
2025-01-22 9:30 ` [PATCH v4 3/6] drm/i915/xe3: disable FBC if PSR2 selective fetch is enabled Vinod Govindapillai
@ 2025-01-22 9:30 ` Vinod Govindapillai
2025-01-22 10:39 ` Jani Nikula
2025-01-22 19:41 ` Ville Syrjälä
2025-01-22 9:30 ` [PATCH v4 5/6] drm/i915/xe3: handle dirty rect update within the scope of DSB Vinod Govindapillai
` (5 subsequent siblings)
9 siblings, 2 replies; 19+ messages in thread
From: Vinod Govindapillai @ 2025-01-22 9:30 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: vinod.govindapillai, ville.syrjala, santhosh.reddy.guddati,
jani.saarinen
Dirty rectangle feature allows FBC to recompress a subsection
of a frame. When this feature is enabled, display will read
the scan lines between dirty rectangle start line and dirty
rectangle end line in subsequent frames.
v2: Move dirty rect handling to fbc state (Ville)
Bspec: 71675, 73424
Signed-off-by: Vinod Govindapillai <vinod.govindapillai@intel.com>
---
drivers/gpu/drm/i915/display/intel_display.c | 4 +
drivers/gpu/drm/i915/display/intel_fbc.c | 96 +++++++++++++++++++-
drivers/gpu/drm/i915/display/intel_fbc.h | 4 +
3 files changed, 103 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
index 10550bc0778e..d154fcd0e77a 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -7263,6 +7263,8 @@ static void intel_update_crtc(struct intel_atomic_state *state,
commit_pipe_pre_planes(state, crtc);
+ intel_fbc_program_dirty_rect(NULL, state, crtc);
+
intel_crtc_planes_update_arm(NULL, state, crtc);
commit_pipe_post_planes(state, crtc);
@@ -7731,6 +7733,8 @@ static void intel_atomic_dsb_finish(struct intel_atomic_state *state,
new_crtc_state);
bdw_set_pipe_misc(new_crtc_state->dsb_commit,
new_crtc_state);
+ intel_fbc_program_dirty_rect(new_crtc_state->dsb_commit,
+ state, crtc);
intel_crtc_planes_update_arm(new_crtc_state->dsb_commit,
state, crtc);
diff --git a/drivers/gpu/drm/i915/display/intel_fbc.c b/drivers/gpu/drm/i915/display/intel_fbc.c
index 7eefe699a0e6..963fbe2c7361 100644
--- a/drivers/gpu/drm/i915/display/intel_fbc.c
+++ b/drivers/gpu/drm/i915/display/intel_fbc.c
@@ -42,6 +42,7 @@
#include <linux/string_helpers.h>
#include <drm/drm_blend.h>
+#include <drm/drm_damage_helper.h>
#include <drm/drm_fourcc.h>
#include "gem/i915_gem_stolen.h"
@@ -58,6 +59,7 @@
#include "intel_display_trace.h"
#include "intel_display_types.h"
#include "intel_display_wa.h"
+#include "intel_dsb.h"
#include "intel_fbc.h"
#include "intel_fbc_regs.h"
#include "intel_frontbuffer.h"
@@ -88,6 +90,7 @@ struct intel_fbc_state {
u16 override_cfb_stride;
u16 interval;
s8 fence_id;
+ struct drm_rect dirty_rect;
};
struct intel_fbc {
@@ -527,6 +530,9 @@ static void ilk_fbc_deactivate(struct intel_fbc *fbc)
struct intel_display *display = fbc->display;
u32 dpfc_ctl;
+ if (DISPLAY_VER(display) >= 30)
+ intel_de_write(display, XE3_FBC_DIRTY_CTL(fbc->id), 0);
+
/* Disable compression */
dpfc_ctl = intel_de_read(display, ILK_DPFC_CONTROL(fbc->id));
if (dpfc_ctl & DPFC_CTL_EN) {
@@ -670,6 +676,10 @@ static void ivb_fbc_activate(struct intel_fbc *fbc)
if (DISPLAY_VER(display) >= 20)
intel_de_write(display, ILK_DPFC_CONTROL(fbc->id), dpfc_ctl);
+ if (DISPLAY_VER(display) >= 30)
+ intel_de_write(display, XE3_FBC_DIRTY_CTL(fbc->id),
+ FBC_DIRTY_RECT_EN);
+
intel_de_write(display, ILK_DPFC_CONTROL(fbc->id),
DPFC_CTL_EN | dpfc_ctl);
}
@@ -1203,6 +1213,85 @@ static bool tiling_is_valid(const struct intel_plane_state *plane_state)
return i8xx_fbc_tiling_valid(plane_state);
}
+static void
+__intel_fbc_program_dirty_rect(struct intel_dsb *dsb, struct intel_plane *plane)
+{
+ struct intel_display *display = to_intel_display(plane);
+ struct intel_fbc *fbc = plane->fbc;
+ struct intel_fbc_state *fbc_state = &fbc->state;
+
+ if (fbc_state->plane != plane)
+ return;
+
+ intel_de_write_dsb(display, dsb, XE3_FBC_DIRTY_RECT(fbc->id),
+ FBC_DIRTY_RECT_START_LINE(fbc_state->dirty_rect.y1) |
+ FBC_DIRTY_RECT_END_LINE(fbc_state->dirty_rect.y2));
+}
+
+void
+intel_fbc_program_dirty_rect(struct intel_dsb *dsb,
+ struct intel_atomic_state *state,
+ struct intel_crtc *crtc)
+{
+ struct intel_display *display = to_intel_display(state);
+ struct intel_plane_state __maybe_unused *plane_state;
+ struct intel_plane *plane;
+ int i;
+
+ if (DISPLAY_VER(display) < 30)
+ return;
+
+ for_each_new_intel_plane_in_state(state, plane, plane_state, i) {
+ struct intel_fbc *fbc = plane->fbc;
+
+ if (!fbc || plane->pipe != crtc->pipe)
+ continue;
+
+ __intel_fbc_program_dirty_rect(dsb, plane);
+ }
+}
+
+
+static void
+update_dirty_rect_to_full_region(struct intel_plane_state *plane_state,
+ struct drm_rect *dirty_rect)
+{
+ int y_offset = plane_state->view.color_plane[0].y;
+ int plane_height = drm_rect_height(&plane_state->uapi.src) >> 16;
+
+ dirty_rect->y1 = y_offset;
+ dirty_rect->y2 = y_offset + plane_height - 1;
+}
+
+static void
+validate_and_clip_dirty_rect(struct intel_plane_state *plane_state,
+ struct drm_rect *dirty_rect)
+{
+ int y_offset = plane_state->view.color_plane[0].y;
+ int plane_height = drm_rect_height(&plane_state->uapi.src) >> 16;
+ int max_endline = y_offset + plane_height;
+
+ dirty_rect->y1 = clamp(dirty_rect->y1, y_offset, max_endline);
+ dirty_rect->y2 = clamp(dirty_rect->y2, dirty_rect->y1, max_endline);
+}
+
+static void
+intel_fbc_compute_dirty_rect(struct intel_plane *plane,
+ struct intel_plane_state *old_plane_state,
+ struct intel_plane_state *new_plane_state)
+{
+ struct intel_fbc *fbc = plane->fbc;
+ struct intel_fbc_state *fbc_state = &fbc->state;
+ struct drm_rect *fbc_dirty_rect = &fbc_state->dirty_rect;
+
+ if (drm_atomic_helper_damage_merged(&old_plane_state->uapi,
+ &new_plane_state->uapi,
+ fbc_dirty_rect))
+ validate_and_clip_dirty_rect(new_plane_state, fbc_dirty_rect);
+ else
+ update_dirty_rect_to_full_region(new_plane_state, fbc_dirty_rect);
+}
+
static void intel_fbc_update_state(struct intel_atomic_state *state,
struct intel_crtc *crtc,
struct intel_plane *plane)
@@ -1210,8 +1299,10 @@ static void intel_fbc_update_state(struct intel_atomic_state *state,
struct intel_display *display = to_intel_display(state->base.dev);
const struct intel_crtc_state *crtc_state =
intel_atomic_get_new_crtc_state(state, crtc);
- const struct intel_plane_state *plane_state =
+ struct intel_plane_state *plane_state =
intel_atomic_get_new_plane_state(state, plane);
+ struct intel_plane_state *old_plane_state =
+ intel_atomic_get_old_plane_state(state, plane);
struct intel_fbc *fbc = plane->fbc;
struct intel_fbc_state *fbc_state = &fbc->state;
@@ -1236,6 +1327,9 @@ static void intel_fbc_update_state(struct intel_atomic_state *state,
fbc_state->cfb_stride = intel_fbc_cfb_stride(plane_state);
fbc_state->cfb_size = intel_fbc_cfb_size(plane_state);
fbc_state->override_cfb_stride = intel_fbc_override_cfb_stride(plane_state);
+
+ if (DISPLAY_VER(display) >= 30)
+ intel_fbc_compute_dirty_rect(plane, old_plane_state, plane_state);
}
static bool intel_fbc_is_fence_ok(const struct intel_plane_state *plane_state)
diff --git a/drivers/gpu/drm/i915/display/intel_fbc.h b/drivers/gpu/drm/i915/display/intel_fbc.h
index ceae55458e14..acaebe15f312 100644
--- a/drivers/gpu/drm/i915/display/intel_fbc.h
+++ b/drivers/gpu/drm/i915/display/intel_fbc.h
@@ -14,6 +14,7 @@ struct intel_atomic_state;
struct intel_crtc;
struct intel_crtc_state;
struct intel_display;
+struct intel_dsb;
struct intel_fbc;
struct intel_plane;
struct intel_plane_state;
@@ -48,5 +49,8 @@ void intel_fbc_handle_fifo_underrun_irq(struct intel_display *display);
void intel_fbc_reset_underrun(struct intel_display *display);
void intel_fbc_crtc_debugfs_add(struct intel_crtc *crtc);
void intel_fbc_debugfs_register(struct intel_display *display);
+void intel_fbc_program_dirty_rect(struct intel_dsb *dsb,
+ struct intel_atomic_state *state,
+ struct intel_crtc *crtc);
#endif /* __INTEL_FBC_H__ */
--
2.43.0
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH v4 5/6] drm/i915/xe3: handle dirty rect update within the scope of DSB
2025-01-22 9:30 [PATCH v4 0/6] drm/i915/xe3: FBC Dirty rect feature support Vinod Govindapillai
` (3 preceding siblings ...)
2025-01-22 9:30 ` [PATCH v4 4/6] drm/i915/xe3: add dirty rect support for FBC Vinod Govindapillai
@ 2025-01-22 9:30 ` Vinod Govindapillai
2025-01-22 10:47 ` Jani Nikula
2025-01-22 9:30 ` [PATCH v4 6/6] drm/i915/xe3: introduce a dirty rectangle state variable Vinod Govindapillai
` (4 subsequent siblings)
9 siblings, 1 reply; 19+ messages in thread
From: Vinod Govindapillai @ 2025-01-22 9:30 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: vinod.govindapillai, ville.syrjala, santhosh.reddy.guddati,
jani.saarinen
Programming of the dirty rectangle coordinates should happen
within the scope of DSB prepare and finish calls. So call the
compute and programming of dirty rectangle related routines
early within the DSB programming window. Some of the FBC state
handling is done later as part of pre-plane or post-plane
updates. So enabling / disabling / hw activate will happen
later but it should handle the sequence without any issue.
Signed-off-by: Vinod Govindapillai <vinod.govindapillai@intel.com>
---
drivers/gpu/drm/i915/display/intel_display.c | 3 ++
drivers/gpu/drm/i915/display/intel_fbc.c | 47 ++++++++++++++++----
drivers/gpu/drm/i915/display/intel_fbc.h | 3 ++
3 files changed, 44 insertions(+), 9 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
index d154fcd0e77a..e6e017e65da6 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -7773,6 +7773,9 @@ static void intel_atomic_commit_tail(struct intel_atomic_state *state)
intel_atomic_prepare_plane_clear_colors(state);
+ for_each_new_intel_crtc_in_state(state, crtc, new_crtc_state, i)
+ intel_fbc_compute_dirty_rect(state, crtc);
+
for_each_new_intel_crtc_in_state(state, crtc, new_crtc_state, i)
intel_atomic_dsb_finish(state, crtc);
diff --git a/drivers/gpu/drm/i915/display/intel_fbc.c b/drivers/gpu/drm/i915/display/intel_fbc.c
index 963fbe2c7361..033eb4a3eab0 100644
--- a/drivers/gpu/drm/i915/display/intel_fbc.c
+++ b/drivers/gpu/drm/i915/display/intel_fbc.c
@@ -1213,6 +1213,10 @@ static bool tiling_is_valid(const struct intel_plane_state *plane_state)
return i8xx_fbc_tiling_valid(plane_state);
}
+static bool intel_fbc_can_flip_nuke(struct intel_atomic_state *state,
+ struct intel_crtc *crtc,
+ struct intel_plane *plane);
+
static void
__intel_fbc_program_dirty_rect(struct intel_dsb *dsb, struct intel_plane *plane)
{
@@ -1251,7 +1255,6 @@ intel_fbc_program_dirty_rect(struct intel_dsb *dsb,
}
}
-
static void
update_dirty_rect_to_full_region(struct intel_plane_state *plane_state,
struct drm_rect *dirty_rect)
@@ -1276,9 +1279,9 @@ validate_and_clip_dirty_rect(struct intel_plane_state *plane_state,
}
static void
-intel_fbc_compute_dirty_rect(struct intel_plane *plane,
- struct intel_plane_state *old_plane_state,
- struct intel_plane_state *new_plane_state)
+__intel_fbc_compute_dirty_rect(struct intel_plane *plane,
+ struct intel_plane_state *old_plane_state,
+ struct intel_plane_state *new_plane_state)
{
struct intel_fbc *fbc = plane->fbc;
struct intel_fbc_state *fbc_state = &fbc->state;
@@ -1292,6 +1295,37 @@ intel_fbc_compute_dirty_rect(struct intel_plane *plane,
update_dirty_rect_to_full_region(new_plane_state, fbc_dirty_rect);
}
+void
+intel_fbc_compute_dirty_rect(struct intel_atomic_state *state,
+ struct intel_crtc *crtc)
+{
+ struct intel_display *display = to_intel_display(state);
+ struct intel_plane_state *new_plane_state;
+ struct intel_plane_state *old_plane_state;
+ struct intel_plane *plane;
+ int i;
+
+ if (DISPLAY_VER(display) < 30)
+ return;
+
+ for_each_oldnew_intel_plane_in_state(state, plane, old_plane_state, new_plane_state, i) {
+ struct intel_fbc *fbc = plane->fbc;
+
+ if (!fbc || plane->pipe != crtc->pipe)
+ continue;
+
+ /* If plane not visible, dirty rect might have invalid coordinates */
+ if (!new_plane_state->uapi.visible)
+ continue;
+
+ /* If FBC to be disabled, then no need to update dirty rect */
+ if (!intel_fbc_can_flip_nuke(state, crtc, plane))
+ continue;
+
+ __intel_fbc_compute_dirty_rect(plane, old_plane_state, new_plane_state);
+ }
+}
+
static void intel_fbc_update_state(struct intel_atomic_state *state,
struct intel_crtc *crtc,
struct intel_plane *plane)
@@ -1301,8 +1335,6 @@ static void intel_fbc_update_state(struct intel_atomic_state *state,
intel_atomic_get_new_crtc_state(state, crtc);
struct intel_plane_state *plane_state =
intel_atomic_get_new_plane_state(state, plane);
- struct intel_plane_state *old_plane_state =
- intel_atomic_get_old_plane_state(state, plane);
struct intel_fbc *fbc = plane->fbc;
struct intel_fbc_state *fbc_state = &fbc->state;
@@ -1327,9 +1359,6 @@ static void intel_fbc_update_state(struct intel_atomic_state *state,
fbc_state->cfb_stride = intel_fbc_cfb_stride(plane_state);
fbc_state->cfb_size = intel_fbc_cfb_size(plane_state);
fbc_state->override_cfb_stride = intel_fbc_override_cfb_stride(plane_state);
-
- if (DISPLAY_VER(display) >= 30)
- intel_fbc_compute_dirty_rect(plane, old_plane_state, plane_state);
}
static bool intel_fbc_is_fence_ok(const struct intel_plane_state *plane_state)
diff --git a/drivers/gpu/drm/i915/display/intel_fbc.h b/drivers/gpu/drm/i915/display/intel_fbc.h
index acaebe15f312..87be5653db0f 100644
--- a/drivers/gpu/drm/i915/display/intel_fbc.h
+++ b/drivers/gpu/drm/i915/display/intel_fbc.h
@@ -49,8 +49,11 @@ void intel_fbc_handle_fifo_underrun_irq(struct intel_display *display);
void intel_fbc_reset_underrun(struct intel_display *display);
void intel_fbc_crtc_debugfs_add(struct intel_crtc *crtc);
void intel_fbc_debugfs_register(struct intel_display *display);
+void intel_fbc_compute_dirty_rect(struct intel_atomic_state *state,
+ struct intel_crtc *crtc);
void intel_fbc_program_dirty_rect(struct intel_dsb *dsb,
struct intel_atomic_state *state,
struct intel_crtc *crtc);
+
#endif /* __INTEL_FBC_H__ */
--
2.43.0
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH v4 6/6] drm/i915/xe3: introduce a dirty rectangle state variable
2025-01-22 9:30 [PATCH v4 0/6] drm/i915/xe3: FBC Dirty rect feature support Vinod Govindapillai
` (4 preceding siblings ...)
2025-01-22 9:30 ` [PATCH v4 5/6] drm/i915/xe3: handle dirty rect update within the scope of DSB Vinod Govindapillai
@ 2025-01-22 9:30 ` Vinod Govindapillai
2025-01-22 10:42 ` Jani Nikula
2025-01-22 10:04 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915/xe3: FBC Dirty rect feature support (rev5) Patchwork
` (3 subsequent siblings)
9 siblings, 1 reply; 19+ messages in thread
From: Vinod Govindapillai @ 2025-01-22 9:30 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: vinod.govindapillai, ville.syrjala, santhosh.reddy.guddati,
jani.saarinen
To avoid programming garbage to dirty rectangle registers,
introduce a state variable to track the validity of the
dirty rectangle update scenarios. Program the dirty rectangle
coordinate only if this state variable is valid.
Signed-off-by: Vinod Govindapillai <vinod.govindapillai@intel.com>
---
drivers/gpu/drm/i915/display/intel_fbc.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/drivers/gpu/drm/i915/display/intel_fbc.c b/drivers/gpu/drm/i915/display/intel_fbc.c
index 033eb4a3eab0..ab8acb1cc090 100644
--- a/drivers/gpu/drm/i915/display/intel_fbc.c
+++ b/drivers/gpu/drm/i915/display/intel_fbc.c
@@ -91,6 +91,7 @@ struct intel_fbc_state {
u16 interval;
s8 fence_id;
struct drm_rect dirty_rect;
+ bool dr_valid;
};
struct intel_fbc {
@@ -1227,6 +1228,9 @@ __intel_fbc_program_dirty_rect(struct intel_dsb *dsb, struct intel_plane *plane)
if (fbc_state->plane != plane)
return;
+ if (!fbc_state->dr_valid)
+ return;
+
intel_de_write_dsb(display, dsb, XE3_FBC_DIRTY_RECT(fbc->id),
FBC_DIRTY_RECT_START_LINE(fbc_state->dirty_rect.y1) |
FBC_DIRTY_RECT_END_LINE(fbc_state->dirty_rect.y2));
@@ -1314,6 +1318,8 @@ intel_fbc_compute_dirty_rect(struct intel_atomic_state *state,
if (!fbc || plane->pipe != crtc->pipe)
continue;
+ fbc->state.dr_valid = false;
+
/* If plane not visible, dirty rect might have invalid coordinates */
if (!new_plane_state->uapi.visible)
continue;
@@ -1323,6 +1329,8 @@ intel_fbc_compute_dirty_rect(struct intel_atomic_state *state,
continue;
__intel_fbc_compute_dirty_rect(plane, old_plane_state, new_plane_state);
+
+ fbc->state.dr_valid = true;
}
}
--
2.43.0
^ permalink raw reply related [flat|nested] 19+ messages in thread
* ✗ Fi.CI.CHECKPATCH: warning for drm/i915/xe3: FBC Dirty rect feature support (rev5)
2025-01-22 9:30 [PATCH v4 0/6] drm/i915/xe3: FBC Dirty rect feature support Vinod Govindapillai
` (5 preceding siblings ...)
2025-01-22 9:30 ` [PATCH v4 6/6] drm/i915/xe3: introduce a dirty rectangle state variable Vinod Govindapillai
@ 2025-01-22 10:04 ` Patchwork
2025-01-22 10:04 ` ✗ Fi.CI.SPARSE: " Patchwork
` (2 subsequent siblings)
9 siblings, 0 replies; 19+ messages in thread
From: Patchwork @ 2025-01-22 10:04 UTC (permalink / raw)
To: Vinod Govindapillai; +Cc: intel-gfx
== Series Details ==
Series: drm/i915/xe3: FBC Dirty rect feature support (rev5)
URL : https://patchwork.freedesktop.org/series/141527/
State : warning
== Summary ==
Error: dim checkpatch failed
35c76b1e5939 drm/i915/xe3: avoid calling fbc activate if fbc is active
ed4125786d32 drm/i915/xe3: add register definitions for fbc dirty rect support
-:24: WARNING:LONG_LINE: line length of 101 exceeds 100 columns
#24: FILE: drivers/gpu/drm/i915/display/intel_fbc_regs.h:107:
+#define FBC_DIRTY_RECT_START_LINE(val) REG_FIELD_PREP(FBC_DIRTY_RECT_START_LINE_MASK, (val))
total: 0 errors, 1 warnings, 0 checks, 15 lines checked
c2d415f94289 drm/i915/xe3: disable FBC if PSR2 selective fetch is enabled
fe0945ab4458 drm/i915/xe3: add dirty rect support for FBC
-:129: CHECK:LINE_SPACING: Please don't use multiple blank lines
#129: FILE: drivers/gpu/drm/i915/display/intel_fbc.c:1254:
+
+
total: 0 errors, 0 warnings, 1 checks, 176 lines checked
644ae897519b drm/i915/xe3: handle dirty rect update within the scope of DSB
-:138: CHECK:LINE_SPACING: Please don't use multiple blank lines
#138: FILE: drivers/gpu/drm/i915/display/intel_fbc.h:58:
+
total: 0 errors, 0 warnings, 1 checks, 103 lines checked
eed74adbbf9f drm/i915/xe3: introduce a dirty rectangle state variable
^ permalink raw reply [flat|nested] 19+ messages in thread
* ✗ Fi.CI.SPARSE: warning for drm/i915/xe3: FBC Dirty rect feature support (rev5)
2025-01-22 9:30 [PATCH v4 0/6] drm/i915/xe3: FBC Dirty rect feature support Vinod Govindapillai
` (6 preceding siblings ...)
2025-01-22 10:04 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915/xe3: FBC Dirty rect feature support (rev5) Patchwork
@ 2025-01-22 10:04 ` Patchwork
2025-01-22 10:18 ` ✓ i915.CI.BAT: success " Patchwork
2025-01-23 14:33 ` ✓ i915.CI.Full: " Patchwork
9 siblings, 0 replies; 19+ messages in thread
From: Patchwork @ 2025-01-22 10:04 UTC (permalink / raw)
To: Vinod Govindapillai; +Cc: intel-gfx
== Series Details ==
Series: drm/i915/xe3: FBC Dirty rect feature support (rev5)
URL : https://patchwork.freedesktop.org/series/141527/
State : warning
== Summary ==
Error: dim sparse failed
Sparse version: v0.6.2
Fast mode used, each commit won't be checked separately.
^ permalink raw reply [flat|nested] 19+ messages in thread
* ✓ i915.CI.BAT: success for drm/i915/xe3: FBC Dirty rect feature support (rev5)
2025-01-22 9:30 [PATCH v4 0/6] drm/i915/xe3: FBC Dirty rect feature support Vinod Govindapillai
` (7 preceding siblings ...)
2025-01-22 10:04 ` ✗ Fi.CI.SPARSE: " Patchwork
@ 2025-01-22 10:18 ` Patchwork
2025-01-23 14:33 ` ✓ i915.CI.Full: " Patchwork
9 siblings, 0 replies; 19+ messages in thread
From: Patchwork @ 2025-01-22 10:18 UTC (permalink / raw)
To: Vinod Govindapillai; +Cc: intel-gfx
[-- Attachment #1: Type: text/plain, Size: 6571 bytes --]
== Series Details ==
Series: drm/i915/xe3: FBC Dirty rect feature support (rev5)
URL : https://patchwork.freedesktop.org/series/141527/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_15999 -> Patchwork_141527v5
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/index.html
Participating hosts (42 -> 41)
------------------------------
Additional (1): fi-pnv-d510
Missing (2): bat-rpls-4 fi-snb-2520m
Known issues
------------
Here are the changes found in Patchwork_141527v5 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@i915_module_load@load:
- fi-pnv-d510: NOTRUN -> [ABORT][1] ([i915#13203])
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/fi-pnv-d510/igt@i915_module_load@load.html
* igt@i915_module_load@reload:
- bat-twl-1: [PASS][2] -> [DMESG-WARN][3] ([i915#1982])
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15999/bat-twl-1/igt@i915_module_load@reload.html
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/bat-twl-1/igt@i915_module_load@reload.html
* igt@i915_selftest@live@workarounds:
- bat-adlp-6: [PASS][4] -> [ABORT][5] ([i915#9413]) +1 other test abort
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15999/bat-adlp-6/igt@i915_selftest@live@workarounds.html
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/bat-adlp-6/igt@i915_selftest@live@workarounds.html
* igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence:
- bat-dg2-11: [PASS][6] -> [SKIP][7] ([i915#9197]) +3 other tests skip
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15999/bat-dg2-11/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence.html
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/bat-dg2-11/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence.html
#### Possible fixes ####
* igt@fbdev@info:
- {bat-arls-6}: [SKIP][8] ([i915#1849]) -> [PASS][9]
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15999/bat-arls-6/igt@fbdev@info.html
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/bat-arls-6/igt@fbdev@info.html
* igt@fbdev@nullptr:
- {bat-arls-6}: [SKIP][10] ([i915#11191]) -> [PASS][11] +3 other tests pass
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15999/bat-arls-6/igt@fbdev@nullptr.html
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/bat-arls-6/igt@fbdev@nullptr.html
* igt@i915_selftest@live@memory_region:
- {bat-arls-6}: [INCOMPLETE][12] -> [PASS][13] +1 other test pass
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15999/bat-arls-6/igt@i915_selftest@live@memory_region.html
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/bat-arls-6/igt@i915_selftest@live@memory_region.html
* igt@i915_selftest@live@workarounds:
- {bat-arls-6}: [DMESG-FAIL][14] ([i915#12061]) -> [PASS][15]
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15999/bat-arls-6/igt@i915_selftest@live@workarounds.html
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/bat-arls-6/igt@i915_selftest@live@workarounds.html
* igt@kms_cursor_legacy@basic-flip-after-cursor-varying-size:
- {bat-arls-6}: [SKIP][16] ([i915#13558]) -> [PASS][17] +13 other tests pass
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15999/bat-arls-6/igt@kms_cursor_legacy@basic-flip-after-cursor-varying-size.html
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/bat-arls-6/igt@kms_cursor_legacy@basic-flip-after-cursor-varying-size.html
* igt@kms_flip@basic-flip-vs-wf_vblank:
- {bat-arls-6}: [SKIP][18] ([i915#3637]) -> [PASS][19] +3 other tests pass
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15999/bat-arls-6/igt@kms_flip@basic-flip-vs-wf_vblank.html
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/bat-arls-6/igt@kms_flip@basic-flip-vs-wf_vblank.html
* igt@kms_frontbuffer_tracking@basic:
- {bat-arls-6}: [SKIP][20] ([i915#4342] / [i915#5354]) -> [PASS][21]
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15999/bat-arls-6/igt@kms_frontbuffer_tracking@basic.html
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/bat-arls-6/igt@kms_frontbuffer_tracking@basic.html
* igt@prime_vgem@basic-fence-flip:
- {bat-arls-6}: [SKIP][22] ([i915#3708]) -> [PASS][23]
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15999/bat-arls-6/igt@prime_vgem@basic-fence-flip.html
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/bat-arls-6/igt@prime_vgem@basic-fence-flip.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[i915#10202]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10202
[i915#11191]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11191
[i915#12061]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12061
[i915#13203]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13203
[i915#13558]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13558
[i915#1849]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1849
[i915#1982]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1982
[i915#3637]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3637
[i915#3708]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3708
[i915#4342]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4342
[i915#5354]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5354
[i915#9197]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9197
[i915#9413]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9413
[i915#9886]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9886
Build changes
-------------
* Linux: CI_DRM_15999 -> Patchwork_141527v5
CI-20190529: 20190529
CI_DRM_15999: 71b6a6ef0f37fe2d812dc2bd6d4b0d2d52096d07 @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_8205: f3225e64a7c52e515ab7ec14e6e3f63679718928 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
Patchwork_141527v5: 71b6a6ef0f37fe2d812dc2bd6d4b0d2d52096d07 @ git://anongit.freedesktop.org/gfx-ci/linux
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/index.html
[-- Attachment #2: Type: text/html, Size: 7320 bytes --]
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH v4 4/6] drm/i915/xe3: add dirty rect support for FBC
2025-01-22 9:30 ` [PATCH v4 4/6] drm/i915/xe3: add dirty rect support for FBC Vinod Govindapillai
@ 2025-01-22 10:39 ` Jani Nikula
2025-01-22 19:41 ` Ville Syrjälä
1 sibling, 0 replies; 19+ messages in thread
From: Jani Nikula @ 2025-01-22 10:39 UTC (permalink / raw)
To: Vinod Govindapillai, intel-gfx, intel-xe
Cc: vinod.govindapillai, ville.syrjala, santhosh.reddy.guddati,
jani.saarinen
On Wed, 22 Jan 2025, Vinod Govindapillai <vinod.govindapillai@intel.com> wrote:
> Dirty rectangle feature allows FBC to recompress a subsection
> of a frame. When this feature is enabled, display will read
> the scan lines between dirty rectangle start line and dirty
> rectangle end line in subsequent frames.
>
> v2: Move dirty rect handling to fbc state (Ville)
>
> Bspec: 71675, 73424
> Signed-off-by: Vinod Govindapillai <vinod.govindapillai@intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_display.c | 4 +
> drivers/gpu/drm/i915/display/intel_fbc.c | 96 +++++++++++++++++++-
> drivers/gpu/drm/i915/display/intel_fbc.h | 4 +
> 3 files changed, 103 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
> index 10550bc0778e..d154fcd0e77a 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -7263,6 +7263,8 @@ static void intel_update_crtc(struct intel_atomic_state *state,
>
> commit_pipe_pre_planes(state, crtc);
>
> + intel_fbc_program_dirty_rect(NULL, state, crtc);
> +
> intel_crtc_planes_update_arm(NULL, state, crtc);
>
> commit_pipe_post_planes(state, crtc);
> @@ -7731,6 +7733,8 @@ static void intel_atomic_dsb_finish(struct intel_atomic_state *state,
> new_crtc_state);
> bdw_set_pipe_misc(new_crtc_state->dsb_commit,
> new_crtc_state);
> + intel_fbc_program_dirty_rect(new_crtc_state->dsb_commit,
> + state, crtc);
> intel_crtc_planes_update_arm(new_crtc_state->dsb_commit,
> state, crtc);
>
> diff --git a/drivers/gpu/drm/i915/display/intel_fbc.c b/drivers/gpu/drm/i915/display/intel_fbc.c
> index 7eefe699a0e6..963fbe2c7361 100644
> --- a/drivers/gpu/drm/i915/display/intel_fbc.c
> +++ b/drivers/gpu/drm/i915/display/intel_fbc.c
> @@ -42,6 +42,7 @@
> #include <linux/string_helpers.h>
>
> #include <drm/drm_blend.h>
> +#include <drm/drm_damage_helper.h>
> #include <drm/drm_fourcc.h>
>
> #include "gem/i915_gem_stolen.h"
> @@ -58,6 +59,7 @@
> #include "intel_display_trace.h"
> #include "intel_display_types.h"
> #include "intel_display_wa.h"
> +#include "intel_dsb.h"
> #include "intel_fbc.h"
> #include "intel_fbc_regs.h"
> #include "intel_frontbuffer.h"
> @@ -88,6 +90,7 @@ struct intel_fbc_state {
> u16 override_cfb_stride;
> u16 interval;
> s8 fence_id;
> + struct drm_rect dirty_rect;
> };
>
> struct intel_fbc {
> @@ -527,6 +530,9 @@ static void ilk_fbc_deactivate(struct intel_fbc *fbc)
> struct intel_display *display = fbc->display;
> u32 dpfc_ctl;
>
> + if (DISPLAY_VER(display) >= 30)
The repeated DISPLAY_VER(display) >= 30 around dirty rect in the series
smell like HAS_DIRTY_RECT() would be appropriate.
BR,
Jani.
> + intel_de_write(display, XE3_FBC_DIRTY_CTL(fbc->id), 0);
> +
> /* Disable compression */
> dpfc_ctl = intel_de_read(display, ILK_DPFC_CONTROL(fbc->id));
> if (dpfc_ctl & DPFC_CTL_EN) {
> @@ -670,6 +676,10 @@ static void ivb_fbc_activate(struct intel_fbc *fbc)
> if (DISPLAY_VER(display) >= 20)
> intel_de_write(display, ILK_DPFC_CONTROL(fbc->id), dpfc_ctl);
>
> + if (DISPLAY_VER(display) >= 30)
> + intel_de_write(display, XE3_FBC_DIRTY_CTL(fbc->id),
> + FBC_DIRTY_RECT_EN);
> +
> intel_de_write(display, ILK_DPFC_CONTROL(fbc->id),
> DPFC_CTL_EN | dpfc_ctl);
> }
> @@ -1203,6 +1213,85 @@ static bool tiling_is_valid(const struct intel_plane_state *plane_state)
> return i8xx_fbc_tiling_valid(plane_state);
> }
>
> +static void
> +__intel_fbc_program_dirty_rect(struct intel_dsb *dsb, struct intel_plane *plane)
> +{
> + struct intel_display *display = to_intel_display(plane);
> + struct intel_fbc *fbc = plane->fbc;
> + struct intel_fbc_state *fbc_state = &fbc->state;
> +
> + if (fbc_state->plane != plane)
> + return;
> +
> + intel_de_write_dsb(display, dsb, XE3_FBC_DIRTY_RECT(fbc->id),
> + FBC_DIRTY_RECT_START_LINE(fbc_state->dirty_rect.y1) |
> + FBC_DIRTY_RECT_END_LINE(fbc_state->dirty_rect.y2));
> +}
> +
> +void
> +intel_fbc_program_dirty_rect(struct intel_dsb *dsb,
> + struct intel_atomic_state *state,
> + struct intel_crtc *crtc)
> +{
> + struct intel_display *display = to_intel_display(state);
> + struct intel_plane_state __maybe_unused *plane_state;
> + struct intel_plane *plane;
> + int i;
> +
> + if (DISPLAY_VER(display) < 30)
> + return;
> +
> + for_each_new_intel_plane_in_state(state, plane, plane_state, i) {
> + struct intel_fbc *fbc = plane->fbc;
> +
> + if (!fbc || plane->pipe != crtc->pipe)
> + continue;
> +
> + __intel_fbc_program_dirty_rect(dsb, plane);
> + }
> +}
> +
> +
> +static void
> +update_dirty_rect_to_full_region(struct intel_plane_state *plane_state,
> + struct drm_rect *dirty_rect)
> +{
> + int y_offset = plane_state->view.color_plane[0].y;
> + int plane_height = drm_rect_height(&plane_state->uapi.src) >> 16;
> +
> + dirty_rect->y1 = y_offset;
> + dirty_rect->y2 = y_offset + plane_height - 1;
> +}
> +
> +static void
> +validate_and_clip_dirty_rect(struct intel_plane_state *plane_state,
> + struct drm_rect *dirty_rect)
> +{
> + int y_offset = plane_state->view.color_plane[0].y;
> + int plane_height = drm_rect_height(&plane_state->uapi.src) >> 16;
> + int max_endline = y_offset + plane_height;
> +
> + dirty_rect->y1 = clamp(dirty_rect->y1, y_offset, max_endline);
> + dirty_rect->y2 = clamp(dirty_rect->y2, dirty_rect->y1, max_endline);
> +}
> +
> +static void
> +intel_fbc_compute_dirty_rect(struct intel_plane *plane,
> + struct intel_plane_state *old_plane_state,
> + struct intel_plane_state *new_plane_state)
> +{
> + struct intel_fbc *fbc = plane->fbc;
> + struct intel_fbc_state *fbc_state = &fbc->state;
> + struct drm_rect *fbc_dirty_rect = &fbc_state->dirty_rect;
> +
> + if (drm_atomic_helper_damage_merged(&old_plane_state->uapi,
> + &new_plane_state->uapi,
> + fbc_dirty_rect))
> + validate_and_clip_dirty_rect(new_plane_state, fbc_dirty_rect);
> + else
> + update_dirty_rect_to_full_region(new_plane_state, fbc_dirty_rect);
> +}
> +
> static void intel_fbc_update_state(struct intel_atomic_state *state,
> struct intel_crtc *crtc,
> struct intel_plane *plane)
> @@ -1210,8 +1299,10 @@ static void intel_fbc_update_state(struct intel_atomic_state *state,
> struct intel_display *display = to_intel_display(state->base.dev);
> const struct intel_crtc_state *crtc_state =
> intel_atomic_get_new_crtc_state(state, crtc);
> - const struct intel_plane_state *plane_state =
> + struct intel_plane_state *plane_state =
> intel_atomic_get_new_plane_state(state, plane);
> + struct intel_plane_state *old_plane_state =
> + intel_atomic_get_old_plane_state(state, plane);
> struct intel_fbc *fbc = plane->fbc;
> struct intel_fbc_state *fbc_state = &fbc->state;
>
> @@ -1236,6 +1327,9 @@ static void intel_fbc_update_state(struct intel_atomic_state *state,
> fbc_state->cfb_stride = intel_fbc_cfb_stride(plane_state);
> fbc_state->cfb_size = intel_fbc_cfb_size(plane_state);
> fbc_state->override_cfb_stride = intel_fbc_override_cfb_stride(plane_state);
> +
> + if (DISPLAY_VER(display) >= 30)
> + intel_fbc_compute_dirty_rect(plane, old_plane_state, plane_state);
> }
>
> static bool intel_fbc_is_fence_ok(const struct intel_plane_state *plane_state)
> diff --git a/drivers/gpu/drm/i915/display/intel_fbc.h b/drivers/gpu/drm/i915/display/intel_fbc.h
> index ceae55458e14..acaebe15f312 100644
> --- a/drivers/gpu/drm/i915/display/intel_fbc.h
> +++ b/drivers/gpu/drm/i915/display/intel_fbc.h
> @@ -14,6 +14,7 @@ struct intel_atomic_state;
> struct intel_crtc;
> struct intel_crtc_state;
> struct intel_display;
> +struct intel_dsb;
> struct intel_fbc;
> struct intel_plane;
> struct intel_plane_state;
> @@ -48,5 +49,8 @@ void intel_fbc_handle_fifo_underrun_irq(struct intel_display *display);
> void intel_fbc_reset_underrun(struct intel_display *display);
> void intel_fbc_crtc_debugfs_add(struct intel_crtc *crtc);
> void intel_fbc_debugfs_register(struct intel_display *display);
> +void intel_fbc_program_dirty_rect(struct intel_dsb *dsb,
> + struct intel_atomic_state *state,
> + struct intel_crtc *crtc);
>
> #endif /* __INTEL_FBC_H__ */
--
Jani Nikula, Intel
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH v4 6/6] drm/i915/xe3: introduce a dirty rectangle state variable
2025-01-22 9:30 ` [PATCH v4 6/6] drm/i915/xe3: introduce a dirty rectangle state variable Vinod Govindapillai
@ 2025-01-22 10:42 ` Jani Nikula
0 siblings, 0 replies; 19+ messages in thread
From: Jani Nikula @ 2025-01-22 10:42 UTC (permalink / raw)
To: Vinod Govindapillai, intel-gfx, intel-xe
Cc: vinod.govindapillai, ville.syrjala, santhosh.reddy.guddati,
jani.saarinen
On Wed, 22 Jan 2025, Vinod Govindapillai <vinod.govindapillai@intel.com> wrote:
> To avoid programming garbage to dirty rectangle registers,
> introduce a state variable to track the validity of the
> dirty rectangle update scenarios. Program the dirty rectangle
> coordinate only if this state variable is valid.
>
> Signed-off-by: Vinod Govindapillai <vinod.govindapillai@intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_fbc.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_fbc.c b/drivers/gpu/drm/i915/display/intel_fbc.c
> index 033eb4a3eab0..ab8acb1cc090 100644
> --- a/drivers/gpu/drm/i915/display/intel_fbc.c
> +++ b/drivers/gpu/drm/i915/display/intel_fbc.c
> @@ -91,6 +91,7 @@ struct intel_fbc_state {
> u16 interval;
> s8 fence_id;
> struct drm_rect dirty_rect;
> + bool dr_valid;
Please let's try to avoid inventing new acronyms for every little
thing. I don't think we want to be guessing what "dr_valid" means.
Adding context would help:
struct {
struct drm_rect rect;
bool valid;
} dirty_rect;
Or similar.
> };
>
> struct intel_fbc {
> @@ -1227,6 +1228,9 @@ __intel_fbc_program_dirty_rect(struct intel_dsb *dsb, struct intel_plane *plane)
> if (fbc_state->plane != plane)
> return;
>
> + if (!fbc_state->dr_valid)
> + return;
> +
> intel_de_write_dsb(display, dsb, XE3_FBC_DIRTY_RECT(fbc->id),
> FBC_DIRTY_RECT_START_LINE(fbc_state->dirty_rect.y1) |
> FBC_DIRTY_RECT_END_LINE(fbc_state->dirty_rect.y2));
> @@ -1314,6 +1318,8 @@ intel_fbc_compute_dirty_rect(struct intel_atomic_state *state,
> if (!fbc || plane->pipe != crtc->pipe)
> continue;
>
> + fbc->state.dr_valid = false;
> +
> /* If plane not visible, dirty rect might have invalid coordinates */
> if (!new_plane_state->uapi.visible)
> continue;
> @@ -1323,6 +1329,8 @@ intel_fbc_compute_dirty_rect(struct intel_atomic_state *state,
> continue;
>
> __intel_fbc_compute_dirty_rect(plane, old_plane_state, new_plane_state);
> +
> + fbc->state.dr_valid = true;
> }
> }
--
Jani Nikula, Intel
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH v4 5/6] drm/i915/xe3: handle dirty rect update within the scope of DSB
2025-01-22 9:30 ` [PATCH v4 5/6] drm/i915/xe3: handle dirty rect update within the scope of DSB Vinod Govindapillai
@ 2025-01-22 10:47 ` Jani Nikula
2025-01-22 13:55 ` Govindapillai, Vinod
0 siblings, 1 reply; 19+ messages in thread
From: Jani Nikula @ 2025-01-22 10:47 UTC (permalink / raw)
To: Vinod Govindapillai, intel-gfx, intel-xe
Cc: vinod.govindapillai, ville.syrjala, santhosh.reddy.guddati,
jani.saarinen
On Wed, 22 Jan 2025, Vinod Govindapillai <vinod.govindapillai@intel.com> wrote:
> Programming of the dirty rectangle coordinates should happen
> within the scope of DSB prepare and finish calls. So call the
> compute and programming of dirty rectangle related routines
> early within the DSB programming window. Some of the FBC state
> handling is done later as part of pre-plane or post-plane
> updates. So enabling / disabling / hw activate will happen
> later but it should handle the sequence without any issue.
>
> Signed-off-by: Vinod Govindapillai <vinod.govindapillai@intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_display.c | 3 ++
> drivers/gpu/drm/i915/display/intel_fbc.c | 47 ++++++++++++++++----
> drivers/gpu/drm/i915/display/intel_fbc.h | 3 ++
> 3 files changed, 44 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
> index d154fcd0e77a..e6e017e65da6 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -7773,6 +7773,9 @@ static void intel_atomic_commit_tail(struct intel_atomic_state *state)
>
> intel_atomic_prepare_plane_clear_colors(state);
>
> + for_each_new_intel_crtc_in_state(state, crtc, new_crtc_state, i)
> + intel_fbc_compute_dirty_rect(state, crtc);
"compute" is a fairly loaded word in our driver. The immediate
association is "it's compute config, but missing the config part". And
doing anything "compute" seems completely out of place in
intel_atomic_commit_tail(), where we've long since passed the compute
config stage.
> +
> for_each_new_intel_crtc_in_state(state, crtc, new_crtc_state, i)
> intel_atomic_dsb_finish(state, crtc);
>
> diff --git a/drivers/gpu/drm/i915/display/intel_fbc.c b/drivers/gpu/drm/i915/display/intel_fbc.c
> index 963fbe2c7361..033eb4a3eab0 100644
> --- a/drivers/gpu/drm/i915/display/intel_fbc.c
> +++ b/drivers/gpu/drm/i915/display/intel_fbc.c
> @@ -1213,6 +1213,10 @@ static bool tiling_is_valid(const struct intel_plane_state *plane_state)
> return i8xx_fbc_tiling_valid(plane_state);
> }
>
> +static bool intel_fbc_can_flip_nuke(struct intel_atomic_state *state,
> + struct intel_crtc *crtc,
> + struct intel_plane *plane);
> +
> static void
> __intel_fbc_program_dirty_rect(struct intel_dsb *dsb, struct intel_plane *plane)
> {
> @@ -1251,7 +1255,6 @@ intel_fbc_program_dirty_rect(struct intel_dsb *dsb,
> }
> }
>
> -
The previous patch added a superfluous newline here, and this one
removes it. Please just don't add it in the first place.
> static void
> update_dirty_rect_to_full_region(struct intel_plane_state *plane_state,
> struct drm_rect *dirty_rect)
> @@ -1276,9 +1279,9 @@ validate_and_clip_dirty_rect(struct intel_plane_state *plane_state,
> }
>
> static void
> -intel_fbc_compute_dirty_rect(struct intel_plane *plane,
> - struct intel_plane_state *old_plane_state,
> - struct intel_plane_state *new_plane_state)
> +__intel_fbc_compute_dirty_rect(struct intel_plane *plane,
> + struct intel_plane_state *old_plane_state,
> + struct intel_plane_state *new_plane_state)
> {
> struct intel_fbc *fbc = plane->fbc;
> struct intel_fbc_state *fbc_state = &fbc->state;
> @@ -1292,6 +1295,37 @@ intel_fbc_compute_dirty_rect(struct intel_plane *plane,
> update_dirty_rect_to_full_region(new_plane_state, fbc_dirty_rect);
> }
>
> +void
> +intel_fbc_compute_dirty_rect(struct intel_atomic_state *state,
> + struct intel_crtc *crtc)
> +{
> + struct intel_display *display = to_intel_display(state);
> + struct intel_plane_state *new_plane_state;
> + struct intel_plane_state *old_plane_state;
> + struct intel_plane *plane;
> + int i;
> +
> + if (DISPLAY_VER(display) < 30)
> + return;
> +
> + for_each_oldnew_intel_plane_in_state(state, plane, old_plane_state, new_plane_state, i) {
> + struct intel_fbc *fbc = plane->fbc;
> +
> + if (!fbc || plane->pipe != crtc->pipe)
> + continue;
> +
> + /* If plane not visible, dirty rect might have invalid coordinates */
> + if (!new_plane_state->uapi.visible)
> + continue;
> +
> + /* If FBC to be disabled, then no need to update dirty rect */
> + if (!intel_fbc_can_flip_nuke(state, crtc, plane))
> + continue;
> +
> + __intel_fbc_compute_dirty_rect(plane, old_plane_state, new_plane_state);
> + }
> +}
> +
> static void intel_fbc_update_state(struct intel_atomic_state *state,
> struct intel_crtc *crtc,
> struct intel_plane *plane)
> @@ -1301,8 +1335,6 @@ static void intel_fbc_update_state(struct intel_atomic_state *state,
> intel_atomic_get_new_crtc_state(state, crtc);
> struct intel_plane_state *plane_state =
> intel_atomic_get_new_plane_state(state, plane);
> - struct intel_plane_state *old_plane_state =
> - intel_atomic_get_old_plane_state(state, plane);
> struct intel_fbc *fbc = plane->fbc;
> struct intel_fbc_state *fbc_state = &fbc->state;
>
> @@ -1327,9 +1359,6 @@ static void intel_fbc_update_state(struct intel_atomic_state *state,
> fbc_state->cfb_stride = intel_fbc_cfb_stride(plane_state);
> fbc_state->cfb_size = intel_fbc_cfb_size(plane_state);
> fbc_state->override_cfb_stride = intel_fbc_override_cfb_stride(plane_state);
> -
> - if (DISPLAY_VER(display) >= 30)
> - intel_fbc_compute_dirty_rect(plane, old_plane_state, plane_state);
> }
>
> static bool intel_fbc_is_fence_ok(const struct intel_plane_state *plane_state)
> diff --git a/drivers/gpu/drm/i915/display/intel_fbc.h b/drivers/gpu/drm/i915/display/intel_fbc.h
> index acaebe15f312..87be5653db0f 100644
> --- a/drivers/gpu/drm/i915/display/intel_fbc.h
> +++ b/drivers/gpu/drm/i915/display/intel_fbc.h
> @@ -49,8 +49,11 @@ void intel_fbc_handle_fifo_underrun_irq(struct intel_display *display);
> void intel_fbc_reset_underrun(struct intel_display *display);
> void intel_fbc_crtc_debugfs_add(struct intel_crtc *crtc);
> void intel_fbc_debugfs_register(struct intel_display *display);
> +void intel_fbc_compute_dirty_rect(struct intel_atomic_state *state,
> + struct intel_crtc *crtc);
> void intel_fbc_program_dirty_rect(struct intel_dsb *dsb,
> struct intel_atomic_state *state,
> struct intel_crtc *crtc);
>
> +
Superfluous newline.
> #endif /* __INTEL_FBC_H__ */
--
Jani Nikula, Intel
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH v4 5/6] drm/i915/xe3: handle dirty rect update within the scope of DSB
2025-01-22 10:47 ` Jani Nikula
@ 2025-01-22 13:55 ` Govindapillai, Vinod
2025-01-23 9:46 ` Jani Nikula
0 siblings, 1 reply; 19+ messages in thread
From: Govindapillai, Vinod @ 2025-01-22 13:55 UTC (permalink / raw)
To: intel-xe@lists.freedesktop.org, intel-gfx@lists.freedesktop.org,
jani.nikula@linux.intel.com
Cc: Saarinen, Jani, Reddy Guddati, Santhosh, Syrjala, Ville
On Wed, 2025-01-22 at 12:47 +0200, Jani Nikula wrote:
> On Wed, 22 Jan 2025, Vinod Govindapillai <vinod.govindapillai@intel.com> wrote:
> > Programming of the dirty rectangle coordinates should happen
> > within the scope of DSB prepare and finish calls. So call the
> > compute and programming of dirty rectangle related routines
> > early within the DSB programming window. Some of the FBC state
> > handling is done later as part of pre-plane or post-plane
> > updates. So enabling / disabling / hw activate will happen
> > later but it should handle the sequence without any issue.
> >
> > Signed-off-by: Vinod Govindapillai <vinod.govindapillai@intel.com>
> > ---
> > drivers/gpu/drm/i915/display/intel_display.c | 3 ++
> > drivers/gpu/drm/i915/display/intel_fbc.c | 47 ++++++++++++++++----
> > drivers/gpu/drm/i915/display/intel_fbc.h | 3 ++
> > 3 files changed, 44 insertions(+), 9 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/display/intel_display.c
> > b/drivers/gpu/drm/i915/display/intel_display.c
> > index d154fcd0e77a..e6e017e65da6 100644
> > --- a/drivers/gpu/drm/i915/display/intel_display.c
> > +++ b/drivers/gpu/drm/i915/display/intel_display.c
> > @@ -7773,6 +7773,9 @@ static void intel_atomic_commit_tail(struct intel_atomic_state *state)
> >
> > intel_atomic_prepare_plane_clear_colors(state);
> >
> > + for_each_new_intel_crtc_in_state(state, crtc, new_crtc_state, i)
> > + intel_fbc_compute_dirty_rect(state, crtc);
>
> "compute" is a fairly loaded word in our driver. The immediate
> association is "it's compute config, but missing the config part". And
> doing anything "compute" seems completely out of place in
> intel_atomic_commit_tail(), where we've long since passed the compute
> config stage.
Well.. actually I dont need this call at all. I don't need to split this between compute_dirt_rect
and program_dirty_rect. Instead I can directly call program_dirty rect which internally gets the
dirty rects. I will update that
>
> > +
> > for_each_new_intel_crtc_in_state(state, crtc, new_crtc_state, i)
> > intel_atomic_dsb_finish(state, crtc);
> >
> > diff --git a/drivers/gpu/drm/i915/display/intel_fbc.c b/drivers/gpu/drm/i915/display/intel_fbc.c
> > index 963fbe2c7361..033eb4a3eab0 100644
> > --- a/drivers/gpu/drm/i915/display/intel_fbc.c
> > +++ b/drivers/gpu/drm/i915/display/intel_fbc.c
> > @@ -1213,6 +1213,10 @@ static bool tiling_is_valid(const struct intel_plane_state *plane_state)
> > return i8xx_fbc_tiling_valid(plane_state);
> > }
> >
> > +static bool intel_fbc_can_flip_nuke(struct intel_atomic_state *state,
> > + struct intel_crtc *crtc,
> > + struct intel_plane *plane);
> > +
> > static void
> > __intel_fbc_program_dirty_rect(struct intel_dsb *dsb, struct intel_plane *plane)
> > {
> > @@ -1251,7 +1255,6 @@ intel_fbc_program_dirty_rect(struct intel_dsb *dsb,
> > }
> > }
> >
> > -
>
> The previous patch added a superfluous newline here, and this one
> removes it. Please just don't add it in the first place.
Yeah.. not really intentional. I will update!
My local checkpatch didn't catch that though! But the CI checkpatch did.
BR
Vinod
>
> > static void
> > update_dirty_rect_to_full_region(struct intel_plane_state *plane_state,
> > struct drm_rect *dirty_rect)
> > @@ -1276,9 +1279,9 @@ validate_and_clip_dirty_rect(struct intel_plane_state *plane_state,
> > }
> >
> > static void
> > -intel_fbc_compute_dirty_rect(struct intel_plane *plane,
> > - struct intel_plane_state *old_plane_state,
> > - struct intel_plane_state *new_plane_state)
> > +__intel_fbc_compute_dirty_rect(struct intel_plane *plane,
> > + struct intel_plane_state *old_plane_state,
> > + struct intel_plane_state *new_plane_state)
> > {
> > struct intel_fbc *fbc = plane->fbc;
> > struct intel_fbc_state *fbc_state = &fbc->state;
> > @@ -1292,6 +1295,37 @@ intel_fbc_compute_dirty_rect(struct intel_plane *plane,
> > update_dirty_rect_to_full_region(new_plane_state, fbc_dirty_rect);
> > }
> >
> > +void
> > +intel_fbc_compute_dirty_rect(struct intel_atomic_state *state,
> > + struct intel_crtc *crtc)
> > +{
> > + struct intel_display *display = to_intel_display(state);
> > + struct intel_plane_state *new_plane_state;
> > + struct intel_plane_state *old_plane_state;
> > + struct intel_plane *plane;
> > + int i;
> > +
> > + if (DISPLAY_VER(display) < 30)
> > + return;
> > +
> > + for_each_oldnew_intel_plane_in_state(state, plane, old_plane_state, new_plane_state, i)
> > {
> > + struct intel_fbc *fbc = plane->fbc;
> > +
> > + if (!fbc || plane->pipe != crtc->pipe)
> > + continue;
> > +
> > + /* If plane not visible, dirty rect might have invalid coordinates */
> > + if (!new_plane_state->uapi.visible)
> > + continue;
> > +
> > + /* If FBC to be disabled, then no need to update dirty rect */
> > + if (!intel_fbc_can_flip_nuke(state, crtc, plane))
> > + continue;
> > +
> > + __intel_fbc_compute_dirty_rect(plane, old_plane_state, new_plane_state);
> > + }
> > +}
> > +
> > static void intel_fbc_update_state(struct intel_atomic_state *state,
> > struct intel_crtc *crtc,
> > struct intel_plane *plane)
> > @@ -1301,8 +1335,6 @@ static void intel_fbc_update_state(struct intel_atomic_state *state,
> > intel_atomic_get_new_crtc_state(state, crtc);
> > struct intel_plane_state *plane_state =
> > intel_atomic_get_new_plane_state(state, plane);
> > - struct intel_plane_state *old_plane_state =
> > - intel_atomic_get_old_plane_state(state, plane);
> > struct intel_fbc *fbc = plane->fbc;
> > struct intel_fbc_state *fbc_state = &fbc->state;
> >
> > @@ -1327,9 +1359,6 @@ static void intel_fbc_update_state(struct intel_atomic_state *state,
> > fbc_state->cfb_stride = intel_fbc_cfb_stride(plane_state);
> > fbc_state->cfb_size = intel_fbc_cfb_size(plane_state);
> > fbc_state->override_cfb_stride = intel_fbc_override_cfb_stride(plane_state);
> > -
> > - if (DISPLAY_VER(display) >= 30)
> > - intel_fbc_compute_dirty_rect(plane, old_plane_state, plane_state);
> > }
> >
> > static bool intel_fbc_is_fence_ok(const struct intel_plane_state *plane_state)
> > diff --git a/drivers/gpu/drm/i915/display/intel_fbc.h b/drivers/gpu/drm/i915/display/intel_fbc.h
> > index acaebe15f312..87be5653db0f 100644
> > --- a/drivers/gpu/drm/i915/display/intel_fbc.h
> > +++ b/drivers/gpu/drm/i915/display/intel_fbc.h
> > @@ -49,8 +49,11 @@ void intel_fbc_handle_fifo_underrun_irq(struct intel_display *display);
> > void intel_fbc_reset_underrun(struct intel_display *display);
> > void intel_fbc_crtc_debugfs_add(struct intel_crtc *crtc);
> > void intel_fbc_debugfs_register(struct intel_display *display);
> > +void intel_fbc_compute_dirty_rect(struct intel_atomic_state *state,
> > + struct intel_crtc *crtc);
> > void intel_fbc_program_dirty_rect(struct intel_dsb *dsb,
> > struct intel_atomic_state *state,
> > struct intel_crtc *crtc);
> >
> > +
>
> Superfluous newline.
>
> > #endif /* __INTEL_FBC_H__ */
>
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH v4 1/6] drm/i915/xe3: avoid calling fbc activate if fbc is active
2025-01-22 9:30 ` [PATCH v4 1/6] drm/i915/xe3: avoid calling fbc activate if fbc is active Vinod Govindapillai
@ 2025-01-22 18:13 ` Ville Syrjälä
2025-01-22 18:31 ` Govindapillai, Vinod
0 siblings, 1 reply; 19+ messages in thread
From: Ville Syrjälä @ 2025-01-22 18:13 UTC (permalink / raw)
To: Vinod Govindapillai
Cc: intel-gfx, intel-xe, ville.syrjala, santhosh.reddy.guddati,
jani.saarinen
On Wed, Jan 22, 2025 at 11:30:01AM +0200, Vinod Govindapillai wrote:
> If FBC is already active, we don't need to call FBC activate
> routine again during the post plane update. As this will
> explicitly call the nuke and also rewrite the FBC ctl registers.
> Xe doesn't support legacy fences. Hence fence programming also
> not required as part of this fbc_haw_activate.
>
> "intel_atomic_commit_tail-> intel_post_plane_update->
> intel_fbc_post_update-> _intel_fbc_post_update" path will be
> executed during the normal flip cases. FBC HW will nuke on sync
> flip event and driver do not need to call the nuke explicitly.
>
> This is much more relevant in case of dirty rectangle support
> in FBC with the follow-up patches. Nuke on flip in that case will
> remove all the benefits of fetching only the modified region.
> Also any FBC related register updates with dirty rectangle
> support enabled will trigger nuke by FBC HW.
>
> The front buffer rendering sequence will call intel_fbc_flush()
> and which will call intel_fbc_nuke() or intel_fbc_activate()
> based on FBC status explicitly and won't get impacted by this
> change.
>
> Signed-off-by: Vinod Govindapillai <vinod.govindapillai@intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_fbc.c | 11 +++++++++++
> 1 file changed, 11 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_fbc.c b/drivers/gpu/drm/i915/display/intel_fbc.c
> index df05904bac8a..ab9649dd606c 100644
> --- a/drivers/gpu/drm/i915/display/intel_fbc.c
> +++ b/drivers/gpu/drm/i915/display/intel_fbc.c
> @@ -1556,11 +1556,22 @@ static void __intel_fbc_disable(struct intel_fbc *fbc)
>
> static void __intel_fbc_post_update(struct intel_fbc *fbc)
> {
> + struct intel_display *display = fbc->display;
> +
> lockdep_assert_held(&fbc->lock);
>
> fbc->flip_pending = false;
> fbc->busy_bits = 0;
>
> + /*
> + * When dirty rectangle is enabled, any updates to FBC registers will
> + * trigger nuke. So avoid calling intel_fbc_activate if fbc is already
> + * active and for XE3 cases. Xe doesn't support legacy fences. So
> + * no need to update the fences as well.
> + */
> + if (DISPLAY_VER(display) >= 30 && fbc->active)
> + return;
Don't like platform checks in generic code. Either we should
skip the stride programming inside the hw specific function,
or we pull the strie programming into a separate hook which
we can then skip completely when FBC was already active.
> +
> intel_fbc_activate(fbc);
> }
>
> --
> 2.43.0
--
Ville Syrjälä
Intel
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH v4 1/6] drm/i915/xe3: avoid calling fbc activate if fbc is active
2025-01-22 18:13 ` Ville Syrjälä
@ 2025-01-22 18:31 ` Govindapillai, Vinod
0 siblings, 0 replies; 19+ messages in thread
From: Govindapillai, Vinod @ 2025-01-22 18:31 UTC (permalink / raw)
To: ville.syrjala@linux.intel.com
Cc: intel-xe@lists.freedesktop.org, Saarinen, Jani,
Reddy Guddati, Santhosh, intel-gfx@lists.freedesktop.org,
Syrjala, Ville
On Wed, 2025-01-22 at 20:13 +0200, Ville Syrjälä wrote:
> On Wed, Jan 22, 2025 at 11:30:01AM +0200, Vinod Govindapillai wrote:
> > If FBC is already active, we don't need to call FBC activate
> > routine again during the post plane update. As this will
> > explicitly call the nuke and also rewrite the FBC ctl registers.
> > Xe doesn't support legacy fences. Hence fence programming also
> > not required as part of this fbc_haw_activate.
> >
> > "intel_atomic_commit_tail-> intel_post_plane_update->
> > intel_fbc_post_update-> _intel_fbc_post_update" path will be
> > executed during the normal flip cases. FBC HW will nuke on sync
> > flip event and driver do not need to call the nuke explicitly.
> >
> > This is much more relevant in case of dirty rectangle support
> > in FBC with the follow-up patches. Nuke on flip in that case will
> > remove all the benefits of fetching only the modified region.
> > Also any FBC related register updates with dirty rectangle
> > support enabled will trigger nuke by FBC HW.
> >
> > The front buffer rendering sequence will call intel_fbc_flush()
> > and which will call intel_fbc_nuke() or intel_fbc_activate()
> > based on FBC status explicitly and won't get impacted by this
> > change.
> >
> > Signed-off-by: Vinod Govindapillai <vinod.govindapillai@intel.com>
> > ---
> > drivers/gpu/drm/i915/display/intel_fbc.c | 11 +++++++++++
> > 1 file changed, 11 insertions(+)
> >
> > diff --git a/drivers/gpu/drm/i915/display/intel_fbc.c b/drivers/gpu/drm/i915/display/intel_fbc.c
> > index df05904bac8a..ab9649dd606c 100644
> > --- a/drivers/gpu/drm/i915/display/intel_fbc.c
> > +++ b/drivers/gpu/drm/i915/display/intel_fbc.c
> > @@ -1556,11 +1556,22 @@ static void __intel_fbc_disable(struct intel_fbc *fbc)
> >
> > static void __intel_fbc_post_update(struct intel_fbc *fbc)
> > {
> > + struct intel_display *display = fbc->display;
> > +
> > lockdep_assert_held(&fbc->lock);
> >
> > fbc->flip_pending = false;
> > fbc->busy_bits = 0;
> >
> > + /*
> > + * When dirty rectangle is enabled, any updates to FBC registers will
> > + * trigger nuke. So avoid calling intel_fbc_activate if fbc is already
> > + * active and for XE3 cases. Xe doesn't support legacy fences. So
> > + * no need to update the fences as well.
> > + */
> > + if (DISPLAY_VER(display) >= 30 && fbc->active)
> > + return;
>
> Don't like platform checks in generic code. Either we should
> skip the stride programming inside the hw specific function,
> or we pull the strie programming into a separate hook which
> we can then skip completely when FBC was already active.
What I understood from Hw team is that any FBC register touch will trigger nuke not just the stride.
So in this case we need to skip the entire hw_activate if the fbc is already active.
BR
Vinod
>
> > +
> > intel_fbc_activate(fbc);
> > }
> >
> > --
> > 2.43.0
>
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH v4 4/6] drm/i915/xe3: add dirty rect support for FBC
2025-01-22 9:30 ` [PATCH v4 4/6] drm/i915/xe3: add dirty rect support for FBC Vinod Govindapillai
2025-01-22 10:39 ` Jani Nikula
@ 2025-01-22 19:41 ` Ville Syrjälä
1 sibling, 0 replies; 19+ messages in thread
From: Ville Syrjälä @ 2025-01-22 19:41 UTC (permalink / raw)
To: Vinod Govindapillai
Cc: intel-gfx, intel-xe, ville.syrjala, santhosh.reddy.guddati,
jani.saarinen
On Wed, Jan 22, 2025 at 11:30:04AM +0200, Vinod Govindapillai wrote:
> Dirty rectangle feature allows FBC to recompress a subsection
> of a frame. When this feature is enabled, display will read
> the scan lines between dirty rectangle start line and dirty
> rectangle end line in subsequent frames.
>
> v2: Move dirty rect handling to fbc state (Ville)
>
> Bspec: 71675, 73424
> Signed-off-by: Vinod Govindapillai <vinod.govindapillai@intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_display.c | 4 +
> drivers/gpu/drm/i915/display/intel_fbc.c | 96 +++++++++++++++++++-
> drivers/gpu/drm/i915/display/intel_fbc.h | 4 +
> 3 files changed, 103 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
> index 10550bc0778e..d154fcd0e77a 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -7263,6 +7263,8 @@ static void intel_update_crtc(struct intel_atomic_state *state,
>
> commit_pipe_pre_planes(state, crtc);
>
> + intel_fbc_program_dirty_rect(NULL, state, crtc);
> +
This should be called intel_fbc_update_arm() or something along those
lines. And if it doesn't actually arm anything then we should just
make it _noarm() from the get go.
> intel_crtc_planes_update_arm(NULL, state, crtc);
>
> commit_pipe_post_planes(state, crtc);
> @@ -7731,6 +7733,8 @@ static void intel_atomic_dsb_finish(struct intel_atomic_state *state,
> new_crtc_state);
> bdw_set_pipe_misc(new_crtc_state->dsb_commit,
> new_crtc_state);
> + intel_fbc_program_dirty_rect(new_crtc_state->dsb_commit,
> + state, crtc);
> intel_crtc_planes_update_arm(new_crtc_state->dsb_commit,
> state, crtc);
>
> diff --git a/drivers/gpu/drm/i915/display/intel_fbc.c b/drivers/gpu/drm/i915/display/intel_fbc.c
> index 7eefe699a0e6..963fbe2c7361 100644
> --- a/drivers/gpu/drm/i915/display/intel_fbc.c
> +++ b/drivers/gpu/drm/i915/display/intel_fbc.c
> @@ -42,6 +42,7 @@
> #include <linux/string_helpers.h>
>
> #include <drm/drm_blend.h>
> +#include <drm/drm_damage_helper.h>
> #include <drm/drm_fourcc.h>
>
> #include "gem/i915_gem_stolen.h"
> @@ -58,6 +59,7 @@
> #include "intel_display_trace.h"
> #include "intel_display_types.h"
> #include "intel_display_wa.h"
> +#include "intel_dsb.h"
> #include "intel_fbc.h"
> #include "intel_fbc_regs.h"
> #include "intel_frontbuffer.h"
> @@ -88,6 +90,7 @@ struct intel_fbc_state {
> u16 override_cfb_stride;
> u16 interval;
> s8 fence_id;
> + struct drm_rect dirty_rect;
> };
>
> struct intel_fbc {
> @@ -527,6 +530,9 @@ static void ilk_fbc_deactivate(struct intel_fbc *fbc)
> struct intel_display *display = fbc->display;
> u32 dpfc_ctl;
>
> + if (DISPLAY_VER(display) >= 30)
> + intel_de_write(display, XE3_FBC_DIRTY_CTL(fbc->id), 0);
> +
> /* Disable compression */
> dpfc_ctl = intel_de_read(display, ILK_DPFC_CONTROL(fbc->id));
> if (dpfc_ctl & DPFC_CTL_EN) {
> @@ -670,6 +676,10 @@ static void ivb_fbc_activate(struct intel_fbc *fbc)
> if (DISPLAY_VER(display) >= 20)
> intel_de_write(display, ILK_DPFC_CONTROL(fbc->id), dpfc_ctl);
>
> + if (DISPLAY_VER(display) >= 30)
> + intel_de_write(display, XE3_FBC_DIRTY_CTL(fbc->id),
> + FBC_DIRTY_RECT_EN);
> +
> intel_de_write(display, ILK_DPFC_CONTROL(fbc->id),
> DPFC_CTL_EN | dpfc_ctl);
> }
> @@ -1203,6 +1213,85 @@ static bool tiling_is_valid(const struct intel_plane_state *plane_state)
> return i8xx_fbc_tiling_valid(plane_state);
> }
>
> +static void
> +__intel_fbc_program_dirty_rect(struct intel_dsb *dsb, struct intel_plane *plane)
> +{
> + struct intel_display *display = to_intel_display(plane);
> + struct intel_fbc *fbc = plane->fbc;
> + struct intel_fbc_state *fbc_state = &fbc->state;
> +
> + if (fbc_state->plane != plane)
> + return;
> +
> + intel_de_write_dsb(display, dsb, XE3_FBC_DIRTY_RECT(fbc->id),
> + FBC_DIRTY_RECT_START_LINE(fbc_state->dirty_rect.y1) |
> + FBC_DIRTY_RECT_END_LINE(fbc_state->dirty_rect.y2));
> +}
> +
> +void
> +intel_fbc_program_dirty_rect(struct intel_dsb *dsb,
> + struct intel_atomic_state *state,
> + struct intel_crtc *crtc)
> +{
> + struct intel_display *display = to_intel_display(state);
> + struct intel_plane_state __maybe_unused *plane_state;
> + struct intel_plane *plane;
> + int i;
> +
> + if (DISPLAY_VER(display) < 30)
> + return;
> +
> + for_each_new_intel_plane_in_state(state, plane, plane_state, i) {
> + struct intel_fbc *fbc = plane->fbc;
> +
> + if (!fbc || plane->pipe != crtc->pipe)
> + continue;
> +
> + __intel_fbc_program_dirty_rect(dsb, plane);
> + }
> +}
> +
> +
> +static void
> +update_dirty_rect_to_full_region(struct intel_plane_state *plane_state,
> + struct drm_rect *dirty_rect)
> +{
> + int y_offset = plane_state->view.color_plane[0].y;
> + int plane_height = drm_rect_height(&plane_state->uapi.src) >> 16;
> +
> + dirty_rect->y1 = y_offset;
> + dirty_rect->y2 = y_offset + plane_height - 1;
> +}
> +
> +static void
> +validate_and_clip_dirty_rect(struct intel_plane_state *plane_state,
> + struct drm_rect *dirty_rect)
> +{
> + int y_offset = plane_state->view.color_plane[0].y;
> + int plane_height = drm_rect_height(&plane_state->uapi.src) >> 16;
> + int max_endline = y_offset + plane_height;
> +
> + dirty_rect->y1 = clamp(dirty_rect->y1, y_offset, max_endline);
> + dirty_rect->y2 = clamp(dirty_rect->y2, dirty_rect->y1, max_endline);
> +}
You're mixing your coordinate spaces here.
The correct thing to do is probably something like
1. Convert the damage to be relative to the viewport.
Must happen somewhere after clipping, but before
skl_check_plane_surface() has mangled the coordinates:
drm_atomic_helper_damage_merged(fbc_dirty);
if (drm_rotation_90_or_270()) {
drm_rect_rotate(fbc_dirty, fb->width, fb->height, DRM_MODE_ROTATE_270);
drm_rect_translate(fbc_dirty, -(src.y1 >> 16, -(src.x1 >> 16));
} else {
drm_rect_translate(fbc_dirty, -(src.x1 >> 16), -(src.y1 >> 16));
}
I'm pondering if we should also intersect with the src viewport
here, but since we've not yet tossed the subpixel coordinates that
might be a bit premature.
2. Make the damage relative to PLANE_SURF so that we can feed it
directly to the hardware. Presumably needs to be dome after
intel_plane_check_src_coordinates() has given us the final src
coordinates.
drm_rect_fp_to_int(&src, &plane_state->uapi.src);
drm_rect_translate(fbc_dirty, src.x1, src.y1);
drm_rect_intersect(fbc_dirty, &src);
And since the dirty rectangle actually only seems to take
the Y direction stuff, we should perhaps just set
fbc_dirty.x1 = src.x1;
fbc_dirty.x2 = src.x2;
as well to make it reflect reality a bit better.
3. At the start of the commit just copy fbc_dirty from the
plane state of the correct plane into the fbc state.
> +
> +static void
> +intel_fbc_compute_dirty_rect(struct intel_plane *plane,
> + struct intel_plane_state *old_plane_state,
> + struct intel_plane_state *new_plane_state)
> +{
> + struct intel_fbc *fbc = plane->fbc;
> + struct intel_fbc_state *fbc_state = &fbc->state;
> + struct drm_rect *fbc_dirty_rect = &fbc_state->dirty_rect;
> +
> + if (drm_atomic_helper_damage_merged(&old_plane_state->uapi,
> + &new_plane_state->uapi,
> + fbc_dirty_rect))
> + validate_and_clip_dirty_rect(new_plane_state, fbc_dirty_rect);
> + else
> + update_dirty_rect_to_full_region(new_plane_state, fbc_dirty_rect);
> +}
> +
> static void intel_fbc_update_state(struct intel_atomic_state *state,
> struct intel_crtc *crtc,
> struct intel_plane *plane)
> @@ -1210,8 +1299,10 @@ static void intel_fbc_update_state(struct intel_atomic_state *state,
> struct intel_display *display = to_intel_display(state->base.dev);
> const struct intel_crtc_state *crtc_state =
> intel_atomic_get_new_crtc_state(state, crtc);
> - const struct intel_plane_state *plane_state =
> + struct intel_plane_state *plane_state =
> intel_atomic_get_new_plane_state(state, plane);
> + struct intel_plane_state *old_plane_state =
> + intel_atomic_get_old_plane_state(state, plane);
> struct intel_fbc *fbc = plane->fbc;
> struct intel_fbc_state *fbc_state = &fbc->state;
>
> @@ -1236,6 +1327,9 @@ static void intel_fbc_update_state(struct intel_atomic_state *state,
> fbc_state->cfb_stride = intel_fbc_cfb_stride(plane_state);
> fbc_state->cfb_size = intel_fbc_cfb_size(plane_state);
> fbc_state->override_cfb_stride = intel_fbc_override_cfb_stride(plane_state);
> +
> + if (DISPLAY_VER(display) >= 30)
> + intel_fbc_compute_dirty_rect(plane, old_plane_state, plane_state);
> }
>
> static bool intel_fbc_is_fence_ok(const struct intel_plane_state *plane_state)
> diff --git a/drivers/gpu/drm/i915/display/intel_fbc.h b/drivers/gpu/drm/i915/display/intel_fbc.h
> index ceae55458e14..acaebe15f312 100644
> --- a/drivers/gpu/drm/i915/display/intel_fbc.h
> +++ b/drivers/gpu/drm/i915/display/intel_fbc.h
> @@ -14,6 +14,7 @@ struct intel_atomic_state;
> struct intel_crtc;
> struct intel_crtc_state;
> struct intel_display;
> +struct intel_dsb;
> struct intel_fbc;
> struct intel_plane;
> struct intel_plane_state;
> @@ -48,5 +49,8 @@ void intel_fbc_handle_fifo_underrun_irq(struct intel_display *display);
> void intel_fbc_reset_underrun(struct intel_display *display);
> void intel_fbc_crtc_debugfs_add(struct intel_crtc *crtc);
> void intel_fbc_debugfs_register(struct intel_display *display);
> +void intel_fbc_program_dirty_rect(struct intel_dsb *dsb,
> + struct intel_atomic_state *state,
> + struct intel_crtc *crtc);
>
> #endif /* __INTEL_FBC_H__ */
> --
> 2.43.0
--
Ville Syrjälä
Intel
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH v4 5/6] drm/i915/xe3: handle dirty rect update within the scope of DSB
2025-01-22 13:55 ` Govindapillai, Vinod
@ 2025-01-23 9:46 ` Jani Nikula
0 siblings, 0 replies; 19+ messages in thread
From: Jani Nikula @ 2025-01-23 9:46 UTC (permalink / raw)
To: Govindapillai, Vinod, intel-xe@lists.freedesktop.org,
intel-gfx@lists.freedesktop.org
Cc: Saarinen, Jani, Reddy Guddati, Santhosh, Syrjala, Ville
On Wed, 22 Jan 2025, "Govindapillai, Vinod" <vinod.govindapillai@intel.com> wrote:
> On Wed, 2025-01-22 at 12:47 +0200, Jani Nikula wrote:
>> On Wed, 22 Jan 2025, Vinod Govindapillai <vinod.govindapillai@intel.com> wrote:
>> > Programming of the dirty rectangle coordinates should happen
>> > within the scope of DSB prepare and finish calls. So call the
>> > compute and programming of dirty rectangle related routines
>> > early within the DSB programming window. Some of the FBC state
>> > handling is done later as part of pre-plane or post-plane
>> > updates. So enabling / disabling / hw activate will happen
>> > later but it should handle the sequence without any issue.
>> >
>> > Signed-off-by: Vinod Govindapillai <vinod.govindapillai@intel.com>
>> > ---
>> > drivers/gpu/drm/i915/display/intel_display.c | 3 ++
>> > drivers/gpu/drm/i915/display/intel_fbc.c | 47 ++++++++++++++++----
>> > drivers/gpu/drm/i915/display/intel_fbc.h | 3 ++
>> > 3 files changed, 44 insertions(+), 9 deletions(-)
>> >
>> > diff --git a/drivers/gpu/drm/i915/display/intel_display.c
>> > b/drivers/gpu/drm/i915/display/intel_display.c
>> > index d154fcd0e77a..e6e017e65da6 100644
>> > --- a/drivers/gpu/drm/i915/display/intel_display.c
>> > +++ b/drivers/gpu/drm/i915/display/intel_display.c
>> > @@ -7773,6 +7773,9 @@ static void intel_atomic_commit_tail(struct intel_atomic_state *state)
>> >
>> > intel_atomic_prepare_plane_clear_colors(state);
>> >
>> > + for_each_new_intel_crtc_in_state(state, crtc, new_crtc_state, i)
>> > + intel_fbc_compute_dirty_rect(state, crtc);
>>
>> "compute" is a fairly loaded word in our driver. The immediate
>> association is "it's compute config, but missing the config part". And
>> doing anything "compute" seems completely out of place in
>> intel_atomic_commit_tail(), where we've long since passed the compute
>> config stage.
>
> Well.. actually I dont need this call at all. I don't need to split this between compute_dirt_rect
> and program_dirty_rect. Instead I can directly call program_dirty rect which internally gets the
> dirty rects. I will update that
>
>>
>> > +
>> > for_each_new_intel_crtc_in_state(state, crtc, new_crtc_state, i)
>> > intel_atomic_dsb_finish(state, crtc);
>> >
>> > diff --git a/drivers/gpu/drm/i915/display/intel_fbc.c b/drivers/gpu/drm/i915/display/intel_fbc.c
>> > index 963fbe2c7361..033eb4a3eab0 100644
>> > --- a/drivers/gpu/drm/i915/display/intel_fbc.c
>> > +++ b/drivers/gpu/drm/i915/display/intel_fbc.c
>> > @@ -1213,6 +1213,10 @@ static bool tiling_is_valid(const struct intel_plane_state *plane_state)
>> > return i8xx_fbc_tiling_valid(plane_state);
>> > }
>> >
>> > +static bool intel_fbc_can_flip_nuke(struct intel_atomic_state *state,
>> > + struct intel_crtc *crtc,
>> > + struct intel_plane *plane);
>> > +
>> > static void
>> > __intel_fbc_program_dirty_rect(struct intel_dsb *dsb, struct intel_plane *plane)
>> > {
>> > @@ -1251,7 +1255,6 @@ intel_fbc_program_dirty_rect(struct intel_dsb *dsb,
>> > }
>> > }
>> >
>> > -
>>
>> The previous patch added a superfluous newline here, and this one
>> removes it. Please just don't add it in the first place.
>
> Yeah.. not really intentional. I will update!
> My local checkpatch didn't catch that though! But the CI checkpatch did.
Try with:
scripts/checkpatch.pl -q --emacs --strict --show-types --max-line-length=100 --ignore=BIT_MACRO,SPLIT_STRING,LONG_LINE_STRING,BOOL_MEMBER
>
> BR
> Vinod
>
>>
>> > static void
>> > update_dirty_rect_to_full_region(struct intel_plane_state *plane_state,
>> > struct drm_rect *dirty_rect)
>> > @@ -1276,9 +1279,9 @@ validate_and_clip_dirty_rect(struct intel_plane_state *plane_state,
>> > }
>> >
>> > static void
>> > -intel_fbc_compute_dirty_rect(struct intel_plane *plane,
>> > - struct intel_plane_state *old_plane_state,
>> > - struct intel_plane_state *new_plane_state)
>> > +__intel_fbc_compute_dirty_rect(struct intel_plane *plane,
>> > + struct intel_plane_state *old_plane_state,
>> > + struct intel_plane_state *new_plane_state)
>> > {
>> > struct intel_fbc *fbc = plane->fbc;
>> > struct intel_fbc_state *fbc_state = &fbc->state;
>> > @@ -1292,6 +1295,37 @@ intel_fbc_compute_dirty_rect(struct intel_plane *plane,
>> > update_dirty_rect_to_full_region(new_plane_state, fbc_dirty_rect);
>> > }
>> >
>> > +void
>> > +intel_fbc_compute_dirty_rect(struct intel_atomic_state *state,
>> > + struct intel_crtc *crtc)
>> > +{
>> > + struct intel_display *display = to_intel_display(state);
>> > + struct intel_plane_state *new_plane_state;
>> > + struct intel_plane_state *old_plane_state;
>> > + struct intel_plane *plane;
>> > + int i;
>> > +
>> > + if (DISPLAY_VER(display) < 30)
>> > + return;
>> > +
>> > + for_each_oldnew_intel_plane_in_state(state, plane, old_plane_state, new_plane_state, i)
>> > {
>> > + struct intel_fbc *fbc = plane->fbc;
>> > +
>> > + if (!fbc || plane->pipe != crtc->pipe)
>> > + continue;
>> > +
>> > + /* If plane not visible, dirty rect might have invalid coordinates */
>> > + if (!new_plane_state->uapi.visible)
>> > + continue;
>> > +
>> > + /* If FBC to be disabled, then no need to update dirty rect */
>> > + if (!intel_fbc_can_flip_nuke(state, crtc, plane))
>> > + continue;
>> > +
>> > + __intel_fbc_compute_dirty_rect(plane, old_plane_state, new_plane_state);
>> > + }
>> > +}
>> > +
>> > static void intel_fbc_update_state(struct intel_atomic_state *state,
>> > struct intel_crtc *crtc,
>> > struct intel_plane *plane)
>> > @@ -1301,8 +1335,6 @@ static void intel_fbc_update_state(struct intel_atomic_state *state,
>> > intel_atomic_get_new_crtc_state(state, crtc);
>> > struct intel_plane_state *plane_state =
>> > intel_atomic_get_new_plane_state(state, plane);
>> > - struct intel_plane_state *old_plane_state =
>> > - intel_atomic_get_old_plane_state(state, plane);
>> > struct intel_fbc *fbc = plane->fbc;
>> > struct intel_fbc_state *fbc_state = &fbc->state;
>> >
>> > @@ -1327,9 +1359,6 @@ static void intel_fbc_update_state(struct intel_atomic_state *state,
>> > fbc_state->cfb_stride = intel_fbc_cfb_stride(plane_state);
>> > fbc_state->cfb_size = intel_fbc_cfb_size(plane_state);
>> > fbc_state->override_cfb_stride = intel_fbc_override_cfb_stride(plane_state);
>> > -
>> > - if (DISPLAY_VER(display) >= 30)
>> > - intel_fbc_compute_dirty_rect(plane, old_plane_state, plane_state);
>> > }
>> >
>> > static bool intel_fbc_is_fence_ok(const struct intel_plane_state *plane_state)
>> > diff --git a/drivers/gpu/drm/i915/display/intel_fbc.h b/drivers/gpu/drm/i915/display/intel_fbc.h
>> > index acaebe15f312..87be5653db0f 100644
>> > --- a/drivers/gpu/drm/i915/display/intel_fbc.h
>> > +++ b/drivers/gpu/drm/i915/display/intel_fbc.h
>> > @@ -49,8 +49,11 @@ void intel_fbc_handle_fifo_underrun_irq(struct intel_display *display);
>> > void intel_fbc_reset_underrun(struct intel_display *display);
>> > void intel_fbc_crtc_debugfs_add(struct intel_crtc *crtc);
>> > void intel_fbc_debugfs_register(struct intel_display *display);
>> > +void intel_fbc_compute_dirty_rect(struct intel_atomic_state *state,
>> > + struct intel_crtc *crtc);
>> > void intel_fbc_program_dirty_rect(struct intel_dsb *dsb,
>> > struct intel_atomic_state *state,
>> > struct intel_crtc *crtc);
>> >
>> > +
>>
>> Superfluous newline.
>>
>> > #endif /* __INTEL_FBC_H__ */
>>
>
--
Jani Nikula, Intel
^ permalink raw reply [flat|nested] 19+ messages in thread
* ✓ i915.CI.Full: success for drm/i915/xe3: FBC Dirty rect feature support (rev5)
2025-01-22 9:30 [PATCH v4 0/6] drm/i915/xe3: FBC Dirty rect feature support Vinod Govindapillai
` (8 preceding siblings ...)
2025-01-22 10:18 ` ✓ i915.CI.BAT: success " Patchwork
@ 2025-01-23 14:33 ` Patchwork
9 siblings, 0 replies; 19+ messages in thread
From: Patchwork @ 2025-01-23 14:33 UTC (permalink / raw)
To: Govindapillai, Vinod; +Cc: intel-gfx
[-- Attachment #1: Type: text/plain, Size: 93352 bytes --]
== Series Details ==
Series: drm/i915/xe3: FBC Dirty rect feature support (rev5)
URL : https://patchwork.freedesktop.org/series/141527/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_15999_full -> Patchwork_141527v5_full
====================================================
Summary
-------
**SUCCESS**
No regressions found.
Participating hosts (11 -> 11)
------------------------------
No changes in participating hosts
Known issues
------------
Here are the changes found in Patchwork_141527v5_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@api_intel_bb@object-reloc-keep-cache:
- shard-rkl: NOTRUN -> [SKIP][1] ([i915#8411]) +1 other test skip
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-rkl-5/igt@api_intel_bb@object-reloc-keep-cache.html
* igt@device_reset@unbind-cold-reset-rebind:
- shard-dg2: NOTRUN -> [SKIP][2] ([i915#11078])
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-8/igt@device_reset@unbind-cold-reset-rebind.html
* igt@device_reset@unbind-reset-rebind:
- shard-dg1: NOTRUN -> [ABORT][3] ([i915#11814] / [i915#11815] / [i915#9413])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg1-13/igt@device_reset@unbind-reset-rebind.html
- shard-tglu: [PASS][4] -> [ABORT][5] ([i915#12817] / [i915#5507])
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15999/shard-tglu-2/igt@device_reset@unbind-reset-rebind.html
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-10/igt@device_reset@unbind-reset-rebind.html
* igt@drm_fdinfo@busy-idle-check-all@vcs1:
- shard-dg1: NOTRUN -> [SKIP][6] ([i915#8414]) +6 other tests skip
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg1-18/igt@drm_fdinfo@busy-idle-check-all@vcs1.html
* igt@drm_fdinfo@virtual-busy-hang:
- shard-dg2: NOTRUN -> [SKIP][7] ([i915#8414]) +1 other test skip
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-8/igt@drm_fdinfo@virtual-busy-hang.html
* igt@gem_basic@multigpu-create-close:
- shard-tglu-1: NOTRUN -> [SKIP][8] ([i915#7697])
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-1/igt@gem_basic@multigpu-create-close.html
* igt@gem_ccs@block-copy-compressed:
- shard-dg1: NOTRUN -> [SKIP][9] ([i915#3555] / [i915#9323])
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg1-18/igt@gem_ccs@block-copy-compressed.html
* igt@gem_ccs@block-multicopy-compressed:
- shard-rkl: NOTRUN -> [SKIP][10] ([i915#9323])
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-rkl-1/igt@gem_ccs@block-multicopy-compressed.html
- shard-dg1: NOTRUN -> [SKIP][11] ([i915#9323])
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg1-13/igt@gem_ccs@block-multicopy-compressed.html
* igt@gem_ccs@suspend-resume@xmajor-compressed-compfmt0-smem-lmem0:
- shard-dg2: NOTRUN -> [INCOMPLETE][12] ([i915#12392] / [i915#7297])
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-1/igt@gem_ccs@suspend-resume@xmajor-compressed-compfmt0-smem-lmem0.html
* igt@gem_create@create-ext-cpu-access-sanity-check:
- shard-rkl: NOTRUN -> [SKIP][13] ([i915#6335])
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-rkl-4/igt@gem_create@create-ext-cpu-access-sanity-check.html
* igt@gem_ctx_persistence@engines-queued:
- shard-snb: NOTRUN -> [SKIP][14] ([i915#1099]) +2 other tests skip
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-snb1/igt@gem_ctx_persistence@engines-queued.html
* igt@gem_ctx_persistence@heartbeat-close:
- shard-dg2: NOTRUN -> [SKIP][15] ([i915#8555])
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-5/igt@gem_ctx_persistence@heartbeat-close.html
* igt@gem_ctx_sseu@engines:
- shard-dg2: NOTRUN -> [SKIP][16] ([i915#280])
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-8/igt@gem_ctx_sseu@engines.html
* igt@gem_ctx_sseu@invalid-args:
- shard-tglu-1: NOTRUN -> [SKIP][17] ([i915#280])
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-1/igt@gem_ctx_sseu@invalid-args.html
* igt@gem_exec_balancer@bonded-pair:
- shard-dg1: NOTRUN -> [SKIP][18] ([i915#4771])
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg1-13/igt@gem_exec_balancer@bonded-pair.html
* igt@gem_exec_balancer@full-late:
- shard-mtlp: [PASS][19] -> [FAIL][20] ([i915#13364])
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15999/shard-mtlp-1/igt@gem_exec_balancer@full-late.html
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-mtlp-7/igt@gem_exec_balancer@full-late.html
* igt@gem_exec_balancer@parallel:
- shard-tglu-1: NOTRUN -> [SKIP][21] ([i915#4525]) +1 other test skip
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-1/igt@gem_exec_balancer@parallel.html
* igt@gem_exec_balancer@parallel-bb-first:
- shard-rkl: NOTRUN -> [SKIP][22] ([i915#4525]) +2 other tests skip
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-rkl-4/igt@gem_exec_balancer@parallel-bb-first.html
- shard-tglu: NOTRUN -> [SKIP][23] ([i915#4525])
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-5/igt@gem_exec_balancer@parallel-bb-first.html
* igt@gem_exec_capture@capture-invisible:
- shard-rkl: NOTRUN -> [SKIP][24] ([i915#6334]) +1 other test skip
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-rkl-5/igt@gem_exec_capture@capture-invisible.html
* igt@gem_exec_capture@capture-recoverable:
- shard-tglu-1: NOTRUN -> [SKIP][25] ([i915#6344])
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-1/igt@gem_exec_capture@capture-recoverable.html
* igt@gem_exec_fence@submit:
- shard-dg1: NOTRUN -> [SKIP][26] ([i915#4812]) +1 other test skip
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg1-13/igt@gem_exec_fence@submit.html
* igt@gem_exec_flush@basic-uc-pro-default:
- shard-dg2: NOTRUN -> [SKIP][27] ([i915#3539] / [i915#4852]) +4 other tests skip
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-5/igt@gem_exec_flush@basic-uc-pro-default.html
* igt@gem_exec_flush@basic-uc-rw-default:
- shard-dg1: NOTRUN -> [SKIP][28] ([i915#3539] / [i915#4852]) +2 other tests skip
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg1-18/igt@gem_exec_flush@basic-uc-rw-default.html
* igt@gem_exec_params@secure-non-root:
- shard-dg2: NOTRUN -> [SKIP][29] +11 other tests skip
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-5/igt@gem_exec_params@secure-non-root.html
* igt@gem_exec_reloc@basic-cpu-gtt-noreloc:
- shard-dg2: NOTRUN -> [SKIP][30] ([i915#3281]) +9 other tests skip
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-8/igt@gem_exec_reloc@basic-cpu-gtt-noreloc.html
* igt@gem_exec_reloc@basic-cpu-wc:
- shard-dg1: NOTRUN -> [SKIP][31] ([i915#3281]) +3 other tests skip
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg1-18/igt@gem_exec_reloc@basic-cpu-wc.html
* igt@gem_exec_reloc@basic-scanout:
- shard-rkl: NOTRUN -> [SKIP][32] ([i915#3281]) +9 other tests skip
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-rkl-5/igt@gem_exec_reloc@basic-scanout.html
* igt@gem_exec_schedule@preempt-queue-contexts-chain:
- shard-dg2: NOTRUN -> [SKIP][33] ([i915#4537] / [i915#4812])
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-8/igt@gem_exec_schedule@preempt-queue-contexts-chain.html
* igt@gem_exec_schedule@preemptive-hang:
- shard-rkl: [PASS][34] -> [DMESG-WARN][35] ([i915#12964]) +8 other tests dmesg-warn
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15999/shard-rkl-7/igt@gem_exec_schedule@preemptive-hang.html
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-rkl-1/igt@gem_exec_schedule@preemptive-hang.html
* igt@gem_exec_suspend@basic-s4-devices:
- shard-dg2: NOTRUN -> [ABORT][36] ([i915#7975] / [i915#8213]) +1 other test abort
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-5/igt@gem_exec_suspend@basic-s4-devices.html
* igt@gem_exec_suspend@basic-s4-devices@lmem0:
- shard-dg1: NOTRUN -> [ABORT][37] ([i915#7975] / [i915#8213]) +1 other test abort
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg1-14/igt@gem_exec_suspend@basic-s4-devices@lmem0.html
* igt@gem_fence_thrash@bo-write-verify-y:
- shard-dg2: NOTRUN -> [SKIP][38] ([i915#4860]) +3 other tests skip
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-6/igt@gem_fence_thrash@bo-write-verify-y.html
* igt@gem_fenced_exec_thrash@2-spare-fences:
- shard-dg1: NOTRUN -> [SKIP][39] ([i915#4860])
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg1-18/igt@gem_fenced_exec_thrash@2-spare-fences.html
* igt@gem_lmem_swapping@heavy-verify-random-ccs:
- shard-rkl: NOTRUN -> [SKIP][40] ([i915#4613]) +3 other tests skip
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-rkl-5/igt@gem_lmem_swapping@heavy-verify-random-ccs.html
* igt@gem_lmem_swapping@verify-random-ccs:
- shard-tglu: NOTRUN -> [SKIP][41] ([i915#4613]) +3 other tests skip
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-6/igt@gem_lmem_swapping@verify-random-ccs.html
* igt@gem_mmap_gtt@big-bo:
- shard-dg1: NOTRUN -> [SKIP][42] ([i915#4077]) +6 other tests skip
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg1-18/igt@gem_mmap_gtt@big-bo.html
* igt@gem_mmap_gtt@cpuset-big-copy-odd:
- shard-dg2: NOTRUN -> [SKIP][43] ([i915#4077]) +14 other tests skip
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-5/igt@gem_mmap_gtt@cpuset-big-copy-odd.html
* igt@gem_mmap_wc@invalid-flags:
- shard-dg2: NOTRUN -> [SKIP][44] ([i915#4083]) +2 other tests skip
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-2/igt@gem_mmap_wc@invalid-flags.html
* igt@gem_mmap_wc@read:
- shard-dg1: NOTRUN -> [SKIP][45] ([i915#4083]) +2 other tests skip
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg1-18/igt@gem_mmap_wc@read.html
* igt@gem_partial_pwrite_pread@write-uncached:
- shard-dg2: NOTRUN -> [SKIP][46] ([i915#3282]) +3 other tests skip
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-8/igt@gem_partial_pwrite_pread@write-uncached.html
* igt@gem_pread@exhaustion:
- shard-dg1: NOTRUN -> [SKIP][47] ([i915#3282]) +4 other tests skip
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg1-14/igt@gem_pread@exhaustion.html
* igt@gem_pwrite@basic-exhaustion:
- shard-rkl: NOTRUN -> [SKIP][48] ([i915#3282]) +9 other tests skip
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-rkl-4/igt@gem_pwrite@basic-exhaustion.html
* igt@gem_pxp@hw-rejects-pxp-buffer:
- shard-tglu-1: NOTRUN -> [SKIP][49] ([i915#13398])
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-1/igt@gem_pxp@hw-rejects-pxp-buffer.html
* igt@gem_pxp@regular-baseline-src-copy-readible:
- shard-dg2: NOTRUN -> [SKIP][50] ([i915#4270]) +5 other tests skip
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-6/igt@gem_pxp@regular-baseline-src-copy-readible.html
* igt@gem_pxp@reject-modify-context-protection-off-2:
- shard-dg1: NOTRUN -> [SKIP][51] ([i915#4270])
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg1-18/igt@gem_pxp@reject-modify-context-protection-off-2.html
* igt@gem_render_copy@y-tiled-ccs-to-y-tiled:
- shard-dg2: NOTRUN -> [SKIP][52] ([i915#5190] / [i915#8428]) +5 other tests skip
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-5/igt@gem_render_copy@y-tiled-ccs-to-y-tiled.html
* igt@gem_set_tiling_vs_gtt:
- shard-dg2: NOTRUN -> [SKIP][53] ([i915#4079]) +1 other test skip
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-8/igt@gem_set_tiling_vs_gtt.html
* igt@gem_tiled_swapping@non-threaded:
- shard-tglu: [PASS][54] -> [FAIL][55] ([i915#13557])
[54]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15999/shard-tglu-2/igt@gem_tiled_swapping@non-threaded.html
[55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-10/igt@gem_tiled_swapping@non-threaded.html
* igt@gem_unfence_active_buffers:
- shard-dg2: NOTRUN -> [SKIP][56] ([i915#4879])
[56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-5/igt@gem_unfence_active_buffers.html
* igt@gem_userptr_blits@map-fixed-invalidate-overlap:
- shard-dg1: NOTRUN -> [SKIP][57] ([i915#3297] / [i915#4880])
[57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg1-14/igt@gem_userptr_blits@map-fixed-invalidate-overlap.html
- shard-dg2: NOTRUN -> [SKIP][58] ([i915#3297] / [i915#4880])
[58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-5/igt@gem_userptr_blits@map-fixed-invalidate-overlap.html
* igt@gem_userptr_blits@unsync-unmap-cycles:
- shard-rkl: NOTRUN -> [SKIP][59] ([i915#3297]) +4 other tests skip
[59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-rkl-4/igt@gem_userptr_blits@unsync-unmap-cycles.html
- shard-tglu: NOTRUN -> [SKIP][60] ([i915#3297]) +1 other test skip
[60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-5/igt@gem_userptr_blits@unsync-unmap-cycles.html
* igt@gen9_exec_parse@allowed-all:
- shard-glk: [PASS][61] -> [ABORT][62] ([i915#5566])
[61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15999/shard-glk8/igt@gen9_exec_parse@allowed-all.html
[62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-glk8/igt@gen9_exec_parse@allowed-all.html
* igt@gen9_exec_parse@bb-oversize:
- shard-tglu: NOTRUN -> [SKIP][63] ([i915#2527] / [i915#2856]) +2 other tests skip
[63]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-6/igt@gen9_exec_parse@bb-oversize.html
* igt@gen9_exec_parse@bb-start-far:
- shard-tglu-1: NOTRUN -> [SKIP][64] ([i915#2527] / [i915#2856]) +1 other test skip
[64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-1/igt@gen9_exec_parse@bb-start-far.html
* igt@gen9_exec_parse@secure-batches:
- shard-dg2: NOTRUN -> [SKIP][65] ([i915#2856]) +3 other tests skip
[65]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-2/igt@gen9_exec_parse@secure-batches.html
* igt@gen9_exec_parse@shadow-peek:
- shard-rkl: NOTRUN -> [SKIP][66] ([i915#2527]) +3 other tests skip
[66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-rkl-4/igt@gen9_exec_parse@shadow-peek.html
* igt@gen9_exec_parse@valid-registers:
- shard-dg1: NOTRUN -> [SKIP][67] ([i915#2527]) +1 other test skip
[67]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg1-13/igt@gen9_exec_parse@valid-registers.html
* igt@i915_module_load@reload-no-display:
- shard-tglu-1: NOTRUN -> [DMESG-WARN][68] ([i915#13029])
[68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-1/igt@i915_module_load@reload-no-display.html
* igt@i915_module_load@resize-bar:
- shard-rkl: NOTRUN -> [SKIP][69] ([i915#6412])
[69]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-rkl-5/igt@i915_module_load@resize-bar.html
* igt@i915_pm_freq_api@freq-suspend:
- shard-tglu: NOTRUN -> [SKIP][70] ([i915#8399])
[70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-6/igt@i915_pm_freq_api@freq-suspend.html
* igt@i915_pm_rc6_residency@rc6-idle:
- shard-dg1: [PASS][71] -> [FAIL][72] ([i915#3591])
[71]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15999/shard-dg1-14/igt@i915_pm_rc6_residency@rc6-idle.html
[72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg1-12/igt@i915_pm_rc6_residency@rc6-idle.html
* igt@i915_pm_rc6_residency@rc6-idle@gt0-vecs0:
- shard-dg1: [PASS][73] -> [FAIL][74] ([i915#12739] / [i915#3591]) +1 other test fail
[73]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15999/shard-dg1-14/igt@i915_pm_rc6_residency@rc6-idle@gt0-vecs0.html
[74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg1-12/igt@i915_pm_rc6_residency@rc6-idle@gt0-vecs0.html
* igt@i915_pm_rps@min-max-config-loaded:
- shard-dg1: NOTRUN -> [SKIP][75] ([i915#11681] / [i915#6621])
[75]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg1-13/igt@i915_pm_rps@min-max-config-loaded.html
* igt@i915_pm_rps@thresholds-idle:
- shard-dg2: NOTRUN -> [SKIP][76] ([i915#11681])
[76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-8/igt@i915_pm_rps@thresholds-idle.html
* igt@i915_power@sanity:
- shard-mtlp: [PASS][77] -> [SKIP][78] ([i915#7984])
[77]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15999/shard-mtlp-5/igt@i915_power@sanity.html
[78]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-mtlp-1/igt@i915_power@sanity.html
* igt@intel_hwmon@hwmon-read:
- shard-tglu-1: NOTRUN -> [SKIP][79] ([i915#7707])
[79]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-1/igt@intel_hwmon@hwmon-read.html
* igt@kms_addfb_basic@basic-x-tiled-legacy:
- shard-dg2: NOTRUN -> [SKIP][80] ([i915#4212]) +1 other test skip
[80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-5/igt@kms_addfb_basic@basic-x-tiled-legacy.html
* igt@kms_async_flips@alternate-sync-async-flip@pipe-a-hdmi-a-4:
- shard-dg1: NOTRUN -> [FAIL][81] ([i915#12518])
[81]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg1-18/igt@kms_async_flips@alternate-sync-async-flip@pipe-a-hdmi-a-4.html
* igt@kms_async_flips@async-flip-with-page-flip-events-atomic@pipe-a-dp-4-4-mc-ccs:
- shard-dg2: NOTRUN -> [SKIP][82] ([i915#8709]) +15 other tests skip
[82]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-10/igt@kms_async_flips@async-flip-with-page-flip-events-atomic@pipe-a-dp-4-4-mc-ccs.html
* igt@kms_async_flips@async-flip-with-page-flip-events-atomic@pipe-b-hdmi-a-2-y-rc-ccs-cc:
- shard-rkl: NOTRUN -> [SKIP][83] ([i915#8709]) +1 other test skip
[83]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-rkl-5/igt@kms_async_flips@async-flip-with-page-flip-events-atomic@pipe-b-hdmi-a-2-y-rc-ccs-cc.html
* igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels:
- shard-snb: NOTRUN -> [SKIP][84] ([i915#1769])
[84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-snb1/igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels.html
- shard-rkl: NOTRUN -> [SKIP][85] ([i915#1769] / [i915#3555])
[85]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-rkl-1/igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels.html
- shard-dg1: NOTRUN -> [SKIP][86] ([i915#1769] / [i915#3555])
[86]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg1-13/igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels.html
* igt@kms_atomic_transition@plane-all-modeset-transition@pipe-a-hdmi-a-1:
- shard-tglu: [PASS][87] -> [FAIL][88] ([i915#11808]) +1 other test fail
[87]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15999/shard-tglu-3/igt@kms_atomic_transition@plane-all-modeset-transition@pipe-a-hdmi-a-1.html
[88]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-7/igt@kms_atomic_transition@plane-all-modeset-transition@pipe-a-hdmi-a-1.html
* igt@kms_big_fb@4-tiled-8bpp-rotate-180:
- shard-tglu-1: NOTRUN -> [SKIP][89] ([i915#5286]) +2 other tests skip
[89]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-1/igt@kms_big_fb@4-tiled-8bpp-rotate-180.html
* igt@kms_big_fb@4-tiled-addfb:
- shard-tglu: NOTRUN -> [SKIP][90] ([i915#5286]) +3 other tests skip
[90]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-6/igt@kms_big_fb@4-tiled-addfb.html
* igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0-hflip:
- shard-dg1: NOTRUN -> [SKIP][91] ([i915#4538] / [i915#5286]) +2 other tests skip
[91]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg1-18/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0-hflip.html
* igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180:
- shard-rkl: NOTRUN -> [SKIP][92] ([i915#5286]) +4 other tests skip
[92]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-rkl-5/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180.html
* igt@kms_big_fb@x-tiled-16bpp-rotate-90:
- shard-rkl: NOTRUN -> [SKIP][93] ([i915#3638])
[93]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-rkl-1/igt@kms_big_fb@x-tiled-16bpp-rotate-90.html
- shard-dg1: NOTRUN -> [SKIP][94] ([i915#3638]) +1 other test skip
[94]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg1-13/igt@kms_big_fb@x-tiled-16bpp-rotate-90.html
* igt@kms_big_fb@y-tiled-addfb-size-offset-overflow:
- shard-dg2: NOTRUN -> [SKIP][95] ([i915#5190])
[95]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-5/igt@kms_big_fb@y-tiled-addfb-size-offset-overflow.html
* igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180:
- shard-dg2: NOTRUN -> [SKIP][96] ([i915#4538] / [i915#5190]) +10 other tests skip
[96]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-6/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180.html
* igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-async-flip:
- shard-dg1: NOTRUN -> [SKIP][97] ([i915#4538]) +3 other tests skip
[97]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg1-18/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-async-flip.html
* igt@kms_ccs@bad-aux-stride-y-tiled-gen12-rc-ccs@pipe-d-hdmi-a-1:
- shard-dg2: NOTRUN -> [SKIP][98] ([i915#10307] / [i915#10434] / [i915#6095]) +6 other tests skip
[98]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-4/igt@kms_ccs@bad-aux-stride-y-tiled-gen12-rc-ccs@pipe-d-hdmi-a-1.html
* igt@kms_ccs@bad-rotation-90-4-tiled-lnl-ccs:
- shard-rkl: NOTRUN -> [SKIP][99] ([i915#12313]) +1 other test skip
[99]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-rkl-1/igt@kms_ccs@bad-rotation-90-4-tiled-lnl-ccs.html
- shard-dg1: NOTRUN -> [SKIP][100] ([i915#12313])
[100]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg1-13/igt@kms_ccs@bad-rotation-90-4-tiled-lnl-ccs.html
* igt@kms_ccs@bad-rotation-90-4-tiled-mtl-rc-ccs@pipe-b-hdmi-a-2:
- shard-rkl: NOTRUN -> [SKIP][101] ([i915#6095]) +77 other tests skip
[101]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-rkl-5/igt@kms_ccs@bad-rotation-90-4-tiled-mtl-rc-ccs@pipe-b-hdmi-a-2.html
* igt@kms_ccs@bad-rotation-90-y-tiled-gen12-rc-ccs-cc:
- shard-snb: NOTRUN -> [SKIP][102] +209 other tests skip
[102]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-snb5/igt@kms_ccs@bad-rotation-90-y-tiled-gen12-rc-ccs-cc.html
* igt@kms_ccs@ccs-on-another-bo-yf-tiled-ccs@pipe-a-hdmi-a-3:
- shard-dg2: NOTRUN -> [SKIP][103] ([i915#10307] / [i915#6095]) +170 other tests skip
[103]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-5/igt@kms_ccs@ccs-on-another-bo-yf-tiled-ccs@pipe-a-hdmi-a-3.html
* igt@kms_ccs@crc-primary-rotation-180-4-tiled-bmg-ccs:
- shard-tglu-1: NOTRUN -> [SKIP][104] ([i915#12313])
[104]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-1/igt@kms_ccs@crc-primary-rotation-180-4-tiled-bmg-ccs.html
* igt@kms_ccs@crc-primary-rotation-180-4-tiled-lnl-ccs:
- shard-dg2: NOTRUN -> [SKIP][105] ([i915#12313]) +1 other test skip
[105]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-6/igt@kms_ccs@crc-primary-rotation-180-4-tiled-lnl-ccs.html
* igt@kms_ccs@crc-primary-suspend-y-tiled-ccs@pipe-d-hdmi-a-1:
- shard-tglu-1: NOTRUN -> [SKIP][106] ([i915#6095]) +34 other tests skip
[106]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-1/igt@kms_ccs@crc-primary-suspend-y-tiled-ccs@pipe-d-hdmi-a-1.html
* igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs@pipe-a-hdmi-a-3:
- shard-dg2: NOTRUN -> [SKIP][107] ([i915#6095]) +7 other tests skip
[107]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-1/igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs@pipe-a-hdmi-a-3.html
* igt@kms_ccs@crc-sprite-planes-basic-4-tiled-dg2-mc-ccs@pipe-a-hdmi-a-1:
- shard-tglu: NOTRUN -> [SKIP][108] ([i915#6095]) +54 other tests skip
[108]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-5/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-dg2-mc-ccs@pipe-a-hdmi-a-1.html
* igt@kms_ccs@random-ccs-data-4-tiled-lnl-ccs:
- shard-tglu: NOTRUN -> [SKIP][109] ([i915#12313])
[109]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-5/igt@kms_ccs@random-ccs-data-4-tiled-lnl-ccs.html
* igt@kms_ccs@random-ccs-data-4-tiled-mtl-mc-ccs@pipe-d-hdmi-a-3:
- shard-dg1: NOTRUN -> [SKIP][110] ([i915#6095]) +102 other tests skip
[110]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg1-12/igt@kms_ccs@random-ccs-data-4-tiled-mtl-mc-ccs@pipe-d-hdmi-a-3.html
* igt@kms_cdclk@mode-transition:
- shard-tglu-1: NOTRUN -> [SKIP][111] ([i915#3742])
[111]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-1/igt@kms_cdclk@mode-transition.html
* igt@kms_cdclk@mode-transition-all-outputs:
- shard-dg1: NOTRUN -> [SKIP][112] ([i915#3742])
[112]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg1-18/igt@kms_cdclk@mode-transition-all-outputs.html
* igt@kms_chamelium_audio@hdmi-audio-edid:
- shard-dg1: NOTRUN -> [SKIP][113] ([i915#11151] / [i915#7828]) +5 other tests skip
[113]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg1-18/igt@kms_chamelium_audio@hdmi-audio-edid.html
* igt@kms_chamelium_edid@hdmi-edid-stress-resolution-4k:
- shard-tglu: NOTRUN -> [SKIP][114] ([i915#11151] / [i915#7828]) +6 other tests skip
[114]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-6/igt@kms_chamelium_edid@hdmi-edid-stress-resolution-4k.html
* igt@kms_chamelium_frames@dp-crc-fast:
- shard-rkl: NOTRUN -> [SKIP][115] ([i915#11151] / [i915#7828]) +6 other tests skip
[115]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-rkl-1/igt@kms_chamelium_frames@dp-crc-fast.html
* igt@kms_chamelium_frames@hdmi-crc-multiple:
- shard-dg2: NOTRUN -> [SKIP][116] ([i915#11151] / [i915#7828]) +10 other tests skip
[116]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-5/igt@kms_chamelium_frames@hdmi-crc-multiple.html
* igt@kms_chamelium_hpd@hdmi-hpd-storm-disable:
- shard-tglu-1: NOTRUN -> [SKIP][117] ([i915#11151] / [i915#7828]) +2 other tests skip
[117]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-1/igt@kms_chamelium_hpd@hdmi-hpd-storm-disable.html
* igt@kms_content_protection@atomic@pipe-a-dp-4:
- shard-dg2: NOTRUN -> [TIMEOUT][118] ([i915#7173])
[118]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-10/igt@kms_content_protection@atomic@pipe-a-dp-4.html
* igt@kms_content_protection@dp-mst-lic-type-0:
- shard-rkl: NOTRUN -> [SKIP][119] ([i915#3116])
[119]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-rkl-5/igt@kms_content_protection@dp-mst-lic-type-0.html
* igt@kms_content_protection@dp-mst-lic-type-1:
- shard-tglu-1: NOTRUN -> [SKIP][120] ([i915#3116] / [i915#3299])
[120]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-1/igt@kms_content_protection@dp-mst-lic-type-1.html
* igt@kms_content_protection@dp-mst-type-1:
- shard-tglu: NOTRUN -> [SKIP][121] ([i915#3116] / [i915#3299])
[121]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-6/igt@kms_content_protection@dp-mst-type-1.html
- shard-dg2: NOTRUN -> [SKIP][122] ([i915#3299])
[122]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-2/igt@kms_content_protection@dp-mst-type-1.html
* igt@kms_content_protection@legacy:
- shard-tglu: NOTRUN -> [SKIP][123] ([i915#6944] / [i915#7116] / [i915#7118] / [i915#9424])
[123]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-5/igt@kms_content_protection@legacy.html
- shard-rkl: NOTRUN -> [SKIP][124] ([i915#7118] / [i915#9424])
[124]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-rkl-4/igt@kms_content_protection@legacy.html
* igt@kms_content_protection@lic-type-0:
- shard-tglu-1: NOTRUN -> [SKIP][125] ([i915#6944] / [i915#9424])
[125]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-1/igt@kms_content_protection@lic-type-0.html
* igt@kms_content_protection@mei-interface:
- shard-dg2: NOTRUN -> [SKIP][126] ([i915#9424])
[126]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-5/igt@kms_content_protection@mei-interface.html
* igt@kms_content_protection@type1:
- shard-dg2: NOTRUN -> [SKIP][127] ([i915#7118] / [i915#9424])
[127]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-8/igt@kms_content_protection@type1.html
* igt@kms_cursor_crc@cursor-offscreen-512x512:
- shard-dg2: NOTRUN -> [SKIP][128] ([i915#13049]) +1 other test skip
[128]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-8/igt@kms_cursor_crc@cursor-offscreen-512x512.html
* igt@kms_cursor_crc@cursor-onscreen-512x170:
- shard-rkl: NOTRUN -> [SKIP][129] ([i915#13049])
[129]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-rkl-5/igt@kms_cursor_crc@cursor-onscreen-512x170.html
* igt@kms_cursor_crc@cursor-random-32x32:
- shard-dg1: NOTRUN -> [SKIP][130] ([i915#3555]) +1 other test skip
[130]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg1-13/igt@kms_cursor_crc@cursor-random-32x32.html
* igt@kms_cursor_crc@cursor-rapid-movement-32x10:
- shard-rkl: NOTRUN -> [SKIP][131] ([i915#3555]) +7 other tests skip
[131]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-rkl-4/igt@kms_cursor_crc@cursor-rapid-movement-32x10.html
* igt@kms_cursor_crc@cursor-rapid-movement-512x170:
- shard-tglu-1: NOTRUN -> [SKIP][132] ([i915#13049])
[132]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-1/igt@kms_cursor_crc@cursor-rapid-movement-512x170.html
* igt@kms_cursor_legacy@2x-cursor-vs-flip-legacy:
- shard-dg2: NOTRUN -> [SKIP][133] ([i915#13046] / [i915#5354]) +4 other tests skip
[133]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-6/igt@kms_cursor_legacy@2x-cursor-vs-flip-legacy.html
* igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic:
- shard-rkl: NOTRUN -> [SKIP][134] ([i915#4103])
[134]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-rkl-4/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html
* igt@kms_cursor_legacy@cursora-vs-flipb-atomic-transitions-varying-size:
- shard-rkl: NOTRUN -> [SKIP][135] +24 other tests skip
[135]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-rkl-1/igt@kms_cursor_legacy@cursora-vs-flipb-atomic-transitions-varying-size.html
* igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle:
- shard-tglu: NOTRUN -> [SKIP][136] ([i915#4103])
[136]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-6/igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle.html
* igt@kms_display_modes@mst-extended-mode-negative:
- shard-rkl: NOTRUN -> [SKIP][137] ([i915#8588])
[137]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-rkl-4/igt@kms_display_modes@mst-extended-mode-negative.html
* igt@kms_dither@fb-8bpc-vs-panel-6bpc:
- shard-tglu: NOTRUN -> [SKIP][138] ([i915#1769] / [i915#3555] / [i915#3804])
[138]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-6/igt@kms_dither@fb-8bpc-vs-panel-6bpc.html
* igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-1:
- shard-tglu: NOTRUN -> [SKIP][139] ([i915#3804])
[139]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-6/igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-1.html
- shard-glk: NOTRUN -> [SKIP][140]
[140]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-glk1/igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-1.html
* igt@kms_dp_aux_dev:
- shard-dg1: NOTRUN -> [SKIP][141] ([i915#1257])
[141]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg1-18/igt@kms_dp_aux_dev.html
* igt@kms_dp_linktrain_fallback@dp-fallback:
- shard-rkl: NOTRUN -> [SKIP][142] ([i915#12402])
[142]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-rkl-4/igt@kms_dp_linktrain_fallback@dp-fallback.html
- shard-tglu: NOTRUN -> [SKIP][143] ([i915#12402])
[143]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-5/igt@kms_dp_linktrain_fallback@dp-fallback.html
* igt@kms_draw_crc@draw-method-mmap-gtt:
- shard-dg2: NOTRUN -> [SKIP][144] ([i915#8812])
[144]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-8/igt@kms_draw_crc@draw-method-mmap-gtt.html
* igt@kms_dsc@dsc-basic:
- shard-dg2: NOTRUN -> [SKIP][145] ([i915#3555] / [i915#3840]) +2 other tests skip
[145]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-5/igt@kms_dsc@dsc-basic.html
* igt@kms_dsc@dsc-fractional-bpp-with-bpc:
- shard-tglu-1: NOTRUN -> [SKIP][146] ([i915#3840])
[146]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-1/igt@kms_dsc@dsc-fractional-bpp-with-bpc.html
* igt@kms_dsc@dsc-with-bpc:
- shard-dg1: NOTRUN -> [SKIP][147] ([i915#3555] / [i915#3840])
[147]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg1-14/igt@kms_dsc@dsc-with-bpc.html
* igt@kms_dsc@dsc-with-output-formats-with-bpc:
- shard-rkl: NOTRUN -> [SKIP][148] ([i915#3840] / [i915#9053])
[148]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-rkl-1/igt@kms_dsc@dsc-with-output-formats-with-bpc.html
- shard-dg1: NOTRUN -> [SKIP][149] ([i915#3840] / [i915#9053])
[149]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg1-13/igt@kms_dsc@dsc-with-output-formats-with-bpc.html
* igt@kms_fbcon_fbt@psr:
- shard-tglu: NOTRUN -> [SKIP][150] ([i915#3469])
[150]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-6/igt@kms_fbcon_fbt@psr.html
* igt@kms_fbcon_fbt@psr-suspend:
- shard-dg2: NOTRUN -> [SKIP][151] ([i915#3469])
[151]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-8/igt@kms_fbcon_fbt@psr-suspend.html
* igt@kms_feature_discovery@display-3x:
- shard-rkl: NOTRUN -> [SKIP][152] ([i915#1839])
[152]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-rkl-4/igt@kms_feature_discovery@display-3x.html
* igt@kms_feature_discovery@display-4x:
- shard-dg2: NOTRUN -> [SKIP][153] ([i915#1839])
[153]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-5/igt@kms_feature_discovery@display-4x.html
* igt@kms_feature_discovery@psr2:
- shard-dg2: NOTRUN -> [SKIP][154] ([i915#658])
[154]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-8/igt@kms_feature_discovery@psr2.html
* igt@kms_fence_pin_leak:
- shard-dg2: NOTRUN -> [SKIP][155] ([i915#4881])
[155]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-5/igt@kms_fence_pin_leak.html
* igt@kms_flip@2x-flip-vs-absolute-wf_vblank-interruptible:
- shard-dg2: NOTRUN -> [SKIP][156] ([i915#9934]) +8 other tests skip
[156]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-8/igt@kms_flip@2x-flip-vs-absolute-wf_vblank-interruptible.html
* igt@kms_flip@2x-flip-vs-blocking-wf-vblank:
- shard-dg1: NOTRUN -> [SKIP][157] ([i915#9934]) +3 other tests skip
[157]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg1-18/igt@kms_flip@2x-flip-vs-blocking-wf-vblank.html
* igt@kms_flip@2x-flip-vs-dpms:
- shard-rkl: NOTRUN -> [SKIP][158] ([i915#9934]) +7 other tests skip
[158]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-rkl-4/igt@kms_flip@2x-flip-vs-dpms.html
- shard-tglu: NOTRUN -> [SKIP][159] ([i915#3637]) +4 other tests skip
[159]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-5/igt@kms_flip@2x-flip-vs-dpms.html
* igt@kms_flip@2x-flip-vs-fences:
- shard-dg1: NOTRUN -> [SKIP][160] ([i915#8381])
[160]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg1-18/igt@kms_flip@2x-flip-vs-fences.html
* igt@kms_flip@2x-flip-vs-fences-interruptible:
- shard-tglu-1: NOTRUN -> [SKIP][161] ([i915#3637])
[161]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-1/igt@kms_flip@2x-flip-vs-fences-interruptible.html
* igt@kms_flip@flip-vs-absolute-wf_vblank@b-hdmi-a2:
- shard-rkl: NOTRUN -> [FAIL][162] ([i915#11989]) +2 other tests fail
[162]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-rkl-1/igt@kms_flip@flip-vs-absolute-wf_vblank@b-hdmi-a2.html
* igt@kms_flip@flip-vs-rmfb@b-hdmi-a1:
- shard-rkl: NOTRUN -> [DMESG-WARN][163] ([i915#12964]) +4 other tests dmesg-warn
[163]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-rkl-7/igt@kms_flip@flip-vs-rmfb@b-hdmi-a1.html
* igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling:
- shard-tglu: NOTRUN -> [SKIP][164] ([i915#2672] / [i915#3555]) +2 other tests skip
[164]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-6/igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling.html
* igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-downscaling@pipe-a-valid-mode:
- shard-tglu: NOTRUN -> [SKIP][165] ([i915#2587] / [i915#2672]) +2 other tests skip
[165]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-6/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-downscaling@pipe-a-valid-mode.html
* igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-downscaling:
- shard-dg1: NOTRUN -> [SKIP][166] ([i915#2587] / [i915#2672] / [i915#3555])
[166]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg1-14/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-downscaling.html
* igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-upscaling@pipe-a-valid-mode:
- shard-rkl: NOTRUN -> [SKIP][167] ([i915#2672]) +3 other tests skip
[167]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-rkl-5/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-upscaling@pipe-a-valid-mode.html
* igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-upscaling:
- shard-tglu-1: NOTRUN -> [SKIP][168] ([i915#2587] / [i915#2672] / [i915#3555])
[168]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-1/igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-upscaling.html
* igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-upscaling:
- shard-rkl: NOTRUN -> [SKIP][169] ([i915#2672] / [i915#3555]) +3 other tests skip
[169]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-rkl-1/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-upscaling.html
- shard-dg1: NOTRUN -> [SKIP][170] ([i915#2672] / [i915#3555]) +1 other test skip
[170]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg1-13/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-upscaling.html
* igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-upscaling@pipe-a-valid-mode:
- shard-dg1: NOTRUN -> [SKIP][171] ([i915#2587] / [i915#2672]) +2 other tests skip
[171]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg1-13/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-upscaling@pipe-a-valid-mode.html
* igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-16bpp-yftile-upscaling:
- shard-tglu-1: NOTRUN -> [SKIP][172] ([i915#2672] / [i915#3555]) +2 other tests skip
[172]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-1/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-16bpp-yftile-upscaling.html
* igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-upscaling@pipe-a-valid-mode:
- shard-tglu-1: NOTRUN -> [SKIP][173] ([i915#2587] / [i915#2672]) +3 other tests skip
[173]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-1/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-upscaling@pipe-a-valid-mode.html
* igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-upscaling:
- shard-dg2: NOTRUN -> [SKIP][174] ([i915#2672] / [i915#3555] / [i915#5190]) +3 other tests skip
[174]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-8/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-upscaling.html
* igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-upscaling@pipe-a-valid-mode:
- shard-dg2: NOTRUN -> [SKIP][175] ([i915#2672]) +3 other tests skip
[175]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-8/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-upscaling@pipe-a-valid-mode.html
* igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-indfb-draw-mmap-cpu:
- shard-dg2: [PASS][176] -> [FAIL][177] ([i915#6880])
[176]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15999/shard-dg2-10/igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-indfb-draw-mmap-cpu.html
[177]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-1/igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-indfb-draw-mmap-cpu.html
* igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-mmap-wc:
- shard-rkl: NOTRUN -> [SKIP][178] ([i915#1825]) +33 other tests skip
[178]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-rkl-4/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-mmap-wc:
- shard-tglu-1: NOTRUN -> [SKIP][179] +40 other tests skip
[179]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-1/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbc-tiling-4:
- shard-dg1: NOTRUN -> [SKIP][180] ([i915#5439])
[180]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg1-14/igt@kms_frontbuffer_tracking@fbc-tiling-4.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-mmap-wc:
- shard-dg2: NOTRUN -> [SKIP][181] ([i915#8708]) +18 other tests skip
[181]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-8/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-cur-indfb-draw-blt:
- shard-dg1: NOTRUN -> [SKIP][182] +27 other tests skip
[182]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg1-18/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-cur-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-shrfb-plflip-blt:
- shard-dg2: NOTRUN -> [SKIP][183] ([i915#5354]) +31 other tests skip
[183]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-8/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-shrfb-plflip-blt.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-shrfb-draw-mmap-gtt:
- shard-dg1: NOTRUN -> [SKIP][184] ([i915#8708]) +5 other tests skip
[184]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg1-13/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-shrfb-draw-mmap-gtt.html
* igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-mmap-wc:
- shard-rkl: NOTRUN -> [SKIP][185] ([i915#3023]) +20 other tests skip
[185]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-rkl-5/igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-render:
- shard-dg1: NOTRUN -> [SKIP][186] ([i915#3458]) +7 other tests skip
[186]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg1-13/igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-render.html
* igt@kms_frontbuffer_tracking@pipe-fbc-rte:
- shard-dg2: NOTRUN -> [SKIP][187] ([i915#9766])
[187]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-5/igt@kms_frontbuffer_tracking@pipe-fbc-rte.html
* igt@kms_frontbuffer_tracking@psr-1p-rte:
- shard-dg2: NOTRUN -> [SKIP][188] ([i915#3458]) +17 other tests skip
[188]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-8/igt@kms_frontbuffer_tracking@psr-1p-rte.html
* igt@kms_getfb@getfb-handle-not-fb:
- shard-dg1: [PASS][189] -> [DMESG-WARN][190] ([i915#4423])
[189]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15999/shard-dg1-18/igt@kms_getfb@getfb-handle-not-fb.html
[190]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg1-14/igt@kms_getfb@getfb-handle-not-fb.html
* igt@kms_hdr@bpc-switch-dpms:
- shard-tglu: NOTRUN -> [SKIP][191] ([i915#3555] / [i915#8228]) +2 other tests skip
[191]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-6/igt@kms_hdr@bpc-switch-dpms.html
* igt@kms_hdr@static-swap:
- shard-dg2: NOTRUN -> [SKIP][192] ([i915#3555] / [i915#8228]) +2 other tests skip
[192]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-8/igt@kms_hdr@static-swap.html
* igt@kms_hdr@static-toggle:
- shard-dg1: NOTRUN -> [SKIP][193] ([i915#3555] / [i915#8228]) +1 other test skip
[193]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg1-18/igt@kms_hdr@static-toggle.html
* igt@kms_hdr@static-toggle-dpms:
- shard-rkl: NOTRUN -> [SKIP][194] ([i915#3555] / [i915#8228]) +1 other test skip
[194]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-rkl-4/igt@kms_hdr@static-toggle-dpms.html
* igt@kms_joiner@basic-force-big-joiner:
- shard-rkl: NOTRUN -> [SKIP][195] ([i915#12388])
[195]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-rkl-1/igt@kms_joiner@basic-force-big-joiner.html
- shard-dg1: NOTRUN -> [SKIP][196] ([i915#12388])
[196]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg1-13/igt@kms_joiner@basic-force-big-joiner.html
* igt@kms_joiner@basic-force-ultra-joiner:
- shard-tglu: NOTRUN -> [SKIP][197] ([i915#12394] / [i915#13522])
[197]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-5/igt@kms_joiner@basic-force-ultra-joiner.html
- shard-rkl: NOTRUN -> [SKIP][198] ([i915#12394] / [i915#13522])
[198]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-rkl-4/igt@kms_joiner@basic-force-ultra-joiner.html
* igt@kms_joiner@basic-ultra-joiner:
- shard-tglu-1: NOTRUN -> [SKIP][199] ([i915#12339])
[199]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-1/igt@kms_joiner@basic-ultra-joiner.html
* igt@kms_joiner@invalid-modeset-big-joiner:
- shard-tglu-1: NOTRUN -> [SKIP][200] ([i915#10656])
[200]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-1/igt@kms_joiner@invalid-modeset-big-joiner.html
* igt@kms_multipipe_modeset@basic-max-pipe-crc-check:
- shard-dg2: NOTRUN -> [SKIP][201] ([i915#4816])
[201]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-8/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html
* igt@kms_panel_fitting@atomic-fastset:
- shard-rkl: NOTRUN -> [SKIP][202] ([i915#6301])
[202]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-rkl-5/igt@kms_panel_fitting@atomic-fastset.html
* igt@kms_plane@plane-panning-bottom-right-suspend@pipe-a:
- shard-glk: [PASS][203] -> [INCOMPLETE][204] ([i915#13026])
[203]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15999/shard-glk9/igt@kms_plane@plane-panning-bottom-right-suspend@pipe-a.html
[204]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-glk4/igt@kms_plane@plane-panning-bottom-right-suspend@pipe-a.html
* igt@kms_plane_lowres@tiling-yf:
- shard-tglu-1: NOTRUN -> [SKIP][205] ([i915#3555]) +2 other tests skip
[205]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-1/igt@kms_plane_lowres@tiling-yf.html
* igt@kms_plane_scaling@2x-scaler-multi-pipe:
- shard-dg2: NOTRUN -> [SKIP][206] ([i915#13046] / [i915#5354] / [i915#9423])
[206]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-2/igt@kms_plane_scaling@2x-scaler-multi-pipe.html
* igt@kms_plane_scaling@intel-max-src-size:
- shard-tglu-1: NOTRUN -> [SKIP][207] ([i915#6953])
[207]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-1/igt@kms_plane_scaling@intel-max-src-size.html
* igt@kms_plane_scaling@plane-downscale-factor-0-25-with-rotation:
- shard-dg2: NOTRUN -> [SKIP][208] ([i915#12247] / [i915#9423]) +1 other test skip
[208]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-8/igt@kms_plane_scaling@plane-downscale-factor-0-25-with-rotation.html
* igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-c:
- shard-tglu: NOTRUN -> [SKIP][209] ([i915#12247]) +9 other tests skip
[209]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-6/igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-c.html
* igt@kms_plane_scaling@plane-upscale-20x20-with-rotation@pipe-a:
- shard-rkl: NOTRUN -> [SKIP][210] ([i915#12247]) +13 other tests skip
[210]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-rkl-4/igt@kms_plane_scaling@plane-upscale-20x20-with-rotation@pipe-a.html
* igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25:
- shard-dg2: NOTRUN -> [SKIP][211] ([i915#12247] / [i915#6953] / [i915#9423])
[211]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-8/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25.html
* igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25@pipe-c:
- shard-dg2: NOTRUN -> [SKIP][212] ([i915#12247]) +11 other tests skip
[212]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-8/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25@pipe-c.html
* igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-25:
- shard-rkl: NOTRUN -> [SKIP][213] ([i915#12247] / [i915#6953])
[213]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-rkl-4/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-25.html
* igt@kms_pm_backlight@fade-with-suspend:
- shard-tglu: NOTRUN -> [SKIP][214] ([i915#9812])
[214]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-6/igt@kms_pm_backlight@fade-with-suspend.html
* igt@kms_pm_dc@dc5-retention-flops:
- shard-dg2: NOTRUN -> [SKIP][215] ([i915#3828])
[215]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-8/igt@kms_pm_dc@dc5-retention-flops.html
* igt@kms_pm_dc@dc6-psr:
- shard-tglu: NOTRUN -> [SKIP][216] ([i915#9685])
[216]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-6/igt@kms_pm_dc@dc6-psr.html
* igt@kms_pm_rpm@dpms-lpsp:
- shard-dg1: NOTRUN -> [SKIP][217] ([i915#9519])
[217]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg1-18/igt@kms_pm_rpm@dpms-lpsp.html
* igt@kms_pm_rpm@modeset-lpsp-stress:
- shard-dg2: NOTRUN -> [SKIP][218] ([i915#9519]) +2 other tests skip
[218]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-5/igt@kms_pm_rpm@modeset-lpsp-stress.html
* igt@kms_prime@basic-modeset-hybrid:
- shard-tglu: NOTRUN -> [SKIP][219] ([i915#6524]) +1 other test skip
[219]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-6/igt@kms_prime@basic-modeset-hybrid.html
* igt@kms_prime@d3hot:
- shard-dg2: NOTRUN -> [SKIP][220] ([i915#6524] / [i915#6805])
[220]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-2/igt@kms_prime@d3hot.html
* igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-sf:
- shard-dg1: NOTRUN -> [SKIP][221] ([i915#11520]) +3 other tests skip
[221]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg1-18/igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-sf.html
* igt@kms_psr2_sf@fbc-psr2-overlay-plane-move-continuous-exceed-fully-sf:
- shard-dg2: NOTRUN -> [SKIP][222] ([i915#11520]) +8 other tests skip
[222]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-5/igt@kms_psr2_sf@fbc-psr2-overlay-plane-move-continuous-exceed-fully-sf.html
* igt@kms_psr2_sf@pr-cursor-plane-move-continuous-sf:
- shard-tglu: NOTRUN -> [SKIP][223] ([i915#11520]) +4 other tests skip
[223]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-6/igt@kms_psr2_sf@pr-cursor-plane-move-continuous-sf.html
* igt@kms_psr2_sf@pr-overlay-plane-update-sf-dmg-area:
- shard-rkl: NOTRUN -> [SKIP][224] ([i915#11520]) +6 other tests skip
[224]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-rkl-1/igt@kms_psr2_sf@pr-overlay-plane-update-sf-dmg-area.html
- shard-snb: NOTRUN -> [SKIP][225] ([i915#11520]) +5 other tests skip
[225]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-snb1/igt@kms_psr2_sf@pr-overlay-plane-update-sf-dmg-area.html
* igt@kms_psr2_sf@psr2-cursor-plane-move-continuous-exceed-sf:
- shard-tglu-1: NOTRUN -> [SKIP][226] ([i915#11520]) +5 other tests skip
[226]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-1/igt@kms_psr2_sf@psr2-cursor-plane-move-continuous-exceed-sf.html
* igt@kms_psr2_su@frontbuffer-xrgb8888:
- shard-dg1: NOTRUN -> [SKIP][227] ([i915#9683])
[227]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg1-13/igt@kms_psr2_su@frontbuffer-xrgb8888.html
* igt@kms_psr2_su@page_flip-p010:
- shard-rkl: NOTRUN -> [SKIP][228] ([i915#9683]) +1 other test skip
[228]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-rkl-4/igt@kms_psr2_su@page_flip-p010.html
- shard-tglu: NOTRUN -> [SKIP][229] ([i915#9683])
[229]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-5/igt@kms_psr2_su@page_flip-p010.html
* igt@kms_psr@fbc-psr-cursor-plane-move:
- shard-dg2: NOTRUN -> [SKIP][230] ([i915#1072] / [i915#9732]) +23 other tests skip
[230]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-5/igt@kms_psr@fbc-psr-cursor-plane-move.html
* igt@kms_psr@fbc-psr2-sprite-mmap-gtt:
- shard-dg1: NOTRUN -> [SKIP][231] ([i915#1072] / [i915#9732]) +13 other tests skip
[231]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg1-18/igt@kms_psr@fbc-psr2-sprite-mmap-gtt.html
* igt@kms_psr@pr-basic:
- shard-tglu: NOTRUN -> [SKIP][232] ([i915#9732]) +13 other tests skip
[232]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-6/igt@kms_psr@pr-basic.html
* igt@kms_psr@psr2-cursor-mmap-gtt:
- shard-rkl: NOTRUN -> [SKIP][233] ([i915#1072] / [i915#9732]) +20 other tests skip
[233]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-rkl-1/igt@kms_psr@psr2-cursor-mmap-gtt.html
* igt@kms_psr@psr2-sprite-blt:
- shard-tglu-1: NOTRUN -> [SKIP][234] ([i915#9732]) +9 other tests skip
[234]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-1/igt@kms_psr@psr2-sprite-blt.html
* igt@kms_psr_stress_test@invalidate-primary-flip-overlay:
- shard-dg1: NOTRUN -> [SKIP][235] ([i915#9685])
[235]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg1-14/igt@kms_psr_stress_test@invalidate-primary-flip-overlay.html
- shard-dg2: NOTRUN -> [SKIP][236] ([i915#9685]) +1 other test skip
[236]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-5/igt@kms_psr_stress_test@invalidate-primary-flip-overlay.html
* igt@kms_rotation_crc@exhaust-fences:
- shard-dg2: NOTRUN -> [SKIP][237] ([i915#4235])
[237]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-2/igt@kms_rotation_crc@exhaust-fences.html
* igt@kms_rotation_crc@primary-4-tiled-reflect-x-0:
- shard-tglu: NOTRUN -> [SKIP][238] ([i915#5289])
[238]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-6/igt@kms_rotation_crc@primary-4-tiled-reflect-x-0.html
* igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180:
- shard-dg1: NOTRUN -> [SKIP][239] ([i915#5289])
[239]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg1-18/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180.html
* igt@kms_rotation_crc@primary-yf-tiled-reflect-x-270:
- shard-dg2: NOTRUN -> [SKIP][240] ([i915#12755] / [i915#5190]) +1 other test skip
[240]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-8/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-270.html
* igt@kms_rotation_crc@sprite-rotation-90:
- shard-dg2: NOTRUN -> [SKIP][241] ([i915#12755]) +1 other test skip
[241]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-6/igt@kms_rotation_crc@sprite-rotation-90.html
* igt@kms_selftest@drm_framebuffer@drm_test_framebuffer_free:
- shard-dg2: NOTRUN -> [ABORT][242] ([i915#13179]) +1 other test abort
[242]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-6/igt@kms_selftest@drm_framebuffer@drm_test_framebuffer_free.html
* igt@kms_setmode@basic:
- shard-tglu: [PASS][243] -> [FAIL][244] ([i915#5465]) +2 other tests fail
[243]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15999/shard-tglu-9/igt@kms_setmode@basic.html
[244]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-8/igt@kms_setmode@basic.html
* igt@kms_setmode@invalid-clone-exclusive-crtc:
- shard-dg2: NOTRUN -> [SKIP][245] ([i915#3555]) +3 other tests skip
[245]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-2/igt@kms_setmode@invalid-clone-exclusive-crtc.html
* igt@kms_tiled_display@basic-test-pattern:
- shard-dg2: NOTRUN -> [SKIP][246] ([i915#8623])
[246]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-8/igt@kms_tiled_display@basic-test-pattern.html
* igt@kms_tiled_display@basic-test-pattern-with-chamelium:
- shard-rkl: NOTRUN -> [SKIP][247] ([i915#8623])
[247]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-rkl-4/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
* igt@kms_vrr@flip-suspend:
- shard-tglu: NOTRUN -> [SKIP][248] ([i915#3555]) +6 other tests skip
[248]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-6/igt@kms_vrr@flip-suspend.html
* igt@kms_vrr@lobf:
- shard-rkl: NOTRUN -> [SKIP][249] ([i915#11920])
[249]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-rkl-5/igt@kms_vrr@lobf.html
* igt@kms_vrr@max-min:
- shard-tglu-1: NOTRUN -> [SKIP][250] ([i915#9906])
[250]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-1/igt@kms_vrr@max-min.html
* igt@kms_vrr@negative-basic:
- shard-dg2: NOTRUN -> [SKIP][251] ([i915#3555] / [i915#9906])
[251]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-5/igt@kms_vrr@negative-basic.html
* igt@kms_vrr@seamless-rr-switch-virtual:
- shard-tglu: NOTRUN -> [SKIP][252] ([i915#9906])
[252]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-6/igt@kms_vrr@seamless-rr-switch-virtual.html
* igt@kms_vrr@seamless-rr-switch-vrr:
- shard-rkl: NOTRUN -> [SKIP][253] ([i915#9906])
[253]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-rkl-1/igt@kms_vrr@seamless-rr-switch-vrr.html
- shard-dg1: NOTRUN -> [SKIP][254] ([i915#9906]) +1 other test skip
[254]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg1-13/igt@kms_vrr@seamless-rr-switch-vrr.html
* igt@kms_writeback@writeback-check-output:
- shard-dg2: NOTRUN -> [SKIP][255] ([i915#2437]) +1 other test skip
[255]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-5/igt@kms_writeback@writeback-check-output.html
- shard-dg1: NOTRUN -> [SKIP][256] ([i915#2437])
[256]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg1-14/igt@kms_writeback@writeback-check-output.html
* igt@kms_writeback@writeback-check-output-xrgb2101010:
- shard-rkl: NOTRUN -> [SKIP][257] ([i915#2437] / [i915#9412])
[257]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-rkl-4/igt@kms_writeback@writeback-check-output-xrgb2101010.html
* igt@perf@non-zero-reason:
- shard-dg2: NOTRUN -> [FAIL][258] ([i915#9100]) +1 other test fail
[258]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-8/igt@perf@non-zero-reason.html
* igt@perf@unprivileged-single-ctx-counters:
- shard-dg1: NOTRUN -> [SKIP][259] ([i915#2433])
[259]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg1-14/igt@perf@unprivileged-single-ctx-counters.html
* igt@perf_pmu@frequency@gt0:
- shard-dg2: NOTRUN -> [FAIL][260] ([i915#12549] / [i915#6806]) +1 other test fail
[260]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-8/igt@perf_pmu@frequency@gt0.html
* igt@perf_pmu@rc6@other-idle-gt0:
- shard-tglu: NOTRUN -> [SKIP][261] ([i915#8516])
[261]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-6/igt@perf_pmu@rc6@other-idle-gt0.html
* igt@perf_pmu@render-node-busy:
- shard-dg2: NOTRUN -> [FAIL][262] ([i915#4349]) +3 other tests fail
[262]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-8/igt@perf_pmu@render-node-busy.html
* igt@prime_mmap@test_aperture_limit:
- shard-dg2: NOTRUN -> [WARN][263] ([i915#9351])
[263]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-8/igt@prime_mmap@test_aperture_limit.html
* igt@prime_mmap@test_aperture_limit@test_aperture_limit-smem:
- shard-dg2: NOTRUN -> [CRASH][264] ([i915#9351])
[264]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-8/igt@prime_mmap@test_aperture_limit@test_aperture_limit-smem.html
* igt@prime_vgem@basic-fence-mmap:
- shard-dg2: NOTRUN -> [SKIP][265] ([i915#3708] / [i915#4077])
[265]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-8/igt@prime_vgem@basic-fence-mmap.html
* igt@prime_vgem@basic-fence-read:
- shard-rkl: NOTRUN -> [SKIP][266] ([i915#3291] / [i915#3708])
[266]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-rkl-4/igt@prime_vgem@basic-fence-read.html
* igt@prime_vgem@basic-write:
- shard-dg2: NOTRUN -> [SKIP][267] ([i915#3291] / [i915#3708])
[267]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-5/igt@prime_vgem@basic-write.html
* igt@prime_vgem@fence-read-hang:
- shard-dg2: NOTRUN -> [SKIP][268] ([i915#3708])
[268]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-6/igt@prime_vgem@fence-read-hang.html
* igt@prime_vgem@fence-write-hang:
- shard-tglu: NOTRUN -> [SKIP][269] +57 other tests skip
[269]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-5/igt@prime_vgem@fence-write-hang.html
- shard-rkl: NOTRUN -> [SKIP][270] ([i915#3708])
[270]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-rkl-4/igt@prime_vgem@fence-write-hang.html
* igt@sriov_basic@bind-unbind-vf:
- shard-dg2: NOTRUN -> [SKIP][271] ([i915#9917]) +1 other test skip
[271]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-6/igt@sriov_basic@bind-unbind-vf.html
* igt@sriov_basic@enable-vfs-autoprobe-off@numvfs-6:
- shard-tglu: NOTRUN -> [FAIL][272] ([i915#12910]) +9 other tests fail
[272]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-6/igt@sriov_basic@enable-vfs-autoprobe-off@numvfs-6.html
* igt@sriov_basic@enable-vfs-bind-unbind-each:
- shard-dg1: NOTRUN -> [SKIP][273] ([i915#9917])
[273]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg1-18/igt@sriov_basic@enable-vfs-bind-unbind-each.html
#### Possible fixes ####
* igt@gem_ccs@suspend-resume@linear-compressed-compfmt0-smem-lmem0:
- shard-dg2: [INCOMPLETE][274] ([i915#7297]) -> [PASS][275]
[274]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15999/shard-dg2-10/igt@gem_ccs@suspend-resume@linear-compressed-compfmt0-smem-lmem0.html
[275]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-1/igt@gem_ccs@suspend-resume@linear-compressed-compfmt0-smem-lmem0.html
* igt@gem_lmem_swapping@smem-oom@lmem0:
- shard-dg2: [DMESG-WARN][276] ([i915#5493]) -> [PASS][277] +1 other test pass
[276]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15999/shard-dg2-10/igt@gem_lmem_swapping@smem-oom@lmem0.html
[277]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-1/igt@gem_lmem_swapping@smem-oom@lmem0.html
* igt@i915_pm_freq_api@freq-suspend@gt0:
- shard-dg2: [INCOMPLETE][278] ([i915#12455]) -> [PASS][279] +1 other test pass
[278]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15999/shard-dg2-1/igt@i915_pm_freq_api@freq-suspend@gt0.html
[279]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-2/igt@i915_pm_freq_api@freq-suspend@gt0.html
* igt@kms_atomic_transition@plane-all-modeset-transition:
- shard-dg2: [FAIL][280] ([i915#5956]) -> [PASS][281]
[280]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15999/shard-dg2-3/igt@kms_atomic_transition@plane-all-modeset-transition.html
[281]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-4/igt@kms_atomic_transition@plane-all-modeset-transition.html
* igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip:
- shard-mtlp: [FAIL][282] ([i915#5138]) -> [PASS][283]
[282]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15999/shard-mtlp-3/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip.html
[283]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-mtlp-7/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip.html
* igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs-cc:
- shard-dg1: [ABORT][284] -> [PASS][285]
[284]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15999/shard-dg1-17/igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs-cc.html
[285]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg1-13/igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs-cc.html
* igt@kms_color@deep-color:
- shard-dg2: [SKIP][286] ([i915#3555]) -> [PASS][287]
[286]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15999/shard-dg2-7/igt@kms_color@deep-color.html
[287]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-10/igt@kms_color@deep-color.html
* igt@kms_cursor_crc@cursor-sliding-128x42:
- shard-tglu: [FAIL][288] -> [PASS][289] +8 other tests pass
[288]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15999/shard-tglu-4/igt@kms_cursor_crc@cursor-sliding-128x42.html
[289]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-2/igt@kms_cursor_crc@cursor-sliding-128x42.html
* igt@kms_cursor_crc@cursor-sliding-128x42@pipe-a-hdmi-a-2:
- shard-rkl: [FAIL][290] ([i915#13566]) -> [PASS][291] +4 other tests pass
[290]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15999/shard-rkl-1/igt@kms_cursor_crc@cursor-sliding-128x42@pipe-a-hdmi-a-2.html
[291]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-rkl-3/igt@kms_cursor_crc@cursor-sliding-128x42@pipe-a-hdmi-a-2.html
* igt@kms_cursor_legacy@nonblocking-modeset-vs-cursor-atomic:
- shard-rkl: [DMESG-WARN][292] ([i915#12964]) -> [PASS][293]
[292]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15999/shard-rkl-1/igt@kms_cursor_legacy@nonblocking-modeset-vs-cursor-atomic.html
[293]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-rkl-3/igt@kms_cursor_legacy@nonblocking-modeset-vs-cursor-atomic.html
* igt@kms_flip@flip-vs-absolute-wf_vblank:
- shard-mtlp: [FAIL][294] ([i915#11989]) -> [PASS][295] +1 other test pass
[294]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15999/shard-mtlp-1/igt@kms_flip@flip-vs-absolute-wf_vblank.html
[295]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-mtlp-7/igt@kms_flip@flip-vs-absolute-wf_vblank.html
* igt@kms_flip@flip-vs-absolute-wf_vblank@a-hdmi-a1:
- shard-tglu: [FAIL][296] ([i915#11989]) -> [PASS][297] +3 other tests pass
[296]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15999/shard-tglu-3/igt@kms_flip@flip-vs-absolute-wf_vblank@a-hdmi-a1.html
[297]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-7/igt@kms_flip@flip-vs-absolute-wf_vblank@a-hdmi-a1.html
* igt@kms_flip@flip-vs-suspend@b-hdmi-a3:
- shard-dg1: [DMESG-WARN][298] ([i915#4423]) -> [PASS][299] +3 other tests pass
[298]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15999/shard-dg1-12/igt@kms_flip@flip-vs-suspend@b-hdmi-a3.html
[299]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg1-12/igt@kms_flip@flip-vs-suspend@b-hdmi-a3.html
* igt@kms_flip@modeset-vs-vblank-race-interruptible:
- shard-tglu: [FAIL][300] ([i915#10826]) -> [PASS][301]
[300]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15999/shard-tglu-7/igt@kms_flip@modeset-vs-vblank-race-interruptible.html
[301]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-3/igt@kms_flip@modeset-vs-vblank-race-interruptible.html
* igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-blt:
- shard-dg2: [FAIL][302] ([i915#6880]) -> [PASS][303]
[302]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15999/shard-dg2-7/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-blt.html
[303]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-7/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-blt.html
* igt@kms_joiner@invalid-modeset-force-big-joiner:
- shard-dg2: [SKIP][304] ([i915#12388]) -> [PASS][305]
[304]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15999/shard-dg2-6/igt@kms_joiner@invalid-modeset-force-big-joiner.html
[305]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-10/igt@kms_joiner@invalid-modeset-force-big-joiner.html
* igt@kms_pm_rpm@dpms-mode-unset-non-lpsp:
- shard-dg2: [SKIP][306] ([i915#9519]) -> [PASS][307]
[306]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15999/shard-dg2-8/igt@kms_pm_rpm@dpms-mode-unset-non-lpsp.html
[307]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-7/igt@kms_pm_rpm@dpms-mode-unset-non-lpsp.html
* igt@kms_pm_rpm@modeset-non-lpsp-stress:
- shard-rkl: [SKIP][308] ([i915#9519]) -> [PASS][309] +1 other test pass
[308]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15999/shard-rkl-7/igt@kms_pm_rpm@modeset-non-lpsp-stress.html
[309]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-rkl-1/igt@kms_pm_rpm@modeset-non-lpsp-stress.html
* igt@perf@blocking@0-rcs0:
- shard-tglu: [FAIL][310] ([i915#10538]) -> [PASS][311] +1 other test pass
[310]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15999/shard-tglu-10/igt@perf@blocking@0-rcs0.html
[311]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-5/igt@perf@blocking@0-rcs0.html
* igt@perf_pmu@render-node-busy@rcs0:
- shard-mtlp: [FAIL][312] ([i915#4349]) -> [PASS][313] +2 other tests pass
[312]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15999/shard-mtlp-1/igt@perf_pmu@render-node-busy@rcs0.html
[313]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-mtlp-7/igt@perf_pmu@render-node-busy@rcs0.html
#### Warnings ####
* igt@i915_module_load@reload-with-fault-injection:
- shard-tglu: [ABORT][314] ([i915#12817] / [i915#9820]) -> [ABORT][315] ([i915#10887] / [i915#12817] / [i915#9820])
[314]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15999/shard-tglu-8/igt@i915_module_load@reload-with-fault-injection.html
[315]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-10/igt@i915_module_load@reload-with-fault-injection.html
* igt@i915_suspend@basic-s3-without-i915:
- shard-tglu: [INCOMPLETE][316] -> [INCOMPLETE][317] ([i915#7443])
[316]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15999/shard-tglu-7/igt@i915_suspend@basic-s3-without-i915.html
[317]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-tglu-9/igt@i915_suspend@basic-s3-without-i915.html
* igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip:
- shard-mtlp: [FAIL][318] ([i915#5138]) -> [DMESG-FAIL][319] ([i915#11627] / [i915#13314])
[318]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15999/shard-mtlp-4/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip.html
[319]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-mtlp-2/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip.html
* igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip:
- shard-dg1: [SKIP][320] ([i915#4538]) -> [SKIP][321] ([i915#4423] / [i915#4538])
[320]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15999/shard-dg1-18/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip.html
[321]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg1-14/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip.html
* igt@kms_ccs@bad-aux-stride-y-tiled-gen12-mc-ccs:
- shard-dg1: [SKIP][322] ([i915#6095]) -> [SKIP][323] ([i915#4423] / [i915#6095]) +1 other test skip
[322]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15999/shard-dg1-18/igt@kms_ccs@bad-aux-stride-y-tiled-gen12-mc-ccs.html
[323]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg1-14/igt@kms_ccs@bad-aux-stride-y-tiled-gen12-mc-ccs.html
* igt@kms_content_protection@atomic:
- shard-dg2: [SKIP][324] ([i915#7118] / [i915#9424]) -> [TIMEOUT][325] ([i915#7173])
[324]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15999/shard-dg2-6/igt@kms_content_protection@atomic.html
[325]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-10/igt@kms_content_protection@atomic.html
* igt@kms_flip@2x-plain-flip-ts-check-interruptible:
- shard-dg1: [SKIP][326] ([i915#9934]) -> [SKIP][327] ([i915#4423] / [i915#9934])
[326]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15999/shard-dg1-18/igt@kms_flip@2x-plain-flip-ts-check-interruptible.html
[327]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg1-14/igt@kms_flip@2x-plain-flip-ts-check-interruptible.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-blt:
- shard-dg2: [SKIP][328] ([i915#3458]) -> [SKIP][329] ([i915#10433] / [i915#3458])
[328]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15999/shard-dg2-3/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-blt.html
[329]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-dg2-4/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-blt.html
* igt@kms_pm_lpsp@kms-lpsp:
- shard-rkl: [SKIP][330] ([i915#9340]) -> [SKIP][331] ([i915#3828])
[330]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15999/shard-rkl-3/igt@kms_pm_lpsp@kms-lpsp.html
[331]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_141527v5/shard-rkl-7/igt@kms_pm_lpsp@kms-lpsp.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[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#10538]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10538
[i915#10656]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10656
[i915#1072]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1072
[i915#10826]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10826
[i915#10887]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10887
[i915#1099]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1099
[i915#11078]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11078
[i915#11151]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11151
[i915#11520]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11520
[i915#11527]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11527
[i915#11616]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11616
[i915#11627]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11627
[i915#11681]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11681
[i915#11808]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11808
[i915#11814]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11814
[i915#11815]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11815
[i915#11920]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11920
[i915#11989]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11989
[i915#12247]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12247
[i915#12313]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12313
[i915#12339]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12339
[i915#12388]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12388
[i915#12392]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12392
[i915#12394]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12394
[i915#12402]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12402
[i915#12455]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12455
[i915#12518]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12518
[i915#12549]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12549
[i915#1257]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1257
[i915#12739]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12739
[i915#12755]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12755
[i915#12817]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12817
[i915#12910]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12910
[i915#12964]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12964
[i915#12967]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12967
[i915#13026]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13026
[i915#13029]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13029
[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#13314]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13314
[i915#13364]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13364
[i915#13398]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13398
[i915#13522]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13522
[i915#13557]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13557
[i915#13566]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13566
[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#2433]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2433
[i915#2437]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2437
[i915#2527]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2527
[i915#2587]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2587
[i915#2672]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2672
[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#3116]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3116
[i915#3281]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3281
[i915#3282]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3282
[i915#3291]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3291
[i915#3297]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3297
[i915#3299]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3299
[i915#3458]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3458
[i915#3469]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3469
[i915#3539]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3539
[i915#3555]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3555
[i915#3591]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3591
[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#4079]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4079
[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#4235]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4235
[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#4771]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4771
[i915#4812]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4812
[i915#4816]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4816
[i915#4852]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4852
[i915#4860]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4860
[i915#4879]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4879
[i915#4880]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4880
[i915#4881]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4881
[i915#5138]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5138
[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#5465]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5465
[i915#5493]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5493
[i915#5507]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5507
[i915#5566]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5566
[i915#5956]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5956
[i915#6095]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6095
[i915#6301]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6301
[i915#6334]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6334
[i915#6335]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6335
[i915#6344]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6344
[i915#6412]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6412
[i915#6524]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6524
[i915#658]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/658
[i915#6621]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6621
[i915#6805]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6805
[i915#6806]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6806
[i915#6880]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6880
[i915#6944]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6944
[i915#6953]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6953
[i915#7116]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7116
[i915#7118]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7118
[i915#7173]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7173
[i915#7213]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7213
[i915#7297]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7297
[i915#7443]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7443
[i915#7697]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7697
[i915#7707]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7707
[i915#7828]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7828
[i915#7975]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7975
[i915#7984]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7984
[i915#8213]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8213
[i915#8228]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8228
[i915#8381]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8381
[i915#8399]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8399
[i915#8411]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8411
[i915#8414]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8414
[i915#8428]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8428
[i915#8516]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8516
[i915#8555]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8555
[i915#8588]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8588
[i915#8623]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8623
[i915#8708]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8708
[i915#8709]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8709
[i915#8812]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8812
[i915#9053]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9053
[i915#9100]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9100
[i915#9323]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9323
[i915#9340]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9340
[i915#9351]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9351
[i915#9412]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9412
[i915#9413]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9413
[i915#9423]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9423
[i915#9424]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9424
[i915#9519]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9519
[i915#9683]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9683
[i915#9685]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9685
[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#9820]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9820
[i915#9833]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9833
[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_15999 -> Patchwork_141527v5
CI-20190529: 20190529
CI_DRM_15999: 71b6a6ef0f37fe2d812dc2bd6d4b0d2d52096d07 @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_8205: f3225e64a7c52e515ab7ec14e6e3f63679718928 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
Patchwork_141527v5: 71b6a6ef0f37fe2d812dc2bd6d4b0d2d52096d07 @ 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_141527v5/index.html
[-- Attachment #2: Type: text/html, Size: 115919 bytes --]
^ permalink raw reply [flat|nested] 19+ messages in thread
end of thread, other threads:[~2025-01-23 14:33 UTC | newest]
Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-01-22 9:30 [PATCH v4 0/6] drm/i915/xe3: FBC Dirty rect feature support Vinod Govindapillai
2025-01-22 9:30 ` [PATCH v4 1/6] drm/i915/xe3: avoid calling fbc activate if fbc is active Vinod Govindapillai
2025-01-22 18:13 ` Ville Syrjälä
2025-01-22 18:31 ` Govindapillai, Vinod
2025-01-22 9:30 ` [PATCH v4 2/6] drm/i915/xe3: add register definitions for fbc dirty rect support Vinod Govindapillai
2025-01-22 9:30 ` [PATCH v4 3/6] drm/i915/xe3: disable FBC if PSR2 selective fetch is enabled Vinod Govindapillai
2025-01-22 9:30 ` [PATCH v4 4/6] drm/i915/xe3: add dirty rect support for FBC Vinod Govindapillai
2025-01-22 10:39 ` Jani Nikula
2025-01-22 19:41 ` Ville Syrjälä
2025-01-22 9:30 ` [PATCH v4 5/6] drm/i915/xe3: handle dirty rect update within the scope of DSB Vinod Govindapillai
2025-01-22 10:47 ` Jani Nikula
2025-01-22 13:55 ` Govindapillai, Vinod
2025-01-23 9:46 ` Jani Nikula
2025-01-22 9:30 ` [PATCH v4 6/6] drm/i915/xe3: introduce a dirty rectangle state variable Vinod Govindapillai
2025-01-22 10:42 ` Jani Nikula
2025-01-22 10:04 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915/xe3: FBC Dirty rect feature support (rev5) Patchwork
2025-01-22 10:04 ` ✗ Fi.CI.SPARSE: " Patchwork
2025-01-22 10:18 ` ✓ i915.CI.BAT: success " Patchwork
2025-01-23 14:33 ` ✓ i915.CI.Full: " Patchwork
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).