* [PATCH v6 0/7] drm/i915/xe3: FBC Dirty rect feature support
@ 2025-01-30 21:00 Vinod Govindapillai
2025-01-30 21:00 ` [PATCH v6 1/7] drm/i915/xe3: add register definitions for fbc dirty rect support Vinod Govindapillai
` (15 more replies)
0 siblings, 16 replies; 32+ messages in thread
From: Vinod Govindapillai @ 2025-01-30 21:00 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.
v5: add HAS_FBC_DIRTY_RECT()
FBC Damage area updates in 3 steps.
1. As part of plane_atomic_check() get, adjust coordinates and store
the merged damage area in plane_state
2. Atomic_commit, update merged damage are to fbc_state and prepare the
damage area satifying all conditions
3 update the FBC dirty rect registers as part of DSB commit.
v6: Use dmage_merged helper earlier to handle bigjoiner cases (Ville)
Place the damage_merged handling code under HAS_FBC_DIRTY_RECT()
Added a variable to check if the damage_merged received from
the helper is valid. And if it is not valid, the FBC dirty rect
is updated with full plane reqion.
Vinod Govindapillai (7):
drm/i915/xe3: add register definitions for fbc dirty rect support
drm/i915/xe3: introduce HAS_FBC_DIRTY_RECT() for FBC dirty rect
support
drm/damage-helper: add const qualifier in
drm_atomic_helper_damage_merged()
drm/i915/xe3: update and store the plane damage clips
drm/i915/xe3: dirty rect support for FBC
drm/i915/xe3: avoid calling fbc activate if fbc is active
drm/i915/xe3: disable FBC if PSR2 selective fetch is enabled
drivers/gpu/drm/drm_damage_helper.c | 2 +-
.../gpu/drm/i915/display/intel_atomic_plane.c | 28 ++++
drivers/gpu/drm/i915/display/intel_display.c | 7 +
.../drm/i915/display/intel_display_device.h | 1 +
.../drm/i915/display/intel_display_types.h | 2 +
drivers/gpu/drm/i915/display/intel_fbc.c | 152 +++++++++++++++++-
drivers/gpu/drm/i915/display/intel_fbc.h | 6 +
drivers/gpu/drm/i915/display/intel_fbc_regs.h | 9 ++
.../drm/i915/display/skl_universal_plane.c | 45 +++++-
include/drm/drm_damage_helper.h | 2 +-
10 files changed, 246 insertions(+), 8 deletions(-)
--
2.43.0
^ permalink raw reply [flat|nested] 32+ messages in thread
* [PATCH v6 1/7] drm/i915/xe3: add register definitions for fbc dirty rect support
2025-01-30 21:00 [PATCH v6 0/7] drm/i915/xe3: FBC Dirty rect feature support Vinod Govindapillai
@ 2025-01-30 21:00 ` Vinod Govindapillai
2025-02-05 9:42 ` Kandpal, Suraj
2025-01-30 21:00 ` [PATCH v6 2/7] drm/i915/xe3: introduce HAS_FBC_DIRTY_RECT() for FBC " Vinod Govindapillai
` (14 subsequent siblings)
15 siblings, 1 reply; 32+ messages in thread
From: Vinod Govindapillai @ 2025-01-30 21:00 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] 32+ messages in thread
* [PATCH v6 2/7] drm/i915/xe3: introduce HAS_FBC_DIRTY_RECT() for FBC dirty rect support
2025-01-30 21:00 [PATCH v6 0/7] drm/i915/xe3: FBC Dirty rect feature support Vinod Govindapillai
2025-01-30 21:00 ` [PATCH v6 1/7] drm/i915/xe3: add register definitions for fbc dirty rect support Vinod Govindapillai
@ 2025-01-30 21:00 ` Vinod Govindapillai
2025-02-05 9:43 ` Kandpal, Suraj
2025-01-30 21:00 ` [PATCH v6 3/7] drm/damage-helper: add const qualifier in drm_atomic_helper_damage_merged() Vinod Govindapillai
` (13 subsequent siblings)
15 siblings, 1 reply; 32+ messages in thread
From: Vinod Govindapillai @ 2025-01-30 21:00 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: vinod.govindapillai, ville.syrjala, santhosh.reddy.guddati,
jani.saarinen
Introduce a macro to check if the platform supports FBC dirty
rect capability.
Signed-off-by: Vinod Govindapillai <vinod.govindapillai@intel.com>
---
drivers/gpu/drm/i915/display/intel_display_device.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/gpu/drm/i915/display/intel_display_device.h b/drivers/gpu/drm/i915/display/intel_display_device.h
index fc33791f02b9..717286981687 100644
--- a/drivers/gpu/drm/i915/display/intel_display_device.h
+++ b/drivers/gpu/drm/i915/display/intel_display_device.h
@@ -163,6 +163,7 @@ struct intel_display_platforms {
#define HAS_DSC(__display) (DISPLAY_RUNTIME_INFO(__display)->has_dsc)
#define HAS_DSC_MST(__display) (DISPLAY_VER(__display) >= 12 && HAS_DSC(__display))
#define HAS_FBC(__display) (DISPLAY_RUNTIME_INFO(__display)->fbc_mask != 0)
+#define HAS_FBC_DIRTY_RECT(__display) (DISPLAY_VER(__display) >= 30)
#define HAS_FPGA_DBG_UNCLAIMED(__display) (DISPLAY_INFO(__display)->has_fpga_dbg)
#define HAS_FW_BLC(__display) (DISPLAY_VER(__display) >= 3)
#define HAS_GMBUS_IRQ(__display) (DISPLAY_VER(__display) >= 4)
--
2.43.0
^ permalink raw reply related [flat|nested] 32+ messages in thread
* [PATCH v6 3/7] drm/damage-helper: add const qualifier in drm_atomic_helper_damage_merged()
2025-01-30 21:00 [PATCH v6 0/7] drm/i915/xe3: FBC Dirty rect feature support Vinod Govindapillai
2025-01-30 21:00 ` [PATCH v6 1/7] drm/i915/xe3: add register definitions for fbc dirty rect support Vinod Govindapillai
2025-01-30 21:00 ` [PATCH v6 2/7] drm/i915/xe3: introduce HAS_FBC_DIRTY_RECT() for FBC " Vinod Govindapillai
@ 2025-01-30 21:00 ` Vinod Govindapillai
2025-02-04 9:08 ` Jani Nikula
2025-01-30 21:00 ` [PATCH v6 4/7] drm/i915/xe3: update and store the plane damage clips Vinod Govindapillai
` (12 subsequent siblings)
15 siblings, 1 reply; 32+ messages in thread
From: Vinod Govindapillai @ 2025-01-30 21:00 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: vinod.govindapillai, ville.syrjala, santhosh.reddy.guddati,
jani.saarinen
Add a const qualifier for the "state" parameter as well as we could
use this helper to get the combined damage in cases of const
drm_plane_state as well. Needed mainly for xe driver big joiner cases
where we need to track the damage from immutable plane state.
Signed-off-by: Vinod Govindapillai <vinod.govindapillai@intel.com>
---
drivers/gpu/drm/drm_damage_helper.c | 2 +-
include/drm/drm_damage_helper.h | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/drm_damage_helper.c b/drivers/gpu/drm/drm_damage_helper.c
index afb02aae707b..44a5a36806e3 100644
--- a/drivers/gpu/drm/drm_damage_helper.c
+++ b/drivers/gpu/drm/drm_damage_helper.c
@@ -308,7 +308,7 @@ EXPORT_SYMBOL(drm_atomic_helper_damage_iter_next);
* True if there is valid plane damage otherwise false.
*/
bool drm_atomic_helper_damage_merged(const struct drm_plane_state *old_state,
- struct drm_plane_state *state,
+ const struct drm_plane_state *state,
struct drm_rect *rect)
{
struct drm_atomic_helper_damage_iter iter;
diff --git a/include/drm/drm_damage_helper.h b/include/drm/drm_damage_helper.h
index effda42cce31..a58cbcd11276 100644
--- a/include/drm/drm_damage_helper.h
+++ b/include/drm/drm_damage_helper.h
@@ -78,7 +78,7 @@ bool
drm_atomic_helper_damage_iter_next(struct drm_atomic_helper_damage_iter *iter,
struct drm_rect *rect);
bool drm_atomic_helper_damage_merged(const struct drm_plane_state *old_state,
- struct drm_plane_state *state,
+ const struct drm_plane_state *state,
struct drm_rect *rect);
#endif
--
2.43.0
^ permalink raw reply related [flat|nested] 32+ messages in thread
* [PATCH v6 4/7] drm/i915/xe3: update and store the plane damage clips
2025-01-30 21:00 [PATCH v6 0/7] drm/i915/xe3: FBC Dirty rect feature support Vinod Govindapillai
` (2 preceding siblings ...)
2025-01-30 21:00 ` [PATCH v6 3/7] drm/damage-helper: add const qualifier in drm_atomic_helper_damage_merged() Vinod Govindapillai
@ 2025-01-30 21:00 ` Vinod Govindapillai
2025-02-05 9:39 ` Kandpal, Suraj
2025-02-05 12:43 ` Ville Syrjälä
2025-01-30 21:00 ` [PATCH v6 5/7] drm/i915/xe3: dirty rect support for FBC Vinod Govindapillai
` (11 subsequent siblings)
15 siblings, 2 replies; 32+ messages in thread
From: Vinod Govindapillai @ 2025-01-30 21:00 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: vinod.govindapillai, ville.syrjala, santhosh.reddy.guddati,
jani.saarinen
Userspace can pass damage area clips per plane to track
changes in a plane and some display components can utilze
these damage clips for efficiently handling use cases like
FBC, PSR etc. A merged damage area is generated and its
coordinates are updated relative to viewport and HW and
stored in the plane_state. This merged damage areas will be
used for FBC dirty rect support in xe3 in the follow-up
patch.
Big thanks to Ville Syrjala for his contribuitions in shaping
up of this series.
v1: - Move damage_merged helper to cover bigjoiner case and use
the correct plane state for damage find helper (Ville)
- Damage handling code under HAS_FBC_DIRTY_RECT() so the
the related part will be executed only for xe3+
- Changed dev_priv to i915 in one of the functions
Signed-off-by: Vinod Govindapillai <vinod.govindapillai@intel.com>
---
.../gpu/drm/i915/display/intel_atomic_plane.c | 28 ++++++++++++
.../drm/i915/display/intel_display_types.h | 2 +
.../drm/i915/display/skl_universal_plane.c | 45 +++++++++++++++++--
3 files changed, 71 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_atomic_plane.c b/drivers/gpu/drm/i915/display/intel_atomic_plane.c
index c558143f4f82..f55f7044dc67 100644
--- a/drivers/gpu/drm/i915/display/intel_atomic_plane.c
+++ b/drivers/gpu/drm/i915/display/intel_atomic_plane.c
@@ -36,6 +36,7 @@
#include <drm/drm_atomic_helper.h>
#include <drm/drm_blend.h>
+#include <drm/drm_damage_helper.h>
#include <drm/drm_fourcc.h>
#include <drm/drm_gem.h>
#include <drm/drm_gem_atomic_helper.h>
@@ -322,6 +323,25 @@ static void intel_plane_clear_hw_state(struct intel_plane_state *plane_state)
memset(&plane_state->hw, 0, sizeof(plane_state->hw));
}
+static void
+intel_plane_check_plane_damage(struct intel_plane_state *new_plane_state,
+ const struct intel_plane_state *old_primary_plane_state,
+ const struct intel_plane_state *new_primary_plane_state)
+{
+ struct intel_display *display = to_intel_display(new_plane_state);
+ struct drm_rect *damage_merged = &new_plane_state->damage_merged;
+
+ if (!HAS_FBC_DIRTY_RECT(display))
+ return;
+
+ if (!drm_atomic_helper_damage_merged(&old_primary_plane_state->uapi,
+ &new_primary_plane_state->uapi,
+ damage_merged))
+ /* Incase helper fails, mark whole plane region as damage */
+ *damage_merged =
+ drm_plane_state_src(&new_primary_plane_state->uapi);
+}
+
void intel_plane_copy_uapi_to_hw_state(struct intel_plane_state *plane_state,
const struct intel_plane_state *from_plane_state,
struct intel_crtc *crtc)
@@ -691,6 +711,7 @@ int intel_plane_atomic_check(struct intel_atomic_state *state,
const struct intel_plane_state *old_plane_state =
intel_atomic_get_old_plane_state(state, plane);
const struct intel_plane_state *new_primary_crtc_plane_state;
+ const struct intel_plane_state *old_primary_crtc_plane_state;
struct intel_crtc *crtc = intel_crtc_for_pipe(display, plane->pipe);
const struct intel_crtc_state *old_crtc_state =
intel_atomic_get_old_crtc_state(state, crtc);
@@ -705,10 +726,17 @@ int intel_plane_atomic_check(struct intel_atomic_state *state,
new_primary_crtc_plane_state =
intel_atomic_get_new_plane_state(state, primary_crtc_plane);
+ old_primary_crtc_plane_state =
+ intel_atomic_get_old_plane_state(state, primary_crtc_plane);
} else {
new_primary_crtc_plane_state = new_plane_state;
+ old_primary_crtc_plane_state = old_plane_state;
}
+ intel_plane_check_plane_damage(new_plane_state,
+ old_primary_crtc_plane_state,
+ new_primary_crtc_plane_state);
+
intel_plane_copy_uapi_to_hw_state(new_plane_state,
new_primary_crtc_plane_state,
crtc);
diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h
index cb51b7936f93..8d53bcca9614 100644
--- a/drivers/gpu/drm/i915/display/intel_display_types.h
+++ b/drivers/gpu/drm/i915/display/intel_display_types.h
@@ -695,6 +695,8 @@ struct intel_plane_state {
u64 ccval;
const char *no_fbc_reason;
+
+ struct drm_rect damage_merged;
};
struct intel_initial_plane_config {
diff --git a/drivers/gpu/drm/i915/display/skl_universal_plane.c b/drivers/gpu/drm/i915/display/skl_universal_plane.c
index 301ad3a22c4c..b90a7d52c071 100644
--- a/drivers/gpu/drm/i915/display/skl_universal_plane.c
+++ b/drivers/gpu/drm/i915/display/skl_universal_plane.c
@@ -2249,11 +2249,42 @@ static void check_protection(struct intel_plane_state *plane_state)
!plane_state->decrypt;
}
+static void
+skl_plane_check_damage_with_viewport(struct intel_plane_state *plane_state)
+{
+ struct drm_rect *damage_merged = &plane_state->damage_merged;
+ const struct drm_framebuffer *fb = plane_state->hw.fb;
+ unsigned int rotation = plane_state->hw.rotation;
+ struct drm_rect *src = &plane_state->uapi.src;
+
+ if (drm_rotation_90_or_270(rotation)) {
+ drm_rect_rotate(damage_merged, fb->width, fb->height,
+ DRM_MODE_ROTATE_270);
+ drm_rect_translate(damage_merged, -(src->y1 >> 16),
+ -(src->x1 >> 16));
+ } else {
+ drm_rect_translate(damage_merged, -(src->x1 >> 16),
+ -(src->y1 >> 16));
+ }
+}
+
+static void
+skl_plane_check_damage_with_plane_surf(struct intel_plane_state *plane_state)
+{
+ struct drm_rect *damage_merged = &plane_state->damage_merged;
+ struct drm_rect src;
+
+ drm_rect_fp_to_int(&src, &plane_state->uapi.src);
+ drm_rect_translate(damage_merged, src.x1, src.y1);
+ drm_rect_intersect(damage_merged, &src);
+}
+
static int skl_plane_check(struct intel_crtc_state *crtc_state,
struct intel_plane_state *plane_state)
{
+ struct intel_display *display = to_intel_display(crtc_state);
struct intel_plane *plane = to_intel_plane(plane_state->uapi.plane);
- struct drm_i915_private *dev_priv = to_i915(plane->base.dev);
+ struct drm_i915_private *i915 = to_i915(plane->base.dev);
const struct drm_framebuffer *fb = plane_state->hw.fb;
int min_scale = DRM_PLANE_NO_SCALING;
int max_scale = DRM_PLANE_NO_SCALING;
@@ -2266,7 +2297,7 @@ static int skl_plane_check(struct intel_crtc_state *crtc_state,
/* use scaler when colorkey is not required */
if (!plane_state->ckey.flags && skl_fb_scalable(fb)) {
min_scale = 1;
- max_scale = skl_plane_max_scale(dev_priv, fb);
+ max_scale = skl_plane_max_scale(i915, fb);
}
ret = intel_atomic_plane_check_clipping(plane_state, crtc_state,
@@ -2274,6 +2305,9 @@ static int skl_plane_check(struct intel_crtc_state *crtc_state,
if (ret)
return ret;
+ if (HAS_FBC_DIRTY_RECT(display))
+ skl_plane_check_damage_with_viewport(plane_state);
+
ret = skl_check_plane_surface(plane_state);
if (ret)
return ret;
@@ -2289,6 +2323,9 @@ static int skl_plane_check(struct intel_crtc_state *crtc_state,
if (ret)
return ret;
+ if (HAS_FBC_DIRTY_RECT(display))
+ skl_plane_check_damage_with_plane_surf(plane_state);
+
ret = skl_plane_check_nv12_rotation(plane_state);
if (ret)
return ret;
@@ -2301,12 +2338,12 @@ static int skl_plane_check(struct intel_crtc_state *crtc_state,
plane_state->ctl = skl_plane_ctl(crtc_state, plane_state);
- if (DISPLAY_VER(dev_priv) >= 10)
+ if (DISPLAY_VER(display) >= 10)
plane_state->color_ctl = glk_plane_color_ctl(crtc_state,
plane_state);
if (intel_format_info_is_yuv_semiplanar(fb->format, fb->modifier) &&
- icl_is_hdr_plane(dev_priv, plane->id))
+ icl_is_hdr_plane(i915, plane->id))
/* Enable and use MPEG-2 chroma siting */
plane_state->cus_ctl = PLANE_CUS_ENABLE |
PLANE_CUS_HPHASE_0 |
--
2.43.0
^ permalink raw reply related [flat|nested] 32+ messages in thread
* [PATCH v6 5/7] drm/i915/xe3: dirty rect support for FBC
2025-01-30 21:00 [PATCH v6 0/7] drm/i915/xe3: FBC Dirty rect feature support Vinod Govindapillai
` (3 preceding siblings ...)
2025-01-30 21:00 ` [PATCH v6 4/7] drm/i915/xe3: update and store the plane damage clips Vinod Govindapillai
@ 2025-01-30 21:00 ` Vinod Govindapillai
2025-02-05 13:31 ` Ville Syrjälä
2025-01-30 21:00 ` [PATCH v6 6/7] drm/i915/xe3: avoid calling fbc activate if fbc is active Vinod Govindapillai
` (10 subsequent siblings)
15 siblings, 1 reply; 32+ messages in thread
From: Vinod Govindapillai @ 2025-01-30 21:00 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.
Use the merged damage clip stored in the plane state to
configure the FBC dirty rect areas.
v2: - Move dirty rect handling to fbc state (Ville)
v3: - Use intel_fbc_dirty_rect_update_noarm (Ville)
- Split plane damage collection and dirty rect preparation
- Handle case where dirty rect fall outside the visible region
v4: - A state variable to check if we need to update dirty rect
registers in case intel_fbc_can_flip_nuke() (Ville)
Bspec: 68881, 71675, 73424
Signed-off-by: Vinod Govindapillai <vinod.govindapillai@intel.com>
---
drivers/gpu/drm/i915/display/intel_display.c | 7 +
drivers/gpu/drm/i915/display/intel_fbc.c | 132 +++++++++++++++++++
drivers/gpu/drm/i915/display/intel_fbc.h | 6 +
3 files changed, 145 insertions(+)
diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
index 7d68d652c1bc..33277f892279 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_dirty_rect_update_noarm(NULL, state, crtc);
+
intel_crtc_planes_update_arm(NULL, state, crtc);
commit_pipe_post_planes(state, crtc);
@@ -7723,6 +7725,8 @@ static void intel_atomic_dsb_finish(struct intel_atomic_state *state,
new_crtc_state);
intel_crtc_planes_update_noarm(new_crtc_state->dsb_commit,
state, crtc);
+ intel_fbc_dirty_rect_update_noarm(new_crtc_state->dsb_commit,
+ state, crtc);
intel_dsb_vblank_evade(state, new_crtc_state->dsb_commit);
@@ -7769,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_prepare_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 df05904bac8a..24736c7a79a6 100644
--- a/drivers/gpu/drm/i915/display/intel_fbc.c
+++ b/drivers/gpu/drm/i915/display/intel_fbc.c
@@ -88,6 +88,10 @@ struct intel_fbc_state {
u16 override_cfb_stride;
u16 interval;
s8 fence_id;
+ struct {
+ struct drm_rect rect;
+ bool valid;
+ } fbc_dirty_rect;
};
struct intel_fbc {
@@ -527,6 +531,9 @@ static void ilk_fbc_deactivate(struct intel_fbc *fbc)
struct intel_display *display = fbc->display;
u32 dpfc_ctl;
+ if (HAS_FBC_DIRTY_RECT(display))
+ 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 +677,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 (HAS_FBC_DIRTY_RECT(display))
+ 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 +1214,127 @@ 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_dirty_rect_update(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;
+ struct drm_rect *fbc_dirty_rect = &fbc_state->fbc_dirty_rect.rect;
+
+ if (fbc_state->plane != plane)
+ return;
+
+ if (!fbc_state->fbc_dirty_rect.valid)
+ return;
+
+ intel_de_write_dsb(display, dsb, XE3_FBC_DIRTY_RECT(fbc->id),
+ FBC_DIRTY_RECT_START_LINE(fbc_dirty_rect->y1) |
+ FBC_DIRTY_RECT_END_LINE(fbc_dirty_rect->y2));
+
+ fbc_state->fbc_dirty_rect.valid = false;
+}
+
+void
+intel_fbc_dirty_rect_update_noarm(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 *plane_state;
+ struct intel_plane *plane;
+ int i;
+
+ if (!HAS_FBC_DIRTY_RECT(display))
+ 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;
+
+ if (!plane_state->uapi.visible)
+ continue;
+
+ intel_fbc_dirty_rect_update(dsb, plane);
+ }
+}
+
+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 - 1;
+
+ 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_prepare_dirty_rect(struct intel_plane *plane,
+ struct intel_plane_state *plane_state,
+ bool fbc_dirty_rect_valid)
+{
+ struct intel_fbc_state *fbc_state = &plane->fbc->state;
+ struct drm_rect *fbc_dirty_rect = &fbc_state->fbc_dirty_rect.rect;
+ struct drm_rect *damage_merged = &plane_state->damage_merged;
+ int y_offset = plane_state->view.color_plane[0].y;
+
+ fbc_state->fbc_dirty_rect.valid = fbc_dirty_rect_valid;
+
+ if (drm_rect_visible(damage_merged)) {
+ fbc_dirty_rect->y1 = damage_merged->y1;
+ fbc_dirty_rect->y2 = damage_merged->y2;
+ } else {
+ /* If not visible, we need to set one single line */
+ fbc_dirty_rect->y1 = y_offset;
+ fbc_dirty_rect->y2 = y_offset;
+ }
+ fbc_dirty_rect->x1 = damage_merged->x1;
+ fbc_dirty_rect->x2 = damage_merged->x2;
+
+ validate_and_clip_dirty_rect(plane_state, fbc_dirty_rect);
+}
+
+void
+intel_fbc_prepare_dirty_rect(struct intel_atomic_state *state,
+ struct intel_crtc *crtc)
+{
+ struct intel_display *display = to_intel_display(state);
+ struct intel_plane_state *plane_state;
+ struct intel_plane *plane;
+ int i;
+
+ if (!HAS_FBC_DIRTY_RECT(display))
+ 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;
+
+ if (!fbc->state.plane)
+ continue;
+
+ /* If plane not visible, dirty rect might have invalid coordinates */
+ if (!plane_state->uapi.visible)
+ continue;
+
+ __intel_fbc_prepare_dirty_rect(plane, plane_state,
+ intel_fbc_can_flip_nuke(state,
+ crtc,
+ plane));
+ }
+}
+
static void intel_fbc_update_state(struct intel_atomic_state *state,
struct intel_crtc *crtc,
struct intel_plane *plane)
diff --git a/drivers/gpu/drm/i915/display/intel_fbc.h b/drivers/gpu/drm/i915/display/intel_fbc.h
index ceae55458e14..8f1b11c6f4d2 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,10 @@ 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_prepare_dirty_rect(struct intel_atomic_state *state,
+ struct intel_crtc *crtc);
+void intel_fbc_dirty_rect_update_noarm(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] 32+ messages in thread
* [PATCH v6 6/7] drm/i915/xe3: avoid calling fbc activate if fbc is active
2025-01-30 21:00 [PATCH v6 0/7] drm/i915/xe3: FBC Dirty rect feature support Vinod Govindapillai
` (4 preceding siblings ...)
2025-01-30 21:00 ` [PATCH v6 5/7] drm/i915/xe3: dirty rect support for FBC Vinod Govindapillai
@ 2025-01-30 21:00 ` Vinod Govindapillai
2025-01-30 21:00 ` [PATCH v6 7/7] drm/i915/xe3: disable FBC if PSR2 selective fetch is enabled Vinod Govindapillai
` (9 subsequent siblings)
15 siblings, 0 replies; 32+ messages in thread
From: Vinod Govindapillai @ 2025-01-30 21:00 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. This is more relevant in case of dirty rect
support in FBC. Xe doesn't support legacy fences. Hence fence
programming also not required as part of this fbc_hw_activate.
Any FBC related register updates done after enabling the dirty
rect support in xe3 will trigger nuke by FBC HW. So avoid
calling fbc activate routine again if the FBC is already active.
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.
v2: use HAS_FBC_DIRTY_RECT()
move this functionality within intel_fbc_activate()
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 24736c7a79a6..b17ee1797118 100644
--- a/drivers/gpu/drm/i915/display/intel_fbc.c
+++ b/drivers/gpu/drm/i915/display/intel_fbc.c
@@ -750,8 +750,19 @@ static void intel_fbc_nuke(struct intel_fbc *fbc)
static void intel_fbc_activate(struct intel_fbc *fbc)
{
+ struct intel_display *display = fbc->display;
+
lockdep_assert_held(&fbc->lock);
+ /*
+ * 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 (HAS_FBC_DIRTY_RECT(display) && fbc->active)
+ return;
+
intel_fbc_hw_activate(fbc);
intel_fbc_nuke(fbc);
--
2.43.0
^ permalink raw reply related [flat|nested] 32+ messages in thread
* [PATCH v6 7/7] drm/i915/xe3: disable FBC if PSR2 selective fetch is enabled
2025-01-30 21:00 [PATCH v6 0/7] drm/i915/xe3: FBC Dirty rect feature support Vinod Govindapillai
` (5 preceding siblings ...)
2025-01-30 21:00 ` [PATCH v6 6/7] drm/i915/xe3: avoid calling fbc activate if fbc is active Vinod Govindapillai
@ 2025-01-30 21:00 ` Vinod Govindapillai
2025-02-05 9:58 ` Kandpal, Suraj
2025-01-30 21:09 ` ✓ CI.Patch_applied: success for drm/i915/xe3: FBC Dirty rect feature support (rev7) Patchwork
` (8 subsequent siblings)
15 siblings, 1 reply; 32+ messages in thread
From: Vinod Govindapillai @ 2025-01-30 21:00 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 dirty rect and PSR2
selective fetch be enabled at the same time. If PSR2 selective
fetch or panel replay is on, mark FBC as not possible.
v2: fix the condition to disable FBC if PSR2 enabled (Jani)
v3: use HAS_FBC_DIRTY_RECT()
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 b17ee1797118..429e213e1dcd 100644
--- a/drivers/gpu/drm/i915/display/intel_fbc.c
+++ b/drivers/gpu/drm/i915/display/intel_fbc.c
@@ -1481,9 +1481,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) || HAS_FBC_DIRTY_RECT(display)) &&
+ 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] 32+ messages in thread
* ✓ CI.Patch_applied: success for drm/i915/xe3: FBC Dirty rect feature support (rev7)
2025-01-30 21:00 [PATCH v6 0/7] drm/i915/xe3: FBC Dirty rect feature support Vinod Govindapillai
` (6 preceding siblings ...)
2025-01-30 21:00 ` [PATCH v6 7/7] drm/i915/xe3: disable FBC if PSR2 selective fetch is enabled Vinod Govindapillai
@ 2025-01-30 21:09 ` Patchwork
2025-01-30 21:10 ` ✗ CI.checkpatch: warning " Patchwork
` (7 subsequent siblings)
15 siblings, 0 replies; 32+ messages in thread
From: Patchwork @ 2025-01-30 21:09 UTC (permalink / raw)
To: Vinod Govindapillai; +Cc: intel-xe
== Series Details ==
Series: drm/i915/xe3: FBC Dirty rect feature support (rev7)
URL : https://patchwork.freedesktop.org/series/141526/
State : success
== Summary ==
=== Applying kernel patches on branch 'drm-tip' with base: ===
Base commit: 54974a9354d8 drm-tip: 2025y-01m-30d-19h-51m-39s UTC integration manifest
=== git am output follows ===
Applying: drm/i915/xe3: add register definitions for fbc dirty rect support
Applying: drm/i915/xe3: introduce HAS_FBC_DIRTY_RECT() for FBC dirty rect support
Applying: drm/damage-helper: add const qualifier in drm_atomic_helper_damage_merged()
Applying: drm/i915/xe3: update and store the plane damage clips
Applying: drm/i915/xe3: dirty rect support for FBC
Applying: drm/i915/xe3: avoid calling fbc activate if fbc is active
Applying: drm/i915/xe3: disable FBC if PSR2 selective fetch is enabled
^ permalink raw reply [flat|nested] 32+ messages in thread
* ✗ CI.checkpatch: warning for drm/i915/xe3: FBC Dirty rect feature support (rev7)
2025-01-30 21:00 [PATCH v6 0/7] drm/i915/xe3: FBC Dirty rect feature support Vinod Govindapillai
` (7 preceding siblings ...)
2025-01-30 21:09 ` ✓ CI.Patch_applied: success for drm/i915/xe3: FBC Dirty rect feature support (rev7) Patchwork
@ 2025-01-30 21:10 ` Patchwork
2025-01-30 21:11 ` ✓ CI.KUnit: success " Patchwork
` (6 subsequent siblings)
15 siblings, 0 replies; 32+ messages in thread
From: Patchwork @ 2025-01-30 21:10 UTC (permalink / raw)
To: Vinod Govindapillai; +Cc: intel-xe
== Series Details ==
Series: drm/i915/xe3: FBC Dirty rect feature support (rev7)
URL : https://patchwork.freedesktop.org/series/141526/
State : warning
== Summary ==
+ KERNEL=/kernel
+ git clone https://gitlab.freedesktop.org/drm/maintainer-tools mt
Cloning into 'mt'...
warning: redirecting to https://gitlab.freedesktop.org/drm/maintainer-tools.git/
+ git -C mt rev-list -n1 origin/master
30ab6715fc09baee6cc14cb3c89ad8858688d474
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ git log -n1
commit 03cef2a3984585370a63859a6c77d0682b6e1dd9
Author: Vinod Govindapillai <vinod.govindapillai@intel.com>
Date: Thu Jan 30 23:00:26 2025 +0200
drm/i915/xe3: disable FBC if PSR2 selective fetch is enabled
It is not recommended to have both FBC dirty rect and PSR2
selective fetch be enabled at the same time. If PSR2 selective
fetch or panel replay is on, mark FBC as not possible.
v2: fix the condition to disable FBC if PSR2 enabled (Jani)
v3: use HAS_FBC_DIRTY_RECT()
Bspec: 68881
Signed-off-by: Vinod Govindapillai <vinod.govindapillai@intel.com>
+ /mt/dim checkpatch 54974a9354d844eca54feeec70870790fac17160 drm-intel
89d66f7d4021 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
e43ebe925f8e drm/i915/xe3: introduce HAS_FBC_DIRTY_RECT() for FBC dirty rect support
113bd42fe26b drm/damage-helper: add const qualifier in drm_atomic_helper_damage_merged()
19485e81fa03 drm/i915/xe3: update and store the plane damage clips
6abcfebf03fd drm/i915/xe3: dirty rect support for FBC
5cf609ededbe drm/i915/xe3: avoid calling fbc activate if fbc is active
03cef2a39845 drm/i915/xe3: disable FBC if PSR2 selective fetch is enabled
^ permalink raw reply [flat|nested] 32+ messages in thread
* ✓ CI.KUnit: success for drm/i915/xe3: FBC Dirty rect feature support (rev7)
2025-01-30 21:00 [PATCH v6 0/7] drm/i915/xe3: FBC Dirty rect feature support Vinod Govindapillai
` (8 preceding siblings ...)
2025-01-30 21:10 ` ✗ CI.checkpatch: warning " Patchwork
@ 2025-01-30 21:11 ` Patchwork
2025-01-30 21:27 ` ✓ CI.Build: " Patchwork
` (5 subsequent siblings)
15 siblings, 0 replies; 32+ messages in thread
From: Patchwork @ 2025-01-30 21:11 UTC (permalink / raw)
To: Vinod Govindapillai; +Cc: intel-xe
== Series Details ==
Series: drm/i915/xe3: FBC Dirty rect feature support (rev7)
URL : https://patchwork.freedesktop.org/series/141526/
State : success
== Summary ==
+ trap cleanup EXIT
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/xe/.kunitconfig
[21:10:06] Configuring KUnit Kernel ...
Generating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[21:10:11] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json ARCH=um O=.kunit --jobs=48
../lib/iomap.c:156:5: warning: no previous prototype for ‘ioread64_lo_hi’ [-Wmissing-prototypes]
156 | u64 ioread64_lo_hi(const void __iomem *addr)
| ^~~~~~~~~~~~~~
../lib/iomap.c:163:5: warning: no previous prototype for ‘ioread64_hi_lo’ [-Wmissing-prototypes]
163 | u64 ioread64_hi_lo(const void __iomem *addr)
| ^~~~~~~~~~~~~~
../lib/iomap.c:170:5: warning: no previous prototype for ‘ioread64be_lo_hi’ [-Wmissing-prototypes]
170 | u64 ioread64be_lo_hi(const void __iomem *addr)
| ^~~~~~~~~~~~~~~~
../lib/iomap.c:178:5: warning: no previous prototype for ‘ioread64be_hi_lo’ [-Wmissing-prototypes]
178 | u64 ioread64be_hi_lo(const void __iomem *addr)
| ^~~~~~~~~~~~~~~~
../lib/iomap.c:264:6: warning: no previous prototype for ‘iowrite64_lo_hi’ [-Wmissing-prototypes]
264 | void iowrite64_lo_hi(u64 val, void __iomem *addr)
| ^~~~~~~~~~~~~~~
../lib/iomap.c:272:6: warning: no previous prototype for ‘iowrite64_hi_lo’ [-Wmissing-prototypes]
272 | void iowrite64_hi_lo(u64 val, void __iomem *addr)
| ^~~~~~~~~~~~~~~
../lib/iomap.c:280:6: warning: no previous prototype for ‘iowrite64be_lo_hi’ [-Wmissing-prototypes]
280 | void iowrite64be_lo_hi(u64 val, void __iomem *addr)
| ^~~~~~~~~~~~~~~~~
../lib/iomap.c:288:6: warning: no previous prototype for ‘iowrite64be_hi_lo’ [-Wmissing-prototypes]
288 | void iowrite64be_hi_lo(u64 val, void __iomem *addr)
| ^~~~~~~~~~~~~~~~~
[21:10:37] Starting KUnit Kernel (1/1)...
[21:10:37] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[21:10:37] ================== guc_buf (11 subtests) ===================
[21:10:37] [PASSED] test_smallest
[21:10:37] [PASSED] test_largest
[21:10:37] [PASSED] test_granular
[21:10:37] [PASSED] test_unique
[21:10:37] [PASSED] test_overlap
[21:10:37] [PASSED] test_reusable
[21:10:37] [PASSED] test_too_big
[21:10:37] [PASSED] test_flush
[21:10:37] [PASSED] test_lookup
[21:10:37] [PASSED] test_data
[21:10:37] [PASSED] test_class
[21:10:37] ===================== [PASSED] guc_buf =====================
[21:10:37] =================== guc_dbm (7 subtests) ===================
[21:10:37] [PASSED] test_empty
[21:10:37] [PASSED] test_default
[21:10:37] ======================== test_size ========================
[21:10:37] [PASSED] 4
[21:10:37] [PASSED] 8
[21:10:37] [PASSED] 32
[21:10:37] [PASSED] 256
[21:10:37] ==================== [PASSED] test_size ====================
[21:10:37] ======================= test_reuse ========================
[21:10:37] [PASSED] 4
[21:10:37] [PASSED] 8
[21:10:37] [PASSED] 32
[21:10:37] [PASSED] 256
[21:10:37] =================== [PASSED] test_reuse ====================
[21:10:37] =================== test_range_overlap ====================
[21:10:37] [PASSED] 4
[21:10:37] [PASSED] 8
[21:10:37] [PASSED] 32
[21:10:37] [PASSED] 256
[21:10:37] =============== [PASSED] test_range_overlap ================
[21:10:37] =================== test_range_compact ====================
[21:10:37] [PASSED] 4
[21:10:37] [PASSED] 8
[21:10:37] [PASSED] 32
[21:10:37] [PASSED] 256
[21:10:37] =============== [PASSED] test_range_compact ================
[21:10:37] ==================== test_range_spare =====================
[21:10:37] [PASSED] 4
[21:10:37] [PASSED] 8
[21:10:37] [PASSED] 32
[21:10:37] [PASSED] 256
[21:10:37] ================ [PASSED] test_range_spare =================
[21:10:37] ===================== [PASSED] guc_dbm =====================
[21:10:37] =================== guc_idm (6 subtests) ===================
[21:10:37] [PASSED] bad_init
[21:10:37] [PASSED] no_init
[21:10:37] [PASSED] init_fini
[21:10:37] [PASSED] check_used
[21:10:37] [PASSED] check_quota
[21:10:37] [PASSED] check_all
[21:10:37] ===================== [PASSED] guc_idm =====================
[21:10:37] ================== no_relay (3 subtests) ===================
[21:10:37] [PASSED] xe_drops_guc2pf_if_not_ready
[21:10:37] [PASSED] xe_drops_guc2vf_if_not_ready
[21:10:37] [PASSED] xe_rejects_send_if_not_ready
[21:10:37] ==================== [PASSED] no_relay =====================
[21:10:37] ================== pf_relay (14 subtests) ==================
[21:10:37] [PASSED] pf_rejects_guc2pf_too_short
[21:10:37] [PASSED] pf_rejects_guc2pf_too_long
[21:10:37] [PASSED] pf_rejects_guc2pf_no_payload
[21:10:37] [PASSED] pf_fails_no_payload
[21:10:37] [PASSED] pf_fails_bad_origin
[21:10:37] [PASSED] pf_fails_bad_type
[21:10:37] [PASSED] pf_txn_reports_error
[21:10:37] [PASSED] pf_txn_sends_pf2guc
[21:10:37] [PASSED] pf_sends_pf2guc
[21:10:37] [SKIPPED] pf_loopback_nop
[21:10:37] [SKIPPED] pf_loopback_echo
[21:10:37] [SKIPPED] pf_loopback_fail
[21:10:37] [SKIPPED] pf_loopback_busy
[21:10:37] [SKIPPED] pf_loopback_retry
[21:10:37] ==================== [PASSED] pf_relay =====================
[21:10:37] ================== vf_relay (3 subtests) ===================
[21:10:37] [PASSED] vf_rejects_guc2vf_too_short
[21:10:37] [PASSED] vf_rejects_guc2vf_too_long
[21:10:37] [PASSED] vf_rejects_guc2vf_no_payload
[21:10:37] ==================== [PASSED] vf_relay =====================
[21:10:37] ================= pf_service (11 subtests) =================
[21:10:37] [PASSED] pf_negotiate_any
[21:10:37] [PASSED] pf_negotiate_base_match
[21:10:37] [PASSED] pf_negotiate_base_newer
[21:10:37] [PASSED] pf_negotiate_base_next
[21:10:37] [SKIPPED] pf_negotiate_base_older
[21:10:37] [PASSED] pf_negotiate_base_prev
[21:10:37] [PASSED] pf_negotiate_latest_match
[21:10:37] [PASSED] pf_negotiate_latest_newer
[21:10:37] [PASSED] pf_negotiate_latest_next
[21:10:37] [SKIPPED] pf_negotiate_latest_older
[21:10:37] [SKIPPED] pf_negotiate_latest_prev
[21:10:37] =================== [PASSED] pf_service ====================
[21:10:37] ===================== lmtt (1 subtest) =====================
[21:10:37] ======================== test_ops =========================
[21:10:37] [PASSED] 2-level
[21:10:37] [PASSED] multi-level
[21:10:37] ==================== [PASSED] test_ops =====================
[21:10:37] ====================== [PASSED] lmtt =======================
[21:10:37] =================== xe_mocs (2 subtests) ===================
[21:10:37] ================ xe_live_mocs_kernel_kunit ================
[21:10:37] =========== [SKIPPED] xe_live_mocs_kernel_kunit ============
[21:10:37] ================ xe_live_mocs_reset_kunit =================
[21:10:37] ============ [SKIPPED] xe_live_mocs_reset_kunit ============
[21:10:37] ==================== [SKIPPED] xe_mocs =====================
[21:10:37] ================= xe_migrate (2 subtests) ==================
[21:10:37] ================= xe_migrate_sanity_kunit =================
[21:10:37] ============ [SKIPPED] xe_migrate_sanity_kunit =============
[21:10:37] ================== xe_validate_ccs_kunit ==================
[21:10:37] ============= [SKIPPED] xe_validate_ccs_kunit ==============
[21:10:37] =================== [SKIPPED] xe_migrate ===================
[21:10:37] ================== xe_dma_buf (1 subtest) ==================
[21:10:37] ==================== xe_dma_buf_kunit =====================
[21:10:37] ================ [SKIPPED] xe_dma_buf_kunit ================
[21:10:37] =================== [SKIPPED] xe_dma_buf ===================
[21:10:37] ================= xe_bo_shrink (1 subtest) =================
[21:10:37] =================== xe_bo_shrink_kunit ====================
[21:10:37] =============== [SKIPPED] xe_bo_shrink_kunit ===============
[21:10:37] ================== [SKIPPED] xe_bo_shrink ==================
[21:10:37] ==================== xe_bo (2 subtests) ====================
[21:10:37] ================== xe_ccs_migrate_kunit ===================
[21:10:37] ============== [SKIPPED] xe_ccs_migrate_kunit ==============
stty: 'standard input': Inappropriate ioctl for device
[21:10:37] ==================== xe_bo_evict_kunit ====================
[21:10:37] =============== [SKIPPED] xe_bo_evict_kunit ================
[21:10:37] ===================== [SKIPPED] xe_bo ======================
[21:10:37] ==================== args (11 subtests) ====================
[21:10:37] [PASSED] count_args_test
[21:10:37] [PASSED] call_args_example
[21:10:37] [PASSED] call_args_test
[21:10:37] [PASSED] drop_first_arg_example
[21:10:37] [PASSED] drop_first_arg_test
[21:10:37] [PASSED] first_arg_example
[21:10:37] [PASSED] first_arg_test
[21:10:37] [PASSED] last_arg_example
[21:10:37] [PASSED] last_arg_test
[21:10:37] [PASSED] pick_arg_example
[21:10:37] [PASSED] sep_comma_example
[21:10:37] ====================== [PASSED] args =======================
[21:10:37] =================== xe_pci (2 subtests) ====================
[21:10:37] [PASSED] xe_gmdid_graphics_ip
[21:10:37] [PASSED] xe_gmdid_media_ip
[21:10:37] ===================== [PASSED] xe_pci ======================
[21:10:37] =================== xe_rtp (2 subtests) ====================
[21:10:37] =============== xe_rtp_process_to_sr_tests ================
[21:10:37] [PASSED] coalesce-same-reg
[21:10:37] [PASSED] no-match-no-add
[21:10:37] [PASSED] match-or
[21:10:37] [PASSED] match-or-xfail
[21:10:37] [PASSED] no-match-no-add-multiple-rules
[21:10:37] [PASSED] two-regs-two-entries
[21:10:37] [PASSED] clr-one-set-other
[21:10:37] [PASSED] set-field
[21:10:37] [PASSED] conflict-duplicate
[21:10:37] [PASSED] conflict-not-disjoint
[21:10:37] [PASSED] conflict-reg-type
[21:10:37] =========== [PASSED] xe_rtp_process_to_sr_tests ============
[21:10:37] ================== xe_rtp_process_tests ===================
[21:10:37] [PASSED] active1
[21:10:37] [PASSED] active2
[21:10:37] [PASSED] active-inactive
[21:10:37] [PASSED] inactive-active
[21:10:37] [PASSED] inactive-1st_or_active-inactive
[21:10:37] [PASSED] inactive-2nd_or_active-inactive
[21:10:37] [PASSED] inactive-last_or_active-inactive
[21:10:37] [PASSED] inactive-no_or_active-inactive
[21:10:37] ============== [PASSED] xe_rtp_process_tests ===============
[21:10:37] ===================== [PASSED] xe_rtp ======================
[21:10:37] ==================== xe_wa (1 subtest) =====================
[21:10:37] ======================== xe_wa_gt =========================
[21:10:37] [PASSED] TIGERLAKE (B0)
[21:10:37] [PASSED] DG1 (A0)
[21:10:37] [PASSED] DG1 (B0)
[21:10:37] [PASSED] ALDERLAKE_S (A0)
[21:10:37] [PASSED] ALDERLAKE_S (B0)
[21:10:37] [PASSED] ALDERLAKE_S (C0)
[21:10:37] [PASSED] ALDERLAKE_S (D0)
[21:10:37] [PASSED] ALDERLAKE_P (A0)
[21:10:37] [PASSED] ALDERLAKE_P (B0)
[21:10:37] [PASSED] ALDERLAKE_P (C0)
[21:10:37] [PASSED] ALDERLAKE_S_RPLS (D0)
[21:10:37] [PASSED] ALDERLAKE_P_RPLU (E0)
[21:10:37] [PASSED] DG2_G10 (C0)
[21:10:37] [PASSED] DG2_G11 (B1)
[21:10:37] [PASSED] DG2_G12 (A1)
[21:10:37] [PASSED] METEORLAKE (g:A0, m:A0)
[21:10:37] [PASSED] METEORLAKE (g:A0, m:A0)
[21:10:37] [PASSED] METEORLAKE (g:A0, m:A0)
[21:10:37] [PASSED] LUNARLAKE (g:A0, m:A0)
[21:10:37] [PASSED] LUNARLAKE (g:B0, m:A0)
[21:10:37] [PASSED] BATTLEMAGE (g:A0, m:A1)
[21:10:37] ==================== [PASSED] xe_wa_gt =====================
[21:10:37] ====================== [PASSED] xe_wa ======================
[21:10:37] ============================================================
[21:10:37] Testing complete. Ran 133 tests: passed: 117, skipped: 16
[21:10:37] Elapsed time: 30.410s total, 4.223s configuring, 25.921s building, 0.251s running
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/tests/.kunitconfig
[21:10:37] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[21:10:39] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json ARCH=um O=.kunit --jobs=48
../lib/iomap.c:156:5: warning: no previous prototype for ‘ioread64_lo_hi’ [-Wmissing-prototypes]
156 | u64 ioread64_lo_hi(const void __iomem *addr)
| ^~~~~~~~~~~~~~
../lib/iomap.c:163:5: warning: no previous prototype for ‘ioread64_hi_lo’ [-Wmissing-prototypes]
163 | u64 ioread64_hi_lo(const void __iomem *addr)
| ^~~~~~~~~~~~~~
../lib/iomap.c:170:5: warning: no previous prototype for ‘ioread64be_lo_hi’ [-Wmissing-prototypes]
170 | u64 ioread64be_lo_hi(const void __iomem *addr)
| ^~~~~~~~~~~~~~~~
../lib/iomap.c:178:5: warning: no previous prototype for ‘ioread64be_hi_lo’ [-Wmissing-prototypes]
178 | u64 ioread64be_hi_lo(const void __iomem *addr)
| ^~~~~~~~~~~~~~~~
../lib/iomap.c:264:6: warning: no previous prototype for ‘iowrite64_lo_hi’ [-Wmissing-prototypes]
264 | void iowrite64_lo_hi(u64 val, void __iomem *addr)
| ^~~~~~~~~~~~~~~
../lib/iomap.c:272:6: warning: no previous prototype for ‘iowrite64_hi_lo’ [-Wmissing-prototypes]
272 | void iowrite64_hi_lo(u64 val, void __iomem *addr)
| ^~~~~~~~~~~~~~~
../lib/iomap.c:280:6: warning: no previous prototype for ‘iowrite64be_lo_hi’ [-Wmissing-prototypes]
280 | void iowrite64be_lo_hi(u64 val, void __iomem *addr)
| ^~~~~~~~~~~~~~~~~
../lib/iomap.c:288:6: warning: no previous prototype for ‘iowrite64be_hi_lo’ [-Wmissing-prototypes]
288 | void iowrite64be_hi_lo(u64 val, void __iomem *addr)
| ^~~~~~~~~~~~~~~~~
[21:11:00] Starting KUnit Kernel (1/1)...
[21:11:00] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[21:11:00] =========== drm_validate_clone_mode (2 subtests) ===========
[21:11:00] ============== drm_test_check_in_clone_mode ===============
[21:11:00] [PASSED] in_clone_mode
[21:11:00] [PASSED] not_in_clone_mode
[21:11:00] ========== [PASSED] drm_test_check_in_clone_mode ===========
[21:11:00] =============== drm_test_check_valid_clones ===============
[21:11:00] [PASSED] not_in_clone_mode
[21:11:00] [PASSED] valid_clone
[21:11:00] [PASSED] invalid_clone
[21:11:00] =========== [PASSED] drm_test_check_valid_clones ===========
[21:11:00] ============= [PASSED] drm_validate_clone_mode =============
[21:11:00] ============= drm_validate_modeset (1 subtest) =============
[21:11:00] [PASSED] drm_test_check_connector_changed_modeset
[21:11:00] ============== [PASSED] drm_validate_modeset ===============
[21:11:00] ================== drm_buddy (7 subtests) ==================
[21:11:00] [PASSED] drm_test_buddy_alloc_limit
[21:11:00] [PASSED] drm_test_buddy_alloc_optimistic
[21:11:00] [PASSED] drm_test_buddy_alloc_pessimistic
[21:11:00] [PASSED] drm_test_buddy_alloc_pathological
[21:11:00] [PASSED] drm_test_buddy_alloc_contiguous
[21:11:00] [PASSED] drm_test_buddy_alloc_clear
[21:11:00] [PASSED] drm_test_buddy_alloc_range_bias
[21:11:00] ==================== [PASSED] drm_buddy ====================
[21:11:00] ============= drm_cmdline_parser (40 subtests) =============
[21:11:00] [PASSED] drm_test_cmdline_force_d_only
[21:11:00] [PASSED] drm_test_cmdline_force_D_only_dvi
[21:11:00] [PASSED] drm_test_cmdline_force_D_only_hdmi
[21:11:00] [PASSED] drm_test_cmdline_force_D_only_not_digital
[21:11:00] [PASSED] drm_test_cmdline_force_e_only
[21:11:00] [PASSED] drm_test_cmdline_res
[21:11:00] [PASSED] drm_test_cmdline_res_vesa
[21:11:00] [PASSED] drm_test_cmdline_res_vesa_rblank
[21:11:00] [PASSED] drm_test_cmdline_res_rblank
[21:11:00] [PASSED] drm_test_cmdline_res_bpp
[21:11:00] [PASSED] drm_test_cmdline_res_refresh
[21:11:00] [PASSED] drm_test_cmdline_res_bpp_refresh
[21:11:00] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced
[21:11:00] [PASSED] drm_test_cmdline_res_bpp_refresh_margins
[21:11:00] [PASSED] drm_test_cmdline_res_bpp_refresh_force_off
[21:11:00] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on
[21:11:00] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_analog
[21:11:00] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_digital
[21:11:00] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced_margins_force_on
[21:11:00] [PASSED] drm_test_cmdline_res_margins_force_on
[21:11:00] [PASSED] drm_test_cmdline_res_vesa_margins
[21:11:00] [PASSED] drm_test_cmdline_name
[21:11:00] [PASSED] drm_test_cmdline_name_bpp
[21:11:00] [PASSED] drm_test_cmdline_name_option
[21:11:00] [PASSED] drm_test_cmdline_name_bpp_option
[21:11:00] [PASSED] drm_test_cmdline_rotate_0
[21:11:00] [PASSED] drm_test_cmdline_rotate_90
[21:11:00] [PASSED] drm_test_cmdline_rotate_180
[21:11:00] [PASSED] drm_test_cmdline_rotate_270
[21:11:00] [PASSED] drm_test_cmdline_hmirror
[21:11:00] [PASSED] drm_test_cmdline_vmirror
[21:11:00] [PASSED] drm_test_cmdline_margin_options
[21:11:00] [PASSED] drm_test_cmdline_multiple_options
[21:11:00] [PASSED] drm_test_cmdline_bpp_extra_and_option
[21:11:00] [PASSED] drm_test_cmdline_extra_and_option
[21:11:00] [PASSED] drm_test_cmdline_freestanding_options
[21:11:00] [PASSED] drm_test_cmdline_freestanding_force_e_and_options
[21:11:00] [PASSED] drm_test_cmdline_panel_orientation
[21:11:00] ================ drm_test_cmdline_invalid =================
[21:11:00] [PASSED] margin_only
[21:11:00] [PASSED] interlace_only
[21:11:00] [PASSED] res_missing_x
[21:11:00] [PASSED] res_missing_y
[21:11:00] [PASSED] res_bad_y
[21:11:00] [PASSED] res_missing_y_bpp
[21:11:00] [PASSED] res_bad_bpp
[21:11:00] [PASSED] res_bad_refresh
[21:11:00] [PASSED] res_bpp_refresh_force_on_off
[21:11:00] [PASSED] res_invalid_mode
[21:11:00] [PASSED] res_bpp_wrong_place_mode
[21:11:00] [PASSED] name_bpp_refresh
[21:11:00] [PASSED] name_refresh
[21:11:00] [PASSED] name_refresh_wrong_mode
[21:11:00] [PASSED] name_refresh_invalid_mode
[21:11:00] [PASSED] rotate_multiple
[21:11:00] [PASSED] rotate_invalid_val
[21:11:00] [PASSED] rotate_truncated
[21:11:00] [PASSED] invalid_option
[21:11:00] [PASSED] invalid_tv_option
[21:11:00] [PASSED] truncated_tv_option
[21:11:00] ============ [PASSED] drm_test_cmdline_invalid =============
[21:11:00] =============== drm_test_cmdline_tv_options ===============
[21:11:00] [PASSED] NTSC
[21:11:00] [PASSED] NTSC_443
[21:11:00] [PASSED] NTSC_J
[21:11:00] [PASSED] PAL
[21:11:00] [PASSED] PAL_M
[21:11:00] [PASSED] PAL_N
[21:11:00] [PASSED] SECAM
[21:11:00] [PASSED] MONO_525
[21:11:00] [PASSED] MONO_625
[21:11:00] =========== [PASSED] drm_test_cmdline_tv_options ===========
[21:11:00] =============== [PASSED] drm_cmdline_parser ================
[21:11:00] ========== drmm_connector_hdmi_init (20 subtests) ==========
[21:11:00] [PASSED] drm_test_connector_hdmi_init_valid
[21:11:00] [PASSED] drm_test_connector_hdmi_init_bpc_8
[21:11:00] [PASSED] drm_test_connector_hdmi_init_bpc_10
[21:11:00] [PASSED] drm_test_connector_hdmi_init_bpc_12
[21:11:00] [PASSED] drm_test_connector_hdmi_init_bpc_invalid
[21:11:00] [PASSED] drm_test_connector_hdmi_init_bpc_null
[21:11:00] [PASSED] drm_test_connector_hdmi_init_formats_empty
[21:11:00] [PASSED] drm_test_connector_hdmi_init_formats_no_rgb
[21:11:00] === drm_test_connector_hdmi_init_formats_yuv420_allowed ===
[21:11:00] [PASSED] supported_formats=0x9 yuv420_allowed=1
[21:11:00] [PASSED] supported_formats=0x9 yuv420_allowed=0
[21:11:00] [PASSED] supported_formats=0x3 yuv420_allowed=1
[21:11:00] [PASSED] supported_formats=0x3 yuv420_allowed=0
[21:11:00] === [PASSED] drm_test_connector_hdmi_init_formats_yuv420_allowed ===
[21:11:00] [PASSED] drm_test_connector_hdmi_init_null_ddc
[21:11:00] [PASSED] drm_test_connector_hdmi_init_null_product
[21:11:00] [PASSED] drm_test_connector_hdmi_init_null_vendor
[21:11:00] [PASSED] drm_test_connector_hdmi_init_product_length_exact
[21:11:00] [PASSED] drm_test_connector_hdmi_init_product_length_too_long
[21:11:00] [PASSED] drm_test_connector_hdmi_init_product_valid
[21:11:00] [PASSED] drm_test_connector_hdmi_init_vendor_length_exact
[21:11:00] [PASSED] drm_test_connector_hdmi_init_vendor_length_too_long
[21:11:00] [PASSED] drm_test_connector_hdmi_init_vendor_valid
[21:11:00] ========= drm_test_connector_hdmi_init_type_valid =========
[21:11:00] [PASSED] HDMI-A
[21:11:00] [PASSED] HDMI-B
[21:11:00] ===== [PASSED] drm_test_connector_hdmi_init_type_valid =====
[21:11:00] ======== drm_test_connector_hdmi_init_type_invalid ========
[21:11:00] [PASSED] Unknown
[21:11:00] [PASSED] VGA
[21:11:00] [PASSED] DVI-I
[21:11:00] [PASSED] DVI-D
[21:11:00] [PASSED] DVI-A
[21:11:00] [PASSED] Composite
[21:11:00] [PASSED] SVIDEO
[21:11:00] [PASSED] LVDS
[21:11:00] [PASSED] Component
[21:11:00] [PASSED] DIN
[21:11:00] [PASSED] DP
[21:11:00] [PASSED] TV
[21:11:00] [PASSED] eDP
[21:11:00] [PASSED] Virtual
[21:11:00] [PASSED] DSI
[21:11:00] [PASSED] DPI
[21:11:00] [PASSED] Writeback
[21:11:00] [PASSED] SPI
[21:11:00] [PASSED] USB
[21:11:00] ==== [PASSED] drm_test_connector_hdmi_init_type_invalid ====
[21:11:00] ============ [PASSED] drmm_connector_hdmi_init =============
[21:11:00] ============= drmm_connector_init (3 subtests) =============
[21:11:00] [PASSED] drm_test_drmm_connector_init
[21:11:00] [PASSED] drm_test_drmm_connector_init_null_ddc
[21:11:00] ========= drm_test_drmm_connector_init_type_valid =========
[21:11:00] [PASSED] Unknown
[21:11:00] [PASSED] VGA
[21:11:00] [PASSED] DVI-I
[21:11:00] [PASSED] DVI-D
[21:11:00] [PASSED] DVI-A
[21:11:00] [PASSED] Composite
[21:11:00] [PASSED] SVIDEO
[21:11:00] [PASSED] LVDS
[21:11:00] [PASSED] Component
[21:11:00] [PASSED] DIN
[21:11:00] [PASSED] DP
[21:11:00] [PASSED] HDMI-A
[21:11:00] [PASSED] HDMI-B
[21:11:00] [PASSED] TV
[21:11:00] [PASSED] eDP
[21:11:00] [PASSED] Virtual
[21:11:00] [PASSED] DSI
[21:11:00] [PASSED] DPI
[21:11:00] [PASSED] Writeback
[21:11:00] [PASSED] SPI
[21:11:00] [PASSED] USB
[21:11:00] ===== [PASSED] drm_test_drmm_connector_init_type_valid =====
[21:11:00] =============== [PASSED] drmm_connector_init ===============
[21:11:00] ========= drm_connector_dynamic_init (6 subtests) ==========
[21:11:00] [PASSED] drm_test_drm_connector_dynamic_init
[21:11:00] [PASSED] drm_test_drm_connector_dynamic_init_null_ddc
[21:11:00] [PASSED] drm_test_drm_connector_dynamic_init_not_added
[21:11:00] [PASSED] drm_test_drm_connector_dynamic_init_properties
[21:11:00] ===== drm_test_drm_connector_dynamic_init_type_valid ======
[21:11:00] [PASSED] Unknown
[21:11:00] [PASSED] VGA
[21:11:00] [PASSED] DVI-I
[21:11:00] [PASSED] DVI-D
[21:11:00] [PASSED] DVI-A
[21:11:00] [PASSED] Composite
[21:11:00] [PASSED] SVIDEO
[21:11:00] [PASSED] LVDS
[21:11:00] [PASSED] Component
[21:11:00] [PASSED] DIN
[21:11:00] [PASSED] DP
[21:11:00] [PASSED] HDMI-A
[21:11:00] [PASSED] HDMI-B
[21:11:00] [PASSED] TV
[21:11:00] [PASSED] eDP
[21:11:00] [PASSED] Virtual
[21:11:00] [PASSED] DSI
[21:11:00] [PASSED] DPI
[21:11:00] [PASSED] Writeback
[21:11:00] [PASSED] SPI
[21:11:00] [PASSED] USB
[21:11:00] = [PASSED] drm_test_drm_connector_dynamic_init_type_valid ==
[21:11:00] ======== drm_test_drm_connector_dynamic_init_name =========
[21:11:00] [PASSED] Unknown
[21:11:00] [PASSED] VGA
[21:11:00] [PASSED] DVI-I
[21:11:00] [PASSED] DVI-D
[21:11:00] [PASSED] DVI-A
[21:11:00] [PASSED] Composite
[21:11:00] [PASSED] SVIDEO
[21:11:00] [PASSED] LVDS
[21:11:00] [PASSED] Component
[21:11:00] [PASSED] DIN
[21:11:00] [PASSED] DP
[21:11:00] [PASSED] HDMI-A
[21:11:00] [PASSED] HDMI-B
[21:11:00] [PASSED] TV
[21:11:00] [PASSED] eDP
[21:11:00] [PASSED] Virtual
[21:11:00] [PASSED] DSI
[21:11:00] [PASSED] DPI
[21:11:00] [PASSED] Writeback
[21:11:00] [PASSED] SPI
[21:11:00] [PASSED] USB
[21:11:00] ==== [PASSED] drm_test_drm_connector_dynamic_init_name =====
[21:11:00] =========== [PASSED] drm_connector_dynamic_init ============
[21:11:00] ==== drm_connector_dynamic_register_early (4 subtests) =====
[21:11:00] [PASSED] drm_test_drm_connector_dynamic_register_early_on_list
[21:11:00] [PASSED] drm_test_drm_connector_dynamic_register_early_defer
[21:11:00] [PASSED] drm_test_drm_connector_dynamic_register_early_no_init
[21:11:00] [PASSED] drm_test_drm_connector_dynamic_register_early_no_mode_object
[21:11:00] ====== [PASSED] drm_connector_dynamic_register_early =======
[21:11:00] ======= drm_connector_dynamic_register (7 subtests) ========
[21:11:00] [PASSED] drm_test_drm_connector_dynamic_register_on_list
[21:11:00] [PASSED] drm_test_drm_connector_dynamic_register_no_defer
[21:11:00] [PASSED] drm_test_drm_connector_dynamic_register_no_init
[21:11:00] [PASSED] drm_test_drm_connector_dynamic_register_mode_object
[21:11:00] [PASSED] drm_test_drm_connector_dynamic_register_sysfs
[21:11:00] [PASSED] drm_test_drm_connector_dynamic_register_sysfs_name
[21:11:00] [PASSED] drm_test_drm_connector_dynamic_register_debugfs
[21:11:00] ========= [PASSED] drm_connector_dynamic_register ==========
[21:11:00] = drm_connector_attach_broadcast_rgb_property (2 subtests) =
[21:11:00] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property
[21:11:00] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property_hdmi_connector
[21:11:00] === [PASSED] drm_connector_attach_broadcast_rgb_property ===
[21:11:00] ========== drm_get_tv_mode_from_name (2 subtests) ==========
[21:11:00] ========== drm_test_get_tv_mode_from_name_valid ===========
[21:11:00] [PASSED] NTSC
[21:11:00] [PASSED] NTSC-443
[21:11:00] [PASSED] NTSC-J
[21:11:00] [PASSED] PAL
[21:11:00] [PASSED] PAL-M
[21:11:00] [PASSED] PAL-N
[21:11:00] [PASSED] SECAM
[21:11:00] [PASSED] Mono
[21:11:00] ====== [PASSED] drm_test_get_tv_mode_from_name_valid =======
[21:11:00] [PASSED] drm_test_get_tv_mode_from_name_truncated
[21:11:00] ============ [PASSED] drm_get_tv_mode_from_name ============
[21:11:00] = drm_test_connector_hdmi_compute_mode_clock (12 subtests) =
[21:11:00] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb
[21:11:00] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc
[21:11:00] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc_vic_1
[21:11:00] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc
[21:11:00] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc_vic_1
[21:11:00] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_double
[21:11:00] = drm_test_connector_hdmi_compute_mode_clock_yuv420_valid =
[21:11:00] [PASSED] VIC 96
[21:11:00] [PASSED] VIC 97
[21:11:00] [PASSED] VIC 101
[21:11:00] [PASSED] VIC 102
[21:11:00] [PASSED] VIC 106
[21:11:00] [PASSED] VIC 107
[21:11:00] === [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_valid ===
[21:11:00] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_10_bpc
[21:11:00] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_12_bpc
[21:11:00] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_8_bpc
[21:11:00] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_10_bpc
[21:11:00] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_12_bpc
[21:11:00] === [PASSED] drm_test_connector_hdmi_compute_mode_clock ====
[21:11:00] == drm_hdmi_connector_get_broadcast_rgb_name (2 subtests) ==
[21:11:00] === drm_test_drm_hdmi_connector_get_broadcast_rgb_name ====
[21:11:00] [PASSED] Automatic
[21:11:00] [PASSED] Full
[21:11:00] [PASSED] Limited 16:235
[21:11:00] === [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name ===
[21:11:00] [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name_invalid
[21:11:00] ==== [PASSED] drm_hdmi_connector_get_broadcast_rgb_name ====
[21:11:00] == drm_hdmi_connector_get_output_format_name (2 subtests) ==
[21:11:00] === drm_test_drm_hdmi_connector_get_output_format_name ====
[21:11:00] [PASSED] RGB
[21:11:00] [PASSED] YUV 4:2:0
[21:11:00] [PASSED] YUV 4:2:2
[21:11:00] [PASSED] YUV 4:4:4
[21:11:00] === [PASSED] drm_test_drm_hdmi_connector_get_output_format_name ===
[21:11:00] [PASSED] drm_test_drm_hdmi_connector_get_output_format_name_invalid
[21:11:00] ==== [PASSED] drm_hdmi_connector_get_output_format_name ====
[21:11:00] ============= drm_damage_helper (21 subtests) ==============
[21:11:00] [PASSED] drm_test_damage_iter_no_damage
[21:11:00] [PASSED] drm_test_damage_iter_no_damage_fractional_src
[21:11:00] [PASSED] drm_test_damage_iter_no_damage_src_moved
[21:11:00] [PASSED] drm_test_damage_iter_no_damage_fractional_src_moved
[21:11:00] [PASSED] drm_test_damage_iter_no_damage_not_visible
[21:11:00] [PASSED] drm_test_damage_iter_no_damage_no_crtc
[21:11:00] [PASSED] drm_test_damage_iter_no_damage_no_fb
[21:11:00] [PASSED] drm_test_damage_iter_simple_damage
[21:11:00] [PASSED] drm_test_damage_iter_single_damage
[21:11:00] [PASSED] drm_test_damage_iter_single_damage_intersect_src
[21:11:00] [PASSED] drm_test_damage_iter_single_damage_outside_src
[21:11:00] [PASSED] drm_test_damage_iter_single_damage_fractional_src
[21:11:00] [PASSED] drm_test_damage_iter_single_damage_intersect_fractional_src
[21:11:00] [PASSED] drm_test_damage_iter_single_damage_outside_fractional_src
[21:11:00] [PASSED] drm_test_damage_iter_single_damage_src_moved
[21:11:00] [PASSED] drm_test_damage_iter_single_damage_fractional_src_moved
[21:11:00] [PASSED] drm_test_damage_iter_damage
[21:11:00] [PASSED] drm_test_damage_iter_damage_one_intersect
[21:11:00] [PASSED] drm_test_damage_iter_damage_one_outside
[21:11:00] [PASSED] drm_test_damage_iter_damage_src_moved
[21:11:00] [PASSED] drm_test_damage_iter_damage_not_visible
[21:11:00] ================ [PASSED] drm_damage_helper ================
[21:11:00] ============== drm_dp_mst_helper (3 subtests) ==============
[21:11:00] ============== drm_test_dp_mst_calc_pbn_mode ==============
[21:11:00] [PASSED] Clock 154000 BPP 30 DSC disabled
[21:11:00] [PASSED] Clock 234000 BPP 30 DSC disabled
[21:11:00] [PASSED] Clock 297000 BPP 24 DSC disabled
[21:11:00] [PASSED] Clock 332880 BPP 24 DSC enabled
[21:11:00] [PASSED] Clock 324540 BPP 24 DSC enabled
[21:11:00] ========== [PASSED] drm_test_dp_mst_calc_pbn_mode ==========
[21:11:00] ============== drm_test_dp_mst_calc_pbn_div ===============
[21:11:00] [PASSED] Link rate 2000000 lane count 4
[21:11:00] [PASSED] Link rate 2000000 lane count 2
[21:11:00] [PASSED] Link rate 2000000 lane count 1
[21:11:00] [PASSED] Link rate 1350000 lane count 4
[21:11:00] [PASSED] Link rate 1350000 lane count 2
[21:11:00] [PASSED] Link rate 1350000 lane count 1
[21:11:00] [PASSED] Link rate 1000000 lane count 4
[21:11:00] [PASSED] Link rate 1000000 lane count 2
[21:11:00] [PASSED] Link rate 1000000 lane count 1
[21:11:00] [PASSED] Link rate 810000 lane count 4
[21:11:00] [PASSED] Link rate 810000 lane count 2
[21:11:00] [PASSED] Link rate 810000 lane count 1
[21:11:00] [PASSED] Link rate 540000 lane count 4
[21:11:00] [PASSED] Link rate 540000 lane count 2
[21:11:00] [PASSED] Link rate 540000 lane count 1
[21:11:00] [PASSED] Link rate 270000 lane count 4
[21:11:00] [PASSED] Link rate 270000 lane count 2
[21:11:00] [PASSED] Link rate 270000 lane count 1
[21:11:00] [PASSED] Link rate 162000 lane count 4
[21:11:00] [PASSED] Link rate 162000 lane count 2
[21:11:00] [PASSED] Link rate 162000 lane count 1
[21:11:00] ========== [PASSED] drm_test_dp_mst_calc_pbn_div ===========
[21:11:00] ========= drm_test_dp_mst_sideband_msg_req_decode =========
[21:11:00] [PASSED] DP_ENUM_PATH_RESOURCES with port number
[21:11:00] [PASSED] DP_POWER_UP_PHY with port number
[21:11:00] [PASSED] DP_POWER_DOWN_PHY with port number
[21:11:00] [PASSED] DP_ALLOCATE_PAYLOAD with SDP stream sinks
[21:11:00] [PASSED] DP_ALLOCATE_PAYLOAD with port number
[21:11:00] [PASSED] DP_ALLOCATE_PAYLOAD with VCPI
[21:11:00] [PASSED] DP_ALLOCATE_PAYLOAD with PBN
[21:11:00] [PASSED] DP_QUERY_PAYLOAD with port number
[21:11:00] [PASSED] DP_QUERY_PAYLOAD with VCPI
[21:11:00] [PASSED] DP_REMOTE_DPCD_READ with port number
[21:11:00] [PASSED] DP_REMOTE_DPCD_READ with DPCD address
[21:11:00] [PASSED] DP_REMOTE_DPCD_READ with max number of bytes
[21:11:00] [PASSED] DP_REMOTE_DPCD_WRITE with port number
[21:11:00] [PASSED] DP_REMOTE_DPCD_WRITE with DPCD address
[21:11:00] [PASSED] DP_REMOTE_DPCD_WRITE with data array
[21:11:00] [PASSED] DP_REMOTE_I2C_READ with port number
[21:11:00] [PASSED] DP_REMOTE_I2C_READ with I2C device ID
[21:11:00] [PASSED] DP_REMOTE_I2C_READ with transactions array
[21:11:00] [PASSED] DP_REMOTE_I2C_WRITE with port number
[21:11:00] [PASSED] DP_REMOTE_I2C_WRITE with I2C device ID
[21:11:00] [PASSED] DP_REMOTE_I2C_WRITE with data array
[21:11:00] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream ID
[21:11:00] [PASSED] DP_QUERY_STREAM_ENC_STATUS with client ID
[21:11:00] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream event
[21:11:00] [PASSED] DP_QUERY_STREAM_ENC_STATUS with valid stream event
[21:11:00] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream behavior
[21:11:00] [PASSED] DP_QUERY_STREAM_ENC_STATUS with a valid stream behavior
[21:11:00] ===== [PASSED] drm_test_dp_mst_sideband_msg_req_decode =====
[21:11:00] ================ [PASSED] drm_dp_mst_helper ================
[21:11:00] ================== drm_exec (7 subtests) ===================
[21:11:00] [PASSED] sanitycheck
[21:11:00] [PASSED] test_lock
[21:11:00] [PASSED] test_lock_unlock
[21:11:00] [PASSED] test_duplicates
[21:11:00] [PASSED] test_prepare
[21:11:00] [PASSED] test_prepare_array
[21:11:00] [PASSED] test_multiple_loops
[21:11:00] ==================== [PASSED] drm_exec =====================
[21:11:00] =========== drm_format_helper_test (17 subtests) ===========
[21:11:00] ============== drm_test_fb_xrgb8888_to_gray8 ==============
[21:11:00] [PASSED] single_pixel_source_buffer
[21:11:00] [PASSED] single_pixel_clip_rectangle
[21:11:00] [PASSED] well_known_colors
[21:11:00] [PASSED] destination_pitch
[21:11:00] ========== [PASSED] drm_test_fb_xrgb8888_to_gray8 ==========
[21:11:00] ============= drm_test_fb_xrgb8888_to_rgb332 ==============
[21:11:00] [PASSED] single_pixel_source_buffer
[21:11:00] [PASSED] single_pixel_clip_rectangle
[21:11:00] [PASSED] well_known_colors
[21:11:00] [PASSED] destination_pitch
[21:11:00] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb332 ==========
[21:11:00] ============= drm_test_fb_xrgb8888_to_rgb565 ==============
[21:11:00] [PASSED] single_pixel_source_buffer
[21:11:00] [PASSED] single_pixel_clip_rectangle
[21:11:00] [PASSED] well_known_colors
[21:11:00] [PASSED] destination_pitch
[21:11:00] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb565 ==========
[21:11:00] ============ drm_test_fb_xrgb8888_to_xrgb1555 =============
[21:11:00] [PASSED] single_pixel_source_buffer
[21:11:00] [PASSED] single_pixel_clip_rectangle
[21:11:00] [PASSED] well_known_colors
[21:11:00] [PASSED] destination_pitch
[21:11:00] ======== [PASSED] drm_test_fb_xrgb8888_to_xrgb1555 =========
[21:11:00] ============ drm_test_fb_xrgb8888_to_argb1555 =============
[21:11:00] [PASSED] single_pixel_source_buffer
[21:11:00] [PASSED] single_pixel_clip_rectangle
[21:11:00] [PASSED] well_known_colors
[21:11:00] [PASSED] destination_pitch
[21:11:00] ======== [PASSED] drm_test_fb_xrgb8888_to_argb1555 =========
[21:11:00] ============ drm_test_fb_xrgb8888_to_rgba5551 =============
[21:11:00] [PASSED] single_pixel_source_buffer
[21:11:00] [PASSED] single_pixel_clip_rectangle
[21:11:00] [PASSED] well_known_colors
[21:11:00] [PASSED] destination_pitch
[21:11:00] ======== [PASSED] drm_test_fb_xrgb8888_to_rgba5551 =========
[21:11:00] ============= drm_test_fb_xrgb8888_to_rgb888 ==============
[21:11:00] [PASSED] single_pixel_source_buffer
[21:11:00] [PASSED] single_pixel_clip_rectangle
[21:11:00] [PASSED] well_known_colors
[21:11:00] [PASSED] destination_pitch
[21:11:00] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb888 ==========
[21:11:00] ============ drm_test_fb_xrgb8888_to_argb8888 =============
[21:11:00] [PASSED] single_pixel_source_buffer
[21:11:00] [PASSED] single_pixel_clip_rectangle
[21:11:00] [PASSED] well_known_colors
[21:11:00] [PASSED] destination_pitch
[21:11:00] ======== [PASSED] drm_test_fb_xrgb8888_to_argb8888 =========
[21:11:00] =========== drm_test_fb_xrgb8888_to_xrgb2101010 ===========
[21:11:00] [PASSED] single_pixel_source_buffer
[21:11:00] [PASSED] single_pixel_clip_rectangle
[21:11:00] [PASSED] well_known_colors
[21:11:00] [PASSED] destination_pitch
[21:11:00] ======= [PASSED] drm_test_fb_xrgb8888_to_xrgb2101010 =======
[21:11:00] =========== drm_test_fb_xrgb8888_to_argb2101010 ===========
[21:11:00] [PASSED] single_pixel_source_buffer
[21:11:00] [PASSED] single_pixel_clip_rectangle
[21:11:00] [PASSED] well_known_colors
[21:11:00] [PASSED] destination_pitch
[21:11:00] ======= [PASSED] drm_test_fb_xrgb8888_to_argb2101010 =======
[21:11:00] ============== drm_test_fb_xrgb8888_to_mono ===============
[21:11:00] [PASSED] single_pixel_source_buffer
[21:11:00] [PASSED] single_pixel_clip_rectangle
[21:11:00] [PASSED] well_known_colors
[21:11:00] [PASSED] destination_pitch
[21:11:00] ========== [PASSED] drm_test_fb_xrgb8888_to_mono ===========
[21:11:00] ==================== drm_test_fb_swab =====================
[21:11:00] [PASSED] single_pixel_source_buffer
[21:11:00] [PASSED] single_pixel_clip_rectangle
[21:11:00] [PASSED] well_known_colors
[21:11:00] [PASSED] destination_pitch
[21:11:00] ================ [PASSED] drm_test_fb_swab =================
[21:11:00] ============ drm_test_fb_xrgb8888_to_xbgr8888 =============
[21:11:00] [PASSED] single_pixel_source_buffer
[21:11:00] [PASSED] single_pixel_clip_rectangle
[21:11:00] [PASSED] well_known_colors
[21:11:00] [PASSED] destination_pitch
[21:11:00] ======== [PASSED] drm_test_fb_xrgb8888_to_xbgr8888 =========
[21:11:00] ============ drm_test_fb_xrgb8888_to_abgr8888 =============
[21:11:00] [PASSED] single_pixel_source_buffer
[21:11:00] [PASSED] single_pixel_clip_rectangle
[21:11:00] [PASSED] well_known_colors
[21:11:00] [PASSED] destination_pitch
[21:11:00] ======== [PASSED] drm_test_fb_xrgb8888_to_abgr8888 =========
[21:11:00] ================= drm_test_fb_clip_offset =================
[21:11:00] [PASSED] pass through
[21:11:00] [PASSED] horizontal offset
[21:11:00] [PASSED] vertical offset
[21:11:00] [PASSED] horizontal and vertical offset
[21:11:00] [PASSED] horizontal offset (custom pitch)
[21:11:00] [PASSED] vertical offset (custom pitch)
[21:11:00] [PASSED] horizontal and vertical offset (custom pitch)
[21:11:00] ============= [PASSED] drm_test_fb_clip_offset =============
[21:11:00] ============== drm_test_fb_build_fourcc_list ==============
[21:11:00] [PASSED] no native formats
[21:11:00] [PASSED] XRGB8888 as native format
[21:11:00] [PASSED] remove duplicates
[21:11:00] [PASSED] convert alpha formats
[21:11:00] [PASSED] random formats
[21:11:00] ========== [PASSED] drm_test_fb_build_fourcc_list ==========
[21:11:00] =================== drm_test_fb_memcpy ====================
[21:11:00] [PASSED] single_pixel_source_buffer: XR24 little-endian (0x34325258)
[21:11:00] [PASSED] single_pixel_source_buffer: XRA8 little-endian (0x38415258)
[21:11:00] [PASSED] single_pixel_source_buffer: YU24 little-endian (0x34325559)
[21:11:00] [PASSED] single_pixel_clip_rectangle: XB24 little-endian (0x34324258)
[21:11:00] [PASSED] single_pixel_clip_rectangle: XRA8 little-endian (0x38415258)
[21:11:00] [PASSED] single_pixel_clip_rectangle: YU24 little-endian (0x34325559)
[21:11:00] [PASSED] well_known_colors: XB24 little-endian (0x34324258)
[21:11:00] [PASSED] well_known_colors: XRA8 little-endian (0x38415258)
[21:11:00] [PASSED] well_known_colors: YU24 little-endian (0x34325559)
[21:11:00] [PASSED] destination_pitch: XB24 little-endian (0x34324258)
[21:11:00] [PASSED] destination_pitch: XRA8 little-endian (0x38415258)
[21:11:00] [PASSED] destination_pitch: YU24 little-endian (0x34325559)
[21:11:00] =============== [PASSED] drm_test_fb_memcpy ================
[21:11:00] ============= [PASSED] drm_format_helper_test ==============
[21:11:00] ================= drm_format (18 subtests) =================
[21:11:00] [PASSED] drm_test_format_block_width_invalid
[21:11:00] [PASSED] drm_test_format_block_width_one_plane
[21:11:00] [PASSED] drm_test_format_block_width_two_plane
[21:11:00] [PASSED] drm_test_format_block_width_three_plane
[21:11:00] [PASSED] drm_test_format_block_width_tiled
[21:11:00] [PASSED] drm_test_format_block_height_invalid
[21:11:00] [PASSED] drm_test_format_block_height_one_plane
[21:11:00] [PASSED] drm_test_format_block_height_two_plane
[21:11:00] [PASSED] drm_test_format_block_height_three_plane
[21:11:00] [PASSED] drm_test_format_block_height_tiled
[21:11:00] [PASSED] drm_test_format_min_pitch_invalid
[21:11:00] [PASSED] drm_test_format_min_pitch_one_plane_8bpp
[21:11:00] [PASSED] drm_test_format_min_pitch_one_plane_16bpp
[21:11:00] [PASSED] drm_test_format_min_pitch_one_plane_24bpp
[21:11:00] [PASSED] drm_test_format_min_pitch_one_plane_32bpp
[21:11:00] [PASSED] drm_test_format_min_pitch_two_plane
[21:11:00] [PASSED] drm_test_format_min_pitch_three_plane_8bpp
[21:11:00] [PASSED] drm_test_format_min_pitch_tiled
[21:11:00] =================== [PASSED] drm_format ====================
[21:11:00] ============== drm_framebuffer (10 subtests) ===============
[21:11:00] ========== drm_test_framebuffer_check_src_coords ==========
[21:11:00] [PASSED] Success: source fits into fb
[21:11:00] [PASSED] Fail: overflowing fb with x-axis coordinate
[21:11:00] [PASSED] Fail: overflowing fb with y-axis coordinate
[21:11:00] [PASSED] Fail: overflowing fb with source width
[21:11:00] [PASSED] Fail: overflowing fb with source height
[21:11:00] ====== [PASSED] drm_test_framebuffer_check_src_coords ======
[21:11:00] [PASSED] drm_test_framebuffer_cleanup
[21:11:00] =============== drm_test_framebuffer_create ===============
[21:11:00] [PASSED] ABGR8888 normal sizes
[21:11:00] [PASSED] ABGR8888 max sizes
[21:11:00] [PASSED] ABGR8888 pitch greater than min required
[21:11:00] [PASSED] ABGR8888 pitch less than min required
[21:11:00] [PASSED] ABGR8888 Invalid width
[21:11:00] [PASSED] ABGR8888 Invalid buffer handle
[21:11:00] [PASSED] No pixel format
[21:11:00] [PASSED] ABGR8888 Width 0
[21:11:00] [PASSED] ABGR8888 Height 0
[21:11:00] [PASSED] ABGR8888 Out of bound height * pitch combination
[21:11:00] [PASSED] ABGR8888 Large buffer offset
[21:11:00] [PASSED] ABGR8888 Buffer offset for inexistent plane
[21:11:00] [PASSED] ABGR8888 Invalid flag
[21:11:00] [PASSED] ABGR8888 Set DRM_MODE_FB_MODIFIERS without modifiers
[21:11:00] [PASSED] ABGR8888 Valid buffer modifier
[21:11:00] [PASSED] ABGR8888 Invalid buffer modifier(DRM_FORMAT_MOD_SAMSUNG_64_32_TILE)
[21:11:00] [PASSED] ABGR8888 Extra pitches without DRM_MODE_FB_MODIFIERS
[21:11:00] [PASSED] ABGR8888 Extra pitches with DRM_MODE_FB_MODIFIERS
[21:11:00] [PASSED] NV12 Normal sizes
[21:11:00] [PASSED] NV12 Max sizes
[21:11:00] [PASSED] NV12 Invalid pitch
[21:11:00] [PASSED] NV12 Invalid modifier/missing DRM_MODE_FB_MODIFIERS flag
[21:11:00] [PASSED] NV12 different modifier per-plane
[21:11:00] [PASSED] NV12 with DRM_FORMAT_MOD_SAMSUNG_64_32_TILE
[21:11:00] [PASSED] NV12 Valid modifiers without DRM_MODE_FB_MODIFIERS
[21:11:00] [PASSED] NV12 Modifier for inexistent plane
[21:11:00] [PASSED] NV12 Handle for inexistent plane
[21:11:00] [PASSED] NV12 Handle for inexistent plane without DRM_MODE_FB_MODIFIERS
[21:11:00] [PASSED] YVU420 DRM_MODE_FB_MODIFIERS set without modifier
[21:11:00] [PASSED] YVU420 Normal sizes
[21:11:00] [PASSED] YVU420 Max sizes
[21:11:00] [PASSED] YVU420 Invalid pitch
[21:11:00] [PASSED] YVU420 Different pitches
[21:11:00] [PASSED] YVU420 Different buffer offsets/pitches
[21:11:00] [PASSED] YVU420 Modifier set just for plane 0, without DRM_MODE_FB_MODIFIERS
[21:11:00] [PASSED] YVU420 Modifier set just for planes 0, 1, without DRM_MODE_FB_MODIFIERS
[21:11:00] [PASSED] YVU420 Modifier set just for plane 0, 1, with DRM_MODE_FB_MODIFIERS
[21:11:00] [PASSED] YVU420 Valid modifier
[21:11:00] [PASSED] YVU420 Different modifiers per plane
[21:11:00] [PASSED] YVU420 Modifier for inexistent plane
[21:11:00] [PASSED] YUV420_10BIT Invalid modifier(DRM_FORMAT_MOD_LINEAR)
[21:11:00] [PASSED] X0L2 Normal sizes
[21:11:00] [PASSED] X0L2 Max sizes
[21:11:00] [PASSED] X0L2 Invalid pitch
[21:11:00] [PASSED] X0L2 Pitch greater than minimum required
[21:11:00] [PASSED] X0L2 Handle for inexistent plane
[21:11:00] [PASSED] X0L2 Offset for inexistent plane, without DRM_MODE_FB_MODIFIERS set
[21:11:00] [PASSED] X0L2 Modifier without DRM_MODE_FB_MODIFIERS set
[21:11:00] [PASSED] X0L2 Valid modifier
[21:11:00] [PASSED] X0L2 Modifier for inexistent plane
[21:11:00] =========== [PASSED] drm_test_framebuffer_create ===========
[21:11:00] [PASSED] drm_test_framebuffer_free
[21:11:00] [PASSED] drm_test_framebuffer_init
[21:11:00] [PASSED] drm_test_framebuffer_init_bad_format
[21:11:00] [PASSED] drm_test_framebuffer_init_dev_mismatch
[21:11:00] [PASSED] drm_test_framebuffer_lookup
[21:11:00] [PASSED] drm_test_framebuffer_lookup_inexistent
[21:11:00] [PASSED] drm_test_framebuffer_modifiers_not_supported
[21:11:00] ================= [PASSED] drm_framebuffer =================
[21:11:00] ================ drm_gem_shmem (8 subtests) ================
[21:11:00] [PASSED] drm_gem_shmem_test_obj_create
[21:11:00] [PASSED] drm_gem_shmem_test_obj_create_private
[21:11:00] [PASSED] drm_gem_shmem_test_pin_pages
[21:11:00] [PASSED] drm_gem_shmem_test_vmap
[21:11:00] [PASSED] drm_gem_shmem_test_get_pages_sgt
[21:11:00] [PASSED] drm_gem_shmem_test_get_sg_table
[21:11:00] [PASSED] drm_gem_shmem_test_madvise
[21:11:00] [PASSED] drm_gem_shmem_test_purge
[21:11:00] ================== [PASSED] drm_gem_shmem ==================
[21:11:00] === drm_atomic_helper_connector_hdmi_check (23 subtests) ===
[21:11:00] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode
[21:11:00] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode_vic_1
[21:11:00] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode
[21:11:00] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode_vic_1
[21:11:00] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode
[21:11:00] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode_vic_1
[21:11:00] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_changed
[21:11:00] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_not_changed
[21:11:00] [PASSED] drm_test_check_disable_connector
[21:11:00] [PASSED] drm_test_check_hdmi_funcs_reject_rate
[21:11:00] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback
[21:11:00] [PASSED] drm_test_check_max_tmds_rate_format_fallback
[21:11:00] [PASSED] drm_test_check_output_bpc_crtc_mode_changed
[21:11:00] [PASSED] drm_test_check_output_bpc_crtc_mode_not_changed
[21:11:00] [PASSED] drm_test_check_output_bpc_dvi
[21:11:00] [PASSED] drm_test_check_output_bpc_format_vic_1
[21:11:00] [PASSED] drm_test_check_output_bpc_format_display_8bpc_only
[21:11:00] [PASSED] drm_test_check_output_bpc_format_display_rgb_only
[21:11:00] [PASSED] drm_test_check_output_bpc_format_driver_8bpc_only
[21:11:00] [PASSED] drm_test_check_output_bpc_format_driver_rgb_only
[21:11:00] [PASSED] drm_test_check_tmds_char_rate_rgb_8bpc
[21:11:00] [PASSED] drm_test_check_tmds_char_rate_rgb_10bpc
[21:11:00] [PASSED] drm_test_check_tmds_char_rate_rgb_12bpc
[21:11:00] ===== [PASSED] drm_atomic_helper_connector_hdmi_check ======
[21:11:00] === drm_atomic_helper_connector_hdmi_reset (6 subtests) ====
[21:11:00] [PASSED] drm_test_check_broadcast_rgb_value
[21:11:00] [PASSED] drm_test_check_bpc_8_value
[21:11:00] [PASSED] drm_test_check_bpc_10_value
[21:11:00] [PASSED] drm_test_check_bpc_12_value
[21:11:00] [PASSED] drm_test_check_format_value
[21:11:00] [PASSED] drm_test_check_tmds_char_value
[21:11:00] ===== [PASSED] drm_atomic_helper_connector_hdmi_reset ======
[21:11:00] = drm_atomic_helper_connector_hdmi_mode_valid (4 subtests) =
[21:11:00] [PASSED] drm_test_check_mode_valid
[21:11:00] [PASSED] drm_test_check_mode_valid_reject
[21:11:00] [PASSED] drm_test_check_mode_valid_reject_rate
[21:11:00] [PASSED] drm_test_check_mode_valid_reject_max_clock
[21:11:00] === [PASSED] drm_atomic_helper_connector_hdmi_mode_valid ===
[21:11:00] ================= drm_managed (2 subtests) =================
[21:11:00] [PASSED] drm_test_managed_release_action
[21:11:00] [PASSED] drm_test_managed_run_action
[21:11:00] =================== [PASSED] drm_managed ===================
[21:11:00] =================== drm_mm (6 subtests) ====================
[21:11:00] [PASSED] drm_test_mm_init
[21:11:00] [PASSED] drm_test_mm_debug
[21:11:00] [PASSED] drm_test_mm_align32
[21:11:00] [PASSED] drm_test_mm_align64
[21:11:00] [PASSED] drm_test_mm_lowest
[21:11:00] [PASSED] drm_test_mm_highest
[21:11:00] ===================== [PASSED] drm_mm ======================
[21:11:00] ============= drm_modes_analog_tv (5 subtests) =============
[21:11:00] [PASSED] drm_test_modes_analog_tv_mono_576i
[21:11:00] [PASSED] drm_test_modes_analog_tv_ntsc_480i
[21:11:00] [PASSED] drm_test_modes_analog_tv_ntsc_480i_inlined
[21:11:00] [PASSED] drm_test_modes_analog_tv_pal_576i
[21:11:00] [PASSED] drm_test_modes_analog_tv_pal_576i_inlined
[21:11:00] =============== [PASSED] drm_modes_analog_tv ===============
[21:11:00] ============== drm_plane_helper (2 subtests) ===============
[21:11:00] =============== drm_test_check_plane_state ================
[21:11:00] [PASSED] clipping_simple
[21:11:00] [PASSED] clipping_rotate_reflect
[21:11:00] [PASSED] positioning_simple
[21:11:00] [PASSED] upscaling
[21:11:00] [PASSED] downscaling
[21:11:00] [PASSED] rounding1
[21:11:00] [PASSED] rounding2
[21:11:00] [PASSED] rounding3
[21:11:00] [PASSED] rounding4
[21:11:00] =========== [PASSED] drm_test_check_plane_state ============
[21:11:00] =========== drm_test_check_invalid_plane_state ============
[21:11:00] [PASSED] positioning_invalid
[21:11:00] [PASSED] upscaling_invalid
[21:11:00] [PASSED] downscaling_invalid
[21:11:00] ======= [PASSED] drm_test_check_invalid_plane_state ========
[21:11:00] ================ [PASSED] drm_plane_helper =================
[21:11:00] ====== drm_connector_helper_tv_get_modes (1 subtest) =======
[21:11:00] ====== drm_test_connector_helper_tv_get_modes_check =======
[21:11:00] [PASSED] None
[21:11:00] [PASSED] PAL
[21:11:00] [PASSED] NTSC
[21:11:00] [PASSED] Both, NTSC Default
[21:11:00] [PASSED] Both, PAL Default
[21:11:00] [PASSED] Both, NTSC Default, with PAL on command-line
[21:11:00] [PASSED] Both, PAL Default, with NTSC on command-line
[21:11:00] == [PASSED] drm_test_connector_helper_tv_get_modes_check ===
[21:11:00] ======== [PASSED] drm_connector_helper_tv_get_modes ========
[21:11:00] ================== drm_rect (9 subtests) ===================
[21:11:00] [PASSED] drm_test_rect_clip_scaled_div_by_zero
[21:11:00] [PASSED] drm_test_rect_clip_scaled_not_clipped
[21:11:00] [PASSED] drm_test_rect_clip_scaled_clipped
[21:11:00] [PASSED] drm_test_rect_clip_scaled_signed_vs_unsigned
[21:11:00] ================= drm_test_rect_intersect =================
[21:11:00] [PASSED] top-left x bottom-right: 2x2+1+1 x 2x2+0+0
[21:11:00] [PASSED] top-right x bottom-left: 2x2+0+0 x 2x2+1-1
[21:11:00] [PASSED] bottom-left x top-right: 2x2+1-1 x 2x2+0+0
[21:11:00] [PASSED] bottom-right x top-left: 2x2+0+0 x 2x2+1+1
[21:11:00] [PASSED] right x left: 2x1+0+0 x 3x1+1+0
[21:11:00] [PASSED] left x right: 3x1+1+0 x 2x1+0+0
[21:11:00] [PASSED] up x bottom: 1x2+0+0 x 1x3+0-1
[21:11:00] [PASSED] bottom x up: 1x3+0-1 x 1x2+0+0
[21:11:00] [PASSED] touching corner: 1x1+0+0 x 2x2+1+1
[21:11:00] [PASSED] touching side: 1x1+0+0 x 1x1+1+0
[21:11:00] [PASSED] equal rects: 2x2+0+0 x 2x2+0+0
[21:11:00] [PASSED] inside another: 2x2+0+0 x 1x1+1+1
[21:11:00] [PASSED] far away: 1x1+0+0 x 1x1+3+6
[21:11:00] [PASSED] points intersecting: 0x0+5+10 x 0x0+5+10
[21:11:00] [PASSED] points not intersecting: 0x0+0+0 x 0x0+5+10
[21:11:00] ============= [PASSED] drm_test_rect_intersect =============
[21:11:00] ================ drm_test_rect_calc_hscale ================
[21:11:00] [PASSED] normal use
[21:11:00] [PASSED] out of max range
[21:11:00] [PASSED] out of min range
[21:11:00] [PASSED] zero dst
[21:11:00] [PASSED] negative src
[21:11:00] [PASSED] negative dst
[21:11:00] ============ [PASSED] drm_test_rect_calc_hscale ============
[21:11:00] ================ drm_test_rect_calc_vscale ================
[21:11:00] [PASSED] normal use
[21:11:00] [PASSED] out of max range
[21:11:00] [PASSED] out of min range
[21:11:00] [PASSED] zero dst
[21:11:00] [PASSED] negative src
[21:11:00] [PASSED] negative dst
[21:11:00] ============ [PASSED] drm_test_rect_calc_vscale ============
[21:11:00] ================== drm_test_rect_rotate ===================
[21:11:00] [PASSED] reflect-x
[21:11:00] [PASSED] reflect-y
[21:11:00] [PASSED] rotate-0
[21:11:00] [PASSED] rotate-90
[21:11:00] [PASSED] rotate-180
[21:11:00] [PASSED] rotate-270
stty: 'standard input': Inappropriate ioctl for device
[21:11:00] ============== [PASSED] drm_test_rect_rotate ===============
[21:11:00] ================ drm_test_rect_rotate_inv =================
[21:11:00] [PASSED] reflect-x
[21:11:00] [PASSED] reflect-y
[21:11:00] [PASSED] rotate-0
[21:11:00] [PASSED] rotate-90
[21:11:00] [PASSED] rotate-180
[21:11:00] [PASSED] rotate-270
[21:11:00] ============ [PASSED] drm_test_rect_rotate_inv =============
[21:11:00] ==================== [PASSED] drm_rect =====================
[21:11:00] ============================================================
[21:11:00] Testing complete. Ran 598 tests: passed: 598
[21:11:00] Elapsed time: 22.910s total, 1.644s configuring, 21.100s building, 0.131s running
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/ttm/tests/.kunitconfig
[21:11:00] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[21:11:02] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json ARCH=um O=.kunit --jobs=48
[21:11:09] Starting KUnit Kernel (1/1)...
[21:11:09] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[21:11:09] ================= ttm_device (5 subtests) ==================
[21:11:09] [PASSED] ttm_device_init_basic
[21:11:09] [PASSED] ttm_device_init_multiple
[21:11:09] [PASSED] ttm_device_fini_basic
[21:11:09] [PASSED] ttm_device_init_no_vma_man
[21:11:09] ================== ttm_device_init_pools ==================
[21:11:09] [PASSED] No DMA allocations, no DMA32 required
[21:11:09] [PASSED] DMA allocations, DMA32 required
[21:11:09] [PASSED] No DMA allocations, DMA32 required
[21:11:09] [PASSED] DMA allocations, no DMA32 required
[21:11:09] ============== [PASSED] ttm_device_init_pools ==============
[21:11:09] =================== [PASSED] ttm_device ====================
[21:11:09] ================== ttm_pool (8 subtests) ===================
[21:11:09] ================== ttm_pool_alloc_basic ===================
[21:11:09] [PASSED] One page
[21:11:09] [PASSED] More than one page
[21:11:09] [PASSED] Above the allocation limit
[21:11:09] [PASSED] One page, with coherent DMA mappings enabled
[21:11:09] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[21:11:09] ============== [PASSED] ttm_pool_alloc_basic ===============
[21:11:09] ============== ttm_pool_alloc_basic_dma_addr ==============
[21:11:09] [PASSED] One page
[21:11:09] [PASSED] More than one page
[21:11:09] [PASSED] Above the allocation limit
[21:11:09] [PASSED] One page, with coherent DMA mappings enabled
[21:11:09] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[21:11:09] ========== [PASSED] ttm_pool_alloc_basic_dma_addr ==========
[21:11:09] [PASSED] ttm_pool_alloc_order_caching_match
[21:11:09] [PASSED] ttm_pool_alloc_caching_mismatch
[21:11:09] [PASSED] ttm_pool_alloc_order_mismatch
[21:11:09] [PASSED] ttm_pool_free_dma_alloc
[21:11:09] [PASSED] ttm_pool_free_no_dma_alloc
[21:11:09] [PASSED] ttm_pool_fini_basic
[21:11:09] ==================== [PASSED] ttm_pool =====================
[21:11:09] ================ ttm_resource (8 subtests) =================
[21:11:09] ================= ttm_resource_init_basic =================
[21:11:09] [PASSED] Init resource in TTM_PL_SYSTEM
[21:11:09] [PASSED] Init resource in TTM_PL_VRAM
[21:11:09] [PASSED] Init resource in a private placement
[21:11:09] [PASSED] Init resource in TTM_PL_SYSTEM, set placement flags
[21:11:09] ============= [PASSED] ttm_resource_init_basic =============
[21:11:09] [PASSED] ttm_resource_init_pinned
[21:11:09] [PASSED] ttm_resource_fini_basic
[21:11:09] [PASSED] ttm_resource_manager_init_basic
[21:11:09] [PASSED] ttm_resource_manager_usage_basic
[21:11:09] [PASSED] ttm_resource_manager_set_used_basic
[21:11:09] [PASSED] ttm_sys_man_alloc_basic
[21:11:09] [PASSED] ttm_sys_man_free_basic
[21:11:09] ================== [PASSED] ttm_resource ===================
[21:11:09] =================== ttm_tt (15 subtests) ===================
[21:11:09] ==================== ttm_tt_init_basic ====================
[21:11:09] [PASSED] Page-aligned size
[21:11:09] [PASSED] Extra pages requested
[21:11:09] ================ [PASSED] ttm_tt_init_basic ================
[21:11:09] [PASSED] ttm_tt_init_misaligned
[21:11:09] [PASSED] ttm_tt_fini_basic
[21:11:09] [PASSED] ttm_tt_fini_sg
[21:11:09] [PASSED] ttm_tt_fini_shmem
[21:11:09] [PASSED] ttm_tt_create_basic
[21:11:09] [PASSED] ttm_tt_create_invalid_bo_type
[21:11:09] [PASSED] ttm_tt_create_ttm_exists
[21:11:09] [PASSED] ttm_tt_create_failed
[21:11:09] [PASSED] ttm_tt_destroy_basic
[21:11:09] [PASSED] ttm_tt_populate_null_ttm
[21:11:09] [PASSED] ttm_tt_populate_populated_ttm
[21:11:09] [PASSED] ttm_tt_unpopulate_basic
[21:11:09] [PASSED] ttm_tt_unpopulate_empty_ttm
[21:11:09] [PASSED] ttm_tt_swapin_basic
[21:11:09] ===================== [PASSED] ttm_tt ======================
[21:11:09] =================== ttm_bo (14 subtests) ===================
[21:11:09] =========== ttm_bo_reserve_optimistic_no_ticket ===========
[21:11:09] [PASSED] Cannot be interrupted and sleeps
[21:11:09] [PASSED] Cannot be interrupted, locks straight away
[21:11:09] [PASSED] Can be interrupted, sleeps
[21:11:09] ======= [PASSED] ttm_bo_reserve_optimistic_no_ticket =======
[21:11:09] [PASSED] ttm_bo_reserve_locked_no_sleep
[21:11:09] [PASSED] ttm_bo_reserve_no_wait_ticket
[21:11:09] [PASSED] ttm_bo_reserve_double_resv
[21:11:09] [PASSED] ttm_bo_reserve_interrupted
[21:11:09] [PASSED] ttm_bo_reserve_deadlock
[21:11:09] [PASSED] ttm_bo_unreserve_basic
[21:11:09] [PASSED] ttm_bo_unreserve_pinned
[21:11:09] [PASSED] ttm_bo_unreserve_bulk
[21:11:09] [PASSED] ttm_bo_put_basic
[21:11:09] [PASSED] ttm_bo_put_shared_resv
[21:11:09] [PASSED] ttm_bo_pin_basic
[21:11:09] [PASSED] ttm_bo_pin_unpin_resource
[21:11:09] [PASSED] ttm_bo_multiple_pin_one_unpin
[21:11:09] ===================== [PASSED] ttm_bo ======================
[21:11:09] ============== ttm_bo_validate (22 subtests) ===============
[21:11:09] ============== ttm_bo_init_reserved_sys_man ===============
[21:11:09] [PASSED] Buffer object for userspace
[21:11:09] [PASSED] Kernel buffer object
[21:11:09] [PASSED] Shared buffer object
[21:11:09] ========== [PASSED] ttm_bo_init_reserved_sys_man ===========
[21:11:09] ============== ttm_bo_init_reserved_mock_man ==============
[21:11:09] [PASSED] Buffer object for userspace
[21:11:09] [PASSED] Kernel buffer object
[21:11:09] [PASSED] Shared buffer object
[21:11:09] ========== [PASSED] ttm_bo_init_reserved_mock_man ==========
[21:11:09] [PASSED] ttm_bo_init_reserved_resv
[21:11:09] ================== ttm_bo_validate_basic ==================
[21:11:09] [PASSED] Buffer object for userspace
[21:11:09] [PASSED] Kernel buffer object
[21:11:09] [PASSED] Shared buffer object
[21:11:09] ============== [PASSED] ttm_bo_validate_basic ==============
[21:11:09] [PASSED] ttm_bo_validate_invalid_placement
[21:11:09] ============= ttm_bo_validate_same_placement ==============
[21:11:09] [PASSED] System manager
[21:11:09] [PASSED] VRAM manager
[21:11:09] ========= [PASSED] ttm_bo_validate_same_placement ==========
[21:11:09] [PASSED] ttm_bo_validate_failed_alloc
[21:11:09] [PASSED] ttm_bo_validate_pinned
[21:11:09] [PASSED] ttm_bo_validate_busy_placement
[21:11:09] ================ ttm_bo_validate_multihop =================
[21:11:09] [PASSED] Buffer object for userspace
[21:11:09] [PASSED] Kernel buffer object
[21:11:09] [PASSED] Shared buffer object
[21:11:09] ============ [PASSED] ttm_bo_validate_multihop =============
[21:11:09] ========== ttm_bo_validate_no_placement_signaled ==========
[21:11:09] [PASSED] Buffer object in system domain, no page vector
[21:11:09] [PASSED] Buffer object in system domain with an existing page vector
[21:11:09] ====== [PASSED] ttm_bo_validate_no_placement_signaled ======
[21:11:09] ======== ttm_bo_validate_no_placement_not_signaled ========
[21:11:09] [PASSED] Buffer object for userspace
[21:11:09] [PASSED] Kernel buffer object
[21:11:09] [PASSED] Shared buffer object
[21:11:09] ==== [PASSED] ttm_bo_validate_no_placement_not_signaled ====
[21:11:09] [PASSED] ttm_bo_validate_move_fence_signaled
[21:11:09] ========= ttm_bo_validate_move_fence_not_signaled =========
[21:11:09] [PASSED] Waits for GPU
[21:11:09] [PASSED] Tries to lock straight away
[21:11:10] ===== [PASSED] ttm_bo_validate_move_fence_not_signaled =====
[21:11:10] [PASSED] ttm_bo_validate_swapout
[21:11:10] [PASSED] ttm_bo_validate_happy_evict
[21:11:10] [PASSED] ttm_bo_validate_all_pinned_evict
[21:11:10] [PASSED] ttm_bo_validate_allowed_only_evict
[21:11:10] [PASSED] ttm_bo_validate_deleted_evict
[21:11:10] [PASSED] ttm_bo_validate_busy_domain_evict
[21:11:10] [PASSED] ttm_bo_validate_evict_gutting
[21:11:10] [PASSED] ttm_bo_validate_recrusive_evict
stty: 'standard input': Inappropriate ioctl for device
[21:11:10] ================= [PASSED] ttm_bo_validate =================
[21:11:10] ============================================================
[21:11:10] Testing complete. Ran 102 tests: passed: 102
[21:11:10] Elapsed time: 9.915s total, 1.620s configuring, 7.628s building, 0.560s running
+ cleanup
++ stat -c %u:%g /kernel
+ chown -R 1003:1003 /kernel
^ permalink raw reply [flat|nested] 32+ messages in thread
* ✓ CI.Build: success for drm/i915/xe3: FBC Dirty rect feature support (rev7)
2025-01-30 21:00 [PATCH v6 0/7] drm/i915/xe3: FBC Dirty rect feature support Vinod Govindapillai
` (9 preceding siblings ...)
2025-01-30 21:11 ` ✓ CI.KUnit: success " Patchwork
@ 2025-01-30 21:27 ` Patchwork
2025-01-30 21:30 ` ✓ CI.Hooks: " Patchwork
` (4 subsequent siblings)
15 siblings, 0 replies; 32+ messages in thread
From: Patchwork @ 2025-01-30 21:27 UTC (permalink / raw)
To: Vinod Govindapillai; +Cc: intel-xe
== Series Details ==
Series: drm/i915/xe3: FBC Dirty rect feature support (rev7)
URL : https://patchwork.freedesktop.org/series/141526/
State : success
== Summary ==
lib/modules/6.13.0-xe+/kernel/arch/x86/events/rapl.ko
lib/modules/6.13.0-xe+/kernel/arch/x86/kvm/
lib/modules/6.13.0-xe+/kernel/arch/x86/kvm/kvm.ko
lib/modules/6.13.0-xe+/kernel/arch/x86/kvm/kvm-intel.ko
lib/modules/6.13.0-xe+/kernel/arch/x86/kvm/kvm-amd.ko
lib/modules/6.13.0-xe+/kernel/kernel/
lib/modules/6.13.0-xe+/kernel/kernel/kheaders.ko
lib/modules/6.13.0-xe+/kernel/crypto/
lib/modules/6.13.0-xe+/kernel/crypto/ecrdsa_generic.ko
lib/modules/6.13.0-xe+/kernel/crypto/xcbc.ko
lib/modules/6.13.0-xe+/kernel/crypto/serpent_generic.ko
lib/modules/6.13.0-xe+/kernel/crypto/aria_generic.ko
lib/modules/6.13.0-xe+/kernel/crypto/crypto_simd.ko
lib/modules/6.13.0-xe+/kernel/crypto/adiantum.ko
lib/modules/6.13.0-xe+/kernel/crypto/tcrypt.ko
lib/modules/6.13.0-xe+/kernel/crypto/crypto_engine.ko
lib/modules/6.13.0-xe+/kernel/crypto/zstd.ko
lib/modules/6.13.0-xe+/kernel/crypto/asymmetric_keys/
lib/modules/6.13.0-xe+/kernel/crypto/asymmetric_keys/pkcs7_test_key.ko
lib/modules/6.13.0-xe+/kernel/crypto/asymmetric_keys/pkcs8_key_parser.ko
lib/modules/6.13.0-xe+/kernel/crypto/des_generic.ko
lib/modules/6.13.0-xe+/kernel/crypto/xctr.ko
lib/modules/6.13.0-xe+/kernel/crypto/authenc.ko
lib/modules/6.13.0-xe+/kernel/crypto/sm4_generic.ko
lib/modules/6.13.0-xe+/kernel/crypto/keywrap.ko
lib/modules/6.13.0-xe+/kernel/crypto/camellia_generic.ko
lib/modules/6.13.0-xe+/kernel/crypto/sm3.ko
lib/modules/6.13.0-xe+/kernel/crypto/pcrypt.ko
lib/modules/6.13.0-xe+/kernel/crypto/aegis128.ko
lib/modules/6.13.0-xe+/kernel/crypto/af_alg.ko
lib/modules/6.13.0-xe+/kernel/crypto/algif_aead.ko
lib/modules/6.13.0-xe+/kernel/crypto/cmac.ko
lib/modules/6.13.0-xe+/kernel/crypto/sm3_generic.ko
lib/modules/6.13.0-xe+/kernel/crypto/aes_ti.ko
lib/modules/6.13.0-xe+/kernel/crypto/chacha_generic.ko
lib/modules/6.13.0-xe+/kernel/crypto/poly1305_generic.ko
lib/modules/6.13.0-xe+/kernel/crypto/nhpoly1305.ko
lib/modules/6.13.0-xe+/kernel/crypto/crc32_generic.ko
lib/modules/6.13.0-xe+/kernel/crypto/essiv.ko
lib/modules/6.13.0-xe+/kernel/crypto/ccm.ko
lib/modules/6.13.0-xe+/kernel/crypto/wp512.ko
lib/modules/6.13.0-xe+/kernel/crypto/streebog_generic.ko
lib/modules/6.13.0-xe+/kernel/crypto/authencesn.ko
lib/modules/6.13.0-xe+/kernel/crypto/echainiv.ko
lib/modules/6.13.0-xe+/kernel/crypto/lrw.ko
lib/modules/6.13.0-xe+/kernel/crypto/cryptd.ko
lib/modules/6.13.0-xe+/kernel/crypto/crypto_user.ko
lib/modules/6.13.0-xe+/kernel/crypto/algif_hash.ko
lib/modules/6.13.0-xe+/kernel/crypto/vmac.ko
lib/modules/6.13.0-xe+/kernel/crypto/polyval-generic.ko
lib/modules/6.13.0-xe+/kernel/crypto/hctr2.ko
lib/modules/6.13.0-xe+/kernel/crypto/842.ko
lib/modules/6.13.0-xe+/kernel/crypto/pcbc.ko
lib/modules/6.13.0-xe+/kernel/crypto/ansi_cprng.ko
lib/modules/6.13.0-xe+/kernel/crypto/cast6_generic.ko
lib/modules/6.13.0-xe+/kernel/crypto/twofish_common.ko
lib/modules/6.13.0-xe+/kernel/crypto/twofish_generic.ko
lib/modules/6.13.0-xe+/kernel/crypto/lz4hc.ko
lib/modules/6.13.0-xe+/kernel/crypto/blowfish_generic.ko
lib/modules/6.13.0-xe+/kernel/crypto/md4.ko
lib/modules/6.13.0-xe+/kernel/crypto/chacha20poly1305.ko
lib/modules/6.13.0-xe+/kernel/crypto/curve25519-generic.ko
lib/modules/6.13.0-xe+/kernel/crypto/lz4.ko
lib/modules/6.13.0-xe+/kernel/crypto/rmd160.ko
lib/modules/6.13.0-xe+/kernel/crypto/algif_skcipher.ko
lib/modules/6.13.0-xe+/kernel/crypto/cast5_generic.ko
lib/modules/6.13.0-xe+/kernel/crypto/fcrypt.ko
lib/modules/6.13.0-xe+/kernel/crypto/ecdsa_generic.ko
lib/modules/6.13.0-xe+/kernel/crypto/sm4.ko
lib/modules/6.13.0-xe+/kernel/crypto/cast_common.ko
lib/modules/6.13.0-xe+/kernel/crypto/blowfish_common.ko
lib/modules/6.13.0-xe+/kernel/crypto/michael_mic.ko
lib/modules/6.13.0-xe+/kernel/crypto/async_tx/
lib/modules/6.13.0-xe+/kernel/crypto/async_tx/async_xor.ko
lib/modules/6.13.0-xe+/kernel/crypto/async_tx/async_tx.ko
lib/modules/6.13.0-xe+/kernel/crypto/async_tx/async_memcpy.ko
lib/modules/6.13.0-xe+/kernel/crypto/async_tx/async_pq.ko
lib/modules/6.13.0-xe+/kernel/crypto/async_tx/async_raid6_recov.ko
lib/modules/6.13.0-xe+/kernel/crypto/algif_rng.ko
lib/modules/6.13.0-xe+/kernel/block/
lib/modules/6.13.0-xe+/kernel/block/bfq.ko
lib/modules/6.13.0-xe+/kernel/block/kyber-iosched.ko
lib/modules/6.13.0-xe+/build
lib/modules/6.13.0-xe+/modules.alias.bin
lib/modules/6.13.0-xe+/modules.builtin
lib/modules/6.13.0-xe+/modules.softdep
lib/modules/6.13.0-xe+/modules.alias
lib/modules/6.13.0-xe+/modules.order
lib/modules/6.13.0-xe+/modules.symbols
lib/modules/6.13.0-xe+/modules.dep.bin
+ mv kernel-nodebug.tar.gz ..
+ cd ..
+ rm -rf archive
++ date +%s
+ echo -e '\e[0Ksection_end:1738272453:package_x86_64_nodebug\r\e[0K'
+ sync
^[[0Ksection_end:1738272453:package_x86_64_nodebug
^[[0K
+ cleanup
++ stat -c %u:%g /kernel
+ chown -R 1003:1003 /kernel
^ permalink raw reply [flat|nested] 32+ messages in thread
* ✓ CI.Hooks: success for drm/i915/xe3: FBC Dirty rect feature support (rev7)
2025-01-30 21:00 [PATCH v6 0/7] drm/i915/xe3: FBC Dirty rect feature support Vinod Govindapillai
` (10 preceding siblings ...)
2025-01-30 21:27 ` ✓ CI.Build: " Patchwork
@ 2025-01-30 21:30 ` Patchwork
2025-01-30 21:31 ` ✗ CI.checksparse: warning " Patchwork
` (3 subsequent siblings)
15 siblings, 0 replies; 32+ messages in thread
From: Patchwork @ 2025-01-30 21:30 UTC (permalink / raw)
To: Vinod Govindapillai; +Cc: intel-xe
== Series Details ==
Series: drm/i915/xe3: FBC Dirty rect feature support (rev7)
URL : https://patchwork.freedesktop.org/series/141526/
State : success
== Summary ==
run-parts: executing /workspace/ci/hooks/00-showenv
+ export
+ grep -Ei '(^|\W)CI_'
declare -x CI_KERNEL_BUILD_DIR="/workspace/kernel/build64-default"
declare -x CI_KERNEL_SRC_DIR="/workspace/kernel"
declare -x CI_TOOLS_SRC_DIR="/workspace/ci"
declare -x CI_WORKSPACE_DIR="/workspace"
run-parts: executing /workspace/ci/hooks/10-build-W1
+ SRC_DIR=/workspace/kernel
+ RESTORE_DISPLAY_CONFIG=0
+ '[' -n /workspace/kernel/build64-default ']'
+ BUILD_DIR=/workspace/kernel/build64-default
+ cd /workspace/kernel
++ nproc
+ make -j48 O=/workspace/kernel/build64-default modules_prepare
make[1]: Entering directory '/workspace/kernel/build64-default'
GEN Makefile
mkdir -p /workspace/kernel/build64-default/tools/objtool && make O=/workspace/kernel/build64-default subdir=tools/objtool --no-print-directory -C objtool
CALL ../scripts/checksyscalls.sh
INSTALL libsubcmd_headers
CC /workspace/kernel/build64-default/tools/objtool/libsubcmd/exec-cmd.o
CC /workspace/kernel/build64-default/tools/objtool/libsubcmd/help.o
CC /workspace/kernel/build64-default/tools/objtool/libsubcmd/pager.o
CC /workspace/kernel/build64-default/tools/objtool/libsubcmd/parse-options.o
CC /workspace/kernel/build64-default/tools/objtool/libsubcmd/run-command.o
CC /workspace/kernel/build64-default/tools/objtool/libsubcmd/sigchain.o
CC /workspace/kernel/build64-default/tools/objtool/libsubcmd/subcmd-config.o
LD /workspace/kernel/build64-default/tools/objtool/libsubcmd/libsubcmd-in.o
AR /workspace/kernel/build64-default/tools/objtool/libsubcmd/libsubcmd.a
CC /workspace/kernel/build64-default/tools/objtool/weak.o
CC /workspace/kernel/build64-default/tools/objtool/check.o
CC /workspace/kernel/build64-default/tools/objtool/special.o
CC /workspace/kernel/build64-default/tools/objtool/builtin-check.o
CC /workspace/kernel/build64-default/tools/objtool/elf.o
CC /workspace/kernel/build64-default/tools/objtool/objtool.o
CC /workspace/kernel/build64-default/tools/objtool/orc_gen.o
CC /workspace/kernel/build64-default/tools/objtool/orc_dump.o
CC /workspace/kernel/build64-default/tools/objtool/libstring.o
CC /workspace/kernel/build64-default/tools/objtool/libctype.o
CC /workspace/kernel/build64-default/tools/objtool/arch/x86/special.o
CC /workspace/kernel/build64-default/tools/objtool/str_error_r.o
CC /workspace/kernel/build64-default/tools/objtool/arch/x86/decode.o
CC /workspace/kernel/build64-default/tools/objtool/librbtree.o
CC /workspace/kernel/build64-default/tools/objtool/arch/x86/orc.o
LD /workspace/kernel/build64-default/tools/objtool/arch/x86/objtool-in.o
LD /workspace/kernel/build64-default/tools/objtool/objtool-in.o
LINK /workspace/kernel/build64-default/tools/objtool/objtool
make[1]: Leaving directory '/workspace/kernel/build64-default'
++ nproc
+ make -j48 O=/workspace/kernel/build64-default W=1 drivers/gpu/drm/xe
make[1]: Entering directory '/workspace/kernel/build64-default'
make[2]: Nothing to be done for 'drivers/gpu/drm/xe'.
make[1]: Leaving directory '/workspace/kernel/build64-default'
run-parts: executing /workspace/ci/hooks/11-build-32b
+++ realpath /workspace/ci/hooks/11-build-32b
++ dirname /workspace/ci/hooks/11-build-32b
+ THIS_SCRIPT_DIR=/workspace/ci/hooks
+ SRC_DIR=/workspace/kernel
+ TOOLS_SRC_DIR=/workspace/ci
+ '[' -n /workspace/kernel/build64-default ']'
+ BUILD_DIR=/workspace/kernel/build64-default
+ BUILD_DIR=/workspace/kernel/build64-default/build32
+ cd /workspace/kernel
+ mkdir -p /workspace/kernel/build64-default/build32
++ nproc
+ make -j48 ARCH=i386 O=/workspace/kernel/build64-default/build32 defconfig
make[1]: Entering directory '/workspace/kernel/build64-default/build32'
GEN Makefile
HOSTCC scripts/basic/fixdep
HOSTCC scripts/kconfig/conf.o
HOSTCC scripts/kconfig/confdata.o
HOSTCC scripts/kconfig/expr.o
LEX scripts/kconfig/lexer.lex.c
YACC scripts/kconfig/parser.tab.[ch]
HOSTCC scripts/kconfig/menu.o
HOSTCC scripts/kconfig/preprocess.o
HOSTCC scripts/kconfig/symbol.o
HOSTCC scripts/kconfig/util.o
HOSTCC scripts/kconfig/lexer.lex.o
HOSTCC scripts/kconfig/parser.tab.o
HOSTLD scripts/kconfig/conf
*** Default configuration is based on 'i386_defconfig'
#
# configuration written to .config
#
make[1]: Leaving directory '/workspace/kernel/build64-default/build32'
+ cd /workspace/kernel/build64-default/build32
+ /workspace/kernel/scripts/kconfig/merge_config.sh .config /workspace/ci/kernel/fragments/10-xe.fragment
Using .config as base
Merging /workspace/ci/kernel/fragments/10-xe.fragment
Value of CONFIG_DRM_XE is redefined by fragment /workspace/ci/kernel/fragments/10-xe.fragment:
Previous value: # CONFIG_DRM_XE is not set
New value: CONFIG_DRM_XE=m
GEN Makefile
WARNING: unmet direct dependencies detected for FB_IOMEM_HELPERS
Depends on [n]: HAS_IOMEM [=y] && FB_CORE [=n]
Selected by [m]:
- DRM_XE_DISPLAY [=y] && HAS_IOMEM [=y] && DRM [=y] && DRM_XE [=m] && DRM_XE [=m]=m [=m] && HAS_IOPORT [=y]
#
# configuration written to .config
#
Value requested for CONFIG_HAVE_UID16 not in final .config
Requested value: CONFIG_HAVE_UID16=y
Actual value:
Value requested for CONFIG_UID16 not in final .config
Requested value: CONFIG_UID16=y
Actual value:
Value requested for CONFIG_X86_32 not in final .config
Requested value: CONFIG_X86_32=y
Actual value:
Value requested for CONFIG_OUTPUT_FORMAT not in final .config
Requested value: CONFIG_OUTPUT_FORMAT="elf32-i386"
Actual value: CONFIG_OUTPUT_FORMAT="elf64-x86-64"
Value requested for CONFIG_ARCH_MMAP_RND_BITS_MIN not in final .config
Requested value: CONFIG_ARCH_MMAP_RND_BITS_MIN=8
Actual value: CONFIG_ARCH_MMAP_RND_BITS_MIN=28
Value requested for CONFIG_ARCH_MMAP_RND_BITS_MAX not in final .config
Requested value: CONFIG_ARCH_MMAP_RND_BITS_MAX=16
Actual value: CONFIG_ARCH_MMAP_RND_BITS_MAX=32
Value requested for CONFIG_PGTABLE_LEVELS not in final .config
Requested value: CONFIG_PGTABLE_LEVELS=2
Actual value: CONFIG_PGTABLE_LEVELS=5
Value requested for CONFIG_X86_BIGSMP not in final .config
Requested value: # CONFIG_X86_BIGSMP is not set
Actual value:
Value requested for CONFIG_X86_INTEL_QUARK not in final .config
Requested value: # CONFIG_X86_INTEL_QUARK is not set
Actual value:
Value requested for CONFIG_X86_RDC321X not in final .config
Requested value: # CONFIG_X86_RDC321X is not set
Actual value:
Value requested for CONFIG_X86_32_NON_STANDARD not in final .config
Requested value: # CONFIG_X86_32_NON_STANDARD is not set
Actual value:
Value requested for CONFIG_X86_32_IRIS not in final .config
Requested value: # CONFIG_X86_32_IRIS is not set
Actual value:
Value requested for CONFIG_M486SX not in final .config
Requested value: # CONFIG_M486SX is not set
Actual value:
Value requested for CONFIG_M486 not in final .config
Requested value: # CONFIG_M486 is not set
Actual value:
Value requested for CONFIG_M586 not in final .config
Requested value: # CONFIG_M586 is not set
Actual value:
Value requested for CONFIG_M586TSC not in final .config
Requested value: # CONFIG_M586TSC is not set
Actual value:
Value requested for CONFIG_M586MMX not in final .config
Requested value: # CONFIG_M586MMX is not set
Actual value:
Value requested for CONFIG_M686 not in final .config
Requested value: CONFIG_M686=y
Actual value:
Value requested for CONFIG_MPENTIUMII not in final .config
Requested value: # CONFIG_MPENTIUMII is not set
Actual value:
Value requested for CONFIG_MPENTIUMIII not in final .config
Requested value: # CONFIG_MPENTIUMIII is not set
Actual value:
Value requested for CONFIG_MPENTIUMM not in final .config
Requested value: # CONFIG_MPENTIUMM is not set
Actual value:
Value requested for CONFIG_MPENTIUM4 not in final .config
Requested value: # CONFIG_MPENTIUM4 is not set
Actual value:
Value requested for CONFIG_MK6 not in final .config
Requested value: # CONFIG_MK6 is not set
Actual value:
Value requested for CONFIG_MK7 not in final .config
Requested value: # CONFIG_MK7 is not set
Actual value:
Value requested for CONFIG_MCRUSOE not in final .config
Requested value: # CONFIG_MCRUSOE is not set
Actual value:
Value requested for CONFIG_MEFFICEON not in final .config
Requested value: # CONFIG_MEFFICEON is not set
Actual value:
Value requested for CONFIG_MWINCHIPC6 not in final .config
Requested value: # CONFIG_MWINCHIPC6 is not set
Actual value:
Value requested for CONFIG_MWINCHIP3D not in final .config
Requested value: # CONFIG_MWINCHIP3D is not set
Actual value:
Value requested for CONFIG_MELAN not in final .config
Requested value: # CONFIG_MELAN is not set
Actual value:
Value requested for CONFIG_MGEODEGX1 not in final .config
Requested value: # CONFIG_MGEODEGX1 is not set
Actual value:
Value requested for CONFIG_MGEODE_LX not in final .config
Requested value: # CONFIG_MGEODE_LX is not set
Actual value:
Value requested for CONFIG_MCYRIXIII not in final .config
Requested value: # CONFIG_MCYRIXIII is not set
Actual value:
Value requested for CONFIG_MVIAC3_2 not in final .config
Requested value: # CONFIG_MVIAC3_2 is not set
Actual value:
Value requested for CONFIG_MVIAC7 not in final .config
Requested value: # CONFIG_MVIAC7 is not set
Actual value:
Value requested for CONFIG_X86_GENERIC not in final .config
Requested value: # CONFIG_X86_GENERIC is not set
Actual value:
Value requested for CONFIG_X86_INTERNODE_CACHE_SHIFT not in final .config
Requested value: CONFIG_X86_INTERNODE_CACHE_SHIFT=5
Actual value: CONFIG_X86_INTERNODE_CACHE_SHIFT=6
Value requested for CONFIG_X86_L1_CACHE_SHIFT not in final .config
Requested value: CONFIG_X86_L1_CACHE_SHIFT=5
Actual value: CONFIG_X86_L1_CACHE_SHIFT=6
Value requested for CONFIG_X86_USE_PPRO_CHECKSUM not in final .config
Requested value: CONFIG_X86_USE_PPRO_CHECKSUM=y
Actual value:
Value requested for CONFIG_X86_MINIMUM_CPU_FAMILY not in final .config
Requested value: CONFIG_X86_MINIMUM_CPU_FAMILY=6
Actual value: CONFIG_X86_MINIMUM_CPU_FAMILY=64
Value requested for CONFIG_CPU_SUP_TRANSMETA_32 not in final .config
Requested value: CONFIG_CPU_SUP_TRANSMETA_32=y
Actual value:
Value requested for CONFIG_CPU_SUP_VORTEX_32 not in final .config
Requested value: CONFIG_CPU_SUP_VORTEX_32=y
Actual value:
Value requested for CONFIG_HPET_TIMER not in final .config
Requested value: # CONFIG_HPET_TIMER is not set
Actual value: CONFIG_HPET_TIMER=y
Value requested for CONFIG_NR_CPUS_RANGE_END not in final .config
Requested value: CONFIG_NR_CPUS_RANGE_END=8
Actual value: CONFIG_NR_CPUS_RANGE_END=512
Value requested for CONFIG_NR_CPUS_DEFAULT not in final .config
Requested value: CONFIG_NR_CPUS_DEFAULT=8
Actual value: CONFIG_NR_CPUS_DEFAULT=64
Value requested for CONFIG_X86_ANCIENT_MCE not in final .config
Requested value: # CONFIG_X86_ANCIENT_MCE is not set
Actual value:
Value requested for CONFIG_X86_LEGACY_VM86 not in final .config
Requested value: # CONFIG_X86_LEGACY_VM86 is not set
Actual value:
Value requested for CONFIG_X86_ESPFIX32 not in final .config
Requested value: CONFIG_X86_ESPFIX32=y
Actual value:
Value requested for CONFIG_TOSHIBA not in final .config
Requested value: # CONFIG_TOSHIBA is not set
Actual value:
Value requested for CONFIG_X86_REBOOTFIXUPS not in final .config
Requested value: # CONFIG_X86_REBOOTFIXUPS is not set
Actual value:
Value requested for CONFIG_MICROCODE_INITRD32 not in final .config
Requested value: CONFIG_MICROCODE_INITRD32=y
Actual value:
Value requested for CONFIG_NOHIGHMEM not in final .config
Requested value: # CONFIG_NOHIGHMEM is not set
Actual value:
Value requested for CONFIG_HIGHMEM4G not in final .config
Requested value: CONFIG_HIGHMEM4G=y
Actual value:
Value requested for CONFIG_HIGHMEM64G not in final .config
Requested value: # CONFIG_HIGHMEM64G is not set
Actual value:
Value requested for CONFIG_VMSPLIT_3G not in final .config
Requested value: CONFIG_VMSPLIT_3G=y
Actual value:
Value requested for CONFIG_VMSPLIT_3G_OPT not in final .config
Requested value: # CONFIG_VMSPLIT_3G_OPT is not set
Actual value:
Value requested for CONFIG_VMSPLIT_2G not in final .config
Requested value: # CONFIG_VMSPLIT_2G is not set
Actual value:
Value requested for CONFIG_VMSPLIT_2G_OPT not in final .config
Requested value: # CONFIG_VMSPLIT_2G_OPT is not set
Actual value:
Value requested for CONFIG_VMSPLIT_1G not in final .config
Requested value: # CONFIG_VMSPLIT_1G is not set
Actual value:
Value requested for CONFIG_PAGE_OFFSET not in final .config
Requested value: CONFIG_PAGE_OFFSET=0xC0000000
Actual value:
Value requested for CONFIG_HIGHMEM not in final .config
Requested value: CONFIG_HIGHMEM=y
Actual value:
Value requested for CONFIG_X86_PAE not in final .config
Requested value: # CONFIG_X86_PAE is not set
Actual value:
Value requested for CONFIG_ARCH_FLATMEM_ENABLE not in final .config
Requested value: CONFIG_ARCH_FLATMEM_ENABLE=y
Actual value:
Value requested for CONFIG_ARCH_SELECT_MEMORY_MODEL not in final .config
Requested value: CONFIG_ARCH_SELECT_MEMORY_MODEL=y
Actual value:
Value requested for CONFIG_ILLEGAL_POINTER_VALUE not in final .config
Requested value: CONFIG_ILLEGAL_POINTER_VALUE=0
Actual value: CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
Value requested for CONFIG_HIGHPTE not in final .config
Requested value: # CONFIG_HIGHPTE is not set
Actual value:
Value requested for CONFIG_COMPAT_VDSO not in final .config
Requested value: # CONFIG_COMPAT_VDSO is not set
Actual value:
Value requested for CONFIG_FUNCTION_PADDING_CFI not in final .config
Requested value: CONFIG_FUNCTION_PADDING_CFI=0
Actual value: CONFIG_FUNCTION_PADDING_CFI=11
Value requested for CONFIG_FUNCTION_PADDING_BYTES not in final .config
Requested value: CONFIG_FUNCTION_PADDING_BYTES=4
Actual value: CONFIG_FUNCTION_PADDING_BYTES=16
Value requested for CONFIG_APM not in final .config
Requested value: # CONFIG_APM is not set
Actual value:
Value requested for CONFIG_X86_POWERNOW_K6 not in final .config
Requested value: # CONFIG_X86_POWERNOW_K6 is not set
Actual value:
Value requested for CONFIG_X86_POWERNOW_K7 not in final .config
Requested value: # CONFIG_X86_POWERNOW_K7 is not set
Actual value:
Value requested for CONFIG_X86_GX_SUSPMOD not in final .config
Requested value: # CONFIG_X86_GX_SUSPMOD is not set
Actual value:
Value requested for CONFIG_X86_SPEEDSTEP_ICH not in final .config
Requested value: # CONFIG_X86_SPEEDSTEP_ICH is not set
Actual value:
Value requested for CONFIG_X86_SPEEDSTEP_SMI not in final .config
Requested value: # CONFIG_X86_SPEEDSTEP_SMI is not set
Actual value:
Value requested for CONFIG_X86_CPUFREQ_NFORCE2 not in final .config
Requested value: # CONFIG_X86_CPUFREQ_NFORCE2 is not set
Actual value:
Value requested for CONFIG_X86_LONGRUN not in final .config
Requested value: # CONFIG_X86_LONGRUN is not set
Actual value:
Value requested for CONFIG_X86_LONGHAUL not in final .config
Requested value: # CONFIG_X86_LONGHAUL is not set
Actual value:
Value requested for CONFIG_X86_E_POWERSAVER not in final .config
Requested value: # CONFIG_X86_E_POWERSAVER is not set
Actual value:
Value requested for CONFIG_PCI_GOBIOS not in final .config
Requested value: # CONFIG_PCI_GOBIOS is not set
Actual value:
Value requested for CONFIG_PCI_GOMMCONFIG not in final .config
Requested value: # CONFIG_PCI_GOMMCONFIG is not set
Actual value:
Value requested for CONFIG_PCI_GODIRECT not in final .config
Requested value: # CONFIG_PCI_GODIRECT is not set
Actual value:
Value requested for CONFIG_PCI_GOANY not in final .config
Requested value: CONFIG_PCI_GOANY=y
Actual value:
Value requested for CONFIG_PCI_BIOS not in final .config
Requested value: CONFIG_PCI_BIOS=y
Actual value:
Value requested for CONFIG_ISA not in final .config
Requested value: # CONFIG_ISA is not set
Actual value:
Value requested for CONFIG_SCx200 not in final .config
Requested value: # CONFIG_SCx200 is not set
Actual value:
Value requested for CONFIG_OLPC not in final .config
Requested value: # CONFIG_OLPC is not set
Actual value:
Value requested for CONFIG_ALIX not in final .config
Requested value: # CONFIG_ALIX is not set
Actual value:
Value requested for CONFIG_NET5501 not in final .config
Requested value: # CONFIG_NET5501 is not set
Actual value:
Value requested for CONFIG_GEOS not in final .config
Requested value: # CONFIG_GEOS is not set
Actual value:
Value requested for CONFIG_COMPAT_32 not in final .config
Requested value: CONFIG_COMPAT_32=y
Actual value:
Value requested for CONFIG_HAVE_ATOMIC_IOMAP not in final .config
Requested value: CONFIG_HAVE_ATOMIC_IOMAP=y
Actual value:
Value requested for CONFIG_ARCH_32BIT_OFF_T not in final .config
Requested value: CONFIG_ARCH_32BIT_OFF_T=y
Actual value:
Value requested for CONFIG_ARCH_WANT_IPC_PARSE_VERSION not in final .config
Requested value: CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
Actual value:
Value requested for CONFIG_MODULES_USE_ELF_REL not in final .config
Requested value: CONFIG_MODULES_USE_ELF_REL=y
Actual value:
Value requested for CONFIG_ARCH_MMAP_RND_BITS not in final .config
Requested value: CONFIG_ARCH_MMAP_RND_BITS=8
Actual value: CONFIG_ARCH_MMAP_RND_BITS=28
Value requested for CONFIG_CLONE_BACKWARDS not in final .config
Requested value: CONFIG_CLONE_BACKWARDS=y
Actual value:
Value requested for CONFIG_OLD_SIGSUSPEND3 not in final .config
Requested value: CONFIG_OLD_SIGSUSPEND3=y
Actual value:
Value requested for CONFIG_OLD_SIGACTION not in final .config
Requested value: CONFIG_OLD_SIGACTION=y
Actual value:
Value requested for CONFIG_ARCH_SPLIT_ARG64 not in final .config
Requested value: CONFIG_ARCH_SPLIT_ARG64=y
Actual value:
Value requested for CONFIG_FUNCTION_ALIGNMENT not in final .config
Requested value: CONFIG_FUNCTION_ALIGNMENT=4
Actual value: CONFIG_FUNCTION_ALIGNMENT=16
Value requested for CONFIG_SELECT_MEMORY_MODEL not in final .config
Requested value: CONFIG_SELECT_MEMORY_MODEL=y
Actual value:
Value requested for CONFIG_FLATMEM_MANUAL not in final .config
Requested value: CONFIG_FLATMEM_MANUAL=y
Actual value:
Value requested for CONFIG_SPARSEMEM_MANUAL not in final .config
Requested value: # CONFIG_SPARSEMEM_MANUAL is not set
Actual value:
Value requested for CONFIG_FLATMEM not in final .config
Requested value: CONFIG_FLATMEM=y
Actual value:
Value requested for CONFIG_SPARSEMEM_STATIC not in final .config
Requested value: CONFIG_SPARSEMEM_STATIC=y
Actual value:
Value requested for CONFIG_BOUNCE not in final .config
Requested value: CONFIG_BOUNCE=y
Actual value:
Value requested for CONFIG_KMAP_LOCAL not in final .config
Requested value: CONFIG_KMAP_LOCAL=y
Actual value:
Value requested for CONFIG_HOTPLUG_PCI_COMPAQ not in final .config
Requested value: # CONFIG_HOTPLUG_PCI_COMPAQ is not set
Actual value:
Value requested for CONFIG_HOTPLUG_PCI_IBM not in final .config
Requested value: # CONFIG_HOTPLUG_PCI_IBM is not set
Actual value:
Value requested for CONFIG_EFI_CAPSULE_QUIRK_QUARK_CSH not in final .config
Requested value: CONFIG_EFI_CAPSULE_QUIRK_QUARK_CSH=y
Actual value:
Value requested for CONFIG_PCH_PHUB not in final .config
Requested value: # CONFIG_PCH_PHUB is not set
Actual value:
Value requested for CONFIG_SCSI_NSP32 not in final .config
Requested value: # CONFIG_SCSI_NSP32 is not set
Actual value:
Value requested for CONFIG_PATA_CS5520 not in final .config
Requested value: # CONFIG_PATA_CS5520 is not set
Actual value:
Value requested for CONFIG_PATA_CS5530 not in final .config
Requested value: # CONFIG_PATA_CS5530 is not set
Actual value:
Value requested for CONFIG_PATA_CS5535 not in final .config
Requested value: # CONFIG_PATA_CS5535 is not set
Actual value:
Value requested for CONFIG_PATA_CS5536 not in final .config
Requested value: # CONFIG_PATA_CS5536 is not set
Actual value:
Value requested for CONFIG_PATA_SC1200 not in final .config
Requested value: # CONFIG_PATA_SC1200 is not set
Actual value:
Value requested for CONFIG_PCH_GBE not in final .config
Requested value: # CONFIG_PCH_GBE is not set
Actual value:
Value requested for CONFIG_INPUT_WISTRON_BTNS not in final .config
Requested value: # CONFIG_INPUT_WISTRON_BTNS is not set
Actual value:
Value requested for CONFIG_SERIAL_TIMBERDALE not in final .config
Requested value: # CONFIG_SERIAL_TIMBERDALE is not set
Actual value:
Value requested for CONFIG_SERIAL_PCH_UART not in final .config
Requested value: # CONFIG_SERIAL_PCH_UART is not set
Actual value:
Value requested for CONFIG_HW_RANDOM_GEODE not in final .config
Requested value: CONFIG_HW_RANDOM_GEODE=y
Actual value:
Value requested for CONFIG_SONYPI not in final .config
Requested value: # CONFIG_SONYPI is not set
Actual value:
Value requested for CONFIG_PC8736x_GPIO not in final .config
Requested value: # CONFIG_PC8736x_GPIO is not set
Actual value:
Value requested for CONFIG_NSC_GPIO not in final .config
Requested value: # CONFIG_NSC_GPIO is not set
Actual value:
Value requested for CONFIG_I2C_EG20T not in final .config
Requested value: # CONFIG_I2C_EG20T is not set
Actual value:
Value requested for CONFIG_SCx200_ACB not in final .config
Requested value: # CONFIG_SCx200_ACB is not set
Actual value:
Value requested for CONFIG_PTP_1588_CLOCK_PCH not in final .config
Requested value: # CONFIG_PTP_1588_CLOCK_PCH is not set
Actual value:
Value requested for CONFIG_SBC8360_WDT not in final .config
Requested value: # CONFIG_SBC8360_WDT is not set
Actual value:
Value requested for CONFIG_SBC7240_WDT not in final .config
Requested value: # CONFIG_SBC7240_WDT is not set
Actual value:
Value requested for CONFIG_MFD_CS5535 not in final .config
Requested value: # CONFIG_MFD_CS5535 is not set
Actual value:
Value requested for CONFIG_AGP_ALI not in final .config
Requested value: # CONFIG_AGP_ALI is not set
Actual value:
Value requested for CONFIG_AGP_ATI not in final .config
Requested value: # CONFIG_AGP_ATI is not set
Actual value:
Value requested for CONFIG_AGP_AMD not in final .config
Requested value: # CONFIG_AGP_AMD is not set
Actual value:
Value requested for CONFIG_AGP_NVIDIA not in final .config
Requested value: # CONFIG_AGP_NVIDIA is not set
Actual value:
Value requested for CONFIG_AGP_SWORKS not in final .config
Requested value: # CONFIG_AGP_SWORKS is not set
Actual value:
Value requested for CONFIG_AGP_EFFICEON not in final .config
Requested value: # CONFIG_AGP_EFFICEON is not set
Actual value:
Value requested for CONFIG_SND_CS5530 not in final .config
Requested value: # CONFIG_SND_CS5530 is not set
Actual value:
Value requested for CONFIG_SND_CS5535AUDIO not in final .config
Requested value: # CONFIG_SND_CS5535AUDIO is not set
Actual value:
Value requested for CONFIG_SND_SIS7019 not in final .config
Requested value: # CONFIG_SND_SIS7019 is not set
Actual value:
Value requested for CONFIG_LEDS_OT200 not in final .config
Requested value: # CONFIG_LEDS_OT200 is not set
Actual value:
Value requested for CONFIG_PCH_DMA not in final .config
Requested value: # CONFIG_PCH_DMA is not set
Actual value:
Value requested for CONFIG_CLKSRC_I8253 not in final .config
Requested value: CONFIG_CLKSRC_I8253=y
Actual value:
Value requested for CONFIG_MAILBOX not in final .config
Requested value: # CONFIG_MAILBOX is not set
Actual value: CONFIG_MAILBOX=y
Value requested for CONFIG_CRYPTO_SERPENT_SSE2_586 not in final .config
Requested value: # CONFIG_CRYPTO_SERPENT_SSE2_586 is not set
Actual value:
Value requested for CONFIG_CRYPTO_TWOFISH_586 not in final .config
Requested value: # CONFIG_CRYPTO_TWOFISH_586 is not set
Actual value:
Value requested for CONFIG_CRYPTO_DEV_GEODE not in final .config
Requested value: # CONFIG_CRYPTO_DEV_GEODE is not set
Actual value:
Value requested for CONFIG_CRYPTO_DEV_HIFN_795X not in final .config
Requested value: # CONFIG_CRYPTO_DEV_HIFN_795X is not set
Actual value:
Value requested for CONFIG_CRYPTO_LIB_POLY1305_RSIZE not in final .config
Requested value: CONFIG_CRYPTO_LIB_POLY1305_RSIZE=1
Actual value: CONFIG_CRYPTO_LIB_POLY1305_RSIZE=11
Value requested for CONFIG_AUDIT_GENERIC not in final .config
Requested value: CONFIG_AUDIT_GENERIC=y
Actual value:
Value requested for CONFIG_GENERIC_VDSO_32 not in final .config
Requested value: CONFIG_GENERIC_VDSO_32=y
Actual value:
Value requested for CONFIG_DEBUG_KMAP_LOCAL not in final .config
Requested value: # CONFIG_DEBUG_KMAP_LOCAL is not set
Actual value:
Value requested for CONFIG_DEBUG_HIGHMEM not in final .config
Requested value: # CONFIG_DEBUG_HIGHMEM is not set
Actual value:
Value requested for CONFIG_HAVE_DEBUG_STACKOVERFLOW not in final .config
Requested value: CONFIG_HAVE_DEBUG_STACKOVERFLOW=y
Actual value:
Value requested for CONFIG_DEBUG_STACKOVERFLOW not in final .config
Requested value: # CONFIG_DEBUG_STACKOVERFLOW is not set
Actual value:
Value requested for CONFIG_HAVE_FUNCTION_GRAPH_TRACER not in final .config
Requested value: CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
Actual value:
Value requested for CONFIG_HAVE_FUNCTION_GRAPH_RETVAL not in final .config
Requested value: CONFIG_HAVE_FUNCTION_GRAPH_RETVAL=y
Actual value:
Value requested for CONFIG_DRM_KUNIT_TEST not in final .config
Requested value: CONFIG_DRM_KUNIT_TEST=m
Actual value:
Value requested for CONFIG_DRM_XE_WERROR not in final .config
Requested value: CONFIG_DRM_XE_WERROR=y
Actual value:
Value requested for CONFIG_DRM_XE_DEBUG not in final .config
Requested value: CONFIG_DRM_XE_DEBUG=y
Actual value:
Value requested for CONFIG_DRM_XE_DEBUG_MEM not in final .config
Requested value: CONFIG_DRM_XE_DEBUG_MEM=y
Actual value:
Value requested for CONFIG_DRM_XE_KUNIT_TEST not in final .config
Requested value: CONFIG_DRM_XE_KUNIT_TEST=m
Actual value:
++ nproc
+ make -j48 ARCH=i386 olddefconfig
GEN Makefile
WARNING: unmet direct dependencies detected for FB_IOMEM_HELPERS
Depends on [n]: HAS_IOMEM [=y] && FB_CORE [=n]
Selected by [m]:
- DRM_XE_DISPLAY [=y] && HAS_IOMEM [=y] && DRM [=y] && DRM_XE [=m] && DRM_XE [=m]=m [=m] && HAS_IOPORT [=y]
#
# configuration written to .config
#
++ nproc
+ make -j48 ARCH=i386
SYNC include/config/auto.conf.cmd
GEN Makefile
WARNING: unmet direct dependencies detected for FB_IOMEM_HELPERS
Depends on [n]: HAS_IOMEM [=y] && FB_CORE [=n]
Selected by [m]:
- DRM_XE_DISPLAY [=y] && HAS_IOMEM [=y] && DRM [=y] && DRM_XE [=m] && DRM_XE [=m]=m [=m] && HAS_IOPORT [=y]
WARNING: unmet direct dependencies detected for FB_IOMEM_HELPERS
Depends on [n]: HAS_IOMEM [=y] && FB_CORE [=n]
Selected by [m]:
- DRM_XE_DISPLAY [=y] && HAS_IOMEM [=y] && DRM [=y] && DRM_XE [=m] && DRM_XE [=m]=m [=m] && HAS_IOPORT [=y]
WARNING: unmet direct dependencies detected for FB_IOMEM_HELPERS
Depends on [n]: HAS_IOMEM [=y] && FB_CORE [=n]
Selected by [m]:
- DRM_XE_DISPLAY [=y] && HAS_IOMEM [=y] && DRM [=y] && DRM_XE [=m] && DRM_XE [=m]=m [=m] && HAS_IOPORT [=y]
GEN Makefile
WRAP arch/x86/include/generated/uapi/asm/bpf_perf_event.h
WRAP arch/x86/include/generated/uapi/asm/errno.h
WRAP arch/x86/include/generated/uapi/asm/fcntl.h
SYSHDR arch/x86/include/generated/uapi/asm/unistd_32.h
WRAP arch/x86/include/generated/uapi/asm/ioctl.h
SYSHDR arch/x86/include/generated/uapi/asm/unistd_64.h
WRAP arch/x86/include/generated/uapi/asm/ioctls.h
UPD include/generated/uapi/linux/version.h
SYSTBL arch/x86/include/generated/asm/syscalls_32.h
WRAP arch/x86/include/generated/uapi/asm/ipcbuf.h
SYSHDR arch/x86/include/generated/uapi/asm/unistd_x32.h
WRAP arch/x86/include/generated/uapi/asm/param.h
WRAP arch/x86/include/generated/uapi/asm/poll.h
WRAP arch/x86/include/generated/uapi/asm/resource.h
WRAP arch/x86/include/generated/uapi/asm/socket.h
WRAP arch/x86/include/generated/uapi/asm/sockios.h
WRAP arch/x86/include/generated/uapi/asm/termbits.h
WRAP arch/x86/include/generated/uapi/asm/termios.h
WRAP arch/x86/include/generated/uapi/asm/types.h
UPD include/generated/compile.h
HOSTCC arch/x86/tools/relocs_32.o
HOSTCC arch/x86/tools/relocs_64.o
HOSTCC arch/x86/tools/relocs_common.o
WRAP arch/x86/include/generated/asm/early_ioremap.h
WRAP arch/x86/include/generated/asm/mcs_spinlock.h
WRAP arch/x86/include/generated/asm/mmzone.h
WRAP arch/x86/include/generated/asm/irq_regs.h
HOSTCC scripts/kallsyms
WRAP arch/x86/include/generated/asm/kmap_size.h
HOSTCC scripts/sorttable
WRAP arch/x86/include/generated/asm/local64.h
HOSTCC scripts/asn1_compiler
WRAP arch/x86/include/generated/asm/mmiowb.h
WRAP arch/x86/include/generated/asm/module.lds.h
WRAP arch/x86/include/generated/asm/rwonce.h
HOSTCC scripts/selinux/mdp/mdp
HOSTLD arch/x86/tools/relocs
UPD include/config/kernel.release
UPD include/generated/utsrelease.h
CC scripts/mod/empty.o
HOSTCC scripts/mod/mk_elfconfig
CC scripts/mod/devicetable-offsets.s
UPD scripts/mod/devicetable-offsets.h
MKELF scripts/mod/elfconfig.h
HOSTCC scripts/mod/modpost.o
HOSTCC scripts/mod/file2alias.o
HOSTCC scripts/mod/sumversion.o
HOSTCC scripts/mod/symsearch.o
HOSTLD scripts/mod/modpost
CC kernel/bounds.s
CHKSHA1 /workspace/kernel/include/linux/atomic/atomic-arch-fallback.h
CHKSHA1 /workspace/kernel/include/linux/atomic/atomic-instrumented.h
CHKSHA1 /workspace/kernel/include/linux/atomic/atomic-long.h
UPD include/generated/timeconst.h
UPD include/generated/bounds.h
CC arch/x86/kernel/asm-offsets.s
UPD include/generated/asm-offsets.h
CALL /workspace/kernel/scripts/checksyscalls.sh
LDS scripts/module.lds
CC init/main.o
HOSTCC usr/gen_init_cpio
CC init/do_mounts.o
CC certs/system_keyring.o
CC init/do_mounts_initrd.o
UPD init/utsversion-tmp.h
CC init/initramfs.o
CC ipc/util.o
CC security/commoncap.o
CC init/calibrate.o
CC ipc/msgutil.o
CC security/lsm_syscalls.o
CC ipc/msg.o
CC mm/filemap.o
CC init/init_task.o
AS arch/x86/lib/atomic64_cx8_32.o
CC security/min_addr.o
AS arch/x86/entry/entry.o
CC io_uring/io_uring.o
CC ipc/sem.o
CC arch/x86/power/cpu.o
CC arch/x86/pci/i386.o
CC arch/x86/video/video-common.o
CC arch/x86/power/hibernate_32.o
CC security/keys/gc.o
CC arch/x86/realmode/init.o
HOSTCC security/selinux/genheaders
AR arch/x86/crypto/built-in.a
CC security/integrity/iint.o
AR arch/x86/net/built-in.a
AR virt/lib/built-in.a
AR arch/x86/entry/vsyscall/built-in.a
CC block/partitions/core.o
CC arch/x86/events/amd/core.o
CC fs/iomap/trace.o
AR drivers/cache/built-in.a
CC lib/math/div64.o
CC fs/nfs_common/nfsacl.o
AR arch/x86/platform/atom/built-in.a
CC fs/quota/dquot.o
CC security/integrity/integrity_audit.o
CC arch/x86/virt/svm/cmdline.o
AR virt/built-in.a
CC fs/quota/quota_v2.o
CC block/partitions/msdos.o
CC fs/notify/dnotify/dnotify.o
CC net/core/sock.o
CC arch/x86/mm/pat/set_memory.o
CC arch/x86/kernel/fpu/init.o
CC sound/core/seq/seq.o
AR drivers/irqchip/built-in.a
AS arch/x86/lib/checksum_32.o
AR arch/x86/platform/ce4100/built-in.a
CC arch/x86/entry/vdso/vma.o
AR drivers/bus/mhi/built-in.a
CC arch/x86/platform/efi/memmap.o
AR sound/i2c/other/built-in.a
AR sound/drivers/opl3/built-in.a
AR drivers/bus/built-in.a
AR sound/i2c/built-in.a
CC arch/x86/lib/cmdline.o
CC kernel/sched/core.o
AR sound/drivers/opl4/built-in.a
CC mm/mempool.o
CC crypto/asymmetric_keys/asymmetric_type.o
AR drivers/pwm/built-in.a
AR sound/drivers/mpu401/built-in.a
AR sound/drivers/vx/built-in.a
AR drivers/leds/trigger/built-in.a
AR drivers/leds/blink/built-in.a
AR sound/drivers/pcsp/built-in.a
AR sound/drivers/built-in.a
AR arch/x86/virt/svm/built-in.a
AR drivers/leds/simple/built-in.a
CC drivers/leds/led-core.o
CC mm/oom_kill.o
AR arch/x86/virt/vmx/built-in.a
AR arch/x86/virt/built-in.a
CC mm/fadvise.o
AS arch/x86/lib/cmpxchg8b_emu.o
CC lib/math/gcd.o
GEN security/selinux/flask.h security/selinux/av_permissions.h
CC arch/x86/lib/cpu.o
CC security/selinux/avc.o
CC lib/math/lcm.o
AS arch/x86/entry/entry_32.o
CC lib/math/int_log.o
GEN usr/initramfs_data.cpio
CC block/bdev.o
COPY usr/initramfs_inc_data
AS usr/initramfs_data.o
HOSTCC certs/extract-cert
AR usr/built-in.a
CC arch/x86/kernel/fpu/bugs.o
CC arch/x86/kernel/fpu/core.o
CC lib/math/int_pow.o
CC lib/math/int_sqrt.o
CC arch/x86/events/amd/lbr.o
CC lib/math/reciprocal_div.o
CC sound/core/seq/seq_lock.o
CC arch/x86/lib/delay.o
AS arch/x86/realmode/rm/header.o
CC lib/math/rational.o
AS arch/x86/realmode/rm/trampoline_32.o
AR arch/x86/video/built-in.a
CC drivers/leds/led-class.o
AS arch/x86/realmode/rm/stack.o
AS arch/x86/realmode/rm/reboot.o
CERT certs/x509_certificate_list
CC arch/x86/kernel/cpu/mce/core.o
CERT certs/signing_key.x509
CC arch/x86/kernel/acpi/boot.o
AS certs/system_certificates.o
AS arch/x86/realmode/rm/wakeup_asm.o
CC arch/x86/kernel/acpi/sleep.o
CC arch/x86/kernel/apic/apic.o
CC sound/core/seq/seq_clientmgr.o
CC arch/x86/kernel/kprobes/core.o
AR certs/built-in.a
CC arch/x86/realmode/rm/wakemain.o
CC fs/iomap/iter.o
CC fs/nfs_common/grace.o
CC arch/x86/realmode/rm/video-mode.o
AR security/integrity/built-in.a
CC arch/x86/events/amd/ibs.o
CC mm/maccess.o
CC arch/x86/kernel/cpu/mtrr/mtrr.o
CC crypto/asymmetric_keys/restrict.o
AR fs/notify/dnotify/built-in.a
CC security/keys/key.o
CC arch/x86/kernel/cpu/microcode/core.o
CC arch/x86/pci/init.o
CC fs/notify/inotify/inotify_fsnotify.o
CC arch/x86/platform/efi/quirks.o
CC arch/x86/entry/vdso/extable.o
CC arch/x86/kernel/kprobes/opt.o
AS arch/x86/power/hibernate_asm_32.o
CC arch/x86/kernel/cpu/cacheinfo.o
AS arch/x86/realmode/rm/copy.o
CC arch/x86/power/hibernate.o
AS arch/x86/realmode/rm/bioscall.o
CC arch/x86/realmode/rm/regs.o
AS arch/x86/lib/getuser.o
CC block/partitions/efi.o
GEN arch/x86/lib/inat-tables.c
CC arch/x86/lib/insn-eval.o
CC arch/x86/realmode/rm/video-vga.o
CC arch/x86/mm/init.o
CC arch/x86/entry/syscall_32.o
AR lib/math/built-in.a
CC lib/crypto/mpi/generic_mpih-lshift.o
CC arch/x86/realmode/rm/video-vesa.o
CC lib/zlib_inflate/inffast.o
CC io_uring/opdef.o
CC arch/x86/kernel/fpu/regset.o
CC arch/x86/realmode/rm/video-bios.o
CC arch/x86/events/intel/core.o
CC drivers/leds/led-triggers.o
PASYMS arch/x86/realmode/rm/pasyms.h
CC arch/x86/kernel/fpu/signal.o
CC crypto/asymmetric_keys/signature.o
LDS arch/x86/realmode/rm/realmode.lds
CC lib/zlib_inflate/inflate.o
AS arch/x86/kernel/acpi/wakeup_32.o
LD arch/x86/realmode/rm/realmode.elf
RELOCS arch/x86/realmode/rm/realmode.relocs
OBJCOPY arch/x86/realmode/rm/realmode.bin
AS arch/x86/realmode/rmpiggy.o
CC ipc/shm.o
CC arch/x86/entry/common.o
AR arch/x86/realmode/built-in.a
CC io_uring/kbuf.o
CC fs/notify/inotify/inotify_user.o
CC crypto/api.o
CC arch/x86/mm/pat/memtype.o
CC arch/x86/mm/pat/memtype_interval.o
CC security/keys/keyring.o
CC fs/nfs_common/common.o
CC init/version.o
CC fs/iomap/buffered-io.o
CC arch/x86/pci/pcbios.o
CC arch/x86/kernel/cpu/microcode/intel.o
CC arch/x86/kernel/cpu/mtrr/if.o
AR arch/x86/power/built-in.a
AS arch/x86/entry/thunk.o
LDS arch/x86/kernel/vmlinux.lds
CC lib/crypto/memneq.o
LDS arch/x86/entry/vdso/vdso32/vdso32.lds
CC arch/x86/lib/insn.o
CC lib/crypto/mpi/generic_mpih-mul1.o
AS arch/x86/entry/vdso/vdso32/note.o
AS arch/x86/entry/vdso/vdso32/system_call.o
CC mm/page-writeback.o
AS arch/x86/entry/vdso/vdso32/sigreturn.o
AR init/built-in.a
CC arch/x86/entry/vdso/vdso32/vclock_gettime.o
CC arch/x86/kernel/acpi/cstate.o
AR fs/notify/fanotify/built-in.a
CC lib/zlib_deflate/deflate.o
AR arch/x86/kernel/kprobes/built-in.a
CC arch/x86/events/intel/bts.o
CC crypto/asymmetric_keys/public_key.o
CC arch/x86/kernel/apic/apic_common.o
CC arch/x86/platform/efi/efi.o
CC arch/x86/pci/mmconfig_32.o
AR block/partitions/built-in.a
CC block/fops.o
CC lib/zlib_deflate/deftree.o
CC fs/iomap/direct-io.o
CC net/ethernet/eth.o
CC security/selinux/hooks.o
CC net/core/request_sock.o
CC lib/zlib_inflate/infutil.o
CC arch/x86/lib/kaslr.o
CC arch/x86/pci/direct.o
CC arch/x86/events/amd/uncore.o
CC arch/x86/kernel/cpu/microcode/amd.o
AR drivers/leds/built-in.a
CC security/keys/keyctl.o
CC drivers/pci/msi/pcidev_msi.o
CC drivers/video/console/dummycon.o
CC sound/core/seq/seq_memory.o
CC sound/core/seq/seq_queue.o
CC fs/quota/quota_tree.o
CC lib/zlib_inflate/inftrees.o
CC arch/x86/kernel/fpu/xstate.o
CC sound/core/sound.o
CC arch/x86/lib/memcpy_32.o
CC arch/x86/kernel/cpu/mtrr/generic.o
AR fs/nfs_common/built-in.a
CC kernel/sched/fair.o
CC lib/crypto/mpi/generic_mpih-mul2.o
CC lib/zlib_deflate/deflate_syms.o
AS arch/x86/lib/memmove_32.o
CC fs/notify/fsnotify.o
CC arch/x86/lib/misc.o
AR arch/x86/kernel/acpi/built-in.a
CC fs/proc/task_mmu.o
CC fs/kernfs/mount.o
CC arch/x86/lib/pc-conf-reg.o
AS arch/x86/lib/putuser.o
CC lib/zlib_inflate/inflate_syms.o
AR net/802/built-in.a
AR fs/notify/inotify/built-in.a
CC io_uring/rsrc.o
CC drivers/pci/msi/api.o
ASN.1 crypto/asymmetric_keys/x509.asn1.[ch]
CC lib/lzo/lzo1x_compress.o
CC arch/x86/entry/vdso/vdso32/vgetcpu.o
AR arch/x86/mm/pat/built-in.a
CC arch/x86/mm/init_32.o
ASN.1 crypto/asymmetric_keys/x509_akid.asn1.[ch]
CC crypto/asymmetric_keys/x509_loader.o
HOSTCC arch/x86/entry/vdso/vdso2c
CC arch/x86/kernel/apic/apic_noop.o
CC lib/lzo/lzo1x_decompress_safe.o
AS arch/x86/lib/retpoline.o
CC sound/core/seq/seq_fifo.o
CC arch/x86/lib/string_32.o
CC arch/x86/kernel/cpu/mce/severity.o
CC fs/proc/inode.o
CC arch/x86/lib/strstr_32.o
CC arch/x86/lib/usercopy.o
CC ipc/syscall.o
CC drivers/video/console/vgacon.o
CC security/keys/permission.o
AR lib/zlib_deflate/built-in.a
CC crypto/asymmetric_keys/x509_public_key.o
CC fs/sysfs/file.o
AR lib/zlib_inflate/built-in.a
CC fs/sysfs/dir.o
CC arch/x86/pci/mmconfig-shared.o
CC fs/iomap/fiemap.o
CC fs/notify/notification.o
AR drivers/idle/built-in.a
CC sound/core/seq/seq_prioq.o
CC arch/x86/platform/efi/efi_32.o
AS arch/x86/platform/efi/efi_stub_32.o
CC lib/crypto/mpi/generic_mpih-mul3.o
CC security/security.o
CC arch/x86/entry/vdso/vdso32-setup.o
CC security/lsm_audit.o
CC arch/x86/kernel/apic/ipi.o
CC block/bio.o
CC fs/devpts/inode.o
CC ipc/ipc_sysctl.o
CC arch/x86/lib/usercopy_32.o
CC arch/x86/mm/fault.o
AR arch/x86/kernel/cpu/microcode/built-in.a
CC io_uring/notif.o
AR lib/lzo/built-in.a
CC arch/x86/mm/ioremap.o
CC lib/crypto/utils.o
CC fs/quota/quota.o
CC drivers/pci/msi/msi.o
CC net/core/skbuff.o
CC fs/kernfs/inode.o
CC sound/core/seq/seq_timer.o
CC fs/netfs/buffered_read.o
AR arch/x86/events/amd/built-in.a
CC fs/ext4/balloc.o
VDSO arch/x86/entry/vdso/vdso32.so.dbg
CC fs/jbd2/transaction.o
CC arch/x86/events/intel/ds.o
CC fs/ramfs/inode.o
OBJCOPY arch/x86/entry/vdso/vdso32.so
VDSO2C arch/x86/entry/vdso/vdso-image-32.c
CC arch/x86/entry/vdso/vdso-image-32.o
AR net/ethernet/built-in.a
ASN.1 crypto/asymmetric_keys/pkcs7.asn1.[ch]
AR arch/x86/platform/geode/built-in.a
CC crypto/asymmetric_keys/pkcs7_trust.o
CC arch/x86/lib/msr-smp.o
CC crypto/asymmetric_keys/pkcs7_verify.o
CC arch/x86/kernel/cpu/mtrr/cleanup.o
CC arch/x86/kernel/cpu/mtrr/amd.o
CC security/keys/process_keys.o
CC fs/notify/group.o
CC fs/notify/mark.o
AR drivers/char/ipmi/built-in.a
AR arch/x86/kernel/fpu/built-in.a
CC mm/folio-compat.o
CC fs/quota/kqid.o
CC arch/x86/kernel/cpu/mce/genpool.o
CC lib/lz4/lz4_decompress.o
CC lib/crypto/mpi/generic_mpih-rshift.o
CC ipc/mqueue.o
CC lib/crypto/chacha.o
CC fs/quota/netlink.o
CC arch/x86/kernel/apic/vector.o
CC fs/sysfs/symlink.o
AR arch/x86/entry/vdso/built-in.a
AR arch/x86/entry/built-in.a
CC arch/x86/platform/efi/runtime-map.o
CC drivers/pci/pcie/portdrv.o
CC fs/iomap/seek.o
CC block/elevator.o
CC arch/x86/lib/cache-smp.o
CC io_uring/tctx.o
CC arch/x86/events/zhaoxin/core.o
CC arch/x86/pci/fixup.o
AR fs/devpts/built-in.a
CC arch/x86/pci/acpi.o
CC crypto/asymmetric_keys/x509.asn1.o
AR drivers/video/console/built-in.a
CC arch/x86/lib/msr.o
CC drivers/video/backlight/backlight.o
CC crypto/asymmetric_keys/x509_akid.asn1.o
CC sound/core/init.o
CC crypto/asymmetric_keys/x509_cert_parser.o
CC fs/notify/fdinfo.o
CC sound/core/seq/seq_system.o
CC net/core/datagram.o
CC lib/zstd/zstd_decompress_module.o
CC fs/kernfs/dir.o
CC fs/ramfs/file-mmu.o
CC lib/crypto/mpi/generic_mpih-sub1.o
CC arch/x86/kernel/cpu/mtrr/cyrix.o
CC arch/x86/kernel/cpu/mce/intel.o
CC drivers/pci/msi/irqdomain.o
CC drivers/video/aperture.o
AR drivers/video/fbdev/core/built-in.a
CC fs/proc/root.o
CC sound/core/seq/seq_ports.o
AR drivers/video/fbdev/omap/built-in.a
AR drivers/video/fbdev/omap2/omapfb/dss/built-in.a
CC mm/readahead.o
CC mm/swap.o
AR drivers/video/fbdev/omap2/omapfb/displays/built-in.a
AR drivers/video/fbdev/omap2/omapfb/built-in.a
AR drivers/video/fbdev/omap2/built-in.a
AR drivers/video/fbdev/built-in.a
CC mm/truncate.o
CC fs/sysfs/mount.o
CC arch/x86/mm/extable.o
AS arch/x86/lib/msr-reg.o
AR fs/quota/built-in.a
CC drivers/video/cmdline.o
AR arch/x86/platform/efi/built-in.a
CC fs/iomap/swapfile.o
CC fs/netfs/buffered_write.o
AR arch/x86/platform/iris/built-in.a
CC fs/netfs/direct_read.o
CC arch/x86/platform/intel/iosf_mbi.o
CC lib/zstd/decompress/huf_decompress.o
CC drivers/pci/pcie/rcec.o
CC crypto/asymmetric_keys/pkcs7.asn1.o
CC block/blk-core.o
CC crypto/asymmetric_keys/pkcs7_parser.o
CC security/keys/request_key.o
AR fs/notify/built-in.a
CC mm/vmscan.o
CC fs/hugetlbfs/inode.o
AR arch/x86/events/zhaoxin/built-in.a
CC io_uring/filetable.o
CC fs/kernfs/file.o
AR drivers/pci/pwrctrl/built-in.a
CC arch/x86/pci/legacy.o
CC arch/x86/pci/irq.o
CC lib/crypto/mpi/generic_mpih-add1.o
CC fs/jbd2/commit.o
CC arch/x86/lib/msr-reg-export.o
AR drivers/video/backlight/built-in.a
AS arch/x86/kernel/head_32.o
CC arch/x86/kernel/cpu/mce/amd.o
CC arch/x86/kernel/cpu/mtrr/centaur.o
CC fs/netfs/direct_write.o
CC kernel/sched/build_policy.o
CC io_uring/rw.o
AR fs/ramfs/built-in.a
CC arch/x86/kernel/cpu/mtrr/legacy.o
CC lib/crypto/mpi/mpicoder.o
CC drivers/pci/hotplug/pci_hotplug_core.o
AR lib/lz4/built-in.a
AR drivers/pci/controller/dwc/built-in.a
AS arch/x86/lib/hweight.o
AR drivers/pci/controller/mobiveil/built-in.a
CC arch/x86/lib/iomem.o
AR drivers/pci/controller/plda/built-in.a
AR drivers/pci/controller/built-in.a
CC arch/x86/mm/mmap.o
AR drivers/pci/msi/built-in.a
CC fs/kernfs/symlink.o
CC drivers/video/nomodeset.o
CC sound/core/seq/seq_info.o
AR crypto/asymmetric_keys/built-in.a
CC fs/proc/base.o
CC crypto/cipher.o
CC ipc/namespace.o
CC fs/sysfs/group.o
AR fs/iomap/built-in.a
CC fs/proc/generic.o
CC fs/ext4/bitmap.o
CC arch/x86/kernel/apic/init.o
CC drivers/pci/pcie/bwctrl.o
CC sound/core/seq/seq_dummy.o
CC arch/x86/events/intel/knc.o
AR sound/isa/ad1816a/built-in.a
AR arch/x86/platform/intel/built-in.a
AR sound/isa/ad1848/built-in.a
AR arch/x86/platform/intel-mid/built-in.a
AR arch/x86/platform/intel-quark/built-in.a
AR sound/isa/cs423x/built-in.a
AR sound/isa/es1688/built-in.a
AR arch/x86/platform/olpc/built-in.a
AR sound/isa/galaxy/built-in.a
AR arch/x86/platform/scx200/built-in.a
CC lib/xz/xz_dec_syms.o
AR sound/isa/gus/built-in.a
AR arch/x86/platform/ts5500/built-in.a
CC drivers/pci/hotplug/acpi_pcihp.o
CC security/device_cgroup.o
CC arch/x86/kernel/cpu/scattered.o
AR sound/isa/msnd/built-in.a
AR arch/x86/platform/uv/built-in.a
AR arch/x86/platform/built-in.a
AR sound/isa/opti9xx/built-in.a
AR sound/isa/sb/built-in.a
AR arch/x86/kernel/cpu/mtrr/built-in.a
AR sound/isa/wavefront/built-in.a
CC arch/x86/kernel/apic/hw_nmi.o
CC sound/core/memory.o
CC arch/x86/lib/atomic64_32.o
AR sound/isa/wss/built-in.a
CC arch/x86/mm/pgtable.o
AR sound/isa/built-in.a
CC fs/fat/cache.o
CC drivers/video/hdmi.o
CC drivers/pci/pcie/aspm.o
CC fs/fat/dir.o
CC arch/x86/lib/inat.o
CC arch/x86/kernel/head32.o
CC security/keys/request_key_auth.o
AR arch/x86/lib/built-in.a
CC arch/x86/kernel/ebda.o
AR arch/x86/lib/lib.a
CC fs/ext4/block_validity.o
CC lib/zstd/decompress/zstd_ddict.o
CC lib/crypto/mpi/mpi-add.o
CC net/sched/sch_generic.o
CC security/keys/user_defined.o
AR sound/pci/ac97/built-in.a
CC lib/xz/xz_dec_stream.o
AR sound/pci/ali5451/built-in.a
AR sound/pci/asihpi/built-in.a
AR sound/pci/au88x0/built-in.a
CC mm/shrinker.o
AR sound/pci/aw2/built-in.a
CC ipc/mq_sysctl.o
CC fs/netfs/iterator.o
CC arch/x86/kernel/cpu/topology_common.o
AR sound/pci/ctxfi/built-in.a
CC security/selinux/selinuxfs.o
AR sound/pci/ca0106/built-in.a
CC fs/fat/fatent.o
CC io_uring/net.o
AR sound/pci/cs46xx/built-in.a
AR fs/kernfs/built-in.a
CC lib/zstd/decompress/zstd_decompress.o
AR sound/pci/cs5535audio/built-in.a
CC lib/crypto/aes.o
CC net/netlink/af_netlink.o
AR sound/pci/lola/built-in.a
CC crypto/compress.o
AR sound/pci/lx6464es/built-in.a
AR sound/core/seq/built-in.a
AR sound/pci/echoaudio/built-in.a
CC lib/xz/xz_dec_lzma2.o
AR sound/pci/emu10k1/built-in.a
CC sound/pci/hda/hda_bind.o
AR fs/sysfs/built-in.a
AR sound/pci/ice1712/built-in.a
CC sound/pci/hda/hda_codec.o
CC sound/core/control.o
CC fs/isofs/namei.o
CC net/core/stream.o
CC arch/x86/pci/common.o
CC arch/x86/kernel/platform-quirks.o
CC fs/proc/array.o
CC arch/x86/kernel/apic/io_apic.o
AR drivers/pci/hotplug/built-in.a
CC arch/x86/kernel/apic/msi.o
CC fs/jbd2/recovery.o
CC arch/x86/events/intel/lbr.o
CC fs/nfs/client.o
AR ipc/built-in.a
CC arch/x86/events/intel/p4.o
CC fs/nfs/dir.o
CC fs/exportfs/expfs.o
CC arch/x86/kernel/cpu/mce/threshold.o
CC arch/x86/mm/physaddr.o
AR fs/hugetlbfs/built-in.a
CC net/sched/sch_mq.o
AR drivers/video/built-in.a
CC fs/nfs/file.o
CC net/sched/sch_frag.o
CC fs/proc/fd.o
CC fs/isofs/inode.o
CC security/keys/proc.o
CC lib/crypto/mpi/mpi-bit.o
CC fs/ext4/dir.o
CC fs/proc/proc_tty.o
CC drivers/pci/pcie/pme.o
CC crypto/algapi.o
CC fs/netfs/locking.o
CC block/blk-sysfs.o
AR net/bpf/built-in.a
CC fs/lockd/clntlock.o
CC lib/xz/xz_dec_bcj.o
CC block/blk-flush.o
CC lib/zstd/decompress/zstd_decompress_block.o
CC arch/x86/mm/tlb.o
CC fs/netfs/main.o
CC lib/dim/dim.o
CC net/sched/sch_api.o
CC kernel/locking/mutex.o
CC net/sched/sch_blackhole.o
AR fs/exportfs/built-in.a
AR drivers/pci/switch/built-in.a
CC net/core/scm.o
CC arch/x86/kernel/apic/probe_32.o
CC arch/x86/pci/early.o
CC lib/crypto/mpi/mpi-cmp.o
CC lib/crypto/mpi/mpi-sub-ui.o
CC security/keys/sysctl.o
CC fs/fat/file.o
CC arch/x86/pci/bus_numa.o
CC kernel/sched/build_utility.o
CC fs/lockd/clntproc.o
CC lib/dim/net_dim.o
AR lib/xz/built-in.a
CC fs/proc/cmdline.o
CC lib/crypto/arc4.o
CC arch/x86/events/core.o
CC fs/jbd2/checkpoint.o
AR drivers/pci/pcie/built-in.a
CC drivers/pci/access.o
CC fs/netfs/misc.o
CC fs/jbd2/revoke.o
CC security/selinux/netlink.o
AR arch/x86/kernel/cpu/mce/built-in.a
CC arch/x86/kernel/cpu/topology_ext.o
CC fs/nls/nls_base.o
CC fs/ext4/ext4_jbd2.o
CC sound/core/misc.o
CC net/core/gen_stats.o
CC arch/x86/events/intel/p6.o
CC drivers/acpi/acpica/dsargs.o
CC drivers/pnp/pnpacpi/core.o
AR drivers/amba/built-in.a
CC sound/pci/hda/hda_jack.o
CC fs/isofs/dir.o
CC lib/dim/rdma_dim.o
CC security/keys/keyctl_pkey.o
CC block/blk-settings.o
CC net/ethtool/ioctl.o
CC lib/crypto/mpi/mpi-div.o
CC mm/shmem.o
AR drivers/acpi/pmic/built-in.a
CC io_uring/poll.o
CC fs/proc/consoles.o
CC drivers/pnp/core.o
CC crypto/scatterwalk.o
CC arch/x86/pci/amd_bus.o
CC arch/x86/kernel/process_32.o
CC arch/x86/kernel/cpu/topology_amd.o
CC arch/x86/events/probe.o
CC lib/fonts/fonts.o
CC block/blk-ioc.o
CC arch/x86/mm/cpu_entry_area.o
CC fs/nls/nls_cp437.o
AR arch/x86/kernel/apic/built-in.a
CC kernel/locking/semaphore.o
CC drivers/acpi/acpica/dscontrol.o
CC arch/x86/events/intel/pt.o
CC drivers/pci/bus.o
CC sound/core/device.o
CC drivers/pci/probe.o
CC fs/fat/inode.o
CC arch/x86/events/intel/uncore.o
CC security/selinux/nlmsgtab.o
CC arch/x86/events/intel/uncore_nhmex.o
AR lib/dim/built-in.a
AR drivers/clk/actions/built-in.a
CC drivers/dma/dw/core.o
AR drivers/clk/analogbits/built-in.a
CC lib/fonts/font_8x16.o
AR drivers/clk/bcm/built-in.a
CC drivers/pnp/pnpacpi/rsparser.o
CC lib/zstd/zstd_common_module.o
AR drivers/clk/imgtec/built-in.a
CC arch/x86/events/utils.o
AR drivers/clk/imx/built-in.a
AR drivers/clk/ingenic/built-in.a
CC fs/nls/nls_ascii.o
AR security/keys/built-in.a
CC arch/x86/kernel/cpu/common.o
AR drivers/clk/mediatek/built-in.a
AR drivers/clk/microchip/built-in.a
CC drivers/acpi/dptf/int340x_thermal.o
CC fs/proc/cpuinfo.o
CC fs/jbd2/journal.o
CC fs/nls/nls_iso8859-1.o
AR drivers/clk/mstar/built-in.a
CC net/netlink/genetlink.o
CC fs/isofs/util.o
AR drivers/clk/mvebu/built-in.a
CC fs/isofs/rock.o
CC lib/crypto/mpi/mpi-mod.o
AR drivers/clk/ralink/built-in.a
CC drivers/acpi/acpica/dsdebug.o
AR drivers/clk/renesas/built-in.a
CC fs/proc/devices.o
AR drivers/clk/socfpga/built-in.a
AR drivers/clk/sophgo/built-in.a
AR drivers/clk/sprd/built-in.a
AR drivers/clk/starfive/built-in.a
CC crypto/proc.o
AR drivers/clk/sunxi-ng/built-in.a
CC sound/core/info.o
AR drivers/clk/ti/built-in.a
AR drivers/clk/versatile/built-in.a
AR drivers/clk/xilinx/built-in.a
AR drivers/clk/built-in.a
CC fs/netfs/objects.o
CC net/core/gen_estimator.o
CC mm/util.o
CC arch/x86/mm/maccess.o
AR arch/x86/pci/built-in.a
CC net/netfilter/core.o
CC sound/pci/hda/hda_auto_parser.o
CC kernel/locking/rwsem.o
AR lib/fonts/built-in.a
CC fs/lockd/clntxdr.o
AR fs/unicode/built-in.a
CC sound/pci/hda/hda_sysfs.o
CC net/netfilter/nf_log.o
CC arch/x86/kernel/signal.o
CC arch/x86/kernel/cpu/rdrand.o
CC block/blk-map.o
CC fs/fat/misc.o
CC fs/nls/nls_utf8.o
CC drivers/acpi/acpica/dsfield.o
CC net/ipv4/netfilter/nf_defrag_ipv4.o
CC fs/autofs/init.o
AR drivers/acpi/dptf/built-in.a
CC security/selinux/netif.o
CC arch/x86/mm/pgprot.o
CC net/sched/cls_api.o
CC net/sched/act_api.o
CC lib/crypto/mpi/mpi-mul.o
CC lib/crypto/gf128mul.o
CC net/xfrm/xfrm_policy.o
CC fs/proc/interrupts.o
CC crypto/aead.o
CC net/unix/af_unix.o
AR fs/nls/built-in.a
CC security/selinux/netnode.o
AR drivers/soc/apple/built-in.a
CC lib/zstd/common/debug.o
AR drivers/soc/aspeed/built-in.a
CC drivers/acpi/acpica/dsinit.o
AR drivers/soc/bcm/built-in.a
CC lib/zstd/common/entropy_common.o
AR drivers/pnp/pnpacpi/built-in.a
AR drivers/soc/fsl/built-in.a
CC drivers/pnp/card.o
AR drivers/soc/fujitsu/built-in.a
AR drivers/soc/hisilicon/built-in.a
AR drivers/soc/imx/built-in.a
CC fs/isofs/export.o
CC fs/ext4/extents.o
AR drivers/soc/ixp4xx/built-in.a
AR drivers/soc/loongson/built-in.a
AR drivers/soc/mediatek/built-in.a
CC drivers/dma/dw/dw.o
AR drivers/soc/microchip/built-in.a
AR drivers/soc/nuvoton/built-in.a
AR drivers/soc/pxa/built-in.a
AR drivers/soc/amlogic/built-in.a
CC crypto/geniv.o
AR drivers/soc/qcom/built-in.a
CC arch/x86/mm/pgtable_32.o
CC lib/zstd/common/error_private.o
AR drivers/soc/renesas/built-in.a
CC io_uring/eventfd.o
CC arch/x86/mm/iomap_32.o
CC sound/core/isadma.o
AR drivers/soc/rockchip/built-in.a
CC arch/x86/mm/hugetlbpage.o
CC fs/nfs/getroot.o
CC drivers/acpi/acpica/dsmethod.o
AR drivers/soc/sunxi/built-in.a
CC lib/zstd/common/fse_decompress.o
AR drivers/soc/ti/built-in.a
AR drivers/soc/versatile/built-in.a
AR drivers/soc/xilinx/built-in.a
CC fs/autofs/inode.o
AR drivers/soc/built-in.a
CC kernel/locking/percpu-rwsem.o
CC io_uring/uring_cmd.o
CC net/ipv4/netfilter/nf_reject_ipv4.o
CC fs/proc/loadavg.o
CC net/core/net_namespace.o
CC fs/netfs/read_collect.o
CC arch/x86/mm/dump_pagetables.o
CC arch/x86/mm/highmem_32.o
CC io_uring/openclose.o
CC lib/crypto/mpi/mpih-cmp.o
CC fs/fat/nfs.o
CC sound/core/vmaster.o
CC fs/lockd/host.o
CC block/blk-merge.o
CC arch/x86/kernel/cpu/match.o
CC security/selinux/netport.o
CC drivers/pci/host-bridge.o
CC sound/pci/hda/hda_controller.o
CC drivers/pci/remove.o
CC arch/x86/events/intel/uncore_snb.o
CC drivers/dma/dw/idma32.o
CC drivers/pnp/driver.o
CC drivers/acpi/acpica/dsmthdat.o
CC fs/autofs/root.o
CC fs/proc/meminfo.o
CC fs/isofs/joliet.o
CC drivers/acpi/x86/apple.o
CC lib/argv_split.o
CC lib/zstd/common/zstd_common.o
CC io_uring/sqpoll.o
CC net/netfilter/nf_queue.o
CC net/netlink/policy.o
AR lib/zstd/built-in.a
CC io_uring/xattr.o
CC net/ipv4/netfilter/ip_tables.o
CC drivers/acpi/x86/cmos_rtc.o
CC kernel/locking/spinlock.o
CC fs/ext4/extents_status.o
CC mm/mmzone.o
CC lib/crypto/mpi/mpih-div.o
CC sound/core/ctljack.o
CC arch/x86/kernel/cpu/bugs.o
CC drivers/pnp/resource.o
CC crypto/lskcipher.o
CC arch/x86/events/intel/uncore_snbep.o
CC drivers/dma/hsu/hsu.o
CC drivers/acpi/acpica/dsobject.o
CC kernel/power/qos.o
CC net/ethtool/common.o
CC sound/pci/hda/hda_proc.o
AR arch/x86/mm/built-in.a
CC net/ipv6/netfilter/ip6_tables.o
CC fs/fat/namei_vfat.o
CC lib/bug.o
CC fs/proc/stat.o
CC kernel/locking/osq_lock.o
CC fs/nfs/inode.o
CC net/core/secure_seq.o
CC drivers/pci/pci.o
CC fs/proc/uptime.o
CC drivers/dma/dw/acpi.o
CC fs/isofs/compress.o
CC sound/core/jack.o
CC mm/vmstat.o
CC net/ipv4/netfilter/iptable_filter.o
AR sound/ppc/built-in.a
CC crypto/skcipher.o
CC kernel/locking/qspinlock.o
CC drivers/acpi/acpica/dsopcode.o
CC fs/netfs/read_pgpriv2.o
CC drivers/acpi/x86/lpss.o
AR kernel/sched/built-in.a
CC fs/netfs/read_retry.o
CC drivers/acpi/x86/s2idle.o
CC fs/autofs/symlink.o
AR fs/jbd2/built-in.a
CC mm/backing-dev.o
CC mm/mm_init.o
CC lib/crypto/mpi/mpih-mul.o
CC fs/lockd/svc.o
CC security/selinux/status.o
CC fs/lockd/svclock.o
AR net/netlink/built-in.a
CC fs/lockd/svcshare.o
CC net/xfrm/xfrm_state.o
CC security/selinux/ss/ebitmap.o
CC fs/lockd/svcproc.o
CC fs/proc/util.o
CC fs/lockd/svcsubs.o
AR drivers/dma/hsu/built-in.a
CC drivers/acpi/acpica/dspkginit.o
CC fs/lockd/mon.o
AR drivers/dma/dw/built-in.a
CC block/blk-timeout.o
CC kernel/locking/rtmutex_api.o
AR drivers/dma/idxd/built-in.a
AR drivers/dma/amd/built-in.a
CC fs/lockd/trace.o
AR drivers/dma/mediatek/built-in.a
CC arch/x86/events/intel/uncore_discovery.o
AR drivers/dma/qcom/built-in.a
CC net/netfilter/nf_sockopt.o
AR drivers/dma/stm32/built-in.a
AR drivers/dma/ti/built-in.a
AR drivers/dma/xilinx/built-in.a
CC drivers/dma/dmaengine.o
CC sound/core/hwdep.o
CC drivers/pnp/manager.o
AR fs/isofs/built-in.a
CC fs/proc/version.o
CC kernel/power/main.o
CC sound/pci/hda/hda_hwdep.o
CC fs/autofs/waitq.o
CC net/ethtool/netlink.o
CC io_uring/nop.o
CC fs/proc/softirqs.o
CC net/unix/garbage.o
CC drivers/acpi/acpica/dsutils.o
CC net/ipv6/af_inet6.o
CC drivers/acpi/tables.o
CC net/sched/sch_fifo.o
CC lib/buildid.o
CC drivers/acpi/x86/utils.o
CC fs/fat/namei_msdos.o
CC lib/crypto/mpi/mpi-pow.o
CC net/core/flow_dissector.o
CC net/ipv4/netfilter/iptable_mangle.o
CC fs/netfs/write_collect.o
CC arch/x86/kernel/cpu/aperfmperf.o
CC crypto/seqiv.o
CC block/blk-lib.o
CC crypto/echainiv.o
CC drivers/pnp/support.o
CC arch/x86/kernel/signal_32.o
CC net/sched/cls_cgroup.o
CC sound/core/timer.o
CC drivers/acpi/acpica/dswexec.o
CC drivers/virtio/virtio.o
CC net/ipv6/netfilter/ip6table_filter.o
CC net/sched/ematch.o
CC fs/proc/namespaces.o
CC drivers/tty/vt/vt_ioctl.o
CC mm/percpu.o
CC sound/pci/hda/hda_intel.o
CC net/netfilter/utils.o
CC kernel/locking/qrwlock.o
CC net/netfilter/nfnetlink.o
CC security/selinux/ss/hashtab.o
CC drivers/char/hw_random/core.o
AR drivers/iommu/amd/built-in.a
CC net/netfilter/nfnetlink_log.o
AR drivers/iommu/intel/built-in.a
CC drivers/pnp/interface.o
AR drivers/iommu/arm/arm-smmu/built-in.a
CC block/blk-mq.o
CC fs/autofs/expire.o
AR drivers/iommu/arm/arm-smmu-v3/built-in.a
AR drivers/iommu/arm/built-in.a
CC io_uring/fs.o
AR drivers/iommu/iommufd/built-in.a
AR drivers/iommu/riscv/built-in.a
CC drivers/iommu/iommu.o
CC fs/lockd/xdr.o
CC drivers/acpi/x86/blacklist.o
CC drivers/iommu/iommu-traces.o
CC fs/netfs/write_issue.o
CC arch/x86/events/intel/cstate.o
CC lib/crypto/mpi/mpiutil.o
CC arch/x86/kernel/cpu/cpuid-deps.o
CC drivers/acpi/acpica/dswload.o
CC drivers/iommu/iommu-sysfs.o
CC lib/crypto/blake2s.o
CC kernel/power/console.o
CC drivers/dma/virt-dma.o
CC sound/core/hrtimer.o
CC crypto/ahash.o
AR fs/fat/built-in.a
CC net/netfilter/nf_conntrack_core.o
CC lib/clz_tab.o
CC arch/x86/kernel/traps.o
CC security/selinux/ss/symtab.o
AR kernel/locking/built-in.a
CC fs/proc/self.o
CC drivers/char/hw_random/intel-rng.o
CC net/ethtool/bitset.o
CC net/unix/sysctl_net_unix.o
CC net/ipv4/netfilter/ipt_REJECT.o
CC drivers/virtio/virtio_ring.o
CC drivers/char/agp/backend.o
AR drivers/acpi/x86/built-in.a
CC arch/x86/kernel/cpu/umwait.o
CC net/packet/af_packet.o
CC drivers/acpi/acpica/dswload2.o
CC fs/nfs/super.o
AR net/dsa/built-in.a
CC drivers/char/mem.o
CC security/selinux/ss/sidtab.o
CC drivers/pnp/quirks.o
AR lib/crypto/mpi/built-in.a
CC lib/crypto/blake2s-generic.o
CC drivers/pci/pci-driver.o
CC net/xfrm/xfrm_hash.o
CC security/selinux/ss/avtab.o
CC drivers/tty/vt/vc_screen.o
CC fs/lockd/clnt4xdr.o
CC fs/autofs/dev-ioctl.o
CC arch/x86/kernel/idt.o
CC io_uring/splice.o
AR net/sched/built-in.a
CC kernel/power/process.o
AR sound/arm/built-in.a
CC crypto/shash.o
CC fs/proc/thread_self.o
CC drivers/dma/acpi-dma.o
CC kernel/printk/printk.o
AR arch/x86/events/intel/built-in.a
CC net/core/sysctl_net_core.o
CC arch/x86/events/rapl.o
CC drivers/acpi/acpica/dswscope.o
CC net/ipv6/netfilter/ip6table_mangle.o
CC drivers/pnp/system.o
CC fs/ext4/file.o
CC drivers/char/hw_random/amd-rng.o
MKCAP arch/x86/kernel/cpu/capflags.c
CC drivers/char/random.o
CC drivers/tty/hvc/hvc_console.o
CC sound/core/pcm.o
CC lib/crypto/sha1.o
CC drivers/virtio/virtio_anchor.o
CC net/netfilter/nf_conntrack_standalone.o
AR fs/netfs/built-in.a
CC drivers/char/agp/generic.o
CC net/ipv4/route.o
AR drivers/gpu/host1x/built-in.a
AR sound/pci/hda/built-in.a
AR net/unix/built-in.a
CC drivers/acpi/acpica/dswstate.o
AR sound/pci/korg1212/built-in.a
AR drivers/gpu/vga/built-in.a
CC security/selinux/ss/policydb.o
CC net/ipv6/anycast.o
AR sound/pci/mixart/built-in.a
CC fs/nfs/io.o
AR sound/pci/nm256/built-in.a
AR sound/pci/oxygen/built-in.a
CC io_uring/sync.o
CC drivers/char/hw_random/geode-rng.o
AR sound/pci/pcxhr/built-in.a
AR sound/pci/riptide/built-in.a
AR sound/pci/rme9652/built-in.a
CC [M] net/ipv4/netfilter/iptable_nat.o
AR sound/pci/trident/built-in.a
AR sound/pci/ymfpci/built-in.a
CC lib/cmdline.o
CC fs/proc/proc_sysctl.o
AR sound/pci/vx222/built-in.a
AR sound/pci/built-in.a
CC net/xfrm/xfrm_input.o
AR drivers/gpu/drm/tests/built-in.a
AR drivers/gpu/drm/arm/built-in.a
AR drivers/pnp/built-in.a
CC sound/core/pcm_native.o
AR drivers/gpu/drm/clients/built-in.a
CC fs/9p/vfs_super.o
CC drivers/gpu/drm/display/drm_display_helper_mod.o
CC lib/crypto/sha256.o
CC block/blk-mq-tag.o
AR drivers/dma/built-in.a
CC drivers/tty/vt/selection.o
CC net/core/dev.o
CC kernel/irq/irqdesc.o
CC kernel/rcu/update.o
AR fs/autofs/built-in.a
CC drivers/acpi/acpica/evevent.o
CC arch/x86/kernel/cpu/powerflags.o
CC net/ethtool/strset.o
CC kernel/irq/handle.o
CC drivers/char/agp/isoch.o
CC kernel/printk/printk_safe.o
CC sound/core/pcm_lib.o
CC crypto/akcipher.o
CC net/ipv4/inetpeer.o
CC arch/x86/events/msr.o
CC drivers/iommu/dma-iommu.o
CC fs/lockd/xdr4.o
CC drivers/gpu/drm/display/drm_dp_dual_mode_helper.o
CC kernel/power/suspend.o
CC drivers/virtio/virtio_pci_modern_dev.o
CC drivers/pci/search.o
CC fs/ext4/fsmap.o
AR drivers/tty/hvc/built-in.a
CC drivers/acpi/acpica/evgpe.o
CC net/ipv6/ip6_output.o
CC net/ipv6/ip6_input.o
CC drivers/char/hw_random/via-rng.o
CC mm/slab_common.o
CC drivers/virtio/virtio_pci_legacy_dev.o
CC net/ipv6/netfilter/nf_defrag_ipv6_hooks.o
CC net/ipv6/netfilter/nf_conntrack_reasm.o
CC kernel/printk/nbcon.o
CC fs/9p/vfs_inode.o
CC io_uring/msg_ring.o
CC lib/cpumask.o
AR lib/crypto/built-in.a
CC net/ipv6/addrconf.o
CC drivers/virtio/virtio_pci_modern.o
CC drivers/gpu/drm/display/drm_dp_helper.o
CC kernel/irq/manage.o
CC drivers/tty/vt/keyboard.o
CC net/ipv6/addrlabel.o
CC arch/x86/kernel/cpu/topology.o
CC fs/nfs/direct.o
AR drivers/char/hw_random/built-in.a
CC drivers/tty/serial/8250/8250_core.o
CC drivers/acpi/acpica/evgpeblk.o
AR net/ipv4/netfilter/built-in.a
CC drivers/char/agp/amd64-agp.o
CC drivers/tty/serial/serial_core.o
CC net/netfilter/nf_conntrack_expect.o
CC drivers/tty/serial/serial_base_bus.o
AR arch/x86/events/built-in.a
CC arch/x86/kernel/irq.o
CC crypto/sig.o
CC kernel/printk/printk_ringbuffer.o
CC net/xfrm/xfrm_output.o
CC drivers/pci/rom.o
CC drivers/gpu/drm/ttm/ttm_tt.o
CC kernel/power/hibernate.o
CC net/ethtool/linkinfo.o
CC lib/ctype.o
CC lib/dec_and_lock.o
CC drivers/acpi/acpica/evgpeinit.o
CC drivers/connector/cn_queue.o
CC net/ethtool/linkmodes.o
CC drivers/acpi/acpica/evgpeutil.o
CC net/ipv4/protocol.o
CC fs/proc/proc_net.o
CC fs/lockd/svc4proc.o
CC lib/decompress.o
CC lib/decompress_bunzip2.o
CC io_uring/advise.o
CC drivers/base/power/sysfs.o
CC io_uring/epoll.o
CC drivers/virtio/virtio_pci_common.o
CC net/core/dev_addr_lists.o
CC fs/9p/vfs_inode_dotl.o
CC drivers/char/agp/intel-agp.o
CC drivers/iommu/iova.o
CC fs/nfs/pagelist.o
CC block/blk-stat.o
CC kernel/printk/sysctl.o
CC drivers/pci/setup-res.o
CC drivers/acpi/acpica/evglock.o
CC drivers/gpu/drm/ttm/ttm_bo.o
CC fs/lockd/procfs.o
CC drivers/tty/serial/8250/8250_platform.o
CC crypto/kpp.o
CC net/ipv6/netfilter/nf_reject_ipv6.o
AR kernel/livepatch/built-in.a
CC drivers/tty/serial/serial_ctrl.o
CC net/core/dst.o
CC fs/9p/vfs_addr.o
CC mm/compaction.o
AR net/packet/built-in.a
CC drivers/tty/vt/vt.o
CC kernel/irq/spurious.o
CC block/blk-mq-sysfs.o
CC drivers/base/power/generic_ops.o
AR kernel/printk/built-in.a
CC fs/proc/kcore.o
CC sound/core/pcm_misc.o
CC drivers/gpu/drm/i915/i915_config.o
CC drivers/acpi/acpica/evhandler.o
CC fs/ext4/fsync.o
CC security/selinux/ss/services.o
CC lib/decompress_inflate.o
AR drivers/gpu/drm/renesas/rcar-du/built-in.a
CC net/netfilter/nf_conntrack_helper.o
AR drivers/gpu/drm/renesas/rz-du/built-in.a
AR drivers/gpu/drm/renesas/built-in.a
CC lib/decompress_unlz4.o
CC drivers/connector/connector.o
CC kernel/irq/resend.o
ASN.1 crypto/rsapubkey.asn1.[ch]
CC arch/x86/kernel/cpu/proc.o
CC io_uring/statx.o
CC net/ipv4/ip_input.o
CC net/ethtool/rss.o
CC drivers/gpu/drm/i915/i915_driver.o
CC kernel/power/snapshot.o
CC drivers/virtio/virtio_pci_legacy.o
CC drivers/char/agp/intel-gtt.o
CC drivers/pci/irq.o
CC net/xfrm/xfrm_sysctl.o
CC io_uring/timeout.o
CC drivers/acpi/osi.o
CC drivers/gpu/drm/i915/i915_drm_client.o
CC drivers/acpi/acpica/evmisc.o
CC drivers/base/power/common.o
CC drivers/gpu/drm/display/drm_dp_mst_topology.o
AR fs/lockd/built-in.a
AR drivers/gpu/drm/omapdrm/built-in.a
CC drivers/tty/serial/8250/8250_pnp.o
CC drivers/gpu/drm/i915/i915_getparam.o
CC net/ipv4/ip_fragment.o
AR drivers/iommu/built-in.a
CC net/xfrm/xfrm_replay.o
CC kernel/rcu/sync.o
CC kernel/dma/mapping.o
ASN.1 crypto/rsaprivkey.asn1.[ch]
CC crypto/rsa.o
CC kernel/irq/chip.o
CC drivers/gpu/drm/display/drm_dsc_helper.o
AR drivers/gpu/drm/tilcdc/built-in.a
CC net/sunrpc/auth_gss/auth_gss.o
CC net/sunrpc/clnt.o
CC drivers/gpu/drm/ttm/ttm_bo_util.o
CC fs/9p/vfs_file.o
CC lib/decompress_unlzma.o
CC block/blk-mq-cpumap.o
CC sound/core/pcm_memory.o
CC kernel/rcu/srcutree.o
CC drivers/acpi/acpica/evregion.o
CC net/sunrpc/xprt.o
CC sound/core/memalloc.o
CC net/sunrpc/socklib.o
CC fs/proc/vmcore.o
CC net/ipv6/netfilter/ip6t_ipv6header.o
AR sound/sh/built-in.a
CC kernel/irq/dummychip.o
CC drivers/base/power/qos.o
CC drivers/pci/vpd.o
CC drivers/virtio/virtio_pci_admin_legacy_io.o
CC drivers/connector/cn_proc.o
CC net/core/netevent.o
CC kernel/power/swap.o
CC kernel/rcu/tree.o
CC drivers/tty/serial/8250/8250_rsa.o
CC crypto/rsa_helper.o
CC drivers/acpi/acpica/evrgnini.o
CC net/ethtool/linkstate.o
AR drivers/char/agp/built-in.a
CC block/blk-mq-sched.o
CC drivers/char/misc.o
CC drivers/acpi/osl.o
CC lib/decompress_unlzo.o
CC net/netfilter/nf_conntrack_proto.o
CC lib/decompress_unxz.o
CC kernel/rcu/rcu_segcblist.o
CC fs/9p/vfs_dir.o
CC io_uring/fdinfo.o
CC drivers/acpi/acpica/evsci.o
CC kernel/irq/devres.o
CC drivers/gpu/drm/ttm/ttm_bo_vm.o
AR sound/synth/emux/built-in.a
CC drivers/gpu/drm/ttm/ttm_module.o
AR sound/synth/built-in.a
CC fs/ext4/hash.o
CC crypto/rsa-pkcs1pad.o
CC drivers/base/firmware_loader/builtin/main.o
CC drivers/base/regmap/regmap.o
CC drivers/virtio/virtio_input.o
AR drivers/base/test/built-in.a
CC net/ipv4/ip_forward.o
CC crypto/rsassa-pkcs1.o
CC net/xfrm/xfrm_device.o
CC fs/nfs/read.o
CC sound/core/pcm_timer.o
CC drivers/tty/serial/8250/8250_port.o
CC drivers/gpu/drm/i915/i915_ioctl.o
CC drivers/pci/setup-bus.o
CC drivers/acpi/acpica/evxface.o
AR drivers/tty/ipwireless/built-in.a
CC crypto/acompress.o
CC fs/proc/kmsg.o
AR fs/hostfs/built-in.a
AR drivers/base/firmware_loader/builtin/built-in.a
CC drivers/char/virtio_console.o
AR sound/firewire/built-in.a
CC drivers/base/firmware_loader/main.o
AR sound/usb/misc/built-in.a
CC net/xfrm/xfrm_nat_keepalive.o
CC io_uring/cancel.o
AR sound/usb/usx2y/built-in.a
CC fs/nfs/symlink.o
AR sound/usb/caiaq/built-in.a
CC lib/decompress_unzstd.o
AR sound/usb/6fire/built-in.a
AR sound/usb/hiface/built-in.a
CC sound/core/seq_device.o
CC kernel/irq/autoprobe.o
AR sound/usb/bcd2000/built-in.a
CC arch/x86/kernel/cpu/feat_ctl.o
AR sound/usb/built-in.a
CC drivers/char/hpet.o
CC net/ipv6/netfilter/ip6t_REJECT.o
CC kernel/dma/direct.o
AR drivers/connector/built-in.a
CC fs/9p/vfs_dentry.o
CC block/ioctl.o
CC drivers/base/power/runtime.o
CC net/sunrpc/auth_gss/gss_generic_token.o
CC net/ethtool/debug.o
CC drivers/gpu/drm/ttm/ttm_execbuf_util.o
COPY drivers/tty/vt/defkeymap.c
CC drivers/tty/vt/consolemap.o
CC mm/show_mem.o
CC drivers/acpi/acpica/evxfevnt.o
CC fs/ext4/ialloc.o
CC drivers/virtio/virtio_dma_buf.o
CC net/core/neighbour.o
CC drivers/base/component.o
CC drivers/gpu/drm/display/drm_hdcp_helper.o
CC kernel/power/user.o
CC fs/proc/page.o
AR sound/sparc/built-in.a
CC arch/x86/kernel/cpu/intel.o
CC net/xfrm/xfrm_algo.o
CC kernel/irq/irqdomain.o
AR net/wireless/tests/built-in.a
CC net/wireless/core.o
CC lib/dump_stack.o
AR sound/core/built-in.a
CC security/selinux/ss/conditional.o
AR sound/spi/built-in.a
AR sound/parisc/built-in.a
CC drivers/pci/vc.o
AR sound/pcmcia/vx/built-in.a
AR sound/pcmcia/pdaudiocf/built-in.a
AR sound/pcmcia/built-in.a
AR sound/mips/built-in.a
AR sound/soc/built-in.a
CC crypto/scompress.o
CC kernel/power/poweroff.o
AR sound/atmel/built-in.a
CC security/selinux/ss/mls.o
CC drivers/acpi/acpica/evxfgpe.o
CC sound/hda/hda_bus_type.o
CC drivers/gpu/drm/i915/i915_irq.o
CC fs/9p/v9fs.o
CC net/netfilter/nf_conntrack_proto_generic.o
CC fs/debugfs/inode.o
CC io_uring/waitid.o
AR drivers/base/firmware_loader/built-in.a
CC fs/debugfs/file.o
AR drivers/virtio/built-in.a
CC drivers/acpi/acpica/evxfregn.o
CC drivers/base/power/wakeirq.o
CC drivers/gpu/drm/ttm/ttm_range_manager.o
CC net/netfilter/nf_conntrack_proto_tcp.o
CC kernel/dma/ops_helpers.o
CC net/ipv4/ip_options.o
CC net/sunrpc/auth_gss/gss_mech_switch.o
CC lib/earlycpio.o
CC drivers/pci/mmap.o
CC block/genhd.o
HOSTCC drivers/tty/vt/conmakehash
CC arch/x86/kernel/cpu/tsx.o
CC mm/interval_tree.o
CC io_uring/register.o
CC lib/extable.o
AR kernel/power/built-in.a
CC fs/9p/fid.o
CC kernel/irq/proc.o
AR fs/proc/built-in.a
CC net/sunrpc/xprtsock.o
AR net/mac80211/tests/built-in.a
CC sound/hda/hdac_bus.o
CC net/mac80211/main.o
CC net/ipv4/ip_output.o
CC net/ethtool/wol.o
AR net/ipv6/netfilter/built-in.a
CC net/ipv6/route.o
CC drivers/char/nvram.o
CC drivers/acpi/acpica/exconcat.o
CC drivers/tty/vt/defkeymap.o
CC drivers/gpu/drm/display/drm_hdmi_helper.o
AR sound/x86/built-in.a
CC net/mac80211/status.o
CC net/wireless/sysfs.o
CC drivers/base/power/main.o
CC drivers/gpu/drm/ttm/ttm_resource.o
CC crypto/algboss.o
CONMK drivers/tty/vt/consolemap_deftbl.c
CC drivers/tty/vt/consolemap_deftbl.o
AR drivers/tty/vt/built-in.a
CC net/sunrpc/auth_gss/svcauth_gss.o
CC fs/ext4/indirect.o
CC arch/x86/kernel/cpu/intel_epb.o
CC lib/flex_proportions.o
CC net/netfilter/nf_conntrack_proto_udp.o
CC net/xfrm/xfrm_user.o
CC kernel/dma/remap.o
CC security/selinux/ss/context.o
CC fs/nfs/unlink.o
CC security/selinux/netlabel.o
CC drivers/gpu/drm/virtio/virtgpu_drv.o
CC drivers/tty/serial/8250/8250_dma.o
CC drivers/pci/devres.o
CC drivers/acpi/acpica/exconfig.o
AR drivers/gpu/drm/imx/built-in.a
CC drivers/acpi/utils.o
CC fs/tracefs/inode.o
CC drivers/tty/serial/8250/8250_dwlib.o
CC drivers/tty/serial/8250/8250_pcilib.o
CC kernel/irq/migration.o
CC fs/9p/xattr.o
CC lib/idr.o
CC mm/list_lru.o
CC net/sunrpc/auth_gss/gss_rpc_upcall.o
CC sound/hda/hdac_device.o
CC arch/x86/kernel/cpu/amd.o
CC drivers/gpu/drm/display/drm_scdc_helper.o
CC drivers/gpu/drm/i915/i915_mitigations.o
AR fs/debugfs/built-in.a
AR drivers/char/built-in.a
CC arch/x86/kernel/cpu/hygon.o
CC crypto/testmgr.o
CC drivers/acpi/acpica/exconvrt.o
CC drivers/base/regmap/regcache.o
CC net/ethtool/features.o
AR kernel/dma/built-in.a
CC drivers/tty/serial/8250/8250_early.o
CC block/ioprio.o
CC fs/ext4/inline.o
CC kernel/irq/cpuhotplug.o
CC net/netlabel/netlabel_user.o
CC drivers/gpu/drm/ttm/ttm_pool.o
CC drivers/gpu/drm/virtio/virtgpu_kms.o
CC net/core/rtnetlink.o
CC lib/iomem_copy.o
CC drivers/tty/serial/8250/8250_exar.o
CC net/core/utils.o
CC net/sunrpc/auth_gss/gss_rpc_xdr.o
CC drivers/pci/proc.o
CC [M] fs/efivarfs/inode.o
CC fs/open.o
CC [M] fs/efivarfs/file.o
CC drivers/acpi/acpica/excreate.o
AR fs/9p/built-in.a
CC sound/hda/hdac_sysfs.o
CC crypto/cmac.o
CC lib/irq_regs.o
CC net/sunrpc/auth_gss/trace.o
CC fs/tracefs/event_inode.o
CC mm/workingset.o
CC drivers/pci/pci-sysfs.o
CC drivers/gpu/drm/virtio/virtgpu_gem.o
CC io_uring/truncate.o
CC net/netfilter/nf_conntrack_proto_icmp.o
CC lib/is_single_threaded.o
CC drivers/pci/slot.o
AR drivers/gpu/drm/display/built-in.a
CC fs/read_write.o
CC drivers/gpu/drm/i915/i915_module.o
CC arch/x86/kernel/cpu/centaur.o
CC drivers/acpi/acpica/exdebug.o
CC fs/nfs/write.o
AR security/selinux/built-in.a
AR security/built-in.a
CC fs/ext4/inode.o
CC drivers/base/power/wakeup.o
CC kernel/irq/pm.o
AR sound/xen/built-in.a
CC drivers/tty/serial/serial_port.o
CC crypto/hmac.o
CC block/badblocks.o
CC drivers/base/regmap/regcache-rbtree.o
CC drivers/gpu/drm/i915/i915_params.o
CC drivers/acpi/reboot.o
CC [M] fs/efivarfs/super.o
AR kernel/rcu/built-in.a
CC [M] fs/efivarfs/vars.o
CC fs/nfs/namespace.o
CC net/ethtool/privflags.o
CC lib/klist.o
CC net/netlabel/netlabel_kapi.o
CC drivers/gpu/drm/ttm/ttm_device.o
CC drivers/acpi/acpica/exdump.o
CC net/ethtool/rings.o
CC arch/x86/kernel/cpu/transmeta.o
CC net/ipv4/ip_sockglue.o
CC sound/hda/hdac_regmap.o
CC drivers/tty/serial/earlycon.o
CC drivers/tty/serial/8250/8250_lpss.o
CC net/wireless/radiotap.o
CC drivers/gpu/drm/virtio/virtgpu_vram.o
CC mm/debug.o
CC lib/kobject.o
CC drivers/tty/tty_io.o
CC drivers/gpu/drm/virtio/virtgpu_display.o
AR fs/tracefs/built-in.a
CC drivers/base/regmap/regcache-flat.o
CC io_uring/memmap.o
CC drivers/base/regmap/regcache-maple.o
CC fs/ext4/ioctl.o
CC drivers/acpi/acpica/exfield.o
CC net/ipv4/inet_hashtables.o
CC arch/x86/kernel/cpu/zhaoxin.o
CC sound/hda/hdac_controller.o
CC kernel/irq/msi.o
CC crypto/crypto_null.o
CC sound/hda/hdac_stream.o
CC drivers/tty/n_tty.o
CC net/sunrpc/auth_gss/gss_krb5_mech.o
CC drivers/pci/pci-acpi.o
CC drivers/block/loop.o
CC net/netfilter/nf_conntrack_extend.o
CC net/sunrpc/auth_gss/gss_krb5_seal.o
LD [M] fs/efivarfs/efivarfs.o
CC net/netfilter/nf_conntrack_acct.o
CC io_uring/io-wq.o
CC drivers/acpi/nvs.o
CC block/blk-rq-qos.o
AR net/xfrm/built-in.a
CC net/mac80211/driver-ops.o
CC drivers/gpu/drm/ttm/ttm_sys_manager.o
CC net/ipv4/inet_timewait_sock.o
CC net/mac80211/sta_info.o
CC drivers/acpi/acpica/exfldio.o
CC drivers/gpu/drm/i915/i915_pci.o
CC drivers/block/virtio_blk.o
CC arch/x86/kernel/cpu/vortex.o
CC lib/kobject_uevent.o
CC net/rfkill/core.o
CC net/9p/mod.o
CC drivers/tty/serial/8250/8250_mid.o
CC drivers/tty/tty_ioctl.o
CC net/dns_resolver/dns_key.o
CC net/handshake/alert.o
CC drivers/base/power/wakeup_stats.o
CC drivers/base/regmap/regmap-debugfs.o
CC net/devres.o
CC mm/gup.o
CC drivers/gpu/drm/virtio/virtgpu_vq.o
CC crypto/md5.o
CC net/ethtool/channels.o
CC kernel/entry/common.o
CC net/wireless/util.o
CC kernel/module/main.o
CC arch/x86/kernel/cpu/perfctr-watchdog.o
CC drivers/gpu/drm/ttm/ttm_agp_backend.o
CC net/netlabel/netlabel_domainhash.o
CC drivers/acpi/acpica/exmisc.o
CC mm/mmap_lock.o
CC kernel/entry/syscall_user_dispatch.o
CC net/9p/client.o
CC drivers/base/power/trace.o
CC block/disk-events.o
CC sound/hda/array.o
CC net/dns_resolver/dns_query.o
CC drivers/gpu/drm/virtio/virtgpu_fence.o
CC kernel/irq/affinity.o
CC crypto/sha256_generic.o
CC kernel/module/strict_rwx.o
CC drivers/tty/serial/8250/8250_pci.o
CC drivers/pci/iomap.o
CC drivers/acpi/acpica/exmutex.o
CC net/sunrpc/auth_gss/gss_krb5_unseal.o
CC kernel/module/kmod.o
CC net/netfilter/nf_conntrack_seqadj.o
CC drivers/gpu/drm/i915/i915_scatterlist.o
CC drivers/gpu/drm/virtio/virtgpu_object.o
CC net/rfkill/input.o
AR drivers/base/regmap/built-in.a
CC io_uring/futex.o
AR drivers/gpu/drm/ttm/built-in.a
CC arch/x86/kernel/cpu/vmware.o
CC drivers/acpi/acpica/exnames.o
CC net/core/link_watch.o
CC lib/logic_pio.o
CC drivers/base/core.o
CC net/9p/error.o
CC arch/x86/kernel/irq_32.o
CC arch/x86/kernel/cpu/hypervisor.o
CC net/mac80211/wep.o
CC net/ipv6/ip6_fib.o
CC block/blk-ia-ranges.o
CC kernel/irq/matrix.o
AR drivers/block/built-in.a
CC net/ethtool/coalesce.o
CC net/ipv4/inet_connection_sock.o
CC net/ipv6/ipv6_sockglue.o
AR kernel/entry/built-in.a
CC net/ethtool/pause.o
CC block/early-lookup.o
CC sound/hda/hdmi_chmap.o
CC crypto/sha512_generic.o
CC fs/nfs/mount_clnt.o
AR sound/virtio/built-in.a
CC net/handshake/genl.o
CC drivers/pci/quirks.o
CC net/netlabel/netlabel_addrlist.o
CC net/ipv4/tcp.o
AR drivers/base/power/built-in.a
CC net/netfilter/nf_conntrack_proto_icmpv6.o
AR net/dns_resolver/built-in.a
CC drivers/base/bus.o
CC net/socket.o
CC arch/x86/kernel/dumpstack_32.o
CC drivers/acpi/acpica/exoparg1.o
CC net/ipv6/ndisc.o
CC mm/highmem.o
AR net/rfkill/built-in.a
CC net/handshake/netlink.o
CC kernel/time/time.o
CC drivers/misc/eeprom/eeprom_93cx6.o
CC drivers/gpu/drm/i915/i915_switcheroo.o
CC block/bounce.o
CC net/netlabel/netlabel_mgmt.o
CC lib/maple_tree.o
CC net/sunrpc/sched.o
CC arch/x86/kernel/cpu/mshyperv.o
CC drivers/gpu/drm/virtio/virtgpu_debugfs.o
CC mm/memory.o
CC net/sunrpc/auth_gss/gss_krb5_wrap.o
CC io_uring/napi.o
CC fs/nfs/nfstrace.o
CC drivers/acpi/acpica/exoparg2.o
CC net/wireless/reg.o
AR drivers/misc/eeprom/built-in.a
AR drivers/misc/cb710/built-in.a
AR drivers/misc/lis3lv02d/built-in.a
AR drivers/misc/cardreader/built-in.a
AR drivers/misc/keba/built-in.a
AR drivers/misc/built-in.a
CC crypto/sha3_generic.o
CC net/sunrpc/auth.o
CC net/core/filter.o
CC drivers/tty/tty_ldisc.o
CC drivers/tty/serial/8250/8250_pericom.o
CC kernel/futex/core.o
CC kernel/futex/syscalls.o
CC drivers/tty/tty_buffer.o
CC drivers/acpi/wakeup.o
CC sound/hda/trace.o
CC kernel/time/timer.o
CC arch/x86/kernel/time.o
CC net/9p/protocol.o
CC drivers/acpi/acpica/exoparg3.o
CC arch/x86/kernel/ioport.o
CC net/ethtool/eee.o
CC drivers/gpu/drm/virtio/virtgpu_plane.o
AR kernel/irq/built-in.a
CC lib/memcat_p.o
CC net/sunrpc/auth_null.o
CC net/9p/trans_common.o
AR drivers/gpu/drm/i2c/built-in.a
CC net/sysctl_net.o
CC kernel/module/tree_lookup.o
CC fs/file_table.o
CC drivers/acpi/acpica/exoparg6.o
CC crypto/ecb.o
CC arch/x86/kernel/cpu/debugfs.o
CC drivers/gpu/drm/i915/i915_sysfs.o
CC block/bsg.o
CC sound/hda/hdac_component.o
CC net/handshake/request.o
CC net/netfilter/nf_conntrack_netlink.o
CC net/9p/trans_fd.o
CC net/handshake/tlshd.o
CC drivers/acpi/sleep.o
AR drivers/tty/serial/8250/built-in.a
AR drivers/tty/serial/built-in.a
CC net/netlabel/netlabel_unlabeled.o
AR drivers/gpu/drm/panel/built-in.a
CC net/sunrpc/auth_gss/gss_krb5_crypto.o
CC arch/x86/kernel/cpu/bus_lock.o
CC block/blk-cgroup.o
CC drivers/tty/tty_port.o
CC drivers/acpi/acpica/exprep.o
CC net/mac80211/aead_api.o
CC drivers/gpu/drm/virtio/virtgpu_ioctl.o
CC crypto/cbc.o
CC arch/x86/kernel/dumpstack.o
CC kernel/futex/pi.o
CC fs/ext4/mballoc.o
CC kernel/module/kallsyms.o
AR drivers/mfd/built-in.a
CC drivers/pci/pci-label.o
CC drivers/pci/vgaarb.o
CC kernel/time/hrtimer.o
CC crypto/ctr.o
CC net/netfilter/nf_conntrack_ftp.o
CC kernel/futex/requeue.o
CC mm/mincore.o
AR io_uring/built-in.a
CC net/ipv6/udp.o
CC net/ethtool/tsinfo.o
CC drivers/acpi/acpica/exregion.o
CC net/ipv4/tcp_input.o
CC sound/hda/hdac_i915.o
CC arch/x86/kernel/nmi.o
CC sound/sound_core.o
CC net/netlabel/netlabel_cipso_v4.o
AR drivers/gpu/drm/bridge/analogix/built-in.a
AR drivers/gpu/drm/bridge/cadence/built-in.a
AR drivers/nfc/built-in.a
CC drivers/base/dd.o
CC drivers/gpu/drm/i915/i915_utils.o
CC sound/hda/intel-dsp-config.o
CC crypto/gcm.o
AR drivers/gpu/drm/bridge/imx/built-in.a
AR drivers/gpu/drm/bridge/synopsys/built-in.a
AR drivers/gpu/drm/bridge/built-in.a
CC drivers/base/syscore.o
CC net/ipv6/udplite.o
CC drivers/tty/tty_mutex.o
CC block/blk-ioprio.o
CC drivers/acpi/device_sysfs.o
CC fs/super.o
CC arch/x86/kernel/cpu/capflags.o
CC drivers/acpi/acpica/exresnte.o
CC net/mac80211/wpa.o
AR arch/x86/kernel/cpu/built-in.a
CC sound/last.o
CC net/core/sock_diag.o
CC kernel/module/procfs.o
CC fs/ext4/migrate.o
CC sound/hda/intel-nhlt.o
CC drivers/tty/tty_ldsem.o
CC kernel/futex/waitwake.o
CC net/9p/trans_virtio.o
CC drivers/gpu/drm/virtio/virtgpu_prime.o
CC net/handshake/trace.o
AR drivers/dax/hmem/built-in.a
AR drivers/gpu/drm/hisilicon/built-in.a
AR drivers/dax/built-in.a
CC net/sunrpc/auth_tls.o
CC net/ethtool/cabletest.o
CC net/mac80211/scan.o
CC crypto/ccm.o
CC net/ipv4/tcp_output.o
CC drivers/acpi/acpica/exresolv.o
CC fs/ext4/mmp.o
AR drivers/pci/built-in.a
CC drivers/tty/tty_baudrate.o
CC net/core/dev_ioctl.o
CC net/mac80211/offchannel.o
CC net/sunrpc/auth_gss/gss_krb5_keys.o
CC crypto/aes_generic.o
CC arch/x86/kernel/ldt.o
CC net/wireless/scan.o
CC drivers/acpi/acpica/exresop.o
CC sound/hda/intel-sdw-acpi.o
CC block/blk-iolatency.o
CC lib/nmi_backtrace.o
CC arch/x86/kernel/setup.o
CC kernel/module/sysfs.o
CC drivers/gpu/drm/i915/intel_clock_gating.o
CC drivers/gpu/drm/virtio/virtgpu_trace_points.o
CC net/netlabel/netlabel_calipso.o
CC kernel/time/sleep_timeout.o
CC net/core/tso.o
CC net/ipv6/raw.o
CC net/ipv6/icmp.o
CC drivers/base/driver.o
CC mm/mlock.o
AR kernel/futex/built-in.a
CC drivers/gpu/drm/virtio/virtgpu_submit.o
CC fs/ext4/move_extent.o
AR drivers/gpu/drm/mxsfb/built-in.a
CC net/ethtool/tunnels.o
CC drivers/acpi/acpica/exserial.o
CC net/netfilter/nf_conntrack_irc.o
CC drivers/tty/tty_jobctrl.o
CC drivers/gpu/drm/i915/intel_cpu_info.o
AR sound/hda/built-in.a
AR sound/built-in.a
CC net/sunrpc/auth_unix.o
CC net/wireless/nl80211.o
CC lib/objpool.o
CC drivers/base/class.o
CC net/ipv4/tcp_timer.o
CC kernel/time/timekeeping.o
CC kernel/time/ntp.o
CC kernel/time/clocksource.o
CC crypto/crc32c_generic.o
CC kernel/time/jiffies.o
CC arch/x86/kernel/x86_init.o
AR net/9p/built-in.a
CC drivers/tty/n_null.o
CC fs/nfs/export.o
CC net/core/sock_reuseport.o
CC drivers/acpi/acpica/exstore.o
AR kernel/module/built-in.a
CC drivers/gpu/drm/i915/intel_device_info.o
CC kernel/cgroup/cgroup.o
CC drivers/gpu/drm/i915/intel_memory_region.o
CC net/sunrpc/svc.o
CC kernel/time/timer_list.o
AR net/sunrpc/auth_gss/built-in.a
CC net/ipv6/mcast.o
AR net/handshake/built-in.a
CC crypto/authenc.o
CC drivers/base/platform.o
AR drivers/gpu/drm/virtio/built-in.a
CC mm/mmap.o
CC drivers/acpi/acpica/exstoren.o
CC drivers/acpi/acpica/exstorob.o
CC drivers/dma-buf/dma-buf.o
AR net/netlabel/built-in.a
CC block/blk-iocost.o
CC net/core/fib_notifier.o
AR drivers/gpu/drm/tiny/built-in.a
CC kernel/trace/trace_clock.o
CC net/ipv6/reassembly.o
CC net/sunrpc/svcsock.o
CC fs/char_dev.o
CC drivers/tty/pty.o
CC net/wireless/mlme.o
CC kernel/bpf/core.o
CC kernel/time/timeconv.o
CC crypto/authencesn.o
CC drivers/dma-buf/dma-fence.o
CC drivers/acpi/device_pm.o
CC arch/x86/kernel/i8259.o
CC net/core/xdp.o
CC drivers/acpi/acpica/exsystem.o
CC net/sunrpc/svcauth.o
CC net/ethtool/fec.o
CC kernel/trace/ring_buffer.o
CC net/netfilter/nf_conntrack_sip.o
CC net/netfilter/nf_nat_core.o
AR drivers/gpu/drm/xlnx/built-in.a
CC kernel/trace/trace.o
CC fs/stat.o
CC kernel/cgroup/rstat.o
CC drivers/tty/tty_audit.o
CC block/mq-deadline.o
CC net/ipv4/tcp_ipv4.o
CC drivers/gpu/drm/i915/intel_pcode.o
CC drivers/acpi/acpica/extrace.o
CC fs/ext4/namei.o
CC arch/x86/kernel/irqinit.o
CC fs/exec.o
CC net/core/flow_offload.o
CC kernel/trace/trace_output.o
CC fs/nfs/sysfs.o
CC net/sunrpc/svcauth_unix.o
CC net/sunrpc/addr.o
CC kernel/time/timecounter.o
CC drivers/base/cpu.o
CC drivers/base/firmware.o
CC drivers/acpi/acpica/exutils.o
CC kernel/time/alarmtimer.o
CC crypto/lzo.o
CC net/mac80211/ht.o
CC net/netfilter/nf_nat_proto.o
CC drivers/tty/sysrq.o
CC kernel/cgroup/namespace.o
CC fs/ext4/page-io.o
CC net/core/gro.o
CC net/ethtool/eeprom.o
CC drivers/dma-buf/dma-fence-array.o
CC drivers/gpu/drm/i915/intel_region_ttm.o
CC drivers/acpi/acpica/hwacpi.o
CC lib/plist.o
CC mm/mmu_gather.o
CC lib/radix-tree.o
CC lib/ratelimit.o
CC kernel/events/core.o
CC net/core/netdev-genl.o
CC crypto/lzo-rle.o
CC net/ipv4/tcp_minisocks.o
CC kernel/trace/trace_seq.o
CC arch/x86/kernel/jump_label.o
CC drivers/acpi/acpica/hwesleep.o
AR drivers/cxl/core/built-in.a
AR drivers/cxl/built-in.a
CC net/wireless/ibss.o
CC kernel/time/posix-timers.o
CC drivers/base/init.o
CC net/wireless/sme.o
CC drivers/dma-buf/dma-fence-chain.o
CC drivers/base/map.o
CC drivers/macintosh/mac_hid.o
CC fs/nfs/fs_context.o
AR drivers/scsi/pcmcia/built-in.a
CC drivers/scsi/scsi.o
CC kernel/fork.o
CC drivers/acpi/proc.o
CC drivers/acpi/acpica/hwgpe.o
CC net/mac80211/agg-tx.o
CC drivers/dma-buf/dma-fence-unwrap.o
CC net/core/netdev-genl-gen.o
CC fs/pipe.o
AR drivers/tty/built-in.a
CC net/netfilter/nf_nat_helper.o
AR drivers/gpu/drm/gud/built-in.a
CC net/mac80211/agg-rx.o
CC net/wireless/chan.o
CC drivers/acpi/acpica/hwregs.o
CC crypto/rng.o
CC mm/mprotect.o
CC drivers/gpu/drm/i915/intel_runtime_pm.o
CC arch/x86/kernel/irq_work.o
CC net/ethtool/stats.o
CC net/wireless/ethtool.o
CC drivers/base/devres.o
CC net/ipv6/tcp_ipv6.o
CC kernel/cgroup/cgroup-v1.o
CC block/kyber-iosched.o
CC lib/rbtree.o
CC drivers/acpi/bus.o
CC arch/x86/kernel/probe_roms.o
AR drivers/macintosh/built-in.a
CC fs/nfs/nfsroot.o
CC mm/mremap.o
CC kernel/exec_domain.o
AR drivers/gpu/drm/solomon/built-in.a
CC drivers/dma-buf/dma-resv.o
CC kernel/events/ring_buffer.o
CC drivers/acpi/acpica/hwsleep.o
CC net/core/gso.o
AR kernel/bpf/built-in.a
CC drivers/gpu/drm/i915/intel_sbi.o
CC net/ethtool/phc_vclocks.o
CC lib/seq_buf.o
CC block/blk-mq-pci.o
CC kernel/time/posix-cpu-timers.o
CC drivers/base/attribute_container.o
CC crypto/drbg.o
CC drivers/acpi/acpica/hwvalid.o
CC drivers/acpi/acpica/hwxface.o
CC kernel/time/posix-clock.o
CC kernel/time/itimer.o
CC net/sunrpc/rpcb_clnt.o
CC net/wireless/mesh.o
CC crypto/jitterentropy.o
CC drivers/gpu/drm/i915/intel_step.o
CC lib/siphash.o
CC drivers/scsi/hosts.o
CC kernel/panic.o
CC drivers/acpi/glue.o
CC arch/x86/kernel/sys_ia32.o
CC net/ethtool/mm.o
CC net/core/net-sysfs.o
CC net/ipv4/tcp_cong.o
CC drivers/acpi/acpica/hwxfsleep.o
CC net/netfilter/nf_nat_masquerade.o
CC [M] drivers/gpu/drm/scheduler/sched_main.o
CC kernel/time/clockevents.o
CC kernel/cgroup/freezer.o
CC fs/ext4/readpage.o
CC [M] drivers/gpu/drm/scheduler/sched_fence.o
CC drivers/base/transport_class.o
CC net/ipv4/tcp_metrics.o
CC drivers/dma-buf/sync_file.o
CC net/ipv6/ping.o
CC kernel/cpu.o
AR drivers/nvme/common/built-in.a
AR drivers/nvme/host/built-in.a
AR drivers/nvme/target/built-in.a
AR drivers/nvme/built-in.a
CC drivers/gpu/drm/i915/intel_uncore.o
CC mm/msync.o
CC lib/string.o
CC drivers/acpi/acpica/hwpci.o
CC fs/namei.o
CC kernel/time/tick-common.o
CC crypto/jitterentropy-kcapi.o
CC drivers/gpu/drm/i915/intel_uncore_trace.o
CC kernel/exit.o
CC arch/x86/kernel/ksysfs.o
CC drivers/base/topology.o
CC drivers/ata/libata-core.o
CC lib/timerqueue.o
AR drivers/net/phy/mediatek/built-in.a
AR drivers/net/pse-pd/built-in.a
AR drivers/net/phy/qcom/built-in.a
CC drivers/firewire/init_ohci1394_dma.o
CC drivers/net/phy/mdio-boardinfo.o
CC block/blk-mq-virtio.o
CC crypto/ghash-generic.o
CC fs/nfs/sysctl.o
CC kernel/softirq.o
CC net/netfilter/nf_nat_ftp.o
CC kernel/resource.o
CC drivers/scsi/scsi_ioctl.o
CC net/sunrpc/timer.o
CC lib/union_find.o
CC drivers/acpi/acpica/nsaccess.o
AR drivers/dma-buf/built-in.a
CC mm/page_vma_mapped.o
CC kernel/trace/trace_stat.o
CC net/ethtool/module.o
CC lib/vsprintf.o
CC net/ethtool/cmis_fw_update.o
CC net/ethtool/cmis_cdb.o
CC drivers/net/phy/stubs.o
CC kernel/cgroup/legacy_freezer.o
CC fs/ext4/resize.o
CC fs/fcntl.o
CC kernel/events/callchain.o
CC drivers/ata/libata-scsi.o
CC crypto/hash_info.o
CC crypto/rsapubkey.asn1.o
CC arch/x86/kernel/bootflag.o
CC crypto/rsaprivkey.asn1.o
CC net/mac80211/vht.o
CC net/core/hotdata.o
AR crypto/built-in.a
CC net/netfilter/nf_nat_irc.o
CC net/core/netdev_rx_queue.o
CC drivers/base/container.o
CC drivers/acpi/acpica/nsalloc.o
CC drivers/net/mdio/acpi_mdio.o
AR drivers/firewire/built-in.a
CC block/blk-mq-debugfs.o
HOSTCC drivers/gpu/drm/xe/xe_gen_wa_oob
CC net/ethtool/pse-pd.o
CC kernel/cgroup/pids.o
CC fs/ext4/super.o
CC [M] drivers/gpu/drm/scheduler/sched_entity.o
CC kernel/time/tick-broadcast.o
GEN xe_wa_oob.c xe_wa_oob.h
CC [M] drivers/gpu/drm/xe/xe_bb.o
CC drivers/acpi/acpica/nsarguments.o
CC drivers/net/mdio/fwnode_mdio.o
CC mm/pagewalk.o
CC net/ipv6/exthdrs.o
CC kernel/trace/trace_printk.o
CC drivers/base/property.o
CC drivers/ata/libata-eh.o
CC kernel/cgroup/rdma.o
CC drivers/scsi/scsicam.o
CC net/ipv4/tcp_fastopen.o
CC lib/win_minmax.o
CC drivers/net/phy/mdio_devres.o
CC fs/nfs/nfs3super.o
CC drivers/cdrom/cdrom.o
CC arch/x86/kernel/e820.o
CC kernel/cgroup/cpuset.o
CC drivers/acpi/acpica/nsconvert.o
CC kernel/events/hw_breakpoint.o
CC net/ipv6/datagram.o
CC mm/pgtable-generic.o
CC kernel/sysctl.o
CC drivers/acpi/scan.o
CC net/mac80211/he.o
CC drivers/base/cacheinfo.o
CC lib/xarray.o
CC [M] drivers/gpu/drm/xe/xe_bo.o
CC drivers/acpi/acpica/nsdump.o
CC net/sunrpc/xdr.o
CC net/ipv6/ip6_flowlabel.o
CC net/ipv6/inet6_connection_sock.o
CC kernel/time/tick-broadcast-hrtimer.o
LD [M] drivers/gpu/drm/scheduler/gpu-sched.o
CC drivers/scsi/scsi_error.o
CC net/core/net-procfs.o
CC block/blk-pm.o
CC fs/ext4/symlink.o
CC kernel/events/uprobes.o
CC net/netfilter/nf_nat_sip.o
CC fs/ioctl.o
CC drivers/acpi/mipi-disco-img.o
CC kernel/cgroup/misc.o
CC drivers/ata/libata-transport.o
CC kernel/trace/pid_list.o
AR drivers/net/mdio/built-in.a
CC drivers/gpu/drm/i915/intel_wakeref.o
CC net/ethtool/plca.o
CC drivers/acpi/acpica/nseval.o
CC kernel/time/tick-oneshot.o
CC drivers/net/phy/phy.o
CC arch/x86/kernel/pci-dma.o
CC net/mac80211/s1g.o
CC mm/rmap.o
AR drivers/auxdisplay/built-in.a
CC net/sunrpc/sunrpc_syms.o
CC fs/nfs/nfs3client.o
CC block/holder.o
CC lib/lockref.o
CC drivers/acpi/acpica/nsinit.o
CC drivers/base/swnode.o
CC drivers/ata/libata-trace.o
AR drivers/net/pcs/built-in.a
CC kernel/time/tick-sched.o
CC net/netfilter/x_tables.o
CC fs/ext4/sysfs.o
CC net/mac80211/ibss.o
CC net/ipv4/tcp_rate.o
AR drivers/net/ethernet/3com/built-in.a
AR drivers/net/ethernet/adaptec/built-in.a
CC drivers/net/ethernet/8390/ne2k-pci.o
CC fs/readdir.o
CC [M] drivers/gpu/drm/xe/xe_bo_evict.o
CC fs/ext4/xattr.o
CC drivers/scsi/scsi_lib.o
CC kernel/trace/trace_sched_switch.o
CC drivers/gpu/drm/i915/vlv_sideband.o
CC drivers/acpi/acpica/nsload.o
CC drivers/net/ethernet/8390/8390.o
CC arch/x86/kernel/quirks.o
CC fs/ext4/xattr_hurd.o
CC net/core/netpoll.o
CC net/core/fib_rules.o
CC net/core/net-traces.o
CC drivers/acpi/resource.o
CC drivers/ata/libata-sata.o
CC net/core/selftests.o
CC net/ipv6/udp_offload.o
CC lib/bcd.o
AR block/built-in.a
CC net/ethtool/phy.o
CC net/ipv4/tcp_recovery.o
CC lib/sort.o
AR drivers/cdrom/built-in.a
AR drivers/net/wireless/admtek/built-in.a
CC net/sunrpc/cache.o
AR drivers/net/wireless/ath/built-in.a
AR drivers/net/wireless/atmel/built-in.a
CC net/netfilter/xt_tcpudp.o
AR drivers/net/wireless/broadcom/built-in.a
CC drivers/gpu/drm/drm_atomic.o
AR drivers/net/wireless/intel/built-in.a
CC drivers/net/phy/phy-c45.o
CC drivers/acpi/acpica/nsnames.o
AR drivers/net/wireless/intersil/built-in.a
CC lib/parser.o
CC drivers/net/phy/phy-core.o
AR drivers/net/wireless/marvell/built-in.a
AR drivers/net/wireless/mediatek/built-in.a
AR drivers/net/wireless/microchip/built-in.a
AR drivers/net/usb/built-in.a
CC [M] drivers/gpu/drm/xe/xe_devcoredump.o
AR drivers/net/wireless/purelifi/built-in.a
AR drivers/net/wireless/quantenna/built-in.a
AR drivers/net/wireless/ralink/built-in.a
AR drivers/net/wireless/realtek/built-in.a
AR drivers/net/wireless/rsi/built-in.a
AR drivers/net/wireless/silabs/built-in.a
AR drivers/net/wireless/st/built-in.a
CC drivers/base/auxiliary.o
AR drivers/net/wireless/ti/built-in.a
AR drivers/net/wireless/zydas/built-in.a
AR drivers/net/wireless/virtual/built-in.a
AR drivers/net/wireless/built-in.a
CC arch/x86/kernel/kdebugfs.o
AR drivers/net/ethernet/agere/built-in.a
CC fs/nfs/nfs3proc.o
CC kernel/cgroup/debug.o
CC drivers/pcmcia/cs.o
CC drivers/usb/common/common.o
CC kernel/time/timer_migration.o
CC fs/nfs/nfs3xdr.o
CC drivers/net/mii.o
CC drivers/input/serio/serio.o
CC fs/ext4/xattr_trusted.o
CC lib/debug_locks.o
CC drivers/input/keyboard/atkbd.o
CC drivers/acpi/acpica/nsobject.o
CC drivers/rtc/lib.o
CC drivers/net/phy/phy_device.o
CC drivers/i2c/algos/i2c-algo-bit.o
CC drivers/net/phy/linkmode.o
CC drivers/usb/common/debug.o
CC lib/random32.o
CC drivers/base/devtmpfs.o
CC drivers/gpu/drm/i915/vlv_suspend.o
CC drivers/rtc/class.o
CC drivers/scsi/constants.o
CC arch/x86/kernel/alternative.o
AR drivers/net/ethernet/8390/built-in.a
AR drivers/net/ethernet/alacritech/built-in.a
AR drivers/net/ethernet/alteon/built-in.a
CC drivers/acpi/acpica/nsparse.o
AR drivers/net/ethernet/amazon/built-in.a
CC mm/vmalloc.o
AR drivers/net/ethernet/amd/built-in.a
CC kernel/trace/trace_nop.o
AR drivers/net/ethernet/aquantia/built-in.a
AR drivers/net/ethernet/arc/built-in.a
AR drivers/net/ethernet/asix/built-in.a
AR drivers/net/ethernet/atheros/built-in.a
AR drivers/net/ethernet/cadence/built-in.a
CC drivers/net/ethernet/broadcom/bnx2.o
CC net/sunrpc/rpc_pipe.o
AR net/ethtool/built-in.a
CC net/wireless/ap.o
CC lib/bust_spinlocks.o
CC net/ipv6/seg6.o
CC [M] drivers/gpu/drm/xe/xe_device.o
AR drivers/usb/common/built-in.a
CC drivers/usb/core/usb.o
AR kernel/events/built-in.a
CC net/mac80211/iface.o
AR kernel/cgroup/built-in.a
CC drivers/ata/libata-sff.o
CC net/sunrpc/sysfs.o
CC drivers/input/serio/i8042.o
CC drivers/input/mouse/psmouse-base.o
CC net/core/ptp_classifier.o
CC net/ipv4/tcp_ulp.o
AR drivers/input/joystick/built-in.a
CC drivers/gpu/drm/i915/soc/intel_dram.o
CC drivers/acpi/acpi_processor.o
CC drivers/base/module.o
CC drivers/pcmcia/socket_sysfs.o
CC net/wireless/trace.o
CC net/netfilter/xt_CONNSECMARK.o
CC drivers/acpi/acpica/nspredef.o
CC drivers/net/ethernet/broadcom/tg3.o
CC mm/vma.o
CC kernel/trace/blktrace.o
CC net/sunrpc/svc_xprt.o
CC drivers/rtc/interface.o
AR drivers/input/tablet/built-in.a
CC net/wireless/ocb.o
CC kernel/time/vsyscall.o
AR drivers/i2c/algos/built-in.a
CC drivers/i2c/busses/i2c-i801.o
CC drivers/scsi/scsi_lib_dma.o
AR drivers/i3c/built-in.a
AR drivers/input/keyboard/built-in.a
AR drivers/i2c/muxes/built-in.a
CC drivers/usb/core/hub.o
CC drivers/input/serio/serport.o
CC kernel/capability.o
CC drivers/base/auxiliary_sysfs.o
CC lib/kasprintf.o
CC lib/bitmap.o
CC fs/ext4/xattr_user.o
CC drivers/scsi/scsi_scan.o
CC drivers/acpi/acpica/nsprepkg.o
AR drivers/input/touchscreen/built-in.a
CC kernel/time/timekeeping_debug.o
CC kernel/ptrace.o
CC drivers/pcmcia/cardbus.o
CC drivers/gpu/drm/i915/soc/intel_gmch.o
CC drivers/gpu/drm/drm_atomic_uapi.o
CC drivers/base/devcoredump.o
CC arch/x86/kernel/i8253.o
CC net/core/netprio_cgroup.o
CC fs/select.o
CC net/sunrpc/xprtmultipath.o
AR drivers/media/i2c/built-in.a
CC drivers/acpi/acpica/nsrepair.o
CC net/ipv6/fib6_notifier.o
AR drivers/media/tuners/built-in.a
AR drivers/media/rc/keymaps/built-in.a
AR drivers/media/rc/built-in.a
CC [M] drivers/gpu/drm/xe/xe_device_sysfs.o
AR drivers/media/common/b2c2/built-in.a
CC [M] drivers/gpu/drm/xe/xe_dma_buf.o
AR drivers/media/common/saa7146/built-in.a
AR drivers/media/platform/allegro-dvt/built-in.a
CC drivers/input/mouse/synaptics.o
AR drivers/media/common/siano/built-in.a
AR drivers/media/platform/amlogic/meson-ge2d/built-in.a
AR drivers/media/common/v4l2-tpg/built-in.a
AR drivers/media/platform/amlogic/built-in.a
AR drivers/media/common/videobuf2/built-in.a
AR drivers/media/platform/amphion/built-in.a
AR drivers/media/common/built-in.a
AR drivers/media/platform/aspeed/built-in.a
CC fs/ext4/fast_commit.o
CC kernel/trace/trace_events.o
AR drivers/media/platform/atmel/built-in.a
AR drivers/media/platform/broadcom/built-in.a
CC net/netfilter/xt_NFLOG.o
AR drivers/media/platform/cadence/built-in.a
CC net/ipv4/tcp_offload.o
AR drivers/media/platform/chips-media/coda/built-in.a
AR drivers/media/platform/chips-media/wave5/built-in.a
AR drivers/media/platform/chips-media/built-in.a
AR drivers/net/ethernet/brocade/built-in.a
AR drivers/media/platform/imagination/built-in.a
CC net/ipv6/rpl.o
CC drivers/input/serio/libps2.o
AR drivers/media/platform/intel/built-in.a
CC net/wireless/pmsr.o
AR drivers/media/platform/marvell/built-in.a
CC kernel/time/namespace.o
AR drivers/media/platform/mediatek/jpeg/built-in.a
CC lib/scatterlist.o
AR drivers/media/platform/mediatek/mdp/built-in.a
CC fs/dcache.o
CC drivers/pcmcia/ds.o
CC drivers/net/phy/phy_link_topology.o
AR drivers/media/platform/mediatek/vcodec/common/built-in.a
AR drivers/media/platform/mediatek/vcodec/encoder/built-in.a
CC drivers/net/loopback.o
AR drivers/media/platform/mediatek/vcodec/decoder/built-in.a
AR drivers/net/ethernet/cavium/common/built-in.a
AR drivers/media/platform/mediatek/vcodec/built-in.a
AR drivers/net/ethernet/cavium/thunder/built-in.a
AR drivers/media/platform/mediatek/vpu/built-in.a
AR drivers/net/ethernet/cavium/liquidio/built-in.a
AR drivers/media/platform/mediatek/mdp3/built-in.a
AR drivers/net/ethernet/cavium/octeon/built-in.a
AR drivers/net/ethernet/cavium/built-in.a
AR drivers/media/platform/mediatek/built-in.a
CC drivers/acpi/acpica/nsrepair2.o
CC arch/x86/kernel/hw_breakpoint.o
AR drivers/usb/phy/built-in.a
AR drivers/media/platform/microchip/built-in.a
CC net/core/netclassid_cgroup.o
AR drivers/media/platform/nuvoton/built-in.a
CC fs/nfs/nfs3acl.o
AR drivers/media/platform/nvidia/tegra-vde/built-in.a
AR drivers/media/platform/nvidia/built-in.a
AR drivers/media/platform/nxp/dw100/built-in.a
AR drivers/media/platform/nxp/imx-jpeg/built-in.a
AR drivers/media/platform/nxp/imx8-isi/built-in.a
AR drivers/i2c/busses/built-in.a
AR drivers/media/platform/nxp/built-in.a
CC drivers/i2c/i2c-boardinfo.o
AR drivers/media/platform/qcom/camss/built-in.a
CC drivers/base/platform-msi.o
AR drivers/media/platform/qcom/venus/built-in.a
AR drivers/media/platform/qcom/built-in.a
CC fs/nfs/nfs4proc.o
AR drivers/media/platform/raspberrypi/pisp_be/built-in.a
AR drivers/media/platform/raspberrypi/rp1-cfe/built-in.a
AR drivers/media/platform/raspberrypi/built-in.a
AR drivers/media/platform/renesas/rcar-vin/built-in.a
AR drivers/media/platform/renesas/rzg2l-cru/built-in.a
AR drivers/media/platform/renesas/vsp1/built-in.a
AR drivers/media/platform/renesas/built-in.a
CC drivers/rtc/nvmem.o
AR drivers/media/platform/rockchip/rga/built-in.a
CC net/mac80211/link.o
AR drivers/media/platform/rockchip/rkisp1/built-in.a
AR drivers/media/platform/rockchip/built-in.a
GEN drivers/scsi/scsi_devinfo_tbl.c
CC drivers/scsi/scsi_devinfo.o
AR drivers/media/platform/samsung/exynos-gsc/built-in.a
CC drivers/gpu/drm/i915/soc/intel_pch.o
AR drivers/media/platform/samsung/exynos4-is/built-in.a
AR drivers/media/platform/samsung/s3c-camif/built-in.a
AR drivers/media/platform/samsung/s5p-g2d/built-in.a
AR drivers/media/platform/samsung/s5p-jpeg/built-in.a
AR drivers/media/platform/samsung/s5p-mfc/built-in.a
CC drivers/scsi/scsi_sysctl.o
AR drivers/media/platform/samsung/built-in.a
GEN net/wireless/shipped-certs.c
CC drivers/acpi/acpica/nssearch.o
AR drivers/media/platform/st/sti/bdisp/built-in.a
AR drivers/media/platform/st/sti/c8sectpfe/built-in.a
CC net/ipv6/ioam6.o
AR drivers/media/platform/st/sti/delta/built-in.a
AR drivers/media/platform/st/sti/hva/built-in.a
AR drivers/media/platform/st/stm32/built-in.a
CC drivers/ata/libata-pmp.o
AR drivers/media/platform/st/built-in.a
CC drivers/net/phy/mdio_bus.o
AR drivers/media/platform/sunxi/sun4i-csi/built-in.a
AR drivers/media/platform/sunxi/sun6i-csi/built-in.a
AR drivers/media/platform/sunxi/sun6i-mipi-csi2/built-in.a
AR drivers/input/serio/built-in.a
AR drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/built-in.a
CC [M] drivers/gpu/drm/xe/xe_drm_client.o
AR drivers/media/platform/sunxi/sun8i-di/built-in.a
CC drivers/base/physical_location.o
AR drivers/media/platform/ti/am437x/built-in.a
AR drivers/media/platform/sunxi/sun8i-rotate/built-in.a
AR drivers/media/platform/ti/cal/built-in.a
AR drivers/media/platform/sunxi/built-in.a
CC net/core/dst_cache.o
AR drivers/media/platform/ti/vpe/built-in.a
AR kernel/time/built-in.a
CC drivers/gpu/drm/drm_auth.o
CC drivers/rtc/dev.o
CC arch/x86/kernel/tsc.o
AR drivers/media/platform/ti/davinci/built-in.a
CC drivers/net/netconsole.o
AR drivers/media/platform/ti/j721e-csi2rx/built-in.a
AR drivers/media/platform/ti/omap/built-in.a
CC net/netfilter/xt_SECMARK.o
AR drivers/media/platform/ti/omap3isp/built-in.a
AR drivers/media/platform/ti/built-in.a
AR drivers/media/platform/verisilicon/built-in.a
AR drivers/media/platform/via/built-in.a
AR drivers/input/misc/built-in.a
AR drivers/media/platform/xilinx/built-in.a
CC net/ipv6/sysctl_net_ipv6.o
AR drivers/media/platform/built-in.a
CC net/ipv6/xfrm6_policy.o
AR drivers/media/pci/ttpci/built-in.a
AR drivers/media/pci/b2c2/built-in.a
AR drivers/media/usb/b2c2/built-in.a
CC drivers/acpi/acpica/nsutils.o
AR drivers/media/pci/pluto2/built-in.a
AR drivers/media/usb/dvb-usb/built-in.a
CC drivers/i2c/i2c-core-base.o
AR drivers/media/pci/dm1105/built-in.a
AR drivers/media/usb/dvb-usb-v2/built-in.a
AR drivers/media/usb/s2255/built-in.a
AR drivers/media/pci/pt1/built-in.a
CC kernel/trace/trace_export.o
AR drivers/media/mmc/siano/built-in.a
AR drivers/media/usb/siano/built-in.a
AR drivers/media/pci/pt3/built-in.a
AR drivers/media/mmc/built-in.a
AR drivers/media/usb/ttusb-budget/built-in.a
CC net/ipv4/tcp_plb.o
AR drivers/media/pci/mantis/built-in.a
CC drivers/usb/mon/mon_main.o
AR drivers/media/usb/ttusb-dec/built-in.a
AR drivers/media/pci/ngene/built-in.a
AR drivers/media/usb/built-in.a
AR drivers/media/pci/ddbridge/built-in.a
CC drivers/usb/mon/mon_stat.o
AR drivers/media/pci/saa7146/built-in.a
AR drivers/media/pci/smipcie/built-in.a
AR drivers/media/pci/netup_unidvb/built-in.a
CC drivers/pcmcia/pcmcia_resource.o
AR drivers/media/pci/intel/ipu3/built-in.a
AR drivers/media/pci/intel/ivsc/built-in.a
AR drivers/media/pci/intel/built-in.a
CC drivers/input/mouse/focaltech.o
AR drivers/media/pci/built-in.a
CC drivers/acpi/acpica/nswalk.o
AR drivers/media/firewire/built-in.a
CC mm/process_vm_access.o
CC lib/list_sort.o
CC drivers/base/trace.o
AR drivers/media/spi/built-in.a
AR drivers/media/test-drivers/built-in.a
AR drivers/media/built-in.a
AR drivers/pps/clients/built-in.a
CC drivers/acpi/processor_core.o
AR drivers/pps/generators/built-in.a
CC drivers/pps/pps.o
CC lib/uuid.o
CC drivers/input/input.o
CC drivers/scsi/scsi_proc.o
CC drivers/ata/libata-acpi.o
CC drivers/net/phy/mdio_device.o
CC lib/iov_iter.o
CC [M] drivers/gpu/drm/xe/xe_exec.o
CC drivers/rtc/proc.o
CC fs/ext4/orphan.o
CC net/sunrpc/stats.o
CC arch/x86/kernel/tsc_msr.o
CC drivers/usb/core/hcd.o
CC drivers/acpi/acpica/nsxfeval.o
CC drivers/gpu/drm/i915/soc/intel_rom.o
CC drivers/usb/mon/mon_text.o
CC drivers/i2c/i2c-core-smbus.o
CC drivers/pps/kapi.o
CC drivers/ptp/ptp_clock.o
CC net/netfilter/xt_TCPMSS.o
CC net/netfilter/xt_conntrack.o
CC drivers/net/virtio_net.o
CC drivers/input/mouse/alps.o
CC net/core/gro_cells.o
CC drivers/power/supply/power_supply_core.o
CC drivers/usb/mon/mon_bin.o
CC drivers/pps/sysfs.o
CC drivers/ata/libata-pata-timings.o
CC drivers/hwmon/hwmon.o
CC drivers/net/phy/swphy.o
CC drivers/acpi/processor_pdc.o
CC arch/x86/kernel/io_delay.o
AR drivers/base/built-in.a
CC mm/page_alloc.o
CC kernel/trace/trace_event_perf.o
CC drivers/rtc/sysfs.o
CC drivers/ata/ahci.o
CC drivers/acpi/acpica/nsxfname.o
CC fs/inode.o
CC kernel/user.o
CC drivers/scsi/scsi_debugfs.o
AR drivers/net/ethernet/chelsio/built-in.a
CC lib/clz_ctz.o
CC net/ipv4/datagram.o
CC drivers/pcmcia/cistpl.o
CC net/ipv4/raw.o
CC net/sunrpc/sysctl.o
CC net/ipv6/xfrm6_state.o
CC drivers/input/input-compat.o
CC drivers/input/input-mt.o
AR drivers/pps/built-in.a
CC drivers/net/net_failover.o
CC arch/x86/kernel/rtc.o
CC [M] drivers/gpu/drm/xe/xe_exec_queue.o
CC drivers/input/mouse/byd.o
CC drivers/usb/host/pci-quirks.o
CC kernel/trace/trace_events_filter.o
CC drivers/input/mouse/logips2pp.o
CC [M] drivers/gpu/drm/xe/xe_execlist.o
CC drivers/acpi/acpica/nsxfobj.o
CC drivers/gpu/drm/i915/i915_memcpy.o
CC drivers/power/supply/power_supply_sysfs.o
CC drivers/rtc/rtc-mc146818-lib.o
CC net/ipv4/udp.o
CC drivers/gpu/drm/i915/i915_mm.o
CC fs/ext4/acl.o
CC drivers/net/phy/fixed_phy.o
CC drivers/ptp/ptp_chardev.o
CC net/mac80211/rate.o
CC kernel/signal.o
CC drivers/input/input-poller.o
CC drivers/scsi/scsi_trace.o
CC net/core/failover.o
AR drivers/usb/mon/built-in.a
CC drivers/acpi/acpica/psargs.o
CC drivers/i2c/i2c-core-acpi.o
CC drivers/usb/class/usblp.o
CC net/ipv6/xfrm6_input.o
CC drivers/usb/storage/scsiglue.o
CC arch/x86/kernel/resource.o
AR drivers/usb/misc/built-in.a
AS arch/x86/kernel/irqflags.o
CC drivers/usb/early/ehci-dbgp.o
CC net/netfilter/xt_policy.o
CC drivers/rtc/rtc-cmos.o
CC drivers/usb/core/urb.o
CC drivers/gpu/drm/drm_blend.o
CC arch/x86/kernel/static_call.o
CC drivers/power/supply/power_supply_leds.o
CC drivers/net/phy/realtek.o
CC fs/ext4/xattr_security.o
AR drivers/hwmon/built-in.a
CC drivers/input/ff-core.o
CC drivers/usb/host/ehci-hcd.o
CC drivers/ata/libahci.o
CC net/mac80211/michael.o
CC drivers/pcmcia/pcmcia_cis.o
CC [M] drivers/gpu/drm/xe/xe_force_wake.o
CC fs/attr.o
CC drivers/acpi/acpica/psloop.o
CC drivers/input/mouse/lifebook.o
CC drivers/gpu/drm/drm_bridge.o
CC drivers/usb/storage/protocol.o
AR drivers/net/ethernet/cisco/built-in.a
CC net/ipv6/xfrm6_output.o
CC drivers/i2c/i2c-smbus.o
CC arch/x86/kernel/process.o
CC drivers/ptp/ptp_sysfs.o
CC drivers/power/supply/power_supply_hwmon.o
AR net/sunrpc/built-in.a
CC drivers/gpu/drm/i915/i915_sw_fence.o
CC fs/bad_inode.o
CC drivers/scsi/scsi_logging.o
CC lib/bsearch.o
CC drivers/usb/host/ehci-pci.o
CC drivers/usb/core/message.o
CC kernel/trace/trace_events_trigger.o
CC drivers/usb/storage/transport.o
AR drivers/usb/class/built-in.a
CC net/ipv6/xfrm6_protocol.o
CC net/ipv6/netfilter.o
CC drivers/acpi/acpica/psobject.o
CC fs/nfs/nfs4xdr.o
AR net/core/built-in.a
CC net/mac80211/tkip.o
CC net/ipv6/proc.o
CC kernel/trace/trace_eprobe.o
AR drivers/usb/early/built-in.a
CC mm/page_frag_cache.o
CC drivers/usb/host/ohci-hcd.o
CC [M] drivers/gpu/drm/xe/xe_ggtt.o
AR fs/ext4/built-in.a
CC drivers/acpi/acpica/psopcode.o
AR drivers/thermal/broadcom/built-in.a
AR drivers/watchdog/built-in.a
CC drivers/gpu/drm/drm_cache.o
AR drivers/thermal/renesas/built-in.a
CC drivers/input/mouse/trackpoint.o
AR drivers/thermal/samsung/built-in.a
AR drivers/rtc/built-in.a
CC drivers/thermal/intel/intel_tcc.o
CC drivers/thermal/intel/therm_throt.o
AR drivers/power/supply/built-in.a
AR drivers/power/built-in.a
CC kernel/trace/trace_kprobe.o
CC drivers/input/mouse/cypress_ps2.o
CC net/netfilter/xt_state.o
CC drivers/gpu/drm/drm_color_mgmt.o
CC drivers/gpu/drm/i915/i915_sw_fence_work.o
CC net/mac80211/aes_cmac.o
CC drivers/gpu/drm/i915/i915_syncmap.o
CC drivers/scsi/scsi_pm.o
CC drivers/acpi/acpica/psopinfo.o
CC mm/init-mm.o
CC lib/find_bit.o
CC drivers/input/mouse/psmouse-smbus.o
CC kernel/sys.o
AR drivers/i2c/built-in.a
CC arch/x86/kernel/ptrace.o
CC net/ipv6/syncookies.o
AR drivers/net/ethernet/cortina/built-in.a
CC [M] drivers/gpu/drm/xe/xe_gpu_scheduler.o
CC drivers/pcmcia/rsrc_mgr.o
AR drivers/net/phy/built-in.a
CC drivers/acpi/ec.o
CC lib/llist.o
CC drivers/ptp/ptp_vclock.o
CC net/wireless/shipped-certs.o
CC drivers/gpu/drm/i915/i915_user_extensions.o
CC net/ipv4/udplite.o
CC lib/lwq.o
CC drivers/acpi/acpica/psparse.o
CC [M] drivers/gpu/drm/xe/xe_gsc.o
CC mm/memblock.o
CC [M] net/netfilter/nf_log_syslog.o
CC drivers/input/touchscreen.o
CC drivers/usb/storage/usb.o
CC fs/nfs/nfs4state.o
CC [M] drivers/thermal/intel/x86_pkg_temp_thermal.o
CC lib/memweight.o
CC net/mac80211/aes_gmac.o
AR drivers/net/ethernet/dec/tulip/built-in.a
AR drivers/net/ethernet/dec/built-in.a
CC lib/kfifo.o
CC kernel/umh.o
CC drivers/gpu/drm/i915/i915_debugfs.o
CC arch/x86/kernel/tls.o
CC drivers/ata/ata_piix.o
CC drivers/gpu/drm/drm_connector.o
CC drivers/input/ff-memless.o
CC drivers/pcmcia/rsrc_nonstatic.o
CC drivers/acpi/acpica/psscope.o
CC drivers/scsi/scsi_bsg.o
CC drivers/acpi/dock.o
CC drivers/usb/storage/initializers.o
CC drivers/ata/pata_amd.o
CC drivers/gpu/drm/i915/i915_debugfs_params.o
CC [M] net/netfilter/xt_mark.o
CC fs/file.o
AR drivers/input/mouse/built-in.a
CC drivers/scsi/scsi_common.o
CC drivers/acpi/pci_root.o
CC fs/nfs/nfs4renewd.o
CC drivers/acpi/pci_link.o
CC drivers/usb/core/driver.o
CC drivers/ptp/ptp_kvm_x86.o
CC drivers/acpi/pci_irq.o
CC drivers/ptp/ptp_kvm_common.o
CC drivers/gpu/drm/i915/i915_pmu.o
CC fs/filesystems.o
CC drivers/ata/pata_oldpiix.o
CC drivers/acpi/acpica/pstree.o
CC drivers/usb/storage/sierra_ms.o
AR drivers/thermal/intel/built-in.a
AR drivers/thermal/st/built-in.a
AR drivers/thermal/qcom/built-in.a
AR drivers/thermal/tegra/built-in.a
AR drivers/thermal/mediatek/built-in.a
CC drivers/thermal/thermal_core.o
CC net/ipv6/calipso.o
CC drivers/gpu/drm/drm_crtc.o
CC drivers/md/md.o
CC drivers/usb/storage/option_ms.o
CC drivers/ata/pata_sch.o
CC net/ipv4/udp_offload.o
CC lib/percpu-refcount.o
CC net/ipv6/ah6.o
CC drivers/input/sparse-keymap.o
CC drivers/scsi/scsi_transport_spi.o
CC arch/x86/kernel/step.o
CC drivers/pcmcia/yenta_socket.o
CC [M] drivers/gpu/drm/xe/xe_gsc_debugfs.o
CC drivers/acpi/acpica/psutils.o
CC drivers/usb/core/config.o
CC [M] net/netfilter/xt_nat.o
CC drivers/gpu/drm/i915/gt/gen2_engine_cs.o
CC drivers/usb/host/ohci-pci.o
CC drivers/thermal/thermal_sysfs.o
CC drivers/md/md-bitmap.o
CC drivers/input/vivaldi-fmap.o
CC kernel/trace/error_report-traces.o
CC kernel/trace/power-traces.o
CC drivers/gpu/drm/i915/gt/gen6_engine_cs.o
AR drivers/ptp/built-in.a
CC mm/slub.o
CC drivers/usb/storage/usual-tables.o
CC drivers/ata/pata_mpiix.o
CC net/mac80211/fils_aead.o
CC mm/madvise.o
CC arch/x86/kernel/i8237.o
CC arch/x86/kernel/stacktrace.o
CC drivers/md/md-autodetect.o
CC drivers/gpu/drm/i915/gt/gen6_ppgtt.o
CC net/ipv6/esp6.o
CC drivers/acpi/acpica/pswalk.o
CC fs/nfs/nfs4super.o
CC net/ipv6/sit.o
CC drivers/gpu/drm/i915/gt/gen7_renderclear.o
CC net/ipv6/addrconf_core.o
CC net/ipv6/exthdrs_core.o
CC drivers/thermal/thermal_trip.o
CC drivers/input/input-leds.o
CC drivers/ata/ata_generic.o
CC drivers/scsi/virtio_scsi.o
CC mm/page_io.o
CC lib/rhashtable.o
CC fs/nfs/nfs4file.o
CC drivers/acpi/acpica/psxface.o
CC arch/x86/kernel/reboot.o
CC drivers/acpi/acpi_apd.o
CC [M] net/netfilter/xt_LOG.o
CC drivers/usb/host/uhci-hcd.o
CC [M] drivers/gpu/drm/xe/xe_gsc_proxy.o
AR drivers/usb/storage/built-in.a
CC kernel/trace/rpm-traces.o
CC mm/swap_state.o
CC drivers/usb/core/file.o
CC net/ipv4/arp.o
CC drivers/input/evdev.o
CC net/ipv6/ip6_checksum.o
CC drivers/cpufreq/cpufreq.o
CC drivers/acpi/acpica/rsaddr.o
CC drivers/scsi/sd.o
CC drivers/usb/host/xhci.o
CC kernel/workqueue.o
CC kernel/trace/trace_dynevent.o
CC drivers/gpu/drm/drm_displayid.o
CC [M] drivers/gpu/drm/xe/xe_gsc_submit.o
CC mm/swapfile.o
CC net/mac80211/cfg.o
CC drivers/thermal/thermal_helpers.o
AR drivers/net/ethernet/dlink/built-in.a
AR drivers/pcmcia/built-in.a
CC fs/namespace.o
CC drivers/usb/core/buffer.o
CC drivers/acpi/acpi_platform.o
CC drivers/scsi/sr.o
AR drivers/ata/built-in.a
CC drivers/thermal/thermal_thresholds.o
CC drivers/acpi/acpica/rscalc.o
AR drivers/net/ethernet/emulex/built-in.a
CC drivers/acpi/acpica/rscreate.o
CC drivers/usb/core/sysfs.o
CC drivers/acpi/acpi_pnp.o
CC arch/x86/kernel/msr.o
CC drivers/thermal/thermal_hwmon.o
CC [M] drivers/gpu/drm/xe/xe_gt.o
CC drivers/cpufreq/freq_table.o
CC kernel/trace/trace_probe.o
CC lib/base64.o
CC drivers/gpu/drm/i915/gt/gen8_engine_cs.o
CC drivers/cpuidle/governors/menu.o
CC drivers/cpuidle/cpuidle.o
CC drivers/usb/host/xhci-mem.o
CC drivers/md/dm.o
CC fs/seq_file.o
CC lib/once.o
CC net/ipv4/icmp.o
CC drivers/thermal/gov_step_wise.o
CC drivers/acpi/power.o
CC drivers/acpi/acpica/rsdumpinfo.o
CC [M] net/netfilter/xt_MASQUERADE.o
CC drivers/gpu/drm/drm_drv.o
CC net/mac80211/ethtool.o
CC drivers/cpuidle/driver.o
CC drivers/cpufreq/cpufreq_performance.o
CC net/ipv6/ip6_icmp.o
CC fs/xattr.o
AR drivers/input/built-in.a
CC lib/refcount.o
CC drivers/usb/host/xhci-ext-caps.o
CC drivers/cpuidle/governors/haltpoll.o
CC net/ipv4/devinet.o
CC arch/x86/kernel/cpuid.o
CC lib/rcuref.o
CC mm/swap_slots.o
CC drivers/acpi/acpica/rsinfo.o
CC [M] drivers/gpu/drm/xe/xe_gt_ccs_mode.o
CC net/mac80211/rx.o
CC drivers/gpu/drm/i915/gt/gen8_ppgtt.o
CC kernel/pid.o
AR drivers/net/ethernet/broadcom/built-in.a
AR drivers/net/ethernet/engleder/built-in.a
AR drivers/net/ethernet/ezchip/built-in.a
CC [M] net/netfilter/xt_addrtype.o
AR drivers/net/ethernet/fujitsu/built-in.a
CC lib/usercopy.o
AR drivers/mmc/built-in.a
AR drivers/net/ethernet/fungible/built-in.a
CC drivers/thermal/gov_user_space.o
CC net/mac80211/spectmgmt.o
AR drivers/net/ethernet/google/built-in.a
AR drivers/net/ethernet/hisilicon/built-in.a
AR drivers/net/ethernet/huawei/built-in.a
CC drivers/net/ethernet/intel/e1000/e1000_main.o
CC drivers/net/ethernet/intel/e1000e/82571.o
CC fs/nfs/delegation.o
CC net/mac80211/tx.o
CC net/mac80211/key.o
CC lib/errseq.o
CC arch/x86/kernel/early-quirks.o
CC drivers/usb/core/endpoint.o
CC drivers/acpi/acpica/rsio.o
CC drivers/acpi/event.o
AR drivers/net/ethernet/i825xx/built-in.a
AR drivers/net/ethernet/microsoft/built-in.a
CC drivers/gpu/drm/drm_dumb_buffers.o
CC lib/bucket_locks.o
CC lib/generic-radix-tree.o
CC kernel/trace/trace_uprobe.o
CC drivers/md/dm-table.o
AR drivers/thermal/built-in.a
AR drivers/ufs/built-in.a
CC drivers/net/ethernet/intel/e1000e/ich8lan.o
AR drivers/firmware/arm_ffa/built-in.a
AR drivers/firmware/arm_scmi/built-in.a
AR drivers/firmware/broadcom/built-in.a
AR drivers/firmware/cirrus/built-in.a
CC drivers/acpi/acpica/rsirq.o
AR drivers/firmware/meson/built-in.a
CC drivers/net/ethernet/intel/e1000/e1000_hw.o
CC drivers/gpu/drm/i915/gt/intel_breadcrumbs.o
AR drivers/firmware/microchip/built-in.a
AR drivers/crypto/stm32/built-in.a
AR drivers/crypto/xilinx/built-in.a
AR drivers/crypto/hisilicon/built-in.a
AR drivers/crypto/intel/keembay/built-in.a
AR drivers/crypto/intel/ixp4xx/built-in.a
AR drivers/crypto/intel/built-in.a
AR drivers/crypto/starfive/built-in.a
CC drivers/cpuidle/governor.o
AR drivers/crypto/built-in.a
CC drivers/firmware/efi/libstub/efi-stub-helper.o
CC drivers/net/ethernet/intel/e1000e/80003es2lan.o
AR drivers/firmware/imx/built-in.a
CC [M] drivers/gpu/drm/xe/xe_gt_clock.o
CC drivers/cpufreq/cpufreq_userspace.o
CC drivers/acpi/acpica/rslist.o
CC drivers/acpi/evged.o
AR drivers/cpuidle/governors/built-in.a
CC drivers/gpu/drm/i915/gt/intel_context.o
CC drivers/gpu/drm/drm_edid.o
CC net/ipv6/output_core.o
CC drivers/usb/core/devio.o
CC drivers/net/ethernet/intel/e1000e/mac.o
CC drivers/scsi/sr_ioctl.o
CC drivers/cpuidle/sysfs.o
CC lib/bitmap-str.o
CC drivers/gpu/drm/i915/gt/intel_context_sseu.o
CC drivers/firmware/efi/libstub/gop.o
CC arch/x86/kernel/smp.o
CC drivers/clocksource/acpi_pm.o
CC drivers/acpi/acpica/rsmemory.o
CC drivers/usb/host/xhci-ring.o
CC fs/nfs/nfs4idmap.o
CC drivers/cpufreq/cpufreq_ondemand.o
AR drivers/net/ethernet/litex/built-in.a
AR net/wireless/built-in.a
CC drivers/gpu/drm/drm_eld.o
CC net/ipv4/af_inet.o
CC arch/x86/kernel/smpboot.o
CC drivers/scsi/sr_vendor.o
CC drivers/usb/host/xhci-hub.o
AR net/netfilter/built-in.a
CC drivers/gpu/drm/i915/gt/intel_engine_cs.o
CC lib/string_helpers.o
CC mm/dmapool.o
CC drivers/net/ethernet/intel/e100.o
CC kernel/trace/rethook.o
CC drivers/acpi/acpica/rsmisc.o
CC drivers/usb/core/notify.o
CC fs/libfs.o
CC net/ipv4/igmp.o
CC drivers/cpuidle/poll_state.o
CC [M] drivers/gpu/drm/xe/xe_gt_freq.o
CC drivers/cpufreq/cpufreq_governor.o
CC lib/hexdump.o
CC drivers/net/ethernet/intel/e1000/e1000_ethtool.o
CC drivers/cpuidle/cpuidle-haltpoll.o
CC drivers/clocksource/i8253.o
CC drivers/firmware/efi/libstub/secureboot.o
CC drivers/firmware/efi/libstub/tpm.o
CC drivers/net/ethernet/intel/e1000/e1000_param.o
CC drivers/firmware/efi/libstub/file.o
CC net/ipv6/protocol.o
CC lib/kstrtox.o
CC drivers/firmware/efi/efi-bgrt.o
CC drivers/cpufreq/cpufreq_governor_attr_set.o
CC drivers/usb/host/xhci-dbg.o
CC drivers/acpi/acpica/rsserial.o
CC arch/x86/kernel/tsc_sync.o
CC drivers/scsi/sg.o
CC mm/hugetlb.o
CC fs/fs-writeback.o
CC net/ipv4/fib_frontend.o
CC drivers/firmware/efi/libstub/mem.o
CC drivers/net/ethernet/intel/e1000e/manage.o
CC drivers/md/dm-target.o
CC kernel/task_work.o
AR drivers/cpuidle/built-in.a
AR drivers/clocksource/built-in.a
CC [M] drivers/gpu/drm/xe/xe_gt_idle.o
CC fs/nfs/callback.o
AR kernel/trace/built-in.a
CC net/ipv6/ip6_offload.o
AR drivers/firmware/psci/built-in.a
CC drivers/cpufreq/acpi-cpufreq.o
CC mm/mmu_notifier.o
CC drivers/hid/usbhid/hid-core.o
CC drivers/hid/hid-core.o
CC drivers/acpi/acpica/rsutils.o
CC drivers/hid/hid-input.o
CC drivers/gpu/drm/drm_encoder.o
CC lib/iomap.o
AR drivers/net/ethernet/marvell/octeon_ep/built-in.a
CC drivers/net/ethernet/intel/e1000e/nvm.o
AR drivers/net/ethernet/marvell/octeon_ep_vf/built-in.a
AR drivers/net/ethernet/marvell/octeontx2/built-in.a
CC fs/pnode.o
AR drivers/net/ethernet/marvell/prestera/built-in.a
CC drivers/usb/core/generic.o
CC drivers/net/ethernet/marvell/sky2.o
CC arch/x86/kernel/setup_percpu.o
CC net/ipv6/tcpv6_offload.o
CC net/ipv6/exthdrs_offload.o
AR drivers/net/ethernet/mellanox/built-in.a
CC drivers/net/ethernet/intel/e1000e/phy.o
CC drivers/gpu/drm/drm_file.o
CC drivers/acpi/acpica/rsxface.o
CC drivers/firmware/efi/libstub/random.o
CC drivers/hid/hid-quirks.o
CC fs/nfs/callback_xdr.o
CC kernel/extable.o
AR drivers/platform/x86/amd/built-in.a
AR drivers/firmware/qcom/built-in.a
AR drivers/platform/x86/intel/built-in.a
AR drivers/platform/surface/built-in.a
CC drivers/firmware/efi/efi.o
CC drivers/platform/x86/wmi.o
CC drivers/cpufreq/amd-pstate.o
CC drivers/usb/host/xhci-trace.o
CC fs/splice.o
CC drivers/firmware/efi/libstub/randomalloc.o
CC drivers/acpi/sysfs.o
CC drivers/hid/usbhid/hiddev.o
CC drivers/acpi/property.o
CC lib/iomap_copy.o
CC drivers/hid/hid-debug.o
CC [M] drivers/gpu/drm/xe/xe_gt_mcr.o
CC fs/nfs/callback_proc.o
CC drivers/usb/core/quirks.o
CC drivers/acpi/acpica/tbdata.o
AR drivers/firmware/smccc/built-in.a
CC net/mac80211/util.o
CC arch/x86/kernel/mpparse.o
CC [M] drivers/gpu/drm/xe/xe_gt_pagefault.o
CC drivers/platform/x86/wmi-bmof.o
CC drivers/md/dm-linear.o
CC lib/devres.o
CC drivers/cpufreq/amd-pstate-trace.o
CC drivers/hid/usbhid/hid-pidff.o
CC drivers/usb/host/xhci-debugfs.o
CC drivers/gpu/drm/i915/gt/intel_engine_heartbeat.o
CC net/ipv6/inet6_hashtables.o
AR drivers/net/ethernet/intel/e1000/built-in.a
CC drivers/acpi/acpica/tbfadt.o
CC drivers/hid/hidraw.o
CC drivers/scsi/scsi_sysfs.o
CC arch/x86/kernel/trace_clock.o
CC drivers/firmware/efi/libstub/pci.o
CC fs/nfs/nfs4namespace.o
CC fs/sync.o
CC drivers/usb/core/devices.o
CC drivers/firmware/efi/vars.o
CC drivers/cpufreq/intel_pstate.o
CC lib/check_signature.o
CC drivers/usb/host/xhci-pci.o
CC drivers/gpu/drm/i915/gt/intel_engine_pm.o
CC net/ipv4/fib_semantics.o
CC kernel/params.o
CC drivers/platform/x86/eeepc-laptop.o
CC net/ipv6/mcast_snoop.o
CC drivers/hid/hid-generic.o
AR drivers/net/ethernet/meta/built-in.a
CC drivers/usb/core/phy.o
CC kernel/kthread.o
CC drivers/usb/core/port.o
CC lib/interval_tree.o
CC drivers/md/dm-stripe.o
CC drivers/acpi/acpica/tbfind.o
CC net/ipv4/fib_trie.o
CC [M] drivers/gpu/drm/xe/xe_gt_sysfs.o
CC mm/migrate.o
CC drivers/platform/x86/p2sb.o
AR drivers/net/ethernet/micrel/built-in.a
AR drivers/net/ethernet/microchip/built-in.a
CC drivers/hid/hid-a4tech.o
CC drivers/gpu/drm/drm_fourcc.o
CC drivers/mailbox/mailbox.o
CC drivers/hid/hid-apple.o
CC fs/nfs/nfs4getroot.o
CC lib/assoc_array.o
CC arch/x86/kernel/trace.o
CC drivers/firmware/efi/libstub/skip_spaces.o
CC drivers/net/ethernet/intel/e1000e/param.o
CC drivers/acpi/acpica/tbinstal.o
CC drivers/firmware/efi/libstub/lib-cmdline.o
CC fs/nfs/nfs4client.o
CC drivers/mailbox/pcc.o
CC drivers/acpi/debugfs.o
CC net/ipv4/fib_notifier.o
CC drivers/firmware/efi/libstub/lib-ctype.o
CC [M] drivers/gpu/drm/xe/xe_gt_throttle.o
CC drivers/firmware/efi/libstub/alignedmem.o
CC drivers/gpu/drm/drm_framebuffer.o
CC kernel/sys_ni.o
CC drivers/gpu/drm/i915/gt/intel_engine_user.o
CC mm/page_counter.o
CC drivers/acpi/acpica/tbprint.o
CC lib/bitrev.o
AR drivers/firmware/tegra/built-in.a
CC drivers/net/ethernet/intel/e1000e/ethtool.o
CC drivers/usb/core/hcd-pci.o
CC fs/nfs/nfs4session.o
CC mm/hugetlb_cgroup.o
CC drivers/gpu/drm/drm_gem.o
CC lib/crc-ccitt.o
CC mm/early_ioremap.o
AR drivers/hid/usbhid/built-in.a
CC drivers/md/dm-ioctl.o
CC net/ipv4/inet_fragment.o
CC net/ipv4/ping.o
CC arch/x86/kernel/rethook.o
AR drivers/scsi/built-in.a
CC [M] drivers/gpu/drm/xe/xe_gt_tlb_invalidation.o
CC fs/nfs/dns_resolve.o
CC net/mac80211/parse.o
CC fs/utimes.o
CC drivers/acpi/acpica/tbutils.o
AR drivers/net/ethernet/mscc/built-in.a
AR drivers/perf/built-in.a
CC arch/x86/kernel/vmcore_info_32.o
CC mm/secretmem.o
CC [M] drivers/gpu/drm/xe/xe_gt_topology.o
CC arch/x86/kernel/machine_kexec_32.o
AR net/ipv6/built-in.a
CC mm/hmm.o
CC drivers/net/ethernet/intel/e1000e/netdev.o
CC drivers/acpi/acpica/tbxface.o
AR drivers/platform/x86/built-in.a
AR drivers/platform/built-in.a
CC net/ipv4/ip_tunnel_core.o
CC net/ipv4/gre_offload.o
AR drivers/firmware/xilinx/built-in.a
CC kernel/nsproxy.o
CC net/mac80211/wme.o
AR drivers/mailbox/built-in.a
CC lib/crc16.o
CC drivers/hid/hid-belkin.o
CC drivers/gpu/drm/drm_ioctl.o
CC drivers/firmware/efi/libstub/relocate.o
CC [M] drivers/gpu/drm/xe/xe_guc.o
AS arch/x86/kernel/relocate_kernel_32.o
CC kernel/notifier.o
CC drivers/usb/core/usb-acpi.o
CC drivers/firmware/dmi_scan.o
AR drivers/usb/host/built-in.a
AR drivers/net/ethernet/myricom/built-in.a
CC drivers/acpi/acpi_lpat.o
CC drivers/acpi/acpica/tbxfload.o
CC arch/x86/kernel/crash_dump_32.o
CC drivers/md/dm-io.o
CC fs/d_path.o
HOSTCC lib/gen_crc32table
CC drivers/gpu/drm/i915/gt/intel_execlists_submission.o
CC drivers/md/dm-kcopyd.o
CC lib/xxhash.o
CC drivers/gpu/drm/drm_lease.o
CC drivers/firmware/dmi-id.o
CC fs/stack.o
AR drivers/net/ethernet/marvell/built-in.a
CC kernel/ksysfs.o
CC drivers/firmware/efi/reboot.o
CC net/ipv4/metrics.o
CC drivers/md/dm-sysfs.o
AR drivers/hwtracing/intel_th/built-in.a
CC drivers/net/ethernet/intel/e1000e/ptp.o
CC drivers/acpi/acpica/tbxfroot.o
CC drivers/hid/hid-cherry.o
CC drivers/hid/hid-chicony.o
CC fs/fs_struct.o
CC arch/x86/kernel/crash.o
CC arch/x86/kernel/module.o
CC drivers/acpi/acpi_pcc.o
CC drivers/firmware/efi/libstub/printk.o
CC drivers/gpu/drm/drm_managed.o
CC lib/genalloc.o
CC mm/memfd.o
CC lib/percpu_counter.o
CC fs/nfs/nfs4trace.o
AR drivers/cpufreq/built-in.a
CC fs/nfs/nfs4sysctl.o
CC net/ipv4/netlink.o
AR drivers/android/built-in.a
AR drivers/usb/core/built-in.a
CC drivers/firmware/efi/memattr.o
AR drivers/usb/built-in.a
CC kernel/cred.o
CC drivers/firmware/memmap.o
AR drivers/nvmem/layouts/built-in.a
CC net/mac80211/chan.o
CC drivers/nvmem/core.o
CC drivers/acpi/ac.o
CC drivers/firmware/efi/libstub/vsprintf.o
CC drivers/acpi/acpica/utaddress.o
CC drivers/acpi/acpica/utalloc.o
CC net/ipv4/nexthop.o
CC net/mac80211/trace.o
CC [M] drivers/gpu/drm/xe/xe_guc_ads.o
AR drivers/net/ethernet/natsemi/built-in.a
CC fs/statfs.o
CC lib/audit.o
CC net/ipv4/udp_tunnel_stub.o
CC drivers/firmware/efi/libstub/x86-stub.o
CC drivers/acpi/acpica/utascii.o
CC drivers/gpu/drm/drm_mm.o
CC drivers/firmware/efi/libstub/smbios.o
CC drivers/acpi/acpica/utbuffer.o
CC net/mac80211/mlme.o
CC drivers/hid/hid-cypress.o
CC drivers/hid/hid-ezkey.o
CC drivers/firmware/efi/tpm.o
CC drivers/md/dm-stats.o
CC drivers/md/dm-rq.o
CC drivers/acpi/button.o
CC drivers/acpi/acpica/utcksum.o
CC [M] drivers/gpu/drm/xe/xe_guc_buf.o
CC drivers/hid/hid-gyration.o
CC net/mac80211/tdls.o
CC mm/ptdump.o
CC arch/x86/kernel/doublefault_32.o
CC arch/x86/kernel/early_printk.o
CC [M] drivers/gpu/drm/xe/xe_guc_capture.o
CC drivers/gpu/drm/i915/gt/intel_ggtt.o
CC fs/fs_pin.o
CC net/ipv4/ip_tunnel.o
AR drivers/net/ethernet/neterion/built-in.a
CC kernel/reboot.o
CC drivers/acpi/acpica/utcopy.o
CC mm/execmem.o
CC drivers/firmware/efi/memmap.o
CC drivers/hid/hid-ite.o
CC arch/x86/kernel/hpet.o
CC lib/syscall.o
CC drivers/md/dm-io-rewind.o
CC drivers/gpu/drm/i915/gt/intel_ggtt_fencing.o
STUBCPY drivers/firmware/efi/libstub/alignedmem.stub.o
CC drivers/firmware/efi/capsule.o
CC fs/nsfs.o
CC kernel/async.o
CC arch/x86/kernel/amd_nb.o
CC drivers/acpi/fan_core.o
CC net/ipv4/sysctl_net_ipv4.o
CC net/mac80211/ocb.o
CC drivers/acpi/fan_attr.o
AR drivers/net/ethernet/netronome/built-in.a
CC [M] drivers/gpu/drm/xe/xe_guc_ct.o
CC drivers/acpi/acpica/utexcep.o
CC drivers/md/dm-builtin.o
CC lib/errname.o
CC drivers/firmware/efi/esrt.o
CC kernel/range.o
CC net/ipv4/proc.o
STUBCPY drivers/firmware/efi/libstub/efi-stub-helper.stub.o
CC arch/x86/kernel/kvm.o
STUBCPY drivers/firmware/efi/libstub/file.stub.o
STUBCPY drivers/firmware/efi/libstub/gop.stub.o
AR drivers/net/ethernet/ni/built-in.a
CC drivers/gpu/drm/drm_mode_config.o
STUBCPY drivers/firmware/efi/libstub/lib-cmdline.stub.o
STUBCPY drivers/firmware/efi/libstub/lib-ctype.stub.o
CC net/mac80211/airtime.o
STUBCPY drivers/firmware/efi/libstub/mem.stub.o
CC [M] drivers/gpu/drm/xe/xe_guc_db_mgr.o
STUBCPY drivers/firmware/efi/libstub/pci.stub.o
AR drivers/nvmem/built-in.a
STUBCPY drivers/firmware/efi/libstub/printk.stub.o
CC drivers/net/ethernet/nvidia/forcedeth.o
STUBCPY drivers/firmware/efi/libstub/random.stub.o
STUBCPY drivers/firmware/efi/libstub/randomalloc.stub.o
STUBCPY drivers/firmware/efi/libstub/relocate.stub.o
CC [M] drivers/gpu/drm/xe/xe_guc_hwconfig.o
CC arch/x86/kernel/kvmclock.o
STUBCPY drivers/firmware/efi/libstub/secureboot.stub.o
STUBCPY drivers/firmware/efi/libstub/skip_spaces.stub.o
CC lib/nlattr.o
STUBCPY drivers/firmware/efi/libstub/smbios.stub.o
STUBCPY drivers/firmware/efi/libstub/tpm.stub.o
STUBCPY drivers/firmware/efi/libstub/vsprintf.stub.o
CC drivers/hid/hid-kensington.o
CC drivers/acpi/fan_hwmon.o
STUBCPY drivers/firmware/efi/libstub/x86-stub.stub.o
AR drivers/firmware/efi/libstub/lib.a
CC lib/cpu_rmap.o
CC lib/dynamic_queue_limits.o
AR mm/built-in.a
CC fs/fs_types.o
CC net/ipv4/fib_rules.o
CC lib/glob.o
CC drivers/gpu/drm/drm_mode_object.o
CC drivers/hid/hid-lg.o
CC drivers/acpi/acpica/utdebug.o
CC net/ipv4/ipmr.o
CC [M] drivers/gpu/drm/xe/xe_guc_id_mgr.o
CC kernel/smpboot.o
CC drivers/firmware/efi/runtime-wrappers.o
CC drivers/gpu/drm/i915/gt/intel_gt.o
CC drivers/gpu/drm/drm_modes.o
CC drivers/acpi/acpica/utdecode.o
CC net/ipv4/ipmr_base.o
CC drivers/hid/hid-lgff.o
AR drivers/net/ethernet/oki-semi/built-in.a
CC kernel/ucount.o
CC kernel/regset.o
CC drivers/acpi/acpi_video.o
CC net/mac80211/eht.o
CC drivers/firmware/efi/capsule-loader.o
CC drivers/md/dm-raid1.o
CC drivers/acpi/acpica/utdelete.o
CC fs/fs_context.o
CC [M] drivers/gpu/drm/xe/xe_guc_klv_helpers.o
AR drivers/net/ethernet/packetengines/built-in.a
CC drivers/acpi/acpica/uterror.o
CC kernel/ksyms_common.o
CC kernel/groups.o
CC drivers/md/dm-log.o
CC drivers/hid/hid-lg4ff.o
CC drivers/firmware/efi/earlycon.o
AR drivers/net/ethernet/qlogic/built-in.a
CC [M] drivers/gpu/drm/xe/xe_guc_log.o
CC fs/fs_parser.o
CC net/mac80211/led.o
CC drivers/md/dm-region-hash.o
CC lib/strncpy_from_user.o
CC drivers/acpi/video_detect.o
CC drivers/gpu/drm/drm_modeset_lock.o
CC drivers/acpi/acpica/uteval.o
CC drivers/gpu/drm/i915/gt/intel_gt_buffer_pool.o
CC drivers/acpi/acpica/utglobal.o
CC drivers/md/dm-zero.o
AR drivers/net/ethernet/qualcomm/emac/built-in.a
AR drivers/net/ethernet/qualcomm/built-in.a
CC drivers/acpi/acpica/uthex.o
CC net/mac80211/pm.o
CC net/ipv4/syncookies.o
CC drivers/acpi/acpica/utids.o
CC net/ipv4/tunnel4.o
CC fs/fsopen.o
CC arch/x86/kernel/paravirt.o
CC kernel/kcmp.o
CC net/mac80211/rc80211_minstrel_ht.o
CC fs/init.o
CC arch/x86/kernel/pvclock.o
CC lib/strnlen_user.o
CC drivers/acpi/processor_driver.o
CC drivers/acpi/acpica/utinit.o
CC kernel/freezer.o
CC lib/net_utils.o
CC drivers/gpu/drm/drm_plane.o
CC drivers/hid/hid-lg-g15.o
AR drivers/firmware/efi/built-in.a
AR drivers/firmware/built-in.a
CC net/mac80211/wbrf.o
CC drivers/gpu/drm/i915/gt/intel_gt_ccs_mode.o
CC drivers/acpi/acpica/utlock.o
CC drivers/hid/hid-microsoft.o
CC drivers/acpi/processor_thermal.o
CC [M] drivers/gpu/drm/xe/xe_guc_pc.o
CC arch/x86/kernel/pcspeaker.o
CC drivers/gpu/drm/drm_prime.o
CC lib/sg_pool.o
CC kernel/profile.o
CC [M] drivers/gpu/drm/xe/xe_guc_submit.o
CC net/ipv4/ipconfig.o
CC fs/kernel_read_file.o
CC drivers/gpu/drm/i915/gt/intel_gt_clock_utils.o
CC arch/x86/kernel/check.o
CC arch/x86/kernel/uprobes.o
CC drivers/gpu/drm/drm_print.o
CC drivers/hid/hid-monterey.o
CC lib/stackdepot.o
CC drivers/net/ethernet/realtek/8139too.o
CC drivers/acpi/acpica/utmath.o
CC [M] drivers/gpu/drm/xe/xe_heci_gsc.o
AR drivers/md/built-in.a
CC net/ipv4/netfilter.o
CC drivers/net/ethernet/realtek/r8169_main.o
CC lib/asn1_decoder.o
CC kernel/stacktrace.o
AR fs/nfs/built-in.a
CC drivers/gpu/drm/i915/gt/intel_gt_debugfs.o
CC fs/mnt_idmapping.o
CC drivers/acpi/acpica/utmisc.o
CC drivers/hid/hid-ntrig.o
CC drivers/acpi/processor_idle.o
CC drivers/hid/hid-pl.o
GEN lib/oid_registry_data.c
CC drivers/gpu/drm/i915/gt/intel_gt_engines_debugfs.o
CC arch/x86/kernel/perf_regs.o
CC drivers/net/ethernet/realtek/r8169_firmware.o
CC net/ipv4/tcp_cubic.o
CC net/ipv4/tcp_sigpool.o
CC drivers/acpi/acpica/utmutex.o
CC drivers/acpi/processor_throttling.o
AR drivers/net/ethernet/intel/e1000e/built-in.a
AR drivers/net/ethernet/intel/built-in.a
CC drivers/gpu/drm/i915/gt/intel_gt_irq.o
CC fs/remap_range.o
CC arch/x86/kernel/tracepoint.o
CC net/ipv4/cipso_ipv4.o
CC drivers/acpi/processor_perflib.o
CC [M] drivers/gpu/drm/xe/xe_huc.o
CC drivers/gpu/drm/i915/gt/intel_gt_mcr.o
CC arch/x86/kernel/itmt.o
AR drivers/net/ethernet/renesas/built-in.a
CC kernel/dma.o
CC net/ipv4/xfrm4_policy.o
CC drivers/acpi/container.o
CC fs/pidfs.o
CC arch/x86/kernel/umip.o
CC drivers/net/ethernet/realtek/r8169_phy_config.o
CC drivers/acpi/acpica/utnonansi.o
CC [M] drivers/gpu/drm/xe/xe_hw_engine.o
AR drivers/net/ethernet/rdc/built-in.a
CC net/ipv4/xfrm4_state.o
CC drivers/hid/hid-petalynx.o
CC fs/buffer.o
CC [M] drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.o
CC lib/ucs2_string.o
CC drivers/hid/hid-redragon.o
CC drivers/acpi/thermal_lib.o
CC lib/sbitmap.o
AR drivers/net/ethernet/rocker/built-in.a
CC drivers/gpu/drm/i915/gt/intel_gt_pm.o
CC kernel/smp.o
CC drivers/hid/hid-samsung.o
CC drivers/hid/hid-sony.o
CC lib/group_cpus.o
AR drivers/net/ethernet/samsung/built-in.a
CC fs/mpage.o
CC drivers/gpu/drm/drm_property.o
CC drivers/acpi/acpica/utobject.o
CC drivers/acpi/thermal.o
CC drivers/hid/hid-sunplus.o
CC lib/fw_table.o
CC kernel/uid16.o
CC [M] drivers/gpu/drm/xe/xe_hw_engine_group.o
CC arch/x86/kernel/unwind_frame.o
AR drivers/net/ethernet/seeq/built-in.a
CC drivers/gpu/drm/drm_rect.o
CC drivers/acpi/acpica/utosi.o
CC drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.o
CC drivers/acpi/nhlt.o
AR drivers/net/ethernet/nvidia/built-in.a
AR drivers/net/ethernet/silan/built-in.a
AR drivers/net/ethernet/sis/built-in.a
CC kernel/kallsyms.o
CC drivers/gpu/drm/i915/gt/intel_gt_pm_irq.o
CC fs/proc_namespace.o
CC drivers/acpi/acpica/utownerid.o
AR drivers/net/ethernet/sfc/built-in.a
CC drivers/gpu/drm/drm_syncobj.o
CC drivers/gpu/drm/i915/gt/intel_gt_requests.o
CC kernel/acct.o
AR lib/lib.a
CC fs/direct-io.o
CC [M] drivers/gpu/drm/xe/xe_hw_fence.o
GEN lib/crc32table.h
CC kernel/vmcore_info.o
CC net/ipv4/xfrm4_input.o
CC drivers/gpu/drm/drm_sysfs.o
CC drivers/gpu/drm/i915/gt/intel_gt_sysfs.o
CC drivers/hid/hid-topseed.o
CC drivers/acpi/acpi_memhotplug.o
CC lib/oid_registry.o
CC [M] drivers/gpu/drm/xe/xe_irq.o
CC net/ipv4/xfrm4_output.o
AR drivers/net/ethernet/smsc/built-in.a
CC drivers/acpi/ioapic.o
CC drivers/gpu/drm/drm_trace_points.o
CC kernel/elfcorehdr.o
CC drivers/acpi/acpica/utpredef.o
CC fs/eventpoll.o
CC drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.o
CC net/ipv4/xfrm4_protocol.o
AR drivers/net/ethernet/socionext/built-in.a
AR drivers/net/ethernet/stmicro/built-in.a
CC lib/crc32.o
CC [M] drivers/gpu/drm/xe/xe_lrc.o
CC drivers/gpu/drm/drm_vblank.o
CC fs/anon_inodes.o
AR arch/x86/kernel/built-in.a
AR arch/x86/built-in.a
CC kernel/crash_reserve.o
CC drivers/gpu/drm/drm_vblank_work.o
CC [M] drivers/gpu/drm/xe/xe_migrate.o
CC [M] drivers/gpu/drm/xe/xe_mmio.o
CC kernel/kexec_core.o
CC drivers/gpu/drm/drm_vma_manager.o
CC drivers/gpu/drm/i915/gt/intel_gtt.o
CC fs/signalfd.o
CC drivers/acpi/acpica/utresdecode.o
CC drivers/acpi/battery.o
CC fs/timerfd.o
CC drivers/gpu/drm/i915/gt/intel_llc.o
CC [M] drivers/gpu/drm/xe/xe_mocs.o
CC drivers/gpu/drm/i915/gt/intel_lrc.o
CC kernel/crash_core.o
CC kernel/kexec.o
CC drivers/gpu/drm/drm_writeback.o
CC kernel/utsname.o
AR drivers/net/ethernet/sun/built-in.a
CC fs/eventfd.o
CC drivers/acpi/bgrt.o
CC drivers/acpi/acpica/utresrc.o
AR lib/built-in.a
CC [M] drivers/gpu/drm/xe/xe_module.o
AR drivers/hid/built-in.a
CC kernel/pid_namespace.o
CC drivers/acpi/spcr.o
CC [M] drivers/gpu/drm/xe/xe_oa.o
AR drivers/net/ethernet/tehuti/built-in.a
CC drivers/gpu/drm/drm_panel.o
CC fs/aio.o
CC kernel/stop_machine.o
CC drivers/gpu/drm/drm_pci.o
CC fs/locks.o
CC drivers/gpu/drm/i915/gt/intel_migrate.o
CC drivers/acpi/acpica/utstate.o
AR drivers/net/ethernet/ti/built-in.a
AR drivers/net/ethernet/vertexcom/built-in.a
CC [M] drivers/gpu/drm/xe/xe_observation.o
CC fs/binfmt_misc.o
AR drivers/net/ethernet/via/built-in.a
CC drivers/gpu/drm/drm_debugfs.o
CC drivers/gpu/drm/i915/gt/intel_mocs.o
CC drivers/gpu/drm/drm_debugfs_crc.o
CC drivers/gpu/drm/i915/gt/intel_ppgtt.o
CC drivers/acpi/acpica/utstring.o
CC fs/binfmt_script.o
CC fs/binfmt_elf.o
CC drivers/gpu/drm/drm_panel_orientation_quirks.o
AR drivers/net/ethernet/wangxun/built-in.a
CC drivers/gpu/drm/i915/gt/intel_rc6.o
CC [M] drivers/gpu/drm/xe/xe_pat.o
CC kernel/audit.o
CC drivers/acpi/acpica/utstrsuppt.o
CC drivers/gpu/drm/drm_buddy.o
AR net/ipv4/built-in.a
AR drivers/net/ethernet/wiznet/built-in.a
CC drivers/gpu/drm/i915/gt/intel_region_lmem.o
CC [M] drivers/gpu/drm/xe/xe_pci.o
CC kernel/auditfilter.o
CC drivers/gpu/drm/i915/gt/intel_renderstate.o
AR drivers/net/ethernet/xilinx/built-in.a
CC fs/mbcache.o
CC drivers/acpi/acpica/utstrtoul64.o
CC fs/posix_acl.o
CC drivers/gpu/drm/drm_gem_shmem_helper.o
CC fs/coredump.o
CC drivers/gpu/drm/i915/gt/intel_reset.o
CC kernel/auditsc.o
CC kernel/audit_watch.o
AR drivers/net/ethernet/xircom/built-in.a
CC drivers/gpu/drm/drm_atomic_helper.o
CC fs/drop_caches.o
CC kernel/audit_fsnotify.o
CC drivers/acpi/acpica/utxface.o
CC [M] drivers/gpu/drm/xe/xe_pcode.o
AR drivers/net/ethernet/realtek/built-in.a
AR drivers/net/ethernet/synopsys/built-in.a
CC [M] drivers/gpu/drm/xe/xe_pm.o
AR drivers/net/ethernet/pensando/built-in.a
AR drivers/net/ethernet/built-in.a
CC drivers/gpu/drm/i915/gt/intel_ring.o
CC drivers/acpi/acpica/utxfinit.o
CC [M] drivers/gpu/drm/xe/xe_preempt_fence.o
CC drivers/gpu/drm/drm_atomic_state_helper.o
CC drivers/acpi/acpica/utxferror.o
CC fs/sysctls.o
AR drivers/net/built-in.a
CC [M] drivers/gpu/drm/xe/xe_pt.o
CC drivers/acpi/acpica/utxfmutex.o
CC kernel/audit_tree.o
CC drivers/gpu/drm/drm_crtc_helper.o
CC fs/fhandle.o
CC drivers/gpu/drm/drm_damage_helper.o
CC [M] drivers/gpu/drm/xe/xe_pt_walk.o
CC drivers/gpu/drm/i915/gt/intel_ring_submission.o
CC kernel/kprobes.o
CC drivers/gpu/drm/i915/gt/intel_rps.o
CC [M] drivers/gpu/drm/xe/xe_query.o
CC kernel/seccomp.o
CC kernel/relay.o
CC drivers/gpu/drm/drm_flip_work.o
CC drivers/gpu/drm/i915/gt/intel_sa_media.o
CC [M] drivers/gpu/drm/xe/xe_range_fence.o
CC kernel/utsname_sysctl.o
AR drivers/acpi/acpica/built-in.a
AR drivers/acpi/built-in.a
CC drivers/gpu/drm/i915/gt/intel_sseu.o
CC drivers/gpu/drm/i915/gt/intel_sseu_debugfs.o
CC [M] drivers/gpu/drm/xe/xe_reg_sr.o
CC kernel/delayacct.o
CC drivers/gpu/drm/drm_format_helper.o
CC drivers/gpu/drm/i915/gt/intel_timeline.o
CC [M] drivers/gpu/drm/xe/xe_reg_whitelist.o
CC drivers/gpu/drm/i915/gt/intel_tlb.o
CC [M] drivers/gpu/drm/xe/xe_ring_ops.o
CC drivers/gpu/drm/drm_gem_atomic_helper.o
CC kernel/taskstats.o
CC drivers/gpu/drm/i915/gt/intel_wopcm.o
CC drivers/gpu/drm/drm_gem_framebuffer_helper.o
CC [M] drivers/gpu/drm/xe/xe_rtp.o
CC drivers/gpu/drm/i915/gt/intel_workarounds.o
CC drivers/gpu/drm/drm_kms_helper_common.o
CC [M] drivers/gpu/drm/xe/xe_sa.o
CC [M] drivers/gpu/drm/xe/xe_sched_job.o
CC drivers/gpu/drm/i915/gt/shmem_utils.o
CC drivers/gpu/drm/i915/gt/sysfs_engines.o
CC kernel/tsacct.o
CC [M] drivers/gpu/drm/xe/xe_step.o
CC kernel/tracepoint.o
CC drivers/gpu/drm/i915/gt/intel_ggtt_gmch.o
CC drivers/gpu/drm/drm_modeset_helper.o
CC kernel/irq_work.o
CC [M] drivers/gpu/drm/xe/xe_survivability_mode.o
CC [M] drivers/gpu/drm/xe/xe_sync.o
CC drivers/gpu/drm/i915/gt/gen6_renderstate.o
CC [M] drivers/gpu/drm/xe/xe_tile.o
CC drivers/gpu/drm/drm_plane_helper.o
CC kernel/static_call.o
CC drivers/gpu/drm/i915/gt/gen7_renderstate.o
CC [M] drivers/gpu/drm/xe/xe_tile_sysfs.o
CC kernel/padata.o
CC drivers/gpu/drm/drm_probe_helper.o
CC [M] drivers/gpu/drm/xe/xe_trace.o
CC drivers/gpu/drm/drm_self_refresh_helper.o
CC drivers/gpu/drm/i915/gt/gen8_renderstate.o
CC kernel/jump_label.o
CC [M] drivers/gpu/drm/xe/xe_trace_bo.o
AR fs/built-in.a
CC drivers/gpu/drm/i915/gt/gen9_renderstate.o
CC drivers/gpu/drm/drm_simple_kms_helper.o
CC kernel/context_tracking.o
CC [M] drivers/gpu/drm/xe/xe_trace_guc.o
CC drivers/gpu/drm/i915/gem/i915_gem_busy.o
CC drivers/gpu/drm/i915/gem/i915_gem_clflush.o
CC drivers/gpu/drm/bridge/panel.o
CC [M] drivers/gpu/drm/xe/xe_trace_lrc.o
CC drivers/gpu/drm/i915/gem/i915_gem_context.o
CC drivers/gpu/drm/drm_mipi_dsi.o
CC [M] drivers/gpu/drm/drm_exec.o
CC kernel/iomem.o
CC drivers/gpu/drm/i915/gem/i915_gem_create.o
CC [M] drivers/gpu/drm/xe/xe_ttm_stolen_mgr.o
CC kernel/rseq.o
CC [M] drivers/gpu/drm/drm_gpuvm.o
CC drivers/gpu/drm/i915/gem/i915_gem_dmabuf.o
CC [M] drivers/gpu/drm/xe/xe_ttm_sys_mgr.o
CC [M] drivers/gpu/drm/drm_suballoc.o
CC [M] drivers/gpu/drm/xe/xe_ttm_vram_mgr.o
CC drivers/gpu/drm/i915/gem/i915_gem_domain.o
CC [M] drivers/gpu/drm/drm_gem_ttm_helper.o
CC [M] drivers/gpu/drm/xe/xe_tuning.o
CC drivers/gpu/drm/i915/gem/i915_gem_execbuffer.o
CC [M] drivers/gpu/drm/xe/xe_uc.o
CC [M] drivers/gpu/drm/xe/xe_uc_fw.o
CC [M] drivers/gpu/drm/xe/xe_vm.o
CC drivers/gpu/drm/i915/gem/i915_gem_internal.o
CC drivers/gpu/drm/i915/gem/i915_gem_lmem.o
CC [M] drivers/gpu/drm/xe/xe_vram.o
CC [M] drivers/gpu/drm/xe/xe_vram_freq.o
CC drivers/gpu/drm/i915/gem/i915_gem_mman.o
CC drivers/gpu/drm/i915/gem/i915_gem_object.o
CC [M] drivers/gpu/drm/xe/xe_vsec.o
AR net/mac80211/built-in.a
CC drivers/gpu/drm/i915/gem/i915_gem_pages.o
AR net/built-in.a
CC drivers/gpu/drm/i915/gem/i915_gem_phys.o
CC [M] drivers/gpu/drm/xe/xe_wa.o
CC [M] drivers/gpu/drm/xe/xe_wait_user_fence.o
CC drivers/gpu/drm/i915/gem/i915_gem_pm.o
CC drivers/gpu/drm/i915/gem/i915_gem_region.o
CC [M] drivers/gpu/drm/xe/xe_wopcm.o
CC [M] drivers/gpu/drm/xe/xe_hmm.o
CC drivers/gpu/drm/i915/gem/i915_gem_shmem.o
CC [M] drivers/gpu/drm/xe/xe_hwmon.o
CC drivers/gpu/drm/i915/gem/i915_gem_shrinker.o
CC [M] drivers/gpu/drm/xe/xe_pmu.o
CC drivers/gpu/drm/i915/gem/i915_gem_stolen.o
LD [M] drivers/gpu/drm/drm_suballoc_helper.o
CC [M] drivers/gpu/drm/xe/xe_gt_sriov_vf.o
CC drivers/gpu/drm/i915/gem/i915_gem_throttle.o
CC [M] drivers/gpu/drm/xe/xe_guc_relay.o
CC drivers/gpu/drm/i915/gem/i915_gem_tiling.o
CC drivers/gpu/drm/i915/gem/i915_gem_ttm.o
LD [M] drivers/gpu/drm/drm_ttm_helper.o
CC [M] drivers/gpu/drm/xe/xe_memirq.o
CC drivers/gpu/drm/i915/gem/i915_gem_ttm_move.o
CC [M] drivers/gpu/drm/xe/xe_sriov.o
CC [M] drivers/gpu/drm/xe/xe_sriov_vf.o
CC [M] drivers/gpu/drm/xe/display/ext/i915_irq.o
CC [M] drivers/gpu/drm/xe/display/ext/i915_utils.o
AR kernel/built-in.a
CC [M] drivers/gpu/drm/xe/display/intel_bo.o
CC drivers/gpu/drm/i915/gem/i915_gem_ttm_pm.o
CC [M] drivers/gpu/drm/xe/display/intel_fb_bo.o
CC [M] drivers/gpu/drm/xe/display/intel_fbdev_fb.o
CC drivers/gpu/drm/i915/gem/i915_gem_userptr.o
CC drivers/gpu/drm/i915/gem/i915_gem_wait.o
CC [M] drivers/gpu/drm/xe/display/xe_display.o
CC [M] drivers/gpu/drm/xe/display/xe_display_misc.o
CC drivers/gpu/drm/i915/gem/i915_gemfs.o
CC drivers/gpu/drm/i915/i915_active.o
CC [M] drivers/gpu/drm/xe/display/xe_display_rps.o
CC drivers/gpu/drm/i915/i915_cmd_parser.o
CC [M] drivers/gpu/drm/xe/display/xe_display_wa.o
CC [M] drivers/gpu/drm/xe/display/xe_dsb_buffer.o
CC drivers/gpu/drm/i915/i915_deps.o
CC [M] drivers/gpu/drm/xe/display/xe_fb_pin.o
CC drivers/gpu/drm/i915/i915_gem.o
CC [M] drivers/gpu/drm/xe/display/xe_hdcp_gsc.o
CC drivers/gpu/drm/i915/i915_gem_evict.o
CC drivers/gpu/drm/i915/i915_gem_gtt.o
CC [M] drivers/gpu/drm/xe/display/xe_plane_initial.o
CC drivers/gpu/drm/i915/i915_gem_ww.o
CC [M] drivers/gpu/drm/xe/display/xe_tdf.o
CC [M] drivers/gpu/drm/xe/i915-soc/intel_dram.o
CC drivers/gpu/drm/i915/i915_query.o
CC drivers/gpu/drm/i915/i915_request.o
CC [M] drivers/gpu/drm/xe/i915-soc/intel_pch.o
CC [M] drivers/gpu/drm/xe/i915-soc/intel_rom.o
CC drivers/gpu/drm/i915/i915_scheduler.o
CC [M] drivers/gpu/drm/xe/i915-display/icl_dsi.o
CC drivers/gpu/drm/i915/i915_trace_points.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_alpm.o
CC drivers/gpu/drm/i915/i915_ttm_buddy_manager.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_atomic.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_atomic_plane.o
CC drivers/gpu/drm/i915/i915_vma.o
CC drivers/gpu/drm/i915/i915_vma_resource.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_audio.o
CC drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_backlight.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_bios.o
CC drivers/gpu/drm/i915/gt/uc/intel_gsc_proxy.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_bw.o
CC drivers/gpu/drm/i915/gt/uc/intel_gsc_uc.o
CC drivers/gpu/drm/i915/gt/uc/intel_gsc_uc_debugfs.o
CC drivers/gpu/drm/i915/gt/uc/intel_gsc_uc_heci_cmd_submit.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_cdclk.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_cmtg.o
CC drivers/gpu/drm/i915/gt/uc/intel_guc.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_color.o
CC drivers/gpu/drm/i915/gt/uc/intel_guc_ads.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_combo_phy.o
CC drivers/gpu/drm/i915/gt/uc/intel_guc_capture.o
CC drivers/gpu/drm/i915/gt/uc/intel_guc_ct.o
CC drivers/gpu/drm/i915/gt/uc/intel_guc_debugfs.o
CC drivers/gpu/drm/i915/gt/uc/intel_guc_fw.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_connector.o
CC drivers/gpu/drm/i915/gt/uc/intel_guc_hwconfig.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_crtc.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_crtc_state_dump.o
CC drivers/gpu/drm/i915/gt/uc/intel_guc_log.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_cursor.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_cx0_phy.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_ddi.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_ddi_buf_trans.o
CC drivers/gpu/drm/i915/gt/uc/intel_guc_log_debugfs.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_display.o
CC drivers/gpu/drm/i915/gt/uc/intel_guc_rc.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_display_conversion.o
CC drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.o
CC drivers/gpu/drm/i915/gt/uc/intel_guc_submission.o
CC drivers/gpu/drm/i915/gt/uc/intel_huc.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_display_device.o
CC drivers/gpu/drm/i915/gt/uc/intel_huc_debugfs.o
CC drivers/gpu/drm/i915/gt/uc/intel_huc_fw.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_display_driver.o
CC drivers/gpu/drm/i915/gt/uc/intel_uc.o
CC drivers/gpu/drm/i915/gt/uc/intel_uc_debugfs.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_display_irq.o
CC drivers/gpu/drm/i915/gt/uc/intel_uc_fw.o
CC drivers/gpu/drm/i915/gt/intel_gsc.o
CC drivers/gpu/drm/i915/i915_hwmon.o
CC drivers/gpu/drm/i915/display/hsw_ips.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_display_params.o
CC drivers/gpu/drm/i915/display/i9xx_plane.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_display_power.o
CC drivers/gpu/drm/i915/display/i9xx_display_sr.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_display_power_map.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_display_power_well.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_display_trace.o
CC drivers/gpu/drm/i915/display/i9xx_wm.o
CC drivers/gpu/drm/i915/display/intel_alpm.o
CC drivers/gpu/drm/i915/display/intel_atomic.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_display_wa.o
CC drivers/gpu/drm/i915/display/intel_atomic_plane.o
CC drivers/gpu/drm/i915/display/intel_audio.o
CC drivers/gpu/drm/i915/display/intel_bios.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_dkl_phy.o
CC drivers/gpu/drm/i915/display/intel_bo.o
CC drivers/gpu/drm/i915/display/intel_bw.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_dmc.o
CC drivers/gpu/drm/i915/display/intel_cdclk.o
CC drivers/gpu/drm/i915/display/intel_cmtg.o
CC drivers/gpu/drm/i915/display/intel_color.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_dmc_wl.o
CC drivers/gpu/drm/i915/display/intel_combo_phy.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_dp.o
CC drivers/gpu/drm/i915/display/intel_connector.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_dp_aux.o
CC drivers/gpu/drm/i915/display/intel_crtc.o
CC drivers/gpu/drm/i915/display/intel_crtc_state_dump.o
CC drivers/gpu/drm/i915/display/intel_cursor.o
CC drivers/gpu/drm/i915/display/intel_display.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_dp_aux_backlight.o
CC drivers/gpu/drm/i915/display/intel_display_conversion.o
CC drivers/gpu/drm/i915/display/intel_display_driver.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_dp_hdcp.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_dp_link_training.o
CC drivers/gpu/drm/i915/display/intel_display_irq.o
CC drivers/gpu/drm/i915/display/intel_display_params.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_dp_mst.o
CC drivers/gpu/drm/i915/display/intel_display_power.o
CC drivers/gpu/drm/i915/display/intel_display_power_map.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_dp_test.o
CC drivers/gpu/drm/i915/display/intel_display_power_well.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_dpll.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_dpll_mgr.o
CC drivers/gpu/drm/i915/display/intel_display_reset.o
CC drivers/gpu/drm/i915/display/intel_display_rps.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_dpt_common.o
CC drivers/gpu/drm/i915/display/intel_display_snapshot.o
CC drivers/gpu/drm/i915/display/intel_display_wa.o
CC drivers/gpu/drm/i915/display/intel_dmc.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_drrs.o
CC drivers/gpu/drm/i915/display/intel_dmc_wl.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_dsb.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_dsi.o
CC drivers/gpu/drm/i915/display/intel_dpio_phy.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_dsi_dcs_backlight.o
CC drivers/gpu/drm/i915/display/intel_dpll.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_dsi_vbt.o
CC drivers/gpu/drm/i915/display/intel_dpll_mgr.o
CC drivers/gpu/drm/i915/display/intel_dpt.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_encoder.o
CC drivers/gpu/drm/i915/display/intel_dpt_common.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_fb.o
CC drivers/gpu/drm/i915/display/intel_drrs.o
CC drivers/gpu/drm/i915/display/intel_dsb.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_fbc.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_fdi.o
CC drivers/gpu/drm/i915/display/intel_dsb_buffer.o
CC drivers/gpu/drm/i915/display/intel_fb.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_fifo_underrun.o
CC drivers/gpu/drm/i915/display/intel_fb_bo.o
CC drivers/gpu/drm/i915/display/intel_fb_pin.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_frontbuffer.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_global_state.o
CC drivers/gpu/drm/i915/display/intel_fbc.o
CC drivers/gpu/drm/i915/display/intel_fdi.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_gmbus.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_hdcp.o
CC drivers/gpu/drm/i915/display/intel_fifo_underrun.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_hdcp_gsc_message.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_hdmi.o
CC drivers/gpu/drm/i915/display/intel_frontbuffer.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_hotplug.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_hotplug_irq.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_hti.o
CC drivers/gpu/drm/i915/display/intel_global_state.o
CC drivers/gpu/drm/i915/display/intel_hdcp.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_link_bw.o
CC drivers/gpu/drm/i915/display/intel_hdcp_gsc.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_lspcon.o
CC drivers/gpu/drm/i915/display/intel_hdcp_gsc_message.o
CC drivers/gpu/drm/i915/display/intel_hotplug.o
CC drivers/gpu/drm/i915/display/intel_hotplug_irq.o
CC drivers/gpu/drm/i915/display/intel_hti.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_modeset_lock.o
CC drivers/gpu/drm/i915/display/intel_link_bw.o
CC drivers/gpu/drm/i915/display/intel_load_detect.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_modeset_setup.o
CC drivers/gpu/drm/i915/display/intel_lpe_audio.o
CC drivers/gpu/drm/i915/display/intel_modeset_lock.o
CC drivers/gpu/drm/i915/display/intel_modeset_setup.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_modeset_verify.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_panel.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_pfit.o
CC drivers/gpu/drm/i915/display/intel_modeset_verify.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_pmdemand.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_pps.o
CC drivers/gpu/drm/i915/display/intel_overlay.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_psr.o
CC drivers/gpu/drm/i915/display/intel_pch_display.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_qp_tables.o
CC drivers/gpu/drm/i915/display/intel_pch_refclk.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_quirks.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_snps_hdmi_pll.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_snps_phy.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_tc.o
CC drivers/gpu/drm/i915/display/intel_plane_initial.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_vblank.o
CC drivers/gpu/drm/i915/display/intel_pmdemand.o
CC drivers/gpu/drm/i915/display/intel_psr.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_vdsc.o
CC drivers/gpu/drm/i915/display/intel_quirks.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_vga.o
CC drivers/gpu/drm/i915/display/intel_sprite.o
CC drivers/gpu/drm/i915/display/intel_sprite_uapi.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_vrr.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_wm.o
CC drivers/gpu/drm/i915/display/intel_tc.o
CC drivers/gpu/drm/i915/display/intel_vblank.o
CC [M] drivers/gpu/drm/xe/i915-display/skl_scaler.o
CC drivers/gpu/drm/i915/display/intel_vga.o
CC [M] drivers/gpu/drm/xe/i915-display/skl_universal_plane.o
CC drivers/gpu/drm/i915/display/intel_wm.o
CC [M] drivers/gpu/drm/xe/i915-display/skl_watermark.o
CC drivers/gpu/drm/i915/display/skl_scaler.o
CC drivers/gpu/drm/i915/display/skl_universal_plane.o
CC drivers/gpu/drm/i915/display/skl_watermark.o
CC drivers/gpu/drm/i915/display/intel_acpi.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_acpi.o
CC drivers/gpu/drm/i915/display/intel_opregion.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_opregion.o
CC [M] drivers/gpu/drm/xe/xe_debugfs.o
CC drivers/gpu/drm/i915/display/intel_display_debugfs.o
CC [M] drivers/gpu/drm/xe/xe_gt_debugfs.o
CC [M] drivers/gpu/drm/xe/xe_gt_sriov_vf_debugfs.o
CC [M] drivers/gpu/drm/xe/xe_gt_stats.o
CC drivers/gpu/drm/i915/display/intel_display_debugfs_params.o
CC [M] drivers/gpu/drm/xe/xe_guc_debugfs.o
CC drivers/gpu/drm/i915/display/intel_pipe_crc.o
CC [M] drivers/gpu/drm/xe/xe_huc_debugfs.o
CC [M] drivers/gpu/drm/xe/xe_uc_debugfs.o
CC drivers/gpu/drm/i915/display/dvo_ch7017.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_display_debugfs.o
CC drivers/gpu/drm/i915/display/dvo_ch7xxx.o
CC drivers/gpu/drm/i915/display/dvo_ivch.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_display_debugfs_params.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_pipe_crc.o
CC drivers/gpu/drm/i915/display/dvo_ns2501.o
CC drivers/gpu/drm/i915/display/dvo_sil164.o
CC drivers/gpu/drm/i915/display/dvo_tfp410.o
CC drivers/gpu/drm/i915/display/g4x_dp.o
CC drivers/gpu/drm/i915/display/g4x_hdmi.o
CC drivers/gpu/drm/i915/display/icl_dsi.o
CC drivers/gpu/drm/i915/display/intel_backlight.o
CC drivers/gpu/drm/i915/display/intel_crt.o
CC drivers/gpu/drm/i915/display/intel_cx0_phy.o
CC drivers/gpu/drm/i915/display/intel_ddi.o
CC drivers/gpu/drm/i915/display/intel_ddi_buf_trans.o
CC drivers/gpu/drm/i915/display/intel_display_device.o
CC drivers/gpu/drm/i915/display/intel_display_trace.o
CC drivers/gpu/drm/i915/display/intel_dkl_phy.o
CC drivers/gpu/drm/i915/display/intel_dp.o
CC drivers/gpu/drm/i915/display/intel_dp_aux.o
CC drivers/gpu/drm/i915/display/intel_dp_aux_backlight.o
CC drivers/gpu/drm/i915/display/intel_dp_hdcp.o
CC drivers/gpu/drm/i915/display/intel_dp_link_training.o
CC drivers/gpu/drm/i915/display/intel_dp_mst.o
CC drivers/gpu/drm/i915/display/intel_dp_test.o
CC drivers/gpu/drm/i915/display/intel_dsi.o
CC drivers/gpu/drm/i915/display/intel_dsi_dcs_backlight.o
CC drivers/gpu/drm/i915/display/intel_dsi_vbt.o
CC drivers/gpu/drm/i915/display/intel_dvo.o
CC drivers/gpu/drm/i915/display/intel_encoder.o
CC drivers/gpu/drm/i915/display/intel_gmbus.o
CC drivers/gpu/drm/i915/display/intel_hdmi.o
CC drivers/gpu/drm/i915/display/intel_lspcon.o
CC drivers/gpu/drm/i915/display/intel_lvds.o
CC drivers/gpu/drm/i915/display/intel_panel.o
CC drivers/gpu/drm/i915/display/intel_pfit.o
CC drivers/gpu/drm/i915/display/intel_pps.o
CC drivers/gpu/drm/i915/display/intel_qp_tables.o
CC drivers/gpu/drm/i915/display/intel_sdvo.o
CC drivers/gpu/drm/i915/display/intel_snps_hdmi_pll.o
CC drivers/gpu/drm/i915/display/intel_snps_phy.o
CC drivers/gpu/drm/i915/display/intel_tv.o
CC drivers/gpu/drm/i915/display/intel_vdsc.o
CC drivers/gpu/drm/i915/display/intel_vrr.o
CC drivers/gpu/drm/i915/display/vlv_dsi.o
CC drivers/gpu/drm/i915/display/vlv_dsi_pll.o
CC drivers/gpu/drm/i915/i915_perf.o
CC drivers/gpu/drm/i915/pxp/intel_pxp.o
CC drivers/gpu/drm/i915/pxp/intel_pxp_huc.o
CC drivers/gpu/drm/i915/pxp/intel_pxp_tee.o
CC drivers/gpu/drm/i915/i915_gpu_error.o
CC drivers/gpu/drm/i915/i915_vgpu.o
LD [M] drivers/gpu/drm/xe/xe.o
AR drivers/gpu/drm/i915/built-in.a
AR drivers/gpu/drm/built-in.a
AR drivers/gpu/built-in.a
AR drivers/built-in.a
AR built-in.a
AR vmlinux.a
LD vmlinux.o
OBJCOPY modules.builtin.modinfo
GEN modules.builtin
MODPOST Module.symvers
CC .vmlinux.export.o
CC [M] fs/efivarfs/efivarfs.mod.o
CC [M] .module-common.o
CC [M] drivers/gpu/drm/drm_exec.mod.o
CC [M] drivers/gpu/drm/drm_gpuvm.mod.o
CC [M] drivers/gpu/drm/drm_suballoc_helper.mod.o
CC [M] drivers/gpu/drm/drm_ttm_helper.mod.o
CC [M] drivers/gpu/drm/scheduler/gpu-sched.mod.o
CC [M] drivers/gpu/drm/xe/xe.mod.o
CC [M] drivers/thermal/intel/x86_pkg_temp_thermal.mod.o
CC [M] net/netfilter/nf_log_syslog.mod.o
CC [M] net/netfilter/xt_mark.mod.o
CC [M] net/netfilter/xt_nat.mod.o
CC [M] net/netfilter/xt_LOG.mod.o
CC [M] net/netfilter/xt_MASQUERADE.mod.o
CC [M] net/netfilter/xt_addrtype.mod.o
CC [M] net/ipv4/netfilter/iptable_nat.mod.o
LD [M] fs/efivarfs/efivarfs.ko
LD [M] drivers/thermal/intel/x86_pkg_temp_thermal.ko
LD [M] net/netfilter/xt_nat.ko
LD [M] drivers/gpu/drm/drm_suballoc_helper.ko
LD [M] net/netfilter/xt_MASQUERADE.ko
LD [M] drivers/gpu/drm/scheduler/gpu-sched.ko
LD [M] drivers/gpu/drm/drm_exec.ko
LD [M] net/netfilter/nf_log_syslog.ko
LD [M] net/netfilter/xt_LOG.ko
LD [M] net/ipv4/netfilter/iptable_nat.ko
LD [M] drivers/gpu/drm/drm_ttm_helper.ko
LD [M] net/netfilter/xt_mark.ko
LD [M] net/netfilter/xt_addrtype.ko
LD [M] drivers/gpu/drm/xe/xe.ko
LD [M] drivers/gpu/drm/drm_gpuvm.ko
UPD include/generated/utsversion.h
CC init/version-timestamp.o
KSYMS .tmp_vmlinux0.kallsyms.S
AS .tmp_vmlinux0.kallsyms.o
LD .tmp_vmlinux1
NM .tmp_vmlinux1.syms
KSYMS .tmp_vmlinux1.kallsyms.S
AS .tmp_vmlinux1.kallsyms.o
LD .tmp_vmlinux2
NM .tmp_vmlinux2.syms
KSYMS .tmp_vmlinux2.kallsyms.S
AS .tmp_vmlinux2.kallsyms.o
LD vmlinux
NM System.map
SORTTAB vmlinux
RELOCS arch/x86/boot/compressed/vmlinux.relocs
RSTRIP vmlinux
CC arch/x86/boot/a20.o
AS arch/x86/boot/bioscall.o
CC arch/x86/boot/cmdline.o
AS arch/x86/boot/copy.o
HOSTCC arch/x86/boot/mkcpustr
CC arch/x86/boot/cpuflags.o
CC arch/x86/boot/cpucheck.o
CC arch/x86/boot/early_serial_console.o
CC arch/x86/boot/edd.o
CC arch/x86/boot/main.o
CC arch/x86/boot/memory.o
CC arch/x86/boot/pm.o
AS arch/x86/boot/pmjump.o
CC arch/x86/boot/printf.o
CC arch/x86/boot/regs.o
CC arch/x86/boot/string.o
CC arch/x86/boot/tty.o
CC arch/x86/boot/video.o
CC arch/x86/boot/video-mode.o
CC arch/x86/boot/version.o
CC arch/x86/boot/video-vga.o
CC arch/x86/boot/video-vesa.o
CC arch/x86/boot/video-bios.o
HOSTCC arch/x86/boot/tools/build
CPUSTR arch/x86/boot/cpustr.h
CC arch/x86/boot/cpu.o
LDS arch/x86/boot/compressed/vmlinux.lds
AS arch/x86/boot/compressed/kernel_info.o
AS arch/x86/boot/compressed/head_32.o
VOFFSET arch/x86/boot/compressed/../voffset.h
CC arch/x86/boot/compressed/string.o
CC arch/x86/boot/compressed/cmdline.o
CC arch/x86/boot/compressed/error.o
OBJCOPY arch/x86/boot/compressed/vmlinux.bin
HOSTCC arch/x86/boot/compressed/mkpiggy
CC arch/x86/boot/compressed/cpuflags.o
CC arch/x86/boot/compressed/early_serial_console.o
CC arch/x86/boot/compressed/kaslr.o
CC arch/x86/boot/compressed/acpi.o
CC arch/x86/boot/compressed/efi.o
GZIP arch/x86/boot/compressed/vmlinux.bin.gz
CC arch/x86/boot/compressed/misc.o
MKPIGGY arch/x86/boot/compressed/piggy.S
AS arch/x86/boot/compressed/piggy.o
LD arch/x86/boot/compressed/vmlinux
ZOFFSET arch/x86/boot/zoffset.h
OBJCOPY arch/x86/boot/vmlinux.bin
AS arch/x86/boot/header.o
LD arch/x86/boot/setup.elf
OBJCOPY arch/x86/boot/setup.bin
BUILD arch/x86/boot/bzImage
Kernel: arch/x86/boot/bzImage is ready (#1)
run-parts: executing /workspace/ci/hooks/20-kernel-doc
+ SRC_DIR=/workspace/kernel
+ cd /workspace/kernel
+ find drivers/gpu/drm/xe/ -name '*.[ch]' -not -path 'drivers/gpu/drm/xe/display/*'
+ xargs ./scripts/kernel-doc -Werror -none include/uapi/drm/xe_drm.h
All hooks done
^ permalink raw reply [flat|nested] 32+ messages in thread
* ✗ CI.checksparse: warning for drm/i915/xe3: FBC Dirty rect feature support (rev7)
2025-01-30 21:00 [PATCH v6 0/7] drm/i915/xe3: FBC Dirty rect feature support Vinod Govindapillai
` (11 preceding siblings ...)
2025-01-30 21:30 ` ✓ CI.Hooks: " Patchwork
@ 2025-01-30 21:31 ` Patchwork
2025-01-31 6:34 ` ✓ Xe.CI.BAT: success " Patchwork
` (2 subsequent siblings)
15 siblings, 0 replies; 32+ messages in thread
From: Patchwork @ 2025-01-30 21:31 UTC (permalink / raw)
To: Vinod Govindapillai; +Cc: intel-xe
== Series Details ==
Series: drm/i915/xe3: FBC Dirty rect feature support (rev7)
URL : https://patchwork.freedesktop.org/series/141526/
State : warning
== Summary ==
+ trap cleanup EXIT
+ KERNEL=/kernel
+ MT=/root/linux/maintainer-tools
+ git clone https://gitlab.freedesktop.org/drm/maintainer-tools /root/linux/maintainer-tools
Cloning into '/root/linux/maintainer-tools'...
warning: redirecting to https://gitlab.freedesktop.org/drm/maintainer-tools.git/
+ make -C /root/linux/maintainer-tools
make: Entering directory '/root/linux/maintainer-tools'
cc -O2 -g -Wextra -o remap-log remap-log.c
make: Leaving directory '/root/linux/maintainer-tools'
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ /root/linux/maintainer-tools/dim sparse --fast 54974a9354d844eca54feeec70870790fac17160
Sparse version: 0.6.4 (Ubuntu: 0.6.4-4ubuntu3)
Fast mode used, each commit won't be checked separately.
-
+drivers/gpu/drm/i915/display/intel_cdclk.c: note: in included file:
+drivers/gpu/drm/i915/display/intel_ddi.c: note: in included file:
+drivers/gpu/drm/i915/display/intel_display_types.h:1968:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:1968:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:1968:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:1968:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:1968:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:1968:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:1968:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:1968:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:1968:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:1968:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:1968:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:1968:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:1981:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:1981:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_hdcp.c: note: in included file:
+drivers/gpu/drm/i915/display/intel_pps.c: note: in included file:
+drivers/gpu/drm/i915/display/intel_psr.c: note: in included file:
+drivers/gpu/drm/i915/display/intel_snps_hdmi_pll.c:106:17: warning: cast truncates bits from constant value (e8d4a51000 becomes d4a51000)
+drivers/gpu/drm/i915/gt/intel_reset.c:1541:12: warning: context imbalance in '_intel_gt_reset_lock' - different lock contexts for basic block
+drivers/gpu/drm/i915/i915_active.c:1063:16: warning: context imbalance in '__i915_active_fence_set' - different lock contexts for basic block
+drivers/gpu/drm/i915/i915_drm_client.c:92:9: error: incompatible types in comparison expression (different address spaces):
+drivers/gpu/drm/i915/i915_drm_client.c:92:9: error: incompatible types in comparison expression (different address spaces):
+drivers/gpu/drm/i915/i915_drm_client.c:92:9: expected struct list_head const *list
+drivers/gpu/drm/i915/i915_drm_client.c:92:9: got struct list_head [noderef] __rcu *pos
+drivers/gpu/drm/i915/i915_drm_client.c:92:9: struct list_head *
+drivers/gpu/drm/i915/i915_drm_client.c:92:9: struct list_head *
+drivers/gpu/drm/i915/i915_drm_client.c:92:9: struct list_head [noderef] __rcu *
+drivers/gpu/drm/i915/i915_drm_client.c:92:9: struct list_head [noderef] __rcu *
+drivers/gpu/drm/i915/i915_drm_client.c:92:9: warning: incorrect type in argument 1 (different address spaces)
+drivers/gpu/drm/i915/i915_irq.c:453:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:453:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:461:16: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:461:16: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:466:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:466:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:466:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:503:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:503:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:511:16: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:511:16: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:516:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:516:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:516:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:559:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:559:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:562:15: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:562:15: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:566:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:566:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:573:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:573:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:573:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:573:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/intel_uncore.c:1925:1: warning: context imbalance in 'fwtable_read8' - unexpected unlock
+drivers/gpu/drm/i915/intel_uncore.c:1926:1: warning: context imbalance in 'fwtable_read16' - unexpected unlock
+drivers/gpu/drm/i915/intel_uncore.c:1927:1: warning: context imbalance in 'fwtable_read32' - unexpected unlock
+drivers/gpu/drm/i915/intel_uncore.c:1928:1: warning: context imbalance in 'fwtable_read64' - unexpected unlock
+drivers/gpu/drm/i915/intel_uncore.c:1993:1: warning: context imbalance in 'gen6_write8' - unexpected unlock
+drivers/gpu/drm/i915/intel_uncore.c:1994:1: warning: context imbalance in 'gen6_write16' - unexpected unlock
+drivers/gpu/drm/i915/intel_uncore.c:1995:1: warning: context imbalance in 'gen6_write32' - unexpected unlock
+drivers/gpu/drm/i915/intel_uncore.c:2015:1: warning: context imbalance in 'fwtable_write8' - unexpected unlock
+drivers/gpu/drm/i915/intel_uncore.c:2016:1: warning: context imbalance in 'fwtable_write16' - unexpected unlock
+drivers/gpu/drm/i915/intel_uncore.c:2017:1: warning: context imbalance in 'fwtable_write32' - unexpected unlock
+drivers/gpu/drm/i915/intel_wakeref.c:145:19: warning: context imbalance in 'wakeref_auto_timeout' - unexpected unlock
+ cleanup
++ stat -c %u:%g /kernel
+ chown -R 1003:1003 /kernel
^ permalink raw reply [flat|nested] 32+ messages in thread
* ✓ Xe.CI.BAT: success for drm/i915/xe3: FBC Dirty rect feature support (rev7)
2025-01-30 21:00 [PATCH v6 0/7] drm/i915/xe3: FBC Dirty rect feature support Vinod Govindapillai
` (12 preceding siblings ...)
2025-01-30 21:31 ` ✗ CI.checksparse: warning " Patchwork
@ 2025-01-31 6:34 ` Patchwork
2025-01-31 7:30 ` ✗ Xe.CI.Full: failure " Patchwork
2025-02-04 9:09 ` [PATCH v6 0/7] drm/i915/xe3: FBC Dirty rect feature support Jani Nikula
15 siblings, 0 replies; 32+ messages in thread
From: Patchwork @ 2025-01-31 6:34 UTC (permalink / raw)
To: Vinod Govindapillai; +Cc: intel-xe
[-- Attachment #1: Type: text/plain, Size: 958 bytes --]
== Series Details ==
Series: drm/i915/xe3: FBC Dirty rect feature support (rev7)
URL : https://patchwork.freedesktop.org/series/141526/
State : success
== Summary ==
CI Bug Log - changes from xe-2577-54974a9354d844eca54feeec70870790fac17160_BAT -> xe-pw-141526v7_BAT
====================================================
Summary
-------
**SUCCESS**
No regressions found.
Participating hosts (8 -> 7)
------------------------------
Missing (1): bat-adlp-vm
Changes
-------
No changes found
Build changes
-------------
* Linux: xe-2577-54974a9354d844eca54feeec70870790fac17160 -> xe-pw-141526v7
IGT_8218: fafef52e0a83fec5f8c4f8df851d27319467762b @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
xe-2577-54974a9354d844eca54feeec70870790fac17160: 54974a9354d844eca54feeec70870790fac17160
xe-pw-141526v7: 141526v7
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/index.html
[-- Attachment #2: Type: text/html, Size: 1506 bytes --]
^ permalink raw reply [flat|nested] 32+ messages in thread
* ✗ Xe.CI.Full: failure for drm/i915/xe3: FBC Dirty rect feature support (rev7)
2025-01-30 21:00 [PATCH v6 0/7] drm/i915/xe3: FBC Dirty rect feature support Vinod Govindapillai
` (13 preceding siblings ...)
2025-01-31 6:34 ` ✓ Xe.CI.BAT: success " Patchwork
@ 2025-01-31 7:30 ` Patchwork
2025-02-04 9:09 ` [PATCH v6 0/7] drm/i915/xe3: FBC Dirty rect feature support Jani Nikula
15 siblings, 0 replies; 32+ messages in thread
From: Patchwork @ 2025-01-31 7:30 UTC (permalink / raw)
To: Vinod Govindapillai; +Cc: intel-xe
[-- Attachment #1: Type: text/plain, Size: 69521 bytes --]
== Series Details ==
Series: drm/i915/xe3: FBC Dirty rect feature support (rev7)
URL : https://patchwork.freedesktop.org/series/141526/
State : failure
== Summary ==
CI Bug Log - changes from xe-2577-54974a9354d844eca54feeec70870790fac17160_full -> xe-pw-141526v7_full
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with xe-pw-141526v7_full absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in xe-pw-141526v7_full, please notify your bug team (I915-ci-infra@lists.freedesktop.org) to allow them
to document this new failure mode, which will reduce false positives in CI.
Participating hosts (4 -> 4)
------------------------------
No changes in participating hosts
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in xe-pw-141526v7_full:
### IGT changes ###
#### Possible regressions ####
* igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-2:
- shard-dg2-set2: NOTRUN -> [SKIP][1]
[1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-432/igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-2.html
* igt@kms_vblank@crtc-id@pipe-a-dp-2:
- shard-bmg: [PASS][2] -> [INCOMPLETE][3] +1 other test incomplete
[2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-bmg-1/igt@kms_vblank@crtc-id@pipe-a-dp-2.html
[3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-bmg-2/igt@kms_vblank@crtc-id@pipe-a-dp-2.html
Known issues
------------
Here are the changes found in xe-pw-141526v7_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@fbdev@read:
- shard-dg2-set2: [PASS][4] -> [SKIP][5] ([Intel XE#2134])
[4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-dg2-466/igt@fbdev@read.html
[5]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-434/igt@fbdev@read.html
* igt@kms_3d:
- shard-lnl: NOTRUN -> [SKIP][6] ([Intel XE#1465])
[6]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-lnl-1/igt@kms_3d.html
* igt@kms_addfb_basic@addfb25-y-tiled-small-legacy:
- shard-lnl: NOTRUN -> [SKIP][7] ([Intel XE#1466])
[7]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-lnl-1/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html
* igt@kms_async_flips@alternate-sync-async-flip-atomic:
- shard-bmg: [PASS][8] -> [FAIL][9] ([Intel XE#3701] / [Intel XE#3718] / [Intel XE#827])
[8]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-bmg-5/igt@kms_async_flips@alternate-sync-async-flip-atomic.html
[9]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-bmg-5/igt@kms_async_flips@alternate-sync-async-flip-atomic.html
* igt@kms_async_flips@alternate-sync-async-flip-atomic@pipe-a-dp-2:
- shard-bmg: [PASS][10] -> [FAIL][11] ([Intel XE#3718] / [Intel XE#827])
[10]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-bmg-5/igt@kms_async_flips@alternate-sync-async-flip-atomic@pipe-a-dp-2.html
[11]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-bmg-5/igt@kms_async_flips@alternate-sync-async-flip-atomic@pipe-a-dp-2.html
* igt@kms_async_flips@async-flip-with-page-flip-events@pipe-d-dp-2-4-rc-ccs-cc:
- shard-dg2-set2: NOTRUN -> [SKIP][12] ([Intel XE#2550] / [Intel XE#3767]) +15 other tests skip
[12]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-432/igt@kms_async_flips@async-flip-with-page-flip-events@pipe-d-dp-2-4-rc-ccs-cc.html
* igt@kms_big_fb@x-tiled-8bpp-rotate-90:
- shard-dg2-set2: NOTRUN -> [SKIP][13] ([Intel XE#316]) +2 other tests skip
[13]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-434/igt@kms_big_fb@x-tiled-8bpp-rotate-90.html
* igt@kms_big_fb@y-tiled-addfb-size-offset-overflow:
- shard-dg2-set2: NOTRUN -> [SKIP][14] ([Intel XE#607])
[14]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-434/igt@kms_big_fb@y-tiled-addfb-size-offset-overflow.html
* igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-async-flip:
- shard-lnl: NOTRUN -> [SKIP][15] ([Intel XE#1124]) +1 other test skip
[15]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-lnl-1/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html
* igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip:
- shard-dg2-set2: NOTRUN -> [SKIP][16] ([Intel XE#1124]) +7 other tests skip
[16]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-434/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip.html
* igt@kms_bw@connected-linear-tiling-3-displays-3840x2160p:
- shard-dg2-set2: NOTRUN -> [SKIP][17] ([Intel XE#2191])
[17]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-434/igt@kms_bw@connected-linear-tiling-3-displays-3840x2160p.html
* igt@kms_bw@connected-linear-tiling-4-displays-2160x1440p:
- shard-lnl: NOTRUN -> [SKIP][18] ([Intel XE#1512])
[18]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-lnl-1/igt@kms_bw@connected-linear-tiling-4-displays-2160x1440p.html
* igt@kms_bw@linear-tiling-1-displays-2560x1440p:
- shard-dg2-set2: NOTRUN -> [SKIP][19] ([Intel XE#367])
[19]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-434/igt@kms_bw@linear-tiling-1-displays-2560x1440p.html
* igt@kms_ccs@bad-pixel-format-4-tiled-mtl-rc-ccs-cc@pipe-a-hdmi-a-6:
- shard-dg2-set2: NOTRUN -> [SKIP][20] ([Intel XE#787]) +153 other tests skip
[20]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-434/igt@kms_ccs@bad-pixel-format-4-tiled-mtl-rc-ccs-cc@pipe-a-hdmi-a-6.html
* igt@kms_ccs@bad-rotation-90-4-tiled-lnl-ccs@pipe-c-dp-2:
- shard-bmg: NOTRUN -> [SKIP][21] ([Intel XE#2652] / [Intel XE#787]) +3 other tests skip
[21]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-bmg-5/igt@kms_ccs@bad-rotation-90-4-tiled-lnl-ccs@pipe-c-dp-2.html
* igt@kms_ccs@ccs-on-another-bo-yf-tiled-ccs:
- shard-lnl: NOTRUN -> [SKIP][22] ([Intel XE#2887]) +3 other tests skip
[22]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-lnl-1/igt@kms_ccs@ccs-on-another-bo-yf-tiled-ccs.html
* igt@kms_ccs@crc-primary-basic-4-tiled-dg2-rc-ccs-cc:
- shard-dg2-set2: [PASS][23] -> [SKIP][24] ([Intel XE#2351] / [Intel XE#4208]) +4 other tests skip
[23]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-dg2-466/igt@kms_ccs@crc-primary-basic-4-tiled-dg2-rc-ccs-cc.html
[24]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-434/igt@kms_ccs@crc-primary-basic-4-tiled-dg2-rc-ccs-cc.html
* igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-mc-ccs:
- shard-dg2-set2: [PASS][25] -> [INCOMPLETE][26] ([Intel XE#3862]) +1 other test incomplete
[25]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-dg2-463/igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-mc-ccs.html
[26]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-436/igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-mc-ccs.html
* igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-rc-ccs:
- shard-lnl: NOTRUN -> [SKIP][27] ([Intel XE#3432])
[27]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-lnl-1/igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-rc-ccs.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-a-hdmi-a-6:
- shard-dg2-set2: [PASS][28] -> [INCOMPLETE][29] ([Intel XE#1727] / [Intel XE#3124] / [Intel XE#4010]) +1 other test incomplete
[28]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-dg2-434/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-a-hdmi-a-6.html
[29]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-436/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-a-hdmi-a-6.html
* igt@kms_ccs@random-ccs-data-4-tiled-mtl-mc-ccs@pipe-d-dp-2:
- shard-dg2-set2: NOTRUN -> [SKIP][30] ([Intel XE#455] / [Intel XE#787]) +33 other tests skip
[30]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-432/igt@kms_ccs@random-ccs-data-4-tiled-mtl-mc-ccs@pipe-d-dp-2.html
* igt@kms_chamelium_color@ctm-0-25:
- shard-dg2-set2: NOTRUN -> [SKIP][31] ([Intel XE#306]) +1 other test skip
[31]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-434/igt@kms_chamelium_color@ctm-0-25.html
* igt@kms_chamelium_frames@hdmi-crc-nonplanar-formats:
- shard-lnl: NOTRUN -> [SKIP][32] ([Intel XE#373]) +2 other tests skip
[32]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-lnl-1/igt@kms_chamelium_frames@hdmi-crc-nonplanar-formats.html
* igt@kms_chamelium_hpd@vga-hpd:
- shard-dg2-set2: NOTRUN -> [SKIP][33] ([Intel XE#373]) +4 other tests skip
[33]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-434/igt@kms_chamelium_hpd@vga-hpd.html
* igt@kms_content_protection@atomic@pipe-a-dp-2:
- shard-dg2-set2: NOTRUN -> [FAIL][34] ([Intel XE#1178])
[34]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-432/igt@kms_content_protection@atomic@pipe-a-dp-2.html
* igt@kms_content_protection@dp-mst-lic-type-0:
- shard-dg2-set2: NOTRUN -> [SKIP][35] ([Intel XE#307])
[35]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-434/igt@kms_content_protection@dp-mst-lic-type-0.html
* igt@kms_content_protection@srm:
- shard-lnl: NOTRUN -> [SKIP][36] ([Intel XE#3278])
[36]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-lnl-1/igt@kms_content_protection@srm.html
* igt@kms_content_protection@srm@pipe-a-dp-2:
- shard-bmg: NOTRUN -> [FAIL][37] ([Intel XE#1178])
[37]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-bmg-5/igt@kms_content_protection@srm@pipe-a-dp-2.html
* igt@kms_cursor_crc@cursor-offscreen-512x512:
- shard-dg2-set2: NOTRUN -> [SKIP][38] ([Intel XE#308]) +2 other tests skip
[38]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-434/igt@kms_cursor_crc@cursor-offscreen-512x512.html
* igt@kms_cursor_crc@cursor-sliding-256x85:
- shard-lnl: NOTRUN -> [SKIP][39] ([Intel XE#1424]) +1 other test skip
[39]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-lnl-1/igt@kms_cursor_crc@cursor-sliding-256x85.html
* igt@kms_cursor_legacy@cursor-vs-flip-atomic-transitions:
- shard-dg2-set2: NOTRUN -> [DMESG-WARN][40] ([Intel XE#1033]) +25 other tests dmesg-warn
[40]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-434/igt@kms_cursor_legacy@cursor-vs-flip-atomic-transitions.html
* igt@kms_cursor_legacy@cursorb-vs-flipa-atomic:
- shard-bmg: [PASS][41] -> [SKIP][42] ([Intel XE#2291]) +1 other test skip
[41]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-bmg-7/igt@kms_cursor_legacy@cursorb-vs-flipa-atomic.html
[42]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-bmg-6/igt@kms_cursor_legacy@cursorb-vs-flipa-atomic.html
* igt@kms_cursor_legacy@long-nonblocking-modeset-vs-cursor-atomic:
- shard-dg2-set2: [PASS][43] -> [SKIP][44] ([Intel XE#4208] / [i915#2575]) +8 other tests skip
[43]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-dg2-466/igt@kms_cursor_legacy@long-nonblocking-modeset-vs-cursor-atomic.html
[44]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-434/igt@kms_cursor_legacy@long-nonblocking-modeset-vs-cursor-atomic.html
* igt@kms_dp_aux_dev:
- shard-bmg: [PASS][45] -> [SKIP][46] ([Intel XE#3009])
[45]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-bmg-7/igt@kms_dp_aux_dev.html
[46]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-bmg-6/igt@kms_dp_aux_dev.html
* igt@kms_feature_discovery@display-4x:
- shard-dg2-set2: NOTRUN -> [SKIP][47] ([Intel XE#1138])
[47]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-434/igt@kms_feature_discovery@display-4x.html
* igt@kms_flip@2x-flip-vs-expired-vblank@ab-dp2-hdmi-a3:
- shard-bmg: NOTRUN -> [FAIL][48] ([Intel XE#3321])
[48]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-bmg-5/igt@kms_flip@2x-flip-vs-expired-vblank@ab-dp2-hdmi-a3.html
* igt@kms_flip@2x-flip-vs-expired-vblank@cd-dp2-hdmi-a3:
- shard-bmg: NOTRUN -> [DMESG-FAIL][49] ([Intel XE#4172])
[49]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-bmg-5/igt@kms_flip@2x-flip-vs-expired-vblank@cd-dp2-hdmi-a3.html
* igt@kms_flip@2x-plain-flip-fb-recreate:
- shard-lnl: NOTRUN -> [SKIP][50] ([Intel XE#1421])
[50]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-lnl-1/igt@kms_flip@2x-plain-flip-fb-recreate.html
* igt@kms_flip@2x-plain-flip-fb-recreate-interruptible:
- shard-bmg: [PASS][51] -> [SKIP][52] ([Intel XE#2316]) +1 other test skip
[51]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-bmg-7/igt@kms_flip@2x-plain-flip-fb-recreate-interruptible.html
[52]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-bmg-6/igt@kms_flip@2x-plain-flip-fb-recreate-interruptible.html
* igt@kms_flip@flip-vs-expired-vblank@a-hdmi-a3:
- shard-bmg: [PASS][53] -> [FAIL][54] ([Intel XE#3321]) +4 other tests fail
[53]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-bmg-7/igt@kms_flip@flip-vs-expired-vblank@a-hdmi-a3.html
[54]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-bmg-6/igt@kms_flip@flip-vs-expired-vblank@a-hdmi-a3.html
* igt@kms_flip@flip-vs-suspend-interruptible:
- shard-bmg: [PASS][55] -> [INCOMPLETE][56] ([Intel XE#2049] / [Intel XE#2597]) +1 other test incomplete
[55]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-bmg-4/igt@kms_flip@flip-vs-suspend-interruptible.html
[56]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-bmg-4/igt@kms_flip@flip-vs-suspend-interruptible.html
* igt@kms_flip@flip-vs-suspend@d-dp2:
- shard-dg2-set2: NOTRUN -> [ABORT][57] ([Intel XE#1033] / [Intel XE#2625])
[57]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-432/igt@kms_flip@flip-vs-suspend@d-dp2.html
* igt@kms_flip@plain-flip-fb-recreate@d-hdmi-a3:
- shard-bmg: [PASS][58] -> [FAIL][59] ([Intel XE#3098]) +1 other test fail
[58]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-bmg-5/igt@kms_flip@plain-flip-fb-recreate@d-hdmi-a3.html
[59]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-bmg-5/igt@kms_flip@plain-flip-fb-recreate@d-hdmi-a3.html
* igt@kms_flip@wf_vblank-ts-check@b-edp1:
- shard-lnl: [PASS][60] -> [FAIL][61] ([Intel XE#886]) +1 other test fail
[60]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-lnl-5/igt@kms_flip@wf_vblank-ts-check@b-edp1.html
[61]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-lnl-6/igt@kms_flip@wf_vblank-ts-check@b-edp1.html
* igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-16bpp-yftile-upscaling:
- shard-lnl: NOTRUN -> [SKIP][62] ([Intel XE#1401] / [Intel XE#1745]) +1 other test skip
[62]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-lnl-1/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-16bpp-yftile-upscaling.html
* igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-16bpp-yftile-upscaling@pipe-a-default-mode:
- shard-lnl: NOTRUN -> [SKIP][63] ([Intel XE#1401]) +1 other test skip
[63]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-lnl-1/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-16bpp-yftile-upscaling@pipe-a-default-mode.html
* igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-downscaling:
- shard-dg2-set2: NOTRUN -> [SKIP][64] ([Intel XE#455]) +15 other tests skip
[64]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-434/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-downscaling.html
* igt@kms_frontbuffer_tracking@drrs-2p-primscrn-pri-indfb-draw-render:
- shard-lnl: NOTRUN -> [SKIP][65] ([Intel XE#656]) +10 other tests skip
[65]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-lnl-1/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-pri-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-spr-indfb-fullscreen:
- shard-dg2-set2: NOTRUN -> [SKIP][66] ([Intel XE#651]) +22 other tests skip
[66]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-434/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-spr-indfb-fullscreen.html
* igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-pri-indfb-draw-blt:
- shard-lnl: NOTRUN -> [SKIP][67] ([Intel XE#651]) +4 other tests skip
[67]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-lnl-1/igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-pri-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@fbcpsr-slowdraw:
- shard-dg2-set2: NOTRUN -> [SKIP][68] ([Intel XE#653]) +20 other tests skip
[68]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-434/igt@kms_frontbuffer_tracking@fbcpsr-slowdraw.html
* igt@kms_invalid_mode@clock-too-high:
- shard-lnl: NOTRUN -> [SKIP][69] ([Intel XE#1450] / [Intel XE#2568])
[69]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-lnl-1/igt@kms_invalid_mode@clock-too-high.html
* igt@kms_invalid_mode@clock-too-high@pipe-a-edp-1:
- shard-lnl: NOTRUN -> [SKIP][70] ([Intel XE#1450]) +2 other tests skip
[70]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-lnl-1/igt@kms_invalid_mode@clock-too-high@pipe-a-edp-1.html
* igt@kms_joiner@invalid-modeset-force-big-joiner:
- shard-bmg: [PASS][71] -> [SKIP][72] ([Intel XE#3012])
[71]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-bmg-7/igt@kms_joiner@invalid-modeset-force-big-joiner.html
[72]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-bmg-6/igt@kms_joiner@invalid-modeset-force-big-joiner.html
* igt@kms_plane_cursor@overlay@pipe-a-hdmi-a-6-size-64:
- shard-dg2-set2: NOTRUN -> [FAIL][73] ([Intel XE#616]) +1 other test fail
[73]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-434/igt@kms_plane_cursor@overlay@pipe-a-hdmi-a-6-size-64.html
* igt@kms_plane_lowres@tiling-y:
- shard-lnl: NOTRUN -> [SKIP][74] ([Intel XE#599])
[74]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-lnl-1/igt@kms_plane_lowres@tiling-y.html
* igt@kms_plane_scaling@intel-max-src-size@pipe-a-dp-2:
- shard-dg2-set2: NOTRUN -> [DMESG-WARN][75] ([Intel XE#4212]) +1 other test dmesg-warn
[75]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-432/igt@kms_plane_scaling@intel-max-src-size@pipe-a-dp-2.html
* igt@kms_plane_scaling@planes-downscale-factor-0-25-unity-scaling@pipe-c:
- shard-lnl: NOTRUN -> [SKIP][76] ([Intel XE#2763]) +3 other tests skip
[76]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-lnl-1/igt@kms_plane_scaling@planes-downscale-factor-0-25-unity-scaling@pipe-c.html
* igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25@pipe-b:
- shard-dg2-set2: NOTRUN -> [SKIP][77] ([Intel XE#2763]) +2 other tests skip
[77]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-434/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25@pipe-b.html
* igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25@pipe-d:
- shard-dg2-set2: NOTRUN -> [SKIP][78] ([Intel XE#2763] / [Intel XE#455]) +1 other test skip
[78]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-434/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25@pipe-d.html
* igt@kms_pm_backlight@basic-brightness:
- shard-dg2-set2: NOTRUN -> [SKIP][79] ([Intel XE#870])
[79]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-434/igt@kms_pm_backlight@basic-brightness.html
* igt@kms_pm_dc@deep-pkgc:
- shard-lnl: NOTRUN -> [FAIL][80] ([Intel XE#2029])
[80]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-lnl-1/igt@kms_pm_dc@deep-pkgc.html
* igt@kms_psr2_sf@pr-overlay-plane-move-continuous-exceed-sf:
- shard-lnl: NOTRUN -> [SKIP][81] ([Intel XE#2893])
[81]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-lnl-1/igt@kms_psr2_sf@pr-overlay-plane-move-continuous-exceed-sf.html
* igt@kms_psr2_sf@pr-overlay-primary-update-sf-dmg-area:
- shard-dg2-set2: NOTRUN -> [SKIP][82] ([Intel XE#1489]) +2 other tests skip
[82]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-434/igt@kms_psr2_sf@pr-overlay-primary-update-sf-dmg-area.html
* igt@kms_psr2_su@page_flip-xrgb8888:
- shard-dg2-set2: NOTRUN -> [SKIP][83] ([Intel XE#1122])
[83]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-434/igt@kms_psr2_su@page_flip-xrgb8888.html
* igt@kms_psr@fbc-pr-sprite-plane-onoff:
- shard-lnl: NOTRUN -> [SKIP][84] ([Intel XE#1406])
[84]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-lnl-1/igt@kms_psr@fbc-pr-sprite-plane-onoff.html
* igt@kms_psr@fbc-psr2-dpms:
- shard-dg2-set2: NOTRUN -> [SKIP][85] ([Intel XE#2850] / [Intel XE#929]) +12 other tests skip
[85]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-434/igt@kms_psr@fbc-psr2-dpms.html
* igt@kms_scaling_modes@scaling-mode-none:
- shard-lnl: NOTRUN -> [SKIP][86] ([Intel XE#2413] / [Intel XE#374])
[86]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-lnl-1/igt@kms_scaling_modes@scaling-mode-none.html
* igt@kms_scaling_modes@scaling-mode-none@pipe-a-edp-1:
- shard-lnl: NOTRUN -> [SKIP][87] ([Intel XE#374]) +2 other tests skip
[87]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-lnl-1/igt@kms_scaling_modes@scaling-mode-none@pipe-a-edp-1.html
* igt@kms_vblank@ts-continuation-dpms-suspend:
- shard-adlp: [PASS][88] -> [DMESG-WARN][89] ([Intel XE#2953]) +2 other tests dmesg-warn
[88]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-adlp-6/igt@kms_vblank@ts-continuation-dpms-suspend.html
[89]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-adlp-2/igt@kms_vblank@ts-continuation-dpms-suspend.html
* igt@kms_vblank@wait-busy-hang:
- shard-bmg: [PASS][90] -> [DMESG-WARN][91] ([Intel XE#4172]) +25 other tests dmesg-warn
[90]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-bmg-7/igt@kms_vblank@wait-busy-hang.html
[91]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-bmg-2/igt@kms_vblank@wait-busy-hang.html
* igt@kms_vrr@cmrr@pipe-a-edp-1:
- shard-lnl: [PASS][92] -> [FAIL][93] ([Intel XE#2159]) +1 other test fail
[92]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-lnl-8/igt@kms_vrr@cmrr@pipe-a-edp-1.html
[93]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-lnl-6/igt@kms_vrr@cmrr@pipe-a-edp-1.html
* igt@kms_vrr@flipline:
- shard-lnl: NOTRUN -> [FAIL][94] ([Intel XE#1522]) +1 other test fail
[94]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-lnl-1/igt@kms_vrr@flipline.html
* igt@kms_writeback@writeback-check-output:
- shard-dg2-set2: NOTRUN -> [SKIP][95] ([Intel XE#756])
[95]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-434/igt@kms_writeback@writeback-check-output.html
* igt@sriov_basic@enable-vfs-bind-unbind-each-numvfs-all:
- shard-lnl: NOTRUN -> [SKIP][96] ([Intel XE#1091] / [Intel XE#2849])
[96]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-lnl-1/igt@sriov_basic@enable-vfs-bind-unbind-each-numvfs-all.html
* igt@xe_ccs@block-copy-uncompressed-inc-dimension@tile64-uncompressed-compfmt0-vram01-system-391x391:
- shard-dg2-set2: [PASS][97] -> [DMESG-WARN][98] ([Intel XE#1033]) +2 other tests dmesg-warn
[97]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-dg2-436/igt@xe_ccs@block-copy-uncompressed-inc-dimension@tile64-uncompressed-compfmt0-vram01-system-391x391.html
[98]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-463/igt@xe_ccs@block-copy-uncompressed-inc-dimension@tile64-uncompressed-compfmt0-vram01-system-391x391.html
* igt@xe_compute_preempt@compute-threadgroup-preempt@engine-drm_xe_engine_class_compute:
- shard-dg2-set2: NOTRUN -> [SKIP][99] ([Intel XE#1280] / [Intel XE#455]) +1 other test skip
[99]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-434/igt@xe_compute_preempt@compute-threadgroup-preempt@engine-drm_xe_engine_class_compute.html
* igt@xe_copy_basic@mem-copy-linear-0x369:
- shard-dg2-set2: NOTRUN -> [SKIP][100] ([Intel XE#1123])
[100]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-434/igt@xe_copy_basic@mem-copy-linear-0x369.html
* igt@xe_eudebug@discovery-empty:
- shard-lnl: NOTRUN -> [SKIP][101] ([Intel XE#2905]) +1 other test skip
[101]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-lnl-1/igt@xe_eudebug@discovery-empty.html
* igt@xe_eudebug_online@preempt-breakpoint:
- shard-dg2-set2: NOTRUN -> [SKIP][102] ([Intel XE#2905]) +5 other tests skip
[102]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-434/igt@xe_eudebug_online@preempt-breakpoint.html
* igt@xe_evict@evict-large-external:
- shard-bmg: [PASS][103] -> [DMESG-WARN][104] ([Intel XE#1473] / [Intel XE#4172])
[103]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-bmg-7/igt@xe_evict@evict-large-external.html
[104]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-bmg-2/igt@xe_evict@evict-large-external.html
* igt@xe_evict_ccs@evict-overcommit-parallel-nofree-samefd:
- shard-lnl: NOTRUN -> [SKIP][105] ([Intel XE#688])
[105]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-lnl-1/igt@xe_evict_ccs@evict-overcommit-parallel-nofree-samefd.html
* igt@xe_exec_balancer@twice-virtual-basic:
- shard-dg2-set2: [PASS][106] -> [SKIP][107] ([Intel XE#4208]) +34 other tests skip
[106]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-dg2-466/igt@xe_exec_balancer@twice-virtual-basic.html
[107]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-434/igt@xe_exec_balancer@twice-virtual-basic.html
* igt@xe_exec_basic@multigpu-many-execqueues-many-vm-bindexecqueue-userptr:
- shard-lnl: NOTRUN -> [SKIP][108] ([Intel XE#1392]) +2 other tests skip
[108]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-lnl-1/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-bindexecqueue-userptr.html
* igt@xe_exec_basic@multigpu-no-exec-userptr-invalidate-race:
- shard-dg2-set2: [PASS][109] -> [SKIP][110] ([Intel XE#1392]) +6 other tests skip
[109]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-dg2-466/igt@xe_exec_basic@multigpu-no-exec-userptr-invalidate-race.html
[110]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-432/igt@xe_exec_basic@multigpu-no-exec-userptr-invalidate-race.html
* igt@xe_exec_fault_mode@once-bindexecqueue-rebind:
- shard-dg2-set2: NOTRUN -> [SKIP][111] ([Intel XE#288]) +16 other tests skip
[111]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-434/igt@xe_exec_fault_mode@once-bindexecqueue-rebind.html
* igt@xe_exec_mix_modes@exec-spinner-interrupted-lr:
- shard-dg2-set2: NOTRUN -> [SKIP][112] ([Intel XE#2360])
[112]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-434/igt@xe_exec_mix_modes@exec-spinner-interrupted-lr.html
* igt@xe_mmap@pci-membarrier:
- shard-lnl: NOTRUN -> [SKIP][113] ([Intel XE#4045])
[113]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-lnl-1/igt@xe_mmap@pci-membarrier.html
* igt@xe_oa@polling-small-buf:
- shard-dg2-set2: NOTRUN -> [SKIP][114] ([Intel XE#2541] / [Intel XE#3573]) +3 other tests skip
[114]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-434/igt@xe_oa@polling-small-buf.html
* igt@xe_pat@pat-index-xe2:
- shard-dg2-set2: NOTRUN -> [SKIP][115] ([Intel XE#977])
[115]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-434/igt@xe_pat@pat-index-xe2.html
* igt@xe_peer2peer@read@read-gpua-vram01-gpub-system-p2p:
- shard-dg2-set2: NOTRUN -> [FAIL][116] ([Intel XE#1173]) +1 other test fail
[116]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-434/igt@xe_peer2peer@read@read-gpua-vram01-gpub-system-p2p.html
* igt@xe_pm@d3cold-basic-exec:
- shard-dg2-set2: NOTRUN -> [SKIP][117] ([Intel XE#2284] / [Intel XE#366])
[117]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-434/igt@xe_pm@d3cold-basic-exec.html
* igt@xe_pm@s2idle-vm-bind-unbind-all:
- shard-dg2-set2: [PASS][118] -> [ABORT][119] ([Intel XE#1358] / [Intel XE#1794])
[118]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-dg2-436/igt@xe_pm@s2idle-vm-bind-unbind-all.html
[119]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-432/igt@xe_pm@s2idle-vm-bind-unbind-all.html
* igt@xe_pm@s3-multiple-execs:
- shard-dg2-set2: NOTRUN -> [DMESG-WARN][120] ([Intel XE#1033] / [Intel XE#569]) +1 other test dmesg-warn
[120]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-434/igt@xe_pm@s3-multiple-execs.html
* igt@xe_pm@s4-d3hot-basic-exec:
- shard-lnl: [PASS][121] -> [ABORT][122] ([Intel XE#1358] / [Intel XE#1607])
[121]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-lnl-5/igt@xe_pm@s4-d3hot-basic-exec.html
[122]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-lnl-2/igt@xe_pm@s4-d3hot-basic-exec.html
* igt@xe_pm@s4-vm-bind-unbind-all:
- shard-bmg: [PASS][123] -> [DMESG-WARN][124] ([Intel XE#2280] / [Intel XE#4172])
[123]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-bmg-7/igt@xe_pm@s4-vm-bind-unbind-all.html
[124]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-bmg-2/igt@xe_pm@s4-vm-bind-unbind-all.html
* igt@xe_pm_residency@gt-c6-freeze@gt0:
- shard-adlp: [PASS][125] -> [DMESG-WARN][126] ([Intel XE#4173]) +3 other tests dmesg-warn
[125]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-adlp-3/igt@xe_pm_residency@gt-c6-freeze@gt0.html
[126]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-adlp-3/igt@xe_pm_residency@gt-c6-freeze@gt0.html
* igt@xe_query@multigpu-query-cs-cycles:
- shard-dg2-set2: NOTRUN -> [SKIP][127] ([Intel XE#944])
[127]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-434/igt@xe_query@multigpu-query-cs-cycles.html
* igt@xe_query@multigpu-query-uc-fw-version-guc:
- shard-lnl: NOTRUN -> [SKIP][128] ([Intel XE#944])
[128]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-lnl-1/igt@xe_query@multigpu-query-uc-fw-version-guc.html
#### Possible fixes ####
* igt@kms_cursor_legacy@cursorb-vs-flipa-toggle:
- shard-bmg: [SKIP][129] ([Intel XE#2291]) -> [PASS][130]
[129]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-bmg-6/igt@kms_cursor_legacy@cursorb-vs-flipa-toggle.html
[130]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-bmg-5/igt@kms_cursor_legacy@cursorb-vs-flipa-toggle.html
* igt@kms_dp_linktrain_fallback@dp-fallback:
- shard-bmg: [SKIP][131] ([Intel XE#3070]) -> [PASS][132]
[131]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-bmg-6/igt@kms_dp_linktrain_fallback@dp-fallback.html
[132]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-bmg-5/igt@kms_dp_linktrain_fallback@dp-fallback.html
* igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@ad-dp2-hdmi-a3:
- shard-bmg: [FAIL][133] ([Intel XE#3321]) -> [PASS][134]
[133]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-bmg-7/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@ad-dp2-hdmi-a3.html
[134]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-bmg-2/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@ad-dp2-hdmi-a3.html
* igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@cd-hdmi-a6-dp4:
- shard-dg2-set2: [FAIL][135] ([Intel XE#301]) -> [PASS][136] +2 other tests pass
[135]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-dg2-466/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@cd-hdmi-a6-dp4.html
[136]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-434/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@cd-hdmi-a6-dp4.html
* igt@kms_flip@2x-plain-flip-fb-recreate:
- shard-bmg: [SKIP][137] ([Intel XE#2316]) -> [PASS][138]
[137]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-bmg-6/igt@kms_flip@2x-plain-flip-fb-recreate.html
[138]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-bmg-5/igt@kms_flip@2x-plain-flip-fb-recreate.html
* igt@kms_flip@flip-vs-absolute-wf_vblank:
- shard-lnl: [FAIL][139] ([Intel XE#886]) -> [PASS][140] +2 other tests pass
[139]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-lnl-7/igt@kms_flip@flip-vs-absolute-wf_vblank.html
[140]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-lnl-8/igt@kms_flip@flip-vs-absolute-wf_vblank.html
* igt@kms_flip_tiling@flip-change-tiling:
- shard-adlp: [DMESG-FAIL][141] ([Intel XE#1033]) -> [PASS][142] +1 other test pass
[141]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-adlp-8/igt@kms_flip_tiling@flip-change-tiling.html
[142]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-adlp-2/igt@kms_flip_tiling@flip-change-tiling.html
* igt@kms_flip_tiling@flip-change-tiling@pipe-c-hdmi-a-1-x-to-y:
- shard-adlp: [FAIL][143] ([Intel XE#1874]) -> [PASS][144]
[143]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-adlp-8/igt@kms_flip_tiling@flip-change-tiling@pipe-c-hdmi-a-1-x-to-y.html
[144]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-adlp-2/igt@kms_flip_tiling@flip-change-tiling@pipe-c-hdmi-a-1-x-to-y.html
* igt@kms_hdr@static-toggle-suspend:
- shard-dg2-set2: [ABORT][145] ([Intel XE#2625]) -> [PASS][146]
[145]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-dg2-432/igt@kms_hdr@static-toggle-suspend.html
[146]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-434/igt@kms_hdr@static-toggle-suspend.html
* igt@kms_plane@plane-panning-bottom-right-suspend:
- shard-adlp: [DMESG-WARN][147] ([Intel XE#4173]) -> [PASS][148] +4 other tests pass
[147]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-adlp-6/igt@kms_plane@plane-panning-bottom-right-suspend.html
[148]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-adlp-2/igt@kms_plane@plane-panning-bottom-right-suspend.html
* igt@xe_ccs@block-copy-uncompressed-inc-dimension@tile64-uncompressed-compfmt0-vram01-system-406x406:
- shard-dg2-set2: [DMESG-WARN][149] ([Intel XE#1033]) -> [PASS][150] +3 other tests pass
[149]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-dg2-436/igt@xe_ccs@block-copy-uncompressed-inc-dimension@tile64-uncompressed-compfmt0-vram01-system-406x406.html
[150]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-463/igt@xe_ccs@block-copy-uncompressed-inc-dimension@tile64-uncompressed-compfmt0-vram01-system-406x406.html
* igt@xe_live_ktest@xe_mocs:
- shard-bmg: [SKIP][151] ([Intel XE#1192]) -> [PASS][152] +1 other test pass
[151]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-bmg-2/igt@xe_live_ktest@xe_mocs.html
[152]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-bmg-7/igt@xe_live_ktest@xe_mocs.html
* igt@xe_module_load@load:
- shard-lnl: ([PASS][153], [PASS][154], [PASS][155], [PASS][156], [PASS][157], [PASS][158], [SKIP][159], [PASS][160], [PASS][161], [PASS][162], [PASS][163], [PASS][164], [PASS][165], [PASS][166], [PASS][167], [PASS][168], [PASS][169], [PASS][170], [PASS][171], [PASS][172], [PASS][173], [PASS][174], [PASS][175], [PASS][176], [PASS][177]) ([Intel XE#378]) -> ([PASS][178], [PASS][179], [PASS][180], [PASS][181], [PASS][182], [PASS][183], [PASS][184], [PASS][185], [PASS][186], [PASS][187], [PASS][188], [PASS][189], [PASS][190], [PASS][191], [PASS][192], [PASS][193], [PASS][194], [PASS][195], [PASS][196], [PASS][197], [PASS][198], [PASS][199], [PASS][200], [PASS][201], [PASS][202])
[153]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-lnl-7/igt@xe_module_load@load.html
[154]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-lnl-7/igt@xe_module_load@load.html
[155]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-lnl-5/igt@xe_module_load@load.html
[156]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-lnl-6/igt@xe_module_load@load.html
[157]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-lnl-6/igt@xe_module_load@load.html
[158]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-lnl-6/igt@xe_module_load@load.html
[159]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-lnl-5/igt@xe_module_load@load.html
[160]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-lnl-7/igt@xe_module_load@load.html
[161]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-lnl-8/igt@xe_module_load@load.html
[162]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-lnl-1/igt@xe_module_load@load.html
[163]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-lnl-8/igt@xe_module_load@load.html
[164]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-lnl-8/igt@xe_module_load@load.html
[165]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-lnl-1/igt@xe_module_load@load.html
[166]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-lnl-3/igt@xe_module_load@load.html
[167]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-lnl-3/igt@xe_module_load@load.html
[168]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-lnl-3/igt@xe_module_load@load.html
[169]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-lnl-8/igt@xe_module_load@load.html
[170]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-lnl-1/igt@xe_module_load@load.html
[171]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-lnl-4/igt@xe_module_load@load.html
[172]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-lnl-4/igt@xe_module_load@load.html
[173]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-lnl-4/igt@xe_module_load@load.html
[174]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-lnl-5/igt@xe_module_load@load.html
[175]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-lnl-5/igt@xe_module_load@load.html
[176]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-lnl-4/igt@xe_module_load@load.html
[177]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-lnl-7/igt@xe_module_load@load.html
[178]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-lnl-7/igt@xe_module_load@load.html
[179]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-lnl-7/igt@xe_module_load@load.html
[180]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-lnl-7/igt@xe_module_load@load.html
[181]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-lnl-3/igt@xe_module_load@load.html
[182]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-lnl-3/igt@xe_module_load@load.html
[183]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-lnl-2/igt@xe_module_load@load.html
[184]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-lnl-6/igt@xe_module_load@load.html
[185]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-lnl-3/igt@xe_module_load@load.html
[186]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-lnl-4/igt@xe_module_load@load.html
[187]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-lnl-4/igt@xe_module_load@load.html
[188]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-lnl-4/igt@xe_module_load@load.html
[189]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-lnl-8/igt@xe_module_load@load.html
[190]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-lnl-8/igt@xe_module_load@load.html
[191]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-lnl-1/igt@xe_module_load@load.html
[192]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-lnl-1/igt@xe_module_load@load.html
[193]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-lnl-2/igt@xe_module_load@load.html
[194]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-lnl-2/igt@xe_module_load@load.html
[195]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-lnl-8/igt@xe_module_load@load.html
[196]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-lnl-5/igt@xe_module_load@load.html
[197]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-lnl-5/igt@xe_module_load@load.html
[198]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-lnl-5/igt@xe_module_load@load.html
[199]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-lnl-5/igt@xe_module_load@load.html
[200]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-lnl-1/igt@xe_module_load@load.html
[201]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-lnl-6/igt@xe_module_load@load.html
[202]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-lnl-6/igt@xe_module_load@load.html
* igt@xe_pm@s4-vm-bind-userptr:
- shard-dg2-set2: [ABORT][203] ([Intel XE#1358] / [Intel XE#1794]) -> [PASS][204]
[203]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-dg2-432/igt@xe_pm@s4-vm-bind-userptr.html
[204]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-434/igt@xe_pm@s4-vm-bind-userptr.html
* igt@xe_vm@bind-once:
- shard-bmg: [DMESG-WARN][205] ([Intel XE#4172]) -> [PASS][206] +26 other tests pass
[205]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-bmg-5/igt@xe_vm@bind-once.html
[206]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-bmg-1/igt@xe_vm@bind-once.html
#### Warnings ####
* igt@kms_big_fb@y-tiled-32bpp-rotate-0:
- shard-dg2-set2: [SKIP][207] ([Intel XE#1124]) -> [SKIP][208] ([Intel XE#2351] / [Intel XE#4208])
[207]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-dg2-466/igt@kms_big_fb@y-tiled-32bpp-rotate-0.html
[208]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-434/igt@kms_big_fb@y-tiled-32bpp-rotate-0.html
* igt@kms_bw@linear-tiling-2-displays-2560x1440p:
- shard-dg2-set2: [SKIP][209] ([Intel XE#367]) -> [SKIP][210] ([Intel XE#4208] / [i915#2575])
[209]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-dg2-466/igt@kms_bw@linear-tiling-2-displays-2560x1440p.html
[210]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-434/igt@kms_bw@linear-tiling-2-displays-2560x1440p.html
* igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-rc-ccs-cc:
- shard-dg2-set2: [SKIP][211] ([Intel XE#455] / [Intel XE#787]) -> [SKIP][212] ([Intel XE#2351] / [Intel XE#4208])
[211]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-dg2-466/igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-rc-ccs-cc.html
[212]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-434/igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-rc-ccs-cc.html
* igt@kms_ccs@missing-ccs-buffer-y-tiled-gen12-rc-ccs-cc:
- shard-dg2-set2: [SKIP][213] ([Intel XE#455] / [Intel XE#787]) -> [SKIP][214] ([Intel XE#4208])
[213]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-dg2-466/igt@kms_ccs@missing-ccs-buffer-y-tiled-gen12-rc-ccs-cc.html
[214]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-434/igt@kms_ccs@missing-ccs-buffer-y-tiled-gen12-rc-ccs-cc.html
* igt@kms_chamelium_edid@dp-edid-change-during-hibernate:
- shard-dg2-set2: [SKIP][215] ([Intel XE#373]) -> [SKIP][216] ([Intel XE#4208] / [i915#2575]) +2 other tests skip
[215]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-dg2-466/igt@kms_chamelium_edid@dp-edid-change-during-hibernate.html
[216]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-434/igt@kms_chamelium_edid@dp-edid-change-during-hibernate.html
* igt@kms_content_protection@srm:
- shard-bmg: [SKIP][217] ([Intel XE#2341]) -> [FAIL][218] ([Intel XE#1178])
[217]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-bmg-6/igt@kms_content_protection@srm.html
[218]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-bmg-5/igt@kms_content_protection@srm.html
* igt@kms_cursor_crc@cursor-rapid-movement-512x170:
- shard-dg2-set2: [SKIP][219] ([Intel XE#308]) -> [SKIP][220] ([Intel XE#4208] / [i915#2575])
[219]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-dg2-466/igt@kms_cursor_crc@cursor-rapid-movement-512x170.html
[220]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-434/igt@kms_cursor_crc@cursor-rapid-movement-512x170.html
* igt@kms_flip@2x-flip-vs-expired-vblank:
- shard-bmg: [SKIP][221] ([Intel XE#2316]) -> [DMESG-FAIL][222] ([Intel XE#4172])
[221]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-bmg-6/igt@kms_flip@2x-flip-vs-expired-vblank.html
[222]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-bmg-5/igt@kms_flip@2x-flip-vs-expired-vblank.html
* igt@kms_flip@flip-vs-suspend:
- shard-dg2-set2: [DMESG-WARN][223] ([Intel XE#2955]) -> [ABORT][224] ([Intel XE#1033] / [Intel XE#2625])
[223]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-dg2-463/igt@kms_flip@flip-vs-suspend.html
[224]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-432/igt@kms_flip@flip-vs-suspend.html
* igt@kms_flip@wf_vblank-ts-check:
- shard-lnl: [FAIL][225] ([Intel XE#886]) -> [FAIL][226] ([Intel XE#3149] / [Intel XE#886])
[225]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-lnl-5/igt@kms_flip@wf_vblank-ts-check.html
[226]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-lnl-6/igt@kms_flip@wf_vblank-ts-check.html
* igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs-downscaling:
- shard-dg2-set2: [SKIP][227] ([Intel XE#455]) -> [SKIP][228] ([Intel XE#4208])
[227]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-dg2-466/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs-downscaling.html
[228]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-434/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs-downscaling.html
* igt@kms_frontbuffer_tracking@drrs-2p-primscrn-indfb-pgflip-blt:
- shard-bmg: [SKIP][229] ([Intel XE#2312]) -> [SKIP][230] ([Intel XE#2311]) +5 other tests skip
[229]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-bmg-6/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-indfb-pgflip-blt.html
[230]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-bmg-5/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-indfb-pgflip-blt.html
* igt@kms_frontbuffer_tracking@drrs-indfb-scaledprimary:
- shard-dg2-set2: [SKIP][231] ([Intel XE#651]) -> [SKIP][232] ([Intel XE#4208])
[231]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-dg2-466/igt@kms_frontbuffer_tracking@drrs-indfb-scaledprimary.html
[232]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-434/igt@kms_frontbuffer_tracking@drrs-indfb-scaledprimary.html
* igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-mmap-wc:
- shard-bmg: [SKIP][233] ([Intel XE#4141]) -> [SKIP][234] ([Intel XE#2312]) +4 other tests skip
[233]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-bmg-7/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-mmap-wc.html
[234]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-bmg-6/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-render:
- shard-bmg: [SKIP][235] ([Intel XE#2312]) -> [SKIP][236] ([Intel XE#4141]) +4 other tests skip
[235]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-bmg-6/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-render.html
[236]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-bmg-5/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-cur-indfb-draw-mmap-wc:
- shard-bmg: [SKIP][237] ([Intel XE#2311]) -> [SKIP][238] ([Intel XE#2312]) +8 other tests skip
[237]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-bmg-7/igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-cur-indfb-draw-mmap-wc.html
[238]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-bmg-6/igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-cur-indfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-indfb-plflip-blt:
- shard-dg2-set2: [SKIP][239] ([Intel XE#651]) -> [SKIP][240] ([Intel XE#2351] / [Intel XE#4208]) +1 other test skip
[239]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-dg2-466/igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-indfb-plflip-blt.html
[240]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-434/igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-indfb-plflip-blt.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-indfb-draw-render:
- shard-bmg: [SKIP][241] ([Intel XE#2312]) -> [SKIP][242] ([Intel XE#2313]) +8 other tests skip
[241]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-bmg-6/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-indfb-draw-render.html
[242]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-bmg-5/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-spr-indfb-draw-render:
- shard-dg2-set2: [SKIP][243] ([Intel XE#653]) -> [SKIP][244] ([Intel XE#4208]) +5 other tests skip
[243]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-dg2-466/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-spr-indfb-draw-render.html
[244]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-434/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-spr-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-plflip-blt:
- shard-bmg: [SKIP][245] ([Intel XE#2313]) -> [SKIP][246] ([Intel XE#2312]) +7 other tests skip
[245]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-bmg-7/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-plflip-blt.html
[246]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-bmg-6/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-plflip-blt.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-spr-indfb-draw-mmap-wc:
- shard-dg2-set2: [SKIP][247] ([Intel XE#653]) -> [SKIP][248] ([Intel XE#2351] / [Intel XE#4208])
[247]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-dg2-466/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-spr-indfb-draw-mmap-wc.html
[248]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-434/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-spr-indfb-draw-mmap-wc.html
* igt@kms_hdr@brightness-with-hdr:
- shard-dg2-set2: [SKIP][249] ([Intel XE#455]) -> [SKIP][250] ([Intel XE#4208] / [i915#2575]) +1 other test skip
[249]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-dg2-466/igt@kms_hdr@brightness-with-hdr.html
[250]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-434/igt@kms_hdr@brightness-with-hdr.html
* igt@kms_plane_lowres@tiling-x:
- shard-dg2-set2: [DMESG-WARN][251] ([Intel XE#1033]) -> [SKIP][252] ([Intel XE#4208] / [i915#2575]) +4 other tests skip
[251]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-dg2-466/igt@kms_plane_lowres@tiling-x.html
[252]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-434/igt@kms_plane_lowres@tiling-x.html
* igt@kms_psr2_sf@fbc-pr-overlay-plane-move-continuous-sf:
- shard-dg2-set2: [SKIP][253] ([Intel XE#1489]) -> [SKIP][254] ([Intel XE#4208]) +1 other test skip
[253]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-dg2-466/igt@kms_psr2_sf@fbc-pr-overlay-plane-move-continuous-sf.html
[254]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-434/igt@kms_psr2_sf@fbc-pr-overlay-plane-move-continuous-sf.html
* igt@kms_psr@pr-sprite-plane-onoff:
- shard-dg2-set2: [SKIP][255] ([Intel XE#2850] / [Intel XE#929]) -> [SKIP][256] ([Intel XE#2351] / [Intel XE#4208])
[255]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-dg2-466/igt@kms_psr@pr-sprite-plane-onoff.html
[256]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-434/igt@kms_psr@pr-sprite-plane-onoff.html
* igt@kms_psr@psr2-cursor-plane-move:
- shard-dg2-set2: [SKIP][257] ([Intel XE#2850] / [Intel XE#929]) -> [SKIP][258] ([Intel XE#4208])
[257]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-dg2-466/igt@kms_psr@psr2-cursor-plane-move.html
[258]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-434/igt@kms_psr@psr2-cursor-plane-move.html
* igt@kms_vrr@lobf:
- shard-dg2-set2: [SKIP][259] ([Intel XE#2168]) -> [SKIP][260] ([Intel XE#4208] / [i915#2575])
[259]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-dg2-466/igt@kms_vrr@lobf.html
[260]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-434/igt@kms_vrr@lobf.html
* igt@xe_evict_ccs@evict-overcommit-parallel-nofree-reopen:
- shard-dg2-set2: [DMESG-WARN][261] ([Intel XE#1033]) -> [SKIP][262] ([Intel XE#4208]) +3 other tests skip
[261]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-dg2-466/igt@xe_evict_ccs@evict-overcommit-parallel-nofree-reopen.html
[262]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-434/igt@xe_evict_ccs@evict-overcommit-parallel-nofree-reopen.html
* igt@xe_exec_fault_mode@many-execqueues-userptr-invalidate-imm:
- shard-dg2-set2: [SKIP][263] ([Intel XE#288]) -> [SKIP][264] ([Intel XE#4208]) +5 other tests skip
[263]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-dg2-466/igt@xe_exec_fault_mode@many-execqueues-userptr-invalidate-imm.html
[264]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-434/igt@xe_exec_fault_mode@many-execqueues-userptr-invalidate-imm.html
* igt@xe_exec_sip_eudebug@breakpoint-waitsip-heavy:
- shard-dg2-set2: [SKIP][265] ([Intel XE#2905]) -> [SKIP][266] ([Intel XE#4208]) +1 other test skip
[265]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-dg2-466/igt@xe_exec_sip_eudebug@breakpoint-waitsip-heavy.html
[266]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-434/igt@xe_exec_sip_eudebug@breakpoint-waitsip-heavy.html
* igt@xe_oa@oa-unit-exclusive-stream-exec-q:
- shard-dg2-set2: [SKIP][267] ([Intel XE#2541] / [Intel XE#3573]) -> [SKIP][268] ([Intel XE#4208])
[267]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-dg2-466/igt@xe_oa@oa-unit-exclusive-stream-exec-q.html
[268]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-434/igt@xe_oa@oa-unit-exclusive-stream-exec-q.html
* igt@xe_pm@s4-vm-bind-unbind-all:
- shard-dg2-set2: [DMESG-WARN][269] ([Intel XE#1033] / [Intel XE#2280]) -> [SKIP][270] ([Intel XE#4208])
[269]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2577-54974a9354d844eca54feeec70870790fac17160/shard-dg2-466/igt@xe_pm@s4-vm-bind-unbind-all.html
[270]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/shard-dg2-434/igt@xe_pm@s4-vm-bind-unbind-all.html
[Intel XE#1033]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1033
[Intel XE#1091]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1091
[Intel XE#1122]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1122
[Intel XE#1123]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1123
[Intel XE#1124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1124
[Intel XE#1138]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1138
[Intel XE#1173]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1173
[Intel XE#1178]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1178
[Intel XE#1192]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1192
[Intel XE#1280]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1280
[Intel XE#1358]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1358
[Intel XE#1392]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1392
[Intel XE#1401]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1401
[Intel XE#1406]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1406
[Intel XE#1421]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1421
[Intel XE#1424]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1424
[Intel XE#1450]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1450
[Intel XE#1465]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1465
[Intel XE#1466]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1466
[Intel XE#1473]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1473
[Intel XE#1489]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1489
[Intel XE#1512]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1512
[Intel XE#1522]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1522
[Intel XE#1607]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1607
[Intel XE#1727]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1727
[Intel XE#1745]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1745
[Intel XE#1794]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1794
[Intel XE#1874]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1874
[Intel XE#2029]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2029
[Intel XE#2049]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2049
[Intel XE#2134]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2134
[Intel XE#2159]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2159
[Intel XE#2168]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2168
[Intel XE#2191]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2191
[Intel XE#2280]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2280
[Intel XE#2284]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2284
[Intel XE#2291]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2291
[Intel XE#2311]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2311
[Intel XE#2312]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2312
[Intel XE#2313]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2313
[Intel XE#2316]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2316
[Intel XE#2341]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2341
[Intel XE#2351]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2351
[Intel XE#2360]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2360
[Intel XE#2413]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2413
[Intel XE#2541]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2541
[Intel XE#2550]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2550
[Intel XE#2568]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2568
[Intel XE#2597]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2597
[Intel XE#2625]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2625
[Intel XE#2652]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2652
[Intel XE#2763]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2763
[Intel XE#2849]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2849
[Intel XE#2850]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2850
[Intel XE#288]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/288
[Intel XE#2887]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2887
[Intel XE#2893]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2893
[Intel XE#2905]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2905
[Intel XE#2953]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2953
[Intel XE#2955]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2955
[Intel XE#3009]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3009
[Intel XE#301]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/301
[Intel XE#3012]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3012
[Intel XE#306]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/306
[Intel XE#307]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/307
[Intel XE#3070]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3070
[Intel XE#308]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/308
[Intel XE#3098]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3098
[Intel XE#3124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3124
[Intel XE#3149]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3149
[Intel XE#316]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/316
[Intel XE#3278]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3278
[Intel XE#3321]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3321
[Intel XE#3432]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3432
[Intel XE#3573]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3573
[Intel XE#366]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/366
[Intel XE#367]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/367
[Intel XE#3701]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3701
[Intel XE#3718]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3718
[Intel XE#373]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/373
[Intel XE#374]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/374
[Intel XE#3767]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3767
[Intel XE#378]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/378
[Intel XE#3862]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3862
[Intel XE#4010]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4010
[Intel XE#4045]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4045
[Intel XE#4141]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4141
[Intel XE#4172]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4172
[Intel XE#4173]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4173
[Intel XE#4208]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4208
[Intel XE#4212]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4212
[Intel XE#455]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/455
[Intel XE#569]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/569
[Intel XE#599]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/599
[Intel XE#607]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/607
[Intel XE#616]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/616
[Intel XE#651]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/651
[Intel XE#653]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/653
[Intel XE#656]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/656
[Intel XE#688]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/688
[Intel XE#756]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/756
[Intel XE#787]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/787
[Intel XE#827]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/827
[Intel XE#870]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/870
[Intel XE#886]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/886
[Intel XE#929]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/929
[Intel XE#944]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/944
[Intel XE#977]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/977
[i915#2575]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2575
Build changes
-------------
* Linux: xe-2577-54974a9354d844eca54feeec70870790fac17160 -> xe-pw-141526v7
IGT_8218: fafef52e0a83fec5f8c4f8df851d27319467762b @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
xe-2577-54974a9354d844eca54feeec70870790fac17160: 54974a9354d844eca54feeec70870790fac17160
xe-pw-141526v7: 141526v7
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-141526v7/index.html
[-- Attachment #2: Type: text/html, Size: 82095 bytes --]
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [PATCH v6 3/7] drm/damage-helper: add const qualifier in drm_atomic_helper_damage_merged()
2025-01-30 21:00 ` [PATCH v6 3/7] drm/damage-helper: add const qualifier in drm_atomic_helper_damage_merged() Vinod Govindapillai
@ 2025-02-04 9:08 ` Jani Nikula
0 siblings, 0 replies; 32+ messages in thread
From: Jani Nikula @ 2025-02-04 9:08 UTC (permalink / raw)
To: Vinod Govindapillai, intel-gfx, intel-xe
Cc: vinod.govindapillai, ville.syrjala, santhosh.reddy.guddati,
jani.saarinen
On Thu, 30 Jan 2025, Vinod Govindapillai <vinod.govindapillai@intel.com> wrote:
> Add a const qualifier for the "state" parameter as well as we could
> use this helper to get the combined damage in cases of const
> drm_plane_state as well. Needed mainly for xe driver big joiner cases
> where we need to track the damage from immutable plane state.
Needs to be sent to dri-devel.
>
> Signed-off-by: Vinod Govindapillai <vinod.govindapillai@intel.com>
> ---
> drivers/gpu/drm/drm_damage_helper.c | 2 +-
> include/drm/drm_damage_helper.h | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_damage_helper.c b/drivers/gpu/drm/drm_damage_helper.c
> index afb02aae707b..44a5a36806e3 100644
> --- a/drivers/gpu/drm/drm_damage_helper.c
> +++ b/drivers/gpu/drm/drm_damage_helper.c
> @@ -308,7 +308,7 @@ EXPORT_SYMBOL(drm_atomic_helper_damage_iter_next);
> * True if there is valid plane damage otherwise false.
> */
> bool drm_atomic_helper_damage_merged(const struct drm_plane_state *old_state,
> - struct drm_plane_state *state,
> + const struct drm_plane_state *state,
> struct drm_rect *rect)
> {
> struct drm_atomic_helper_damage_iter iter;
> diff --git a/include/drm/drm_damage_helper.h b/include/drm/drm_damage_helper.h
> index effda42cce31..a58cbcd11276 100644
> --- a/include/drm/drm_damage_helper.h
> +++ b/include/drm/drm_damage_helper.h
> @@ -78,7 +78,7 @@ bool
> drm_atomic_helper_damage_iter_next(struct drm_atomic_helper_damage_iter *iter,
> struct drm_rect *rect);
> bool drm_atomic_helper_damage_merged(const struct drm_plane_state *old_state,
> - struct drm_plane_state *state,
> + const struct drm_plane_state *state,
> struct drm_rect *rect);
>
> #endif
--
Jani Nikula, Intel
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [PATCH v6 0/7] drm/i915/xe3: FBC Dirty rect feature support
2025-01-30 21:00 [PATCH v6 0/7] drm/i915/xe3: FBC Dirty rect feature support Vinod Govindapillai
` (14 preceding siblings ...)
2025-01-31 7:30 ` ✗ Xe.CI.Full: failure " Patchwork
@ 2025-02-04 9:09 ` Jani Nikula
15 siblings, 0 replies; 32+ messages in thread
From: Jani Nikula @ 2025-02-04 9:09 UTC (permalink / raw)
To: Vinod Govindapillai, intel-gfx, intel-xe
Cc: vinod.govindapillai, ville.syrjala, santhosh.reddy.guddati,
jani.saarinen
On Thu, 30 Jan 2025, Vinod Govindapillai <vinod.govindapillai@intel.com> wrote:
> Dirty rect support for FBC in xe3 onwards based on the comments after the
> initial RFC series.
I think "drm/i915/fbc" subject prefix is more appropriate than
"drm/i915/xe3".
(Please don't resend just for that.)
>
> 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.
>
> v5: add HAS_FBC_DIRTY_RECT()
> FBC Damage area updates in 3 steps.
> 1. As part of plane_atomic_check() get, adjust coordinates and store
> the merged damage area in plane_state
> 2. Atomic_commit, update merged damage are to fbc_state and prepare the
> damage area satifying all conditions
> 3 update the FBC dirty rect registers as part of DSB commit.
>
> v6: Use dmage_merged helper earlier to handle bigjoiner cases (Ville)
> Place the damage_merged handling code under HAS_FBC_DIRTY_RECT()
> Added a variable to check if the damage_merged received from
> the helper is valid. And if it is not valid, the FBC dirty rect
> is updated with full plane reqion.
>
> Vinod Govindapillai (7):
> drm/i915/xe3: add register definitions for fbc dirty rect support
> drm/i915/xe3: introduce HAS_FBC_DIRTY_RECT() for FBC dirty rect
> support
> drm/damage-helper: add const qualifier in
> drm_atomic_helper_damage_merged()
> drm/i915/xe3: update and store the plane damage clips
> drm/i915/xe3: dirty rect support for FBC
> drm/i915/xe3: avoid calling fbc activate if fbc is active
> drm/i915/xe3: disable FBC if PSR2 selective fetch is enabled
>
> drivers/gpu/drm/drm_damage_helper.c | 2 +-
> .../gpu/drm/i915/display/intel_atomic_plane.c | 28 ++++
> drivers/gpu/drm/i915/display/intel_display.c | 7 +
> .../drm/i915/display/intel_display_device.h | 1 +
> .../drm/i915/display/intel_display_types.h | 2 +
> drivers/gpu/drm/i915/display/intel_fbc.c | 152 +++++++++++++++++-
> drivers/gpu/drm/i915/display/intel_fbc.h | 6 +
> drivers/gpu/drm/i915/display/intel_fbc_regs.h | 9 ++
> .../drm/i915/display/skl_universal_plane.c | 45 +++++-
> include/drm/drm_damage_helper.h | 2 +-
> 10 files changed, 246 insertions(+), 8 deletions(-)
--
Jani Nikula, Intel
^ permalink raw reply [flat|nested] 32+ messages in thread
* RE: [PATCH v6 4/7] drm/i915/xe3: update and store the plane damage clips
2025-01-30 21:00 ` [PATCH v6 4/7] drm/i915/xe3: update and store the plane damage clips Vinod Govindapillai
@ 2025-02-05 9:39 ` Kandpal, Suraj
2025-02-05 10:08 ` Jani Nikula
2025-02-05 12:43 ` Ville Syrjälä
1 sibling, 1 reply; 32+ messages in thread
From: Kandpal, Suraj @ 2025-02-05 9:39 UTC (permalink / raw)
To: Govindapillai, Vinod, intel-gfx@lists.freedesktop.org,
intel-xe@lists.freedesktop.org
Cc: Govindapillai, Vinod, Syrjala, Ville, Reddy Guddati, Santhosh,
Saarinen, Jani
> -----Original Message-----
> From: Intel-xe <intel-xe-bounces@lists.freedesktop.org> On Behalf Of Vinod
> Govindapillai
> Sent: Friday, January 31, 2025 2:30 AM
> To: intel-gfx@lists.freedesktop.org; intel-xe@lists.freedesktop.org
> Cc: Govindapillai, Vinod <vinod.govindapillai@intel.com>; Syrjala, Ville
> <ville.syrjala@intel.com>; Reddy Guddati, Santhosh
> <santhosh.reddy.guddati@intel.com>; Saarinen, Jani
> <jani.saarinen@intel.com>
> Subject: [PATCH v6 4/7] drm/i915/xe3: update and store the plane damage
> clips
>
> Userspace can pass damage area clips per plane to track changes in a plane
> and some display components can utilze these damage clips for efficiently
> handling use cases like FBC, PSR etc. A merged damage area is generated and
> its coordinates are updated relative to viewport and HW and stored in the
> plane_state. This merged damage areas will be used for FBC dirty rect support
> in xe3 in the follow-up patch.
>
> Big thanks to Ville Syrjala for his contribuitions in shaping up of this series.
>
> v1: - Move damage_merged helper to cover bigjoiner case and use
> the correct plane state for damage find helper (Ville)
> - Damage handling code under HAS_FBC_DIRTY_RECT() so the
> the related part will be executed only for xe3+
> - Changed dev_priv to i915 in one of the functions
>
> Signed-off-by: Vinod Govindapillai <vinod.govindapillai@intel.com>
> ---
> .../gpu/drm/i915/display/intel_atomic_plane.c | 28 ++++++++++++
> .../drm/i915/display/intel_display_types.h | 2 +
> .../drm/i915/display/skl_universal_plane.c | 45 +++++++++++++++++--
> 3 files changed, 71 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_atomic_plane.c
> b/drivers/gpu/drm/i915/display/intel_atomic_plane.c
> index c558143f4f82..f55f7044dc67 100644
> --- a/drivers/gpu/drm/i915/display/intel_atomic_plane.c
> +++ b/drivers/gpu/drm/i915/display/intel_atomic_plane.c
> @@ -36,6 +36,7 @@
>
> #include <drm/drm_atomic_helper.h>
> #include <drm/drm_blend.h>
> +#include <drm/drm_damage_helper.h>
> #include <drm/drm_fourcc.h>
> #include <drm/drm_gem.h>
> #include <drm/drm_gem_atomic_helper.h>
> @@ -322,6 +323,25 @@ static void intel_plane_clear_hw_state(struct
> intel_plane_state *plane_state)
> memset(&plane_state->hw, 0, sizeof(plane_state->hw)); }
>
> +static void
> +intel_plane_check_plane_damage(struct intel_plane_state
> *new_plane_state,
> + const struct intel_plane_state
> *old_primary_plane_state,
> + const struct intel_plane_state
> *new_primary_plane_state) {
> + struct intel_display *display = to_intel_display(new_plane_state);
> + struct drm_rect *damage_merged = &new_plane_state-
> >damage_merged;
> +
> + if (!HAS_FBC_DIRTY_RECT(display))
> + return;
> +
> + if (!drm_atomic_helper_damage_merged(&old_primary_plane_state-
> >uapi,
> + &new_primary_plane_state->uapi,
> + damage_merged))
> + /* Incase helper fails, mark whole plane region as damage */
> + *damage_merged =
> + drm_plane_state_src(&new_primary_plane_state-
> >uapi);
> +}
> +
> void intel_plane_copy_uapi_to_hw_state(struct intel_plane_state
> *plane_state,
> const struct intel_plane_state
> *from_plane_state,
> struct intel_crtc *crtc)
> @@ -691,6 +711,7 @@ int intel_plane_atomic_check(struct
> intel_atomic_state *state,
> const struct intel_plane_state *old_plane_state =
> intel_atomic_get_old_plane_state(state, plane);
> const struct intel_plane_state *new_primary_crtc_plane_state;
> + const struct intel_plane_state *old_primary_crtc_plane_state;
> struct intel_crtc *crtc = intel_crtc_for_pipe(display, plane->pipe);
> const struct intel_crtc_state *old_crtc_state =
> intel_atomic_get_old_crtc_state(state, crtc); @@ -705,10
> +726,17 @@ int intel_plane_atomic_check(struct intel_atomic_state *state,
>
> new_primary_crtc_plane_state =
> intel_atomic_get_new_plane_state(state,
> primary_crtc_plane);
> + old_primary_crtc_plane_state =
> + intel_atomic_get_old_plane_state(state,
> primary_crtc_plane);
> } else {
> new_primary_crtc_plane_state = new_plane_state;
> + old_primary_crtc_plane_state = old_plane_state;
> }
>
> + intel_plane_check_plane_damage(new_plane_state,
> + old_primary_crtc_plane_state,
> + new_primary_crtc_plane_state);
> +
> intel_plane_copy_uapi_to_hw_state(new_plane_state,
> new_primary_crtc_plane_state,
> crtc);
> diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h
> b/drivers/gpu/drm/i915/display/intel_display_types.h
> index cb51b7936f93..8d53bcca9614 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_types.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_types.h
> @@ -695,6 +695,8 @@ struct intel_plane_state {
> u64 ccval;
>
> const char *no_fbc_reason;
> +
> + struct drm_rect damage_merged;
> };
>
> struct intel_initial_plane_config {
> diff --git a/drivers/gpu/drm/i915/display/skl_universal_plane.c
> b/drivers/gpu/drm/i915/display/skl_universal_plane.c
> index 301ad3a22c4c..b90a7d52c071 100644
> --- a/drivers/gpu/drm/i915/display/skl_universal_plane.c
> +++ b/drivers/gpu/drm/i915/display/skl_universal_plane.c
> @@ -2249,11 +2249,42 @@ static void check_protection(struct
> intel_plane_state *plane_state)
> !plane_state->decrypt;
> }
>
> +static void
> +skl_plane_check_damage_with_viewport(struct intel_plane_state
> +*plane_state) {
> + struct drm_rect *damage_merged = &plane_state->damage_merged;
> + const struct drm_framebuffer *fb = plane_state->hw.fb;
> + unsigned int rotation = plane_state->hw.rotation;
> + struct drm_rect *src = &plane_state->uapi.src;
> +
> + if (drm_rotation_90_or_270(rotation)) {
> + drm_rect_rotate(damage_merged, fb->width, fb->height,
> + DRM_MODE_ROTATE_270);
> + drm_rect_translate(damage_merged, -(src->y1 >> 16),
> + -(src->x1 >> 16));
> + } else {
> + drm_rect_translate(damage_merged, -(src->x1 >> 16),
> + -(src->y1 >> 16));
> + }
> +}
> +
> +static void
> +skl_plane_check_damage_with_plane_surf(struct intel_plane_state
> +*plane_state) {
> + struct drm_rect *damage_merged = &plane_state->damage_merged;
> + struct drm_rect src;
> +
> + drm_rect_fp_to_int(&src, &plane_state->uapi.src);
> + drm_rect_translate(damage_merged, src.x1, src.y1);
> + drm_rect_intersect(damage_merged, &src); }
> +
> static int skl_plane_check(struct intel_crtc_state *crtc_state,
> struct intel_plane_state *plane_state) {
> + struct intel_display *display = to_intel_display(crtc_state);
> struct intel_plane *plane = to_intel_plane(plane_state->uapi.plane);
> - struct drm_i915_private *dev_priv = to_i915(plane->base.dev);
> + struct drm_i915_private *i915 = to_i915(plane->base.dev);
This change of moving from dev_priv naming to i915 and to start using intel_display
Is a refactor and should be in a patch of its own.
Regards,
Suraj Kandpal
> const struct drm_framebuffer *fb = plane_state->hw.fb;
> int min_scale = DRM_PLANE_NO_SCALING;
> int max_scale = DRM_PLANE_NO_SCALING;
> @@ -2266,7 +2297,7 @@ static int skl_plane_check(struct intel_crtc_state
> *crtc_state,
> /* use scaler when colorkey is not required */
> if (!plane_state->ckey.flags && skl_fb_scalable(fb)) {
> min_scale = 1;
> - max_scale = skl_plane_max_scale(dev_priv, fb);
> + max_scale = skl_plane_max_scale(i915, fb);
> }
>
> ret = intel_atomic_plane_check_clipping(plane_state, crtc_state, @@ -
> 2274,6 +2305,9 @@ static int skl_plane_check(struct intel_crtc_state
> *crtc_state,
> if (ret)
> return ret;
>
> + if (HAS_FBC_DIRTY_RECT(display))
> + skl_plane_check_damage_with_viewport(plane_state);
> +
> ret = skl_check_plane_surface(plane_state);
> if (ret)
> return ret;
> @@ -2289,6 +2323,9 @@ static int skl_plane_check(struct intel_crtc_state
> *crtc_state,
> if (ret)
> return ret;
>
> + if (HAS_FBC_DIRTY_RECT(display))
> + skl_plane_check_damage_with_plane_surf(plane_state);
> +
> ret = skl_plane_check_nv12_rotation(plane_state);
> if (ret)
> return ret;
> @@ -2301,12 +2338,12 @@ static int skl_plane_check(struct intel_crtc_state
> *crtc_state,
>
> plane_state->ctl = skl_plane_ctl(crtc_state, plane_state);
>
> - if (DISPLAY_VER(dev_priv) >= 10)
> + if (DISPLAY_VER(display) >= 10)
> plane_state->color_ctl = glk_plane_color_ctl(crtc_state,
> plane_state);
>
> if (intel_format_info_is_yuv_semiplanar(fb->format, fb->modifier) &&
> - icl_is_hdr_plane(dev_priv, plane->id))
> + icl_is_hdr_plane(i915, plane->id))
> /* Enable and use MPEG-2 chroma siting */
> plane_state->cus_ctl = PLANE_CUS_ENABLE |
> PLANE_CUS_HPHASE_0 |
> --
> 2.43.0
^ permalink raw reply [flat|nested] 32+ messages in thread
* RE: [PATCH v6 1/7] drm/i915/xe3: add register definitions for fbc dirty rect support
2025-01-30 21:00 ` [PATCH v6 1/7] drm/i915/xe3: add register definitions for fbc dirty rect support Vinod Govindapillai
@ 2025-02-05 9:42 ` Kandpal, Suraj
0 siblings, 0 replies; 32+ messages in thread
From: Kandpal, Suraj @ 2025-02-05 9:42 UTC (permalink / raw)
To: Govindapillai, Vinod, intel-gfx@lists.freedesktop.org,
intel-xe@lists.freedesktop.org
Cc: Govindapillai, Vinod, Syrjala, Ville, Reddy Guddati, Santhosh,
Saarinen, Jani
> -----Original Message-----
> From: Intel-gfx <intel-gfx-bounces@lists.freedesktop.org> On Behalf Of Vinod
> Govindapillai
> Sent: Friday, January 31, 2025 2:30 AM
> To: intel-gfx@lists.freedesktop.org; intel-xe@lists.freedesktop.org
> Cc: Govindapillai, Vinod <vinod.govindapillai@intel.com>; Syrjala, Ville
> <ville.syrjala@intel.com>; Reddy Guddati, Santhosh
> <santhosh.reddy.guddati@intel.com>; Saarinen, Jani
> <jani.saarinen@intel.com>
> Subject: [PATCH v6 1/7] drm/i915/xe3: add register definitions for fbc dirty
> rect support
>
> Register definitions for FBC dirty rect support
>
> Bspec: 71675, 73424
Add the reference for 69003 for FBC instances
Otherwise LGTM,
Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com>
> 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 [flat|nested] 32+ messages in thread
* RE: [PATCH v6 2/7] drm/i915/xe3: introduce HAS_FBC_DIRTY_RECT() for FBC dirty rect support
2025-01-30 21:00 ` [PATCH v6 2/7] drm/i915/xe3: introduce HAS_FBC_DIRTY_RECT() for FBC " Vinod Govindapillai
@ 2025-02-05 9:43 ` Kandpal, Suraj
0 siblings, 0 replies; 32+ messages in thread
From: Kandpal, Suraj @ 2025-02-05 9:43 UTC (permalink / raw)
To: Govindapillai, Vinod, intel-gfx@lists.freedesktop.org,
intel-xe@lists.freedesktop.org
Cc: Govindapillai, Vinod, Syrjala, Ville, Reddy Guddati, Santhosh,
Saarinen, Jani
> -----Original Message-----
> From: Intel-xe <intel-xe-bounces@lists.freedesktop.org> On Behalf Of Vinod
> Govindapillai
> Sent: Friday, January 31, 2025 2:30 AM
> To: intel-gfx@lists.freedesktop.org; intel-xe@lists.freedesktop.org
> Cc: Govindapillai, Vinod <vinod.govindapillai@intel.com>; Syrjala, Ville
> <ville.syrjala@intel.com>; Reddy Guddati, Santhosh
> <santhosh.reddy.guddati@intel.com>; Saarinen, Jani
> <jani.saarinen@intel.com>
> Subject: [PATCH v6 2/7] drm/i915/xe3: introduce HAS_FBC_DIRTY_RECT() for
> FBC dirty rect support
>
> Introduce a macro to check if the platform supports FBC dirty rect capability.
>
> Signed-off-by: Vinod Govindapillai <vinod.govindapillai@intel.com>
LGTM,
Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_display_device.h | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display_device.h
> b/drivers/gpu/drm/i915/display/intel_display_device.h
> index fc33791f02b9..717286981687 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_device.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_device.h
> @@ -163,6 +163,7 @@ struct intel_display_platforms {
> #define HAS_DSC(__display) (DISPLAY_RUNTIME_INFO(__display)-
> >has_dsc)
> #define HAS_DSC_MST(__display) (DISPLAY_VER(__display) >=
> 12 && HAS_DSC(__display))
> #define HAS_FBC(__display) (DISPLAY_RUNTIME_INFO(__display)-
> >fbc_mask != 0)
> +#define HAS_FBC_DIRTY_RECT(__display) (DISPLAY_VER(__display) >=
> 30)
> #define HAS_FPGA_DBG_UNCLAIMED(__display)
> (DISPLAY_INFO(__display)->has_fpga_dbg)
> #define HAS_FW_BLC(__display) (DISPLAY_VER(__display) >=
> 3)
> #define HAS_GMBUS_IRQ(__display) (DISPLAY_VER(__display) >= 4)
> --
> 2.43.0
^ permalink raw reply [flat|nested] 32+ messages in thread
* RE: [PATCH v6 7/7] drm/i915/xe3: disable FBC if PSR2 selective fetch is enabled
2025-01-30 21:00 ` [PATCH v6 7/7] drm/i915/xe3: disable FBC if PSR2 selective fetch is enabled Vinod Govindapillai
@ 2025-02-05 9:58 ` Kandpal, Suraj
0 siblings, 0 replies; 32+ messages in thread
From: Kandpal, Suraj @ 2025-02-05 9:58 UTC (permalink / raw)
To: Govindapillai, Vinod, intel-gfx@lists.freedesktop.org,
intel-xe@lists.freedesktop.org
Cc: Govindapillai, Vinod, Syrjala, Ville, Reddy Guddati, Santhosh,
Saarinen, Jani
> -----Original Message-----
> From: Intel-gfx <intel-gfx-bounces@lists.freedesktop.org> On Behalf Of Vinod
> Govindapillai
> Sent: Friday, January 31, 2025 2:30 AM
> To: intel-gfx@lists.freedesktop.org; intel-xe@lists.freedesktop.org
> Cc: Govindapillai, Vinod <vinod.govindapillai@intel.com>; Syrjala, Ville
> <ville.syrjala@intel.com>; Reddy Guddati, Santhosh
> <santhosh.reddy.guddati@intel.com>; Saarinen, Jani
> <jani.saarinen@intel.com>
> Subject: [PATCH v6 7/7] drm/i915/xe3: disable FBC if PSR2 selective fetch is
> enabled
>
> It is not recommended to have both FBC dirty rect and PSR2 selective fetch be
> enabled at the same time. If PSR2 selective fetch or panel replay is on, mark
> FBC as not possible.
>
> v2: fix the condition to disable FBC if PSR2 enabled (Jani)
>
> v3: use HAS_FBC_DIRTY_RECT()
>
> Bspec: 68881
> Signed-off-by: Vinod Govindapillai <vinod.govindapillai@intel.com>
LGTM,
Reviewed-by: Suraj Kandpal <suraj.kandpal@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 b17ee1797118..429e213e1dcd 100644
> --- a/drivers/gpu/drm/i915/display/intel_fbc.c
> +++ b/drivers/gpu/drm/i915/display/intel_fbc.c
> @@ -1481,9 +1481,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) || HAS_FBC_DIRTY_RECT(display))
> &&
> + 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 [flat|nested] 32+ messages in thread
* RE: [PATCH v6 4/7] drm/i915/xe3: update and store the plane damage clips
2025-02-05 9:39 ` Kandpal, Suraj
@ 2025-02-05 10:08 ` Jani Nikula
2025-02-05 11:21 ` Govindapillai, Vinod
0 siblings, 1 reply; 32+ messages in thread
From: Jani Nikula @ 2025-02-05 10:08 UTC (permalink / raw)
To: Kandpal, Suraj, Govindapillai, Vinod,
intel-gfx@lists.freedesktop.org, intel-xe@lists.freedesktop.org
Cc: Govindapillai, Vinod, Syrjala, Ville, Reddy Guddati, Santhosh,
Saarinen, Jani
On Wed, 05 Feb 2025, "Kandpal, Suraj" <suraj.kandpal@intel.com> wrote:
>> -----Original Message-----
>> From: Intel-xe <intel-xe-bounces@lists.freedesktop.org> On Behalf Of Vinod
>> Govindapillai
>> Sent: Friday, January 31, 2025 2:30 AM
>> To: intel-gfx@lists.freedesktop.org; intel-xe@lists.freedesktop.org
>> Cc: Govindapillai, Vinod <vinod.govindapillai@intel.com>; Syrjala, Ville
>> <ville.syrjala@intel.com>; Reddy Guddati, Santhosh
>> <santhosh.reddy.guddati@intel.com>; Saarinen, Jani
>> <jani.saarinen@intel.com>
>> Subject: [PATCH v6 4/7] drm/i915/xe3: update and store the plane damage
>> clips
>>
>> Userspace can pass damage area clips per plane to track changes in a plane
>> and some display components can utilze these damage clips for efficiently
>> handling use cases like FBC, PSR etc. A merged damage area is generated and
>> its coordinates are updated relative to viewport and HW and stored in the
>> plane_state. This merged damage areas will be used for FBC dirty rect support
>> in xe3 in the follow-up patch.
>>
>> Big thanks to Ville Syrjala for his contribuitions in shaping up of this series.
>>
>> v1: - Move damage_merged helper to cover bigjoiner case and use
>> the correct plane state for damage find helper (Ville)
>> - Damage handling code under HAS_FBC_DIRTY_RECT() so the
>> the related part will be executed only for xe3+
>> - Changed dev_priv to i915 in one of the functions
>>
>> Signed-off-by: Vinod Govindapillai <vinod.govindapillai@intel.com>
>> ---
>> .../gpu/drm/i915/display/intel_atomic_plane.c | 28 ++++++++++++
>> .../drm/i915/display/intel_display_types.h | 2 +
>> .../drm/i915/display/skl_universal_plane.c | 45 +++++++++++++++++--
>> 3 files changed, 71 insertions(+), 4 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/i915/display/intel_atomic_plane.c
>> b/drivers/gpu/drm/i915/display/intel_atomic_plane.c
>> index c558143f4f82..f55f7044dc67 100644
>> --- a/drivers/gpu/drm/i915/display/intel_atomic_plane.c
>> +++ b/drivers/gpu/drm/i915/display/intel_atomic_plane.c
>> @@ -36,6 +36,7 @@
>>
>> #include <drm/drm_atomic_helper.h>
>> #include <drm/drm_blend.h>
>> +#include <drm/drm_damage_helper.h>
>> #include <drm/drm_fourcc.h>
>> #include <drm/drm_gem.h>
>> #include <drm/drm_gem_atomic_helper.h>
>> @@ -322,6 +323,25 @@ static void intel_plane_clear_hw_state(struct
>> intel_plane_state *plane_state)
>> memset(&plane_state->hw, 0, sizeof(plane_state->hw)); }
>>
>> +static void
>> +intel_plane_check_plane_damage(struct intel_plane_state
>> *new_plane_state,
>> + const struct intel_plane_state
>> *old_primary_plane_state,
>> + const struct intel_plane_state
>> *new_primary_plane_state) {
>> + struct intel_display *display = to_intel_display(new_plane_state);
>> + struct drm_rect *damage_merged = &new_plane_state-
>> >damage_merged;
>> +
>> + if (!HAS_FBC_DIRTY_RECT(display))
>> + return;
>> +
>> + if (!drm_atomic_helper_damage_merged(&old_primary_plane_state-
>> >uapi,
>> + &new_primary_plane_state->uapi,
>> + damage_merged))
>> + /* Incase helper fails, mark whole plane region as damage */
>> + *damage_merged =
>> + drm_plane_state_src(&new_primary_plane_state-
>> >uapi);
>> +}
>> +
>> void intel_plane_copy_uapi_to_hw_state(struct intel_plane_state
>> *plane_state,
>> const struct intel_plane_state
>> *from_plane_state,
>> struct intel_crtc *crtc)
>> @@ -691,6 +711,7 @@ int intel_plane_atomic_check(struct
>> intel_atomic_state *state,
>> const struct intel_plane_state *old_plane_state =
>> intel_atomic_get_old_plane_state(state, plane);
>> const struct intel_plane_state *new_primary_crtc_plane_state;
>> + const struct intel_plane_state *old_primary_crtc_plane_state;
>> struct intel_crtc *crtc = intel_crtc_for_pipe(display, plane->pipe);
>> const struct intel_crtc_state *old_crtc_state =
>> intel_atomic_get_old_crtc_state(state, crtc); @@ -705,10
>> +726,17 @@ int intel_plane_atomic_check(struct intel_atomic_state *state,
>>
>> new_primary_crtc_plane_state =
>> intel_atomic_get_new_plane_state(state,
>> primary_crtc_plane);
>> + old_primary_crtc_plane_state =
>> + intel_atomic_get_old_plane_state(state,
>> primary_crtc_plane);
>> } else {
>> new_primary_crtc_plane_state = new_plane_state;
>> + old_primary_crtc_plane_state = old_plane_state;
>> }
>>
>> + intel_plane_check_plane_damage(new_plane_state,
>> + old_primary_crtc_plane_state,
>> + new_primary_crtc_plane_state);
>> +
>> intel_plane_copy_uapi_to_hw_state(new_plane_state,
>> new_primary_crtc_plane_state,
>> crtc);
>> diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h
>> b/drivers/gpu/drm/i915/display/intel_display_types.h
>> index cb51b7936f93..8d53bcca9614 100644
>> --- a/drivers/gpu/drm/i915/display/intel_display_types.h
>> +++ b/drivers/gpu/drm/i915/display/intel_display_types.h
>> @@ -695,6 +695,8 @@ struct intel_plane_state {
>> u64 ccval;
>>
>> const char *no_fbc_reason;
>> +
>> + struct drm_rect damage_merged;
>> };
>>
>> struct intel_initial_plane_config {
>> diff --git a/drivers/gpu/drm/i915/display/skl_universal_plane.c
>> b/drivers/gpu/drm/i915/display/skl_universal_plane.c
>> index 301ad3a22c4c..b90a7d52c071 100644
>> --- a/drivers/gpu/drm/i915/display/skl_universal_plane.c
>> +++ b/drivers/gpu/drm/i915/display/skl_universal_plane.c
>> @@ -2249,11 +2249,42 @@ static void check_protection(struct
>> intel_plane_state *plane_state)
>> !plane_state->decrypt;
>> }
>>
>> +static void
>> +skl_plane_check_damage_with_viewport(struct intel_plane_state
>> +*plane_state) {
>> + struct drm_rect *damage_merged = &plane_state->damage_merged;
>> + const struct drm_framebuffer *fb = plane_state->hw.fb;
>> + unsigned int rotation = plane_state->hw.rotation;
>> + struct drm_rect *src = &plane_state->uapi.src;
>> +
>> + if (drm_rotation_90_or_270(rotation)) {
>> + drm_rect_rotate(damage_merged, fb->width, fb->height,
>> + DRM_MODE_ROTATE_270);
>> + drm_rect_translate(damage_merged, -(src->y1 >> 16),
>> + -(src->x1 >> 16));
>> + } else {
>> + drm_rect_translate(damage_merged, -(src->x1 >> 16),
>> + -(src->y1 >> 16));
>> + }
>> +}
>> +
>> +static void
>> +skl_plane_check_damage_with_plane_surf(struct intel_plane_state
>> +*plane_state) {
>> + struct drm_rect *damage_merged = &plane_state->damage_merged;
>> + struct drm_rect src;
>> +
>> + drm_rect_fp_to_int(&src, &plane_state->uapi.src);
>> + drm_rect_translate(damage_merged, src.x1, src.y1);
>> + drm_rect_intersect(damage_merged, &src); }
>> +
>> static int skl_plane_check(struct intel_crtc_state *crtc_state,
>> struct intel_plane_state *plane_state) {
>> + struct intel_display *display = to_intel_display(crtc_state);
>> struct intel_plane *plane = to_intel_plane(plane_state->uapi.plane);
>> - struct drm_i915_private *dev_priv = to_i915(plane->base.dev);
>> + struct drm_i915_private *i915 = to_i915(plane->base.dev);
>
> This change of moving from dev_priv naming to i915 and to start using intel_display
> Is a refactor and should be in a patch of its own.
I think a small amount of opportunistic i915 -> display changes are
okay. But the s/dev_priv/i915/ is IMO just useless. All of them need to
go eventually, calling it i915 is not helping at this point.
BR,
Jani.
>
> Regards,
> Suraj Kandpal
>
>> const struct drm_framebuffer *fb = plane_state->hw.fb;
>> int min_scale = DRM_PLANE_NO_SCALING;
>> int max_scale = DRM_PLANE_NO_SCALING;
>> @@ -2266,7 +2297,7 @@ static int skl_plane_check(struct intel_crtc_state
>> *crtc_state,
>> /* use scaler when colorkey is not required */
>> if (!plane_state->ckey.flags && skl_fb_scalable(fb)) {
>> min_scale = 1;
>> - max_scale = skl_plane_max_scale(dev_priv, fb);
>> + max_scale = skl_plane_max_scale(i915, fb);
>> }
>>
>> ret = intel_atomic_plane_check_clipping(plane_state, crtc_state, @@ -
>> 2274,6 +2305,9 @@ static int skl_plane_check(struct intel_crtc_state
>> *crtc_state,
>> if (ret)
>> return ret;
>>
>> + if (HAS_FBC_DIRTY_RECT(display))
>> + skl_plane_check_damage_with_viewport(plane_state);
>> +
>> ret = skl_check_plane_surface(plane_state);
>> if (ret)
>> return ret;
>> @@ -2289,6 +2323,9 @@ static int skl_plane_check(struct intel_crtc_state
>> *crtc_state,
>> if (ret)
>> return ret;
>>
>> + if (HAS_FBC_DIRTY_RECT(display))
>> + skl_plane_check_damage_with_plane_surf(plane_state);
>> +
>> ret = skl_plane_check_nv12_rotation(plane_state);
>> if (ret)
>> return ret;
>> @@ -2301,12 +2338,12 @@ static int skl_plane_check(struct intel_crtc_state
>> *crtc_state,
>>
>> plane_state->ctl = skl_plane_ctl(crtc_state, plane_state);
>>
>> - if (DISPLAY_VER(dev_priv) >= 10)
>> + if (DISPLAY_VER(display) >= 10)
>> plane_state->color_ctl = glk_plane_color_ctl(crtc_state,
>> plane_state);
>>
>> if (intel_format_info_is_yuv_semiplanar(fb->format, fb->modifier) &&
>> - icl_is_hdr_plane(dev_priv, plane->id))
>> + icl_is_hdr_plane(i915, plane->id))
>> /* Enable and use MPEG-2 chroma siting */
>> plane_state->cus_ctl = PLANE_CUS_ENABLE |
>> PLANE_CUS_HPHASE_0 |
>> --
>> 2.43.0
>
--
Jani Nikula, Intel
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [PATCH v6 4/7] drm/i915/xe3: update and store the plane damage clips
2025-02-05 10:08 ` Jani Nikula
@ 2025-02-05 11:21 ` Govindapillai, Vinod
0 siblings, 0 replies; 32+ messages in thread
From: Govindapillai, Vinod @ 2025-02-05 11:21 UTC (permalink / raw)
To: Kandpal, Suraj, 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-02-05 at 12:08 +0200, Jani Nikula wrote:
> On Wed, 05 Feb 2025, "Kandpal, Suraj" <suraj.kandpal@intel.com> wrote:
> > > -----Original Message-----
> > > From: Intel-xe <intel-xe-bounces@lists.freedesktop.org> On Behalf Of Vinod
> > > Govindapillai
> > > Sent: Friday, January 31, 2025 2:30 AM
> > > To: intel-gfx@lists.freedesktop.org; intel-xe@lists.freedesktop.org
> > > Cc: Govindapillai, Vinod <vinod.govindapillai@intel.com>; Syrjala, Ville
> > > <ville.syrjala@intel.com>; Reddy Guddati, Santhosh
> > > <santhosh.reddy.guddati@intel.com>; Saarinen, Jani
> > > <jani.saarinen@intel.com>
> > > Subject: [PATCH v6 4/7] drm/i915/xe3: update and store the plane damage
> > > clips
> > >
> > > Userspace can pass damage area clips per plane to track changes in a plane
> > > and some display components can utilze these damage clips for efficiently
> > > handling use cases like FBC, PSR etc. A merged damage area is generated and
> > > its coordinates are updated relative to viewport and HW and stored in the
> > > plane_state. This merged damage areas will be used for FBC dirty rect support
> > > in xe3 in the follow-up patch.
> > >
> > > Big thanks to Ville Syrjala for his contribuitions in shaping up of this series.
> > >
> > > v1: - Move damage_merged helper to cover bigjoiner case and use
> > > the correct plane state for damage find helper (Ville)
> > > - Damage handling code under HAS_FBC_DIRTY_RECT() so the
> > > the related part will be executed only for xe3+
> > > - Changed dev_priv to i915 in one of the functions
> > >
> > > Signed-off-by: Vinod Govindapillai <vinod.govindapillai@intel.com>
> > > ---
> > > .../gpu/drm/i915/display/intel_atomic_plane.c | 28 ++++++++++++
> > > .../drm/i915/display/intel_display_types.h | 2 +
> > > .../drm/i915/display/skl_universal_plane.c | 45 +++++++++++++++++--
> > > 3 files changed, 71 insertions(+), 4 deletions(-)
> > >
> > > diff --git a/drivers/gpu/drm/i915/display/intel_atomic_plane.c
> > > b/drivers/gpu/drm/i915/display/intel_atomic_plane.c
> > > index c558143f4f82..f55f7044dc67 100644
> > > --- a/drivers/gpu/drm/i915/display/intel_atomic_plane.c
> > > +++ b/drivers/gpu/drm/i915/display/intel_atomic_plane.c
> > > @@ -36,6 +36,7 @@
> > >
> > > #include <drm/drm_atomic_helper.h>
> > > #include <drm/drm_blend.h>
> > > +#include <drm/drm_damage_helper.h>
> > > #include <drm/drm_fourcc.h>
> > > #include <drm/drm_gem.h>
> > > #include <drm/drm_gem_atomic_helper.h>
> > > @@ -322,6 +323,25 @@ static void intel_plane_clear_hw_state(struct
> > > intel_plane_state *plane_state)
> > > memset(&plane_state->hw, 0, sizeof(plane_state->hw)); }
> > >
> > > +static void
> > > +intel_plane_check_plane_damage(struct intel_plane_state
> > > *new_plane_state,
> > > + const struct intel_plane_state
> > > *old_primary_plane_state,
> > > + const struct intel_plane_state
> > > *new_primary_plane_state) {
> > > + struct intel_display *display = to_intel_display(new_plane_state);
> > > + struct drm_rect *damage_merged = &new_plane_state-
> > > > damage_merged;
> > > +
> > > + if (!HAS_FBC_DIRTY_RECT(display))
> > > + return;
> > > +
> > > + if (!drm_atomic_helper_damage_merged(&old_primary_plane_state-
> > > > uapi,
> > > + &new_primary_plane_state->uapi,
> > > + damage_merged))
> > > + /* Incase helper fails, mark whole plane region as damage */
> > > + *damage_merged =
> > > + drm_plane_state_src(&new_primary_plane_state-
> > > > uapi);
> > > +}
> > > +
> > > void intel_plane_copy_uapi_to_hw_state(struct intel_plane_state
> > > *plane_state,
> > > const struct intel_plane_state
> > > *from_plane_state,
> > > struct intel_crtc *crtc)
> > > @@ -691,6 +711,7 @@ int intel_plane_atomic_check(struct
> > > intel_atomic_state *state,
> > > const struct intel_plane_state *old_plane_state =
> > > intel_atomic_get_old_plane_state(state, plane);
> > > const struct intel_plane_state *new_primary_crtc_plane_state;
> > > + const struct intel_plane_state *old_primary_crtc_plane_state;
> > > struct intel_crtc *crtc = intel_crtc_for_pipe(display, plane->pipe);
> > > const struct intel_crtc_state *old_crtc_state =
> > > intel_atomic_get_old_crtc_state(state, crtc); @@ -705,10
> > > +726,17 @@ int intel_plane_atomic_check(struct intel_atomic_state *state,
> > >
> > > new_primary_crtc_plane_state =
> > > intel_atomic_get_new_plane_state(state,
> > > primary_crtc_plane);
> > > + old_primary_crtc_plane_state =
> > > + intel_atomic_get_old_plane_state(state,
> > > primary_crtc_plane);
> > > } else {
> > > new_primary_crtc_plane_state = new_plane_state;
> > > + old_primary_crtc_plane_state = old_plane_state;
> > > }
> > >
> > > + intel_plane_check_plane_damage(new_plane_state,
> > > + old_primary_crtc_plane_state,
> > > + new_primary_crtc_plane_state);
> > > +
> > > intel_plane_copy_uapi_to_hw_state(new_plane_state,
> > > new_primary_crtc_plane_state,
> > > crtc);
> > > diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h
> > > b/drivers/gpu/drm/i915/display/intel_display_types.h
> > > index cb51b7936f93..8d53bcca9614 100644
> > > --- a/drivers/gpu/drm/i915/display/intel_display_types.h
> > > +++ b/drivers/gpu/drm/i915/display/intel_display_types.h
> > > @@ -695,6 +695,8 @@ struct intel_plane_state {
> > > u64 ccval;
> > >
> > > const char *no_fbc_reason;
> > > +
> > > + struct drm_rect damage_merged;
> > > };
> > >
> > > struct intel_initial_plane_config {
> > > diff --git a/drivers/gpu/drm/i915/display/skl_universal_plane.c
> > > b/drivers/gpu/drm/i915/display/skl_universal_plane.c
> > > index 301ad3a22c4c..b90a7d52c071 100644
> > > --- a/drivers/gpu/drm/i915/display/skl_universal_plane.c
> > > +++ b/drivers/gpu/drm/i915/display/skl_universal_plane.c
> > > @@ -2249,11 +2249,42 @@ static void check_protection(struct
> > > intel_plane_state *plane_state)
> > > !plane_state->decrypt;
> > > }
> > >
> > > +static void
> > > +skl_plane_check_damage_with_viewport(struct intel_plane_state
> > > +*plane_state) {
> > > + struct drm_rect *damage_merged = &plane_state->damage_merged;
> > > + const struct drm_framebuffer *fb = plane_state->hw.fb;
> > > + unsigned int rotation = plane_state->hw.rotation;
> > > + struct drm_rect *src = &plane_state->uapi.src;
> > > +
> > > + if (drm_rotation_90_or_270(rotation)) {
> > > + drm_rect_rotate(damage_merged, fb->width, fb->height,
> > > + DRM_MODE_ROTATE_270);
> > > + drm_rect_translate(damage_merged, -(src->y1 >> 16),
> > > + -(src->x1 >> 16));
> > > + } else {
> > > + drm_rect_translate(damage_merged, -(src->x1 >> 16),
> > > + -(src->y1 >> 16));
> > > + }
> > > +}
> > > +
> > > +static void
> > > +skl_plane_check_damage_with_plane_surf(struct intel_plane_state
> > > +*plane_state) {
> > > + struct drm_rect *damage_merged = &plane_state->damage_merged;
> > > + struct drm_rect src;
> > > +
> > > + drm_rect_fp_to_int(&src, &plane_state->uapi.src);
> > > + drm_rect_translate(damage_merged, src.x1, src.y1);
> > > + drm_rect_intersect(damage_merged, &src); }
> > > +
> > > static int skl_plane_check(struct intel_crtc_state *crtc_state,
> > > struct intel_plane_state *plane_state) {
> > > + struct intel_display *display = to_intel_display(crtc_state);
> > > struct intel_plane *plane = to_intel_plane(plane_state->uapi.plane);
> > > - struct drm_i915_private *dev_priv = to_i915(plane->base.dev);
> > > + struct drm_i915_private *i915 = to_i915(plane->base.dev);
> >
> > This change of moving from dev_priv naming to i915 and to start using intel_display
> > Is a refactor and should be in a patch of its own.
Such minor local changes to use intel_display are okay as per the practices so far! Before
intel_display related changes, dev_priv was being replaced by i915 and was also acceptable without a
separate patch as long as the changes are minimal and within the local context. But the recent
intel_display usage has made dev_priv replacements redundant. But replacing dev_priv to use
intel_display in this specific case needed a bigger attention to other parts! So i just combined the
previous practices!
>
> I think a small amount of opportunistic i915 -> display changes are
> okay. But the s/dev_priv/i915/ is IMO just useless. All of them need to
> go eventually, calling it i915 is not helping at this point.
Yeah.. just wanted to avoid someone commenting about "dev_priv" :-)
Fully getting rid of that "dev_priv/i915" need bit bigger changes!
BR
Vinod
>
> BR,
> Jani.
>
> >
> > Regards,
> > Suraj Kandpal
> >
> > > const struct drm_framebuffer *fb = plane_state->hw.fb;
> > > int min_scale = DRM_PLANE_NO_SCALING;
> > > int max_scale = DRM_PLANE_NO_SCALING;
> > > @@ -2266,7 +2297,7 @@ static int skl_plane_check(struct intel_crtc_state
> > > *crtc_state,
> > > /* use scaler when colorkey is not required */
> > > if (!plane_state->ckey.flags && skl_fb_scalable(fb)) {
> > > min_scale = 1;
> > > - max_scale = skl_plane_max_scale(dev_priv, fb);
> > > + max_scale = skl_plane_max_scale(i915, fb);
> > > }
> > >
> > > ret = intel_atomic_plane_check_clipping(plane_state, crtc_state, @@ -
> > > 2274,6 +2305,9 @@ static int skl_plane_check(struct intel_crtc_state
> > > *crtc_state,
> > > if (ret)
> > > return ret;
> > >
> > > + if (HAS_FBC_DIRTY_RECT(display))
> > > + skl_plane_check_damage_with_viewport(plane_state);
> > > +
> > > ret = skl_check_plane_surface(plane_state);
> > > if (ret)
> > > return ret;
> > > @@ -2289,6 +2323,9 @@ static int skl_plane_check(struct intel_crtc_state
> > > *crtc_state,
> > > if (ret)
> > > return ret;
> > >
> > > + if (HAS_FBC_DIRTY_RECT(display))
> > > + skl_plane_check_damage_with_plane_surf(plane_state);
> > > +
> > > ret = skl_plane_check_nv12_rotation(plane_state);
> > > if (ret)
> > > return ret;
> > > @@ -2301,12 +2338,12 @@ static int skl_plane_check(struct intel_crtc_state
> > > *crtc_state,
> > >
> > > plane_state->ctl = skl_plane_ctl(crtc_state, plane_state);
> > >
> > > - if (DISPLAY_VER(dev_priv) >= 10)
> > > + if (DISPLAY_VER(display) >= 10)
> > > plane_state->color_ctl = glk_plane_color_ctl(crtc_state,
> > > plane_state);
> > >
> > > if (intel_format_info_is_yuv_semiplanar(fb->format, fb->modifier) &&
> > > - icl_is_hdr_plane(dev_priv, plane->id))
> > > + icl_is_hdr_plane(i915, plane->id))
> > > /* Enable and use MPEG-2 chroma siting */
> > > plane_state->cus_ctl = PLANE_CUS_ENABLE |
> > > PLANE_CUS_HPHASE_0 |
> > > --
> > > 2.43.0
> >
>
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [PATCH v6 4/7] drm/i915/xe3: update and store the plane damage clips
2025-01-30 21:00 ` [PATCH v6 4/7] drm/i915/xe3: update and store the plane damage clips Vinod Govindapillai
2025-02-05 9:39 ` Kandpal, Suraj
@ 2025-02-05 12:43 ` Ville Syrjälä
2025-02-05 13:29 ` Govindapillai, Vinod
1 sibling, 1 reply; 32+ messages in thread
From: Ville Syrjälä @ 2025-02-05 12:43 UTC (permalink / raw)
To: Vinod Govindapillai
Cc: intel-gfx, intel-xe, ville.syrjala, santhosh.reddy.guddati,
jani.saarinen
On Thu, Jan 30, 2025 at 11:00:23PM +0200, Vinod Govindapillai wrote:
> Userspace can pass damage area clips per plane to track
> changes in a plane and some display components can utilze
> these damage clips for efficiently handling use cases like
> FBC, PSR etc. A merged damage area is generated and its
> coordinates are updated relative to viewport and HW and
> stored in the plane_state. This merged damage areas will be
> used for FBC dirty rect support in xe3 in the follow-up
> patch.
>
> Big thanks to Ville Syrjala for his contribuitions in shaping
> up of this series.
>
> v1: - Move damage_merged helper to cover bigjoiner case and use
> the correct plane state for damage find helper (Ville)
> - Damage handling code under HAS_FBC_DIRTY_RECT() so the
> the related part will be executed only for xe3+
> - Changed dev_priv to i915 in one of the functions
>
> Signed-off-by: Vinod Govindapillai <vinod.govindapillai@intel.com>
> ---
> .../gpu/drm/i915/display/intel_atomic_plane.c | 28 ++++++++++++
> .../drm/i915/display/intel_display_types.h | 2 +
> .../drm/i915/display/skl_universal_plane.c | 45 +++++++++++++++++--
> 3 files changed, 71 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_atomic_plane.c b/drivers/gpu/drm/i915/display/intel_atomic_plane.c
> index c558143f4f82..f55f7044dc67 100644
> --- a/drivers/gpu/drm/i915/display/intel_atomic_plane.c
> +++ b/drivers/gpu/drm/i915/display/intel_atomic_plane.c
> @@ -36,6 +36,7 @@
>
> #include <drm/drm_atomic_helper.h>
> #include <drm/drm_blend.h>
> +#include <drm/drm_damage_helper.h>
> #include <drm/drm_fourcc.h>
> #include <drm/drm_gem.h>
> #include <drm/drm_gem_atomic_helper.h>
> @@ -322,6 +323,25 @@ static void intel_plane_clear_hw_state(struct intel_plane_state *plane_state)
> memset(&plane_state->hw, 0, sizeof(plane_state->hw));
> }
>
> +static void
> +intel_plane_check_plane_damage(struct intel_plane_state *new_plane_state,
> + const struct intel_plane_state *old_primary_plane_state,
> + const struct intel_plane_state *new_primary_plane_state)
"primary_plane_state" is a confusing name because "primary plane"
generally means something totally different than what's used here.
probably we should just call these "uapi_plane_state" or something.
> +{
> + struct intel_display *display = to_intel_display(new_plane_state);
> + struct drm_rect *damage_merged = &new_plane_state->damage_merged;
> +
> + if (!HAS_FBC_DIRTY_RECT(display))
> + return;
> +
> + if (!drm_atomic_helper_damage_merged(&old_primary_plane_state->uapi,
> + &new_primary_plane_state->uapi,
> + damage_merged))
> + /* Incase helper fails, mark whole plane region as damage */
> + *damage_merged =
> + drm_plane_state_src(&new_primary_plane_state->uapi);
> +}
> +
> void intel_plane_copy_uapi_to_hw_state(struct intel_plane_state *plane_state,
> const struct intel_plane_state *from_plane_state,
> struct intel_crtc *crtc)
> @@ -691,6 +711,7 @@ int intel_plane_atomic_check(struct intel_atomic_state *state,
> const struct intel_plane_state *old_plane_state =
> intel_atomic_get_old_plane_state(state, plane);
> const struct intel_plane_state *new_primary_crtc_plane_state;
> + const struct intel_plane_state *old_primary_crtc_plane_state;
> struct intel_crtc *crtc = intel_crtc_for_pipe(display, plane->pipe);
> const struct intel_crtc_state *old_crtc_state =
> intel_atomic_get_old_crtc_state(state, crtc);
> @@ -705,10 +726,17 @@ int intel_plane_atomic_check(struct intel_atomic_state *state,
>
> new_primary_crtc_plane_state =
> intel_atomic_get_new_plane_state(state, primary_crtc_plane);
> + old_primary_crtc_plane_state =
> + intel_atomic_get_old_plane_state(state, primary_crtc_plane);
> } else {
> new_primary_crtc_plane_state = new_plane_state;
> + old_primary_crtc_plane_state = old_plane_state;
> }
>
> + intel_plane_check_plane_damage(new_plane_state,
> + old_primary_crtc_plane_state,
> + new_primary_crtc_plane_state);
> +
> intel_plane_copy_uapi_to_hw_state(new_plane_state,
> new_primary_crtc_plane_state,
> crtc);
> diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h
> index cb51b7936f93..8d53bcca9614 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_types.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_types.h
> @@ -695,6 +695,8 @@ struct intel_plane_state {
> u64 ccval;
>
> const char *no_fbc_reason;
> +
> + struct drm_rect damage_merged;
Since this is only used for the fbc stuff I would just
call it 'fbc_dirty'. Though I suppose if we were to also
use this for the PSR stuff then "damage" might be a decent
name. The _merged part is pointless imo.
> };
>
> struct intel_initial_plane_config {
> diff --git a/drivers/gpu/drm/i915/display/skl_universal_plane.c b/drivers/gpu/drm/i915/display/skl_universal_plane.c
> index 301ad3a22c4c..b90a7d52c071 100644
> --- a/drivers/gpu/drm/i915/display/skl_universal_plane.c
> +++ b/drivers/gpu/drm/i915/display/skl_universal_plane.c
> @@ -2249,11 +2249,42 @@ static void check_protection(struct intel_plane_state *plane_state)
> !plane_state->decrypt;
> }
>
> +static void
> +skl_plane_check_damage_with_viewport(struct intel_plane_state *plane_state)
> +{
> + struct drm_rect *damage_merged = &plane_state->damage_merged;
> + const struct drm_framebuffer *fb = plane_state->hw.fb;
> + unsigned int rotation = plane_state->hw.rotation;
> + struct drm_rect *src = &plane_state->uapi.src;
const
> +
> + if (drm_rotation_90_or_270(rotation)) {
> + drm_rect_rotate(damage_merged, fb->width, fb->height,
fb might be NULL here.
I guess we might as well do something like:
if (!visible) -> make the dirty rect empty
> + DRM_MODE_ROTATE_270);
> + drm_rect_translate(damage_merged, -(src->y1 >> 16),
> + -(src->x1 >> 16));
> + } else {
> + drm_rect_translate(damage_merged, -(src->x1 >> 16),
> + -(src->y1 >> 16));
> + }
> +}
> +
> +static void
> +skl_plane_check_damage_with_plane_surf(struct intel_plane_state *plane_state)
the "with" stuff in the name is a bit confusing. What we are doing
is make the rectangle relative to plane SURF. Same story with the
other function.
> +{
> + struct drm_rect *damage_merged = &plane_state->damage_merged;
> + struct drm_rect src;
> +
> + drm_rect_fp_to_int(&src, &plane_state->uapi.src);
> + drm_rect_translate(damage_merged, src.x1, src.y1);
> + drm_rect_intersect(damage_merged, &src);
Missing the "make it at last one scanline" here. Though if we do
decide to use this also for PSR then I guess we'd need to handle
that elsewhere. For now it could just be here.
> +}
> +
> static int skl_plane_check(struct intel_crtc_state *crtc_state,
> struct intel_plane_state *plane_state)
> {
> + struct intel_display *display = to_intel_display(crtc_state);
> struct intel_plane *plane = to_intel_plane(plane_state->uapi.plane);
> - struct drm_i915_private *dev_priv = to_i915(plane->base.dev);
> + struct drm_i915_private *i915 = to_i915(plane->base.dev);
> const struct drm_framebuffer *fb = plane_state->hw.fb;
> int min_scale = DRM_PLANE_NO_SCALING;
> int max_scale = DRM_PLANE_NO_SCALING;
> @@ -2266,7 +2297,7 @@ static int skl_plane_check(struct intel_crtc_state *crtc_state,
> /* use scaler when colorkey is not required */
> if (!plane_state->ckey.flags && skl_fb_scalable(fb)) {
> min_scale = 1;
> - max_scale = skl_plane_max_scale(dev_priv, fb);
> + max_scale = skl_plane_max_scale(i915, fb);
> }
>
> ret = intel_atomic_plane_check_clipping(plane_state, crtc_state,
> @@ -2274,6 +2305,9 @@ static int skl_plane_check(struct intel_crtc_state *crtc_state,
> if (ret)
> return ret;
>
> + if (HAS_FBC_DIRTY_RECT(display))
> + skl_plane_check_damage_with_viewport(plane_state);
> +
> ret = skl_check_plane_surface(plane_state);
> if (ret)
> return ret;
> @@ -2289,6 +2323,9 @@ static int skl_plane_check(struct intel_crtc_state *crtc_state,
> if (ret)
> return ret;
>
> + if (HAS_FBC_DIRTY_RECT(display))
> + skl_plane_check_damage_with_plane_surf(plane_state);
> +
> ret = skl_plane_check_nv12_rotation(plane_state);
> if (ret)
> return ret;
> @@ -2301,12 +2338,12 @@ static int skl_plane_check(struct intel_crtc_state *crtc_state,
>
> plane_state->ctl = skl_plane_ctl(crtc_state, plane_state);
>
> - if (DISPLAY_VER(dev_priv) >= 10)
> + if (DISPLAY_VER(display) >= 10)
> plane_state->color_ctl = glk_plane_color_ctl(crtc_state,
> plane_state);
>
> if (intel_format_info_is_yuv_semiplanar(fb->format, fb->modifier) &&
> - icl_is_hdr_plane(dev_priv, plane->id))
> + icl_is_hdr_plane(i915, plane->id))
> /* Enable and use MPEG-2 chroma siting */
> plane_state->cus_ctl = PLANE_CUS_ENABLE |
> PLANE_CUS_HPHASE_0 |
> --
> 2.43.0
--
Ville Syrjälä
Intel
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [PATCH v6 4/7] drm/i915/xe3: update and store the plane damage clips
2025-02-05 12:43 ` Ville Syrjälä
@ 2025-02-05 13:29 ` Govindapillai, Vinod
2025-02-05 14:05 ` Ville Syrjälä
0 siblings, 1 reply; 32+ messages in thread
From: Govindapillai, Vinod @ 2025-02-05 13:29 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
Thanks Ville for the review..
Some responses and clarifications inline..
On Wed, 2025-02-05 at 14:43 +0200, Ville Syrjälä wrote:
> On Thu, Jan 30, 2025 at 11:00:23PM +0200, Vinod Govindapillai wrote:
> > Userspace can pass damage area clips per plane to track
> > changes in a plane and some display components can utilze
> > these damage clips for efficiently handling use cases like
> > FBC, PSR etc. A merged damage area is generated and its
> > coordinates are updated relative to viewport and HW and
> > stored in the plane_state. This merged damage areas will be
> > used for FBC dirty rect support in xe3 in the follow-up
> > patch.
> >
> > Big thanks to Ville Syrjala for his contribuitions in shaping
> > up of this series.
> >
> > v1: - Move damage_merged helper to cover bigjoiner case and use
> > the correct plane state for damage find helper (Ville)
> > - Damage handling code under HAS_FBC_DIRTY_RECT() so the
> > the related part will be executed only for xe3+
> > - Changed dev_priv to i915 in one of the functions
> >
> > Signed-off-by: Vinod Govindapillai <vinod.govindapillai@intel.com>
> > ---
> > .../gpu/drm/i915/display/intel_atomic_plane.c | 28 ++++++++++++
> > .../drm/i915/display/intel_display_types.h | 2 +
> > .../drm/i915/display/skl_universal_plane.c | 45 +++++++++++++++++--
> > 3 files changed, 71 insertions(+), 4 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/display/intel_atomic_plane.c
> > b/drivers/gpu/drm/i915/display/intel_atomic_plane.c
> > index c558143f4f82..f55f7044dc67 100644
> > --- a/drivers/gpu/drm/i915/display/intel_atomic_plane.c
> > +++ b/drivers/gpu/drm/i915/display/intel_atomic_plane.c
> > @@ -36,6 +36,7 @@
> >
> > #include <drm/drm_atomic_helper.h>
> > #include <drm/drm_blend.h>
> > +#include <drm/drm_damage_helper.h>
> > #include <drm/drm_fourcc.h>
> > #include <drm/drm_gem.h>
> > #include <drm/drm_gem_atomic_helper.h>
> > @@ -322,6 +323,25 @@ static void intel_plane_clear_hw_state(struct intel_plane_state
> > *plane_state)
> > memset(&plane_state->hw, 0, sizeof(plane_state->hw));
> > }
> >
> > +static void
> > +intel_plane_check_plane_damage(struct intel_plane_state *new_plane_state,
> > + const struct intel_plane_state *old_primary_plane_state,
> > + const struct intel_plane_state *new_primary_plane_state)
>
> "primary_plane_state" is a confusing name because "primary plane"
> generally means something totally different than what's used here.
> probably we should just call these "uapi_plane_state" or something.
Okay! At this function call it is still intel_plane_state, could it be old_primary_crtc_plane_sate
and new_primary_crtc_plane_state? Or do you meant to change these parameters to old_uapi_plane_state
and new_uapi_plane_state?
>
> > +{
> > + struct intel_display *display = to_intel_display(new_plane_state);
> > + struct drm_rect *damage_merged = &new_plane_state->damage_merged;
> > +
> > + if (!HAS_FBC_DIRTY_RECT(display))
> > + return;
> > +
> > + if (!drm_atomic_helper_damage_merged(&old_primary_plane_state->uapi,
> > + &new_primary_plane_state->uapi,
> > + damage_merged))
> > + /* Incase helper fails, mark whole plane region as damage */
> > + *damage_merged =
> > + drm_plane_state_src(&new_primary_plane_state->uapi);
> > +}
> > +
> > void intel_plane_copy_uapi_to_hw_state(struct intel_plane_state *plane_state,
> > const struct intel_plane_state *from_plane_state,
> > struct intel_crtc *crtc)
> > @@ -691,6 +711,7 @@ int intel_plane_atomic_check(struct intel_atomic_state *state,
> > const struct intel_plane_state *old_plane_state =
> > intel_atomic_get_old_plane_state(state, plane);
> > const struct intel_plane_state *new_primary_crtc_plane_state;
> > + const struct intel_plane_state *old_primary_crtc_plane_state;
> > struct intel_crtc *crtc = intel_crtc_for_pipe(display, plane->pipe);
> > const struct intel_crtc_state *old_crtc_state =
> > intel_atomic_get_old_crtc_state(state, crtc);
> > @@ -705,10 +726,17 @@ int intel_plane_atomic_check(struct intel_atomic_state *state,
> >
> > new_primary_crtc_plane_state =
> > intel_atomic_get_new_plane_state(state, primary_crtc_plane);
> > + old_primary_crtc_plane_state =
> > + intel_atomic_get_old_plane_state(state, primary_crtc_plane);
> > } else {
> > new_primary_crtc_plane_state = new_plane_state;
> > + old_primary_crtc_plane_state = old_plane_state;
> > }
> >
> > + intel_plane_check_plane_damage(new_plane_state,
> > + old_primary_crtc_plane_state,
> > + new_primary_crtc_plane_state);
> > +
> > intel_plane_copy_uapi_to_hw_state(new_plane_state,
> > new_primary_crtc_plane_state,
> > crtc);
> > diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h
> > b/drivers/gpu/drm/i915/display/intel_display_types.h
> > index cb51b7936f93..8d53bcca9614 100644
> > --- a/drivers/gpu/drm/i915/display/intel_display_types.h
> > +++ b/drivers/gpu/drm/i915/display/intel_display_types.h
> > @@ -695,6 +695,8 @@ struct intel_plane_state {
> > u64 ccval;
> >
> > const char *no_fbc_reason;
> > +
> > + struct drm_rect damage_merged;
>
> Since this is only used for the fbc stuff I would just
> call it 'fbc_dirty'. Though I suppose if we were to also
> use this for the PSR stuff then "damage" might be a decent
> name. The _merged part is pointless imo.
Yes. I was thinking if PSR can also use it at some point. But I can change it to fbc_dirty
>
> > };
> >
> > struct intel_initial_plane_config {
> > diff --git a/drivers/gpu/drm/i915/display/skl_universal_plane.c
> > b/drivers/gpu/drm/i915/display/skl_universal_plane.c
> > index 301ad3a22c4c..b90a7d52c071 100644
> > --- a/drivers/gpu/drm/i915/display/skl_universal_plane.c
> > +++ b/drivers/gpu/drm/i915/display/skl_universal_plane.c
> > @@ -2249,11 +2249,42 @@ static void check_protection(struct intel_plane_state *plane_state)
> > !plane_state->decrypt;
> > }
> >
> > +static void
> > +skl_plane_check_damage_with_viewport(struct intel_plane_state *plane_state)
> > +{
> > + struct drm_rect *damage_merged = &plane_state->damage_merged;
> > + const struct drm_framebuffer *fb = plane_state->hw.fb;
> > + unsigned int rotation = plane_state->hw.rotation;
> > + struct drm_rect *src = &plane_state->uapi.src;
>
> const
Ack.
>
> > +
> > + if (drm_rotation_90_or_270(rotation)) {
> > + drm_rect_rotate(damage_merged, fb->width, fb->height,
>
> fb might be NULL here.
>
> I guess we might as well do something like:
> if (!visible) -> make the dirty rect empty
Actually, the drm_atomic_helper_damage_merged() returns false in case the plane not visible. Then
intel_plane_check_plane_damage() makes the damage area as a full plane region!
So will check if (plane_state->uapi.visible) before calling the functions to make rect relative to
viewport and plane SURF.
So the fbc_dirty will point to whole plane in such cases. And in the FBC dirty rect handling part
plane->visible condition is checked.
What do you think about this?
>
> > + DRM_MODE_ROTATE_270);
> > + drm_rect_translate(damage_merged, -(src->y1 >> 16),
> > + -(src->x1 >> 16));
> > + } else {
> > + drm_rect_translate(damage_merged, -(src->x1 >> 16),
> > + -(src->y1 >> 16));
> > + }
> > +}
> > +
> > +static void
> > +skl_plane_check_damage_with_plane_surf(struct intel_plane_state *plane_state)
>
> the "with" stuff in the name is a bit confusing. What we are doing
> is make the rectangle relative to plane SURF. Same story with the
> other function.
Sure. How about
skl_plane_check_fbc_dirty_relativeto_viewport()
skl_plane_check_fbc_dirty_relativeto_plane_surf()
>
> > +{
> > + struct drm_rect *damage_merged = &plane_state->damage_merged;
> > + struct drm_rect src;
> > +
> > + drm_rect_fp_to_int(&src, &plane_state->uapi.src);
> > + drm_rect_translate(damage_merged, src.x1, src.y1);
> > + drm_rect_intersect(damage_merged, &src);
>
> Missing the "make it at last one scanline" here. Though if we do
> decide to use this also for PSR then I guess we'd need to handle
> that elsewhere. For now it could just be here.
I am doing that as part of the FBC dirty prepare.
Isnt it really a FBC dirty rect validation restriction than here?
BR
Vinod
>
> > +}
> > +
> > static int skl_plane_check(struct intel_crtc_state *crtc_state,
> > struct intel_plane_state *plane_state)
> > {
> > + struct intel_display *display = to_intel_display(crtc_state);
> > struct intel_plane *plane = to_intel_plane(plane_state->uapi.plane);
> > - struct drm_i915_private *dev_priv = to_i915(plane->base.dev);
> > + struct drm_i915_private *i915 = to_i915(plane->base.dev);
> > const struct drm_framebuffer *fb = plane_state->hw.fb;
> > int min_scale = DRM_PLANE_NO_SCALING;
> > int max_scale = DRM_PLANE_NO_SCALING;
> > @@ -2266,7 +2297,7 @@ static int skl_plane_check(struct intel_crtc_state *crtc_state,
> > /* use scaler when colorkey is not required */
> > if (!plane_state->ckey.flags && skl_fb_scalable(fb)) {
> > min_scale = 1;
> > - max_scale = skl_plane_max_scale(dev_priv, fb);
> > + max_scale = skl_plane_max_scale(i915, fb);
> > }
> >
> > ret = intel_atomic_plane_check_clipping(plane_state, crtc_state,
> > @@ -2274,6 +2305,9 @@ static int skl_plane_check(struct intel_crtc_state *crtc_state,
> > if (ret)
> > return ret;
> >
> > + if (HAS_FBC_DIRTY_RECT(display))
> > + skl_plane_check_damage_with_viewport(plane_state);
> > +
> > ret = skl_check_plane_surface(plane_state);
> > if (ret)
> > return ret;
> > @@ -2289,6 +2323,9 @@ static int skl_plane_check(struct intel_crtc_state *crtc_state,
> > if (ret)
> > return ret;
> >
> > + if (HAS_FBC_DIRTY_RECT(display))
> > + skl_plane_check_damage_with_plane_surf(plane_state);
> > +
> > ret = skl_plane_check_nv12_rotation(plane_state);
> > if (ret)
> > return ret;
> > @@ -2301,12 +2338,12 @@ static int skl_plane_check(struct intel_crtc_state *crtc_state,
> >
> > plane_state->ctl = skl_plane_ctl(crtc_state, plane_state);
> >
> > - if (DISPLAY_VER(dev_priv) >= 10)
> > + if (DISPLAY_VER(display) >= 10)
> > plane_state->color_ctl = glk_plane_color_ctl(crtc_state,
> > plane_state);
> >
> > if (intel_format_info_is_yuv_semiplanar(fb->format, fb->modifier) &&
> > - icl_is_hdr_plane(dev_priv, plane->id))
> > + icl_is_hdr_plane(i915, plane->id))
> > /* Enable and use MPEG-2 chroma siting */
> > plane_state->cus_ctl = PLANE_CUS_ENABLE |
> > PLANE_CUS_HPHASE_0 |
> > --
> > 2.43.0
>
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [PATCH v6 5/7] drm/i915/xe3: dirty rect support for FBC
2025-01-30 21:00 ` [PATCH v6 5/7] drm/i915/xe3: dirty rect support for FBC Vinod Govindapillai
@ 2025-02-05 13:31 ` Ville Syrjälä
2025-02-05 14:49 ` Govindapillai, Vinod
0 siblings, 1 reply; 32+ messages in thread
From: Ville Syrjälä @ 2025-02-05 13:31 UTC (permalink / raw)
To: Vinod Govindapillai
Cc: intel-gfx, intel-xe, ville.syrjala, santhosh.reddy.guddati,
jani.saarinen
On Thu, Jan 30, 2025 at 11:00:24PM +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.
>
> Use the merged damage clip stored in the plane state to
> configure the FBC dirty rect areas.
>
> v2: - Move dirty rect handling to fbc state (Ville)
>
> v3: - Use intel_fbc_dirty_rect_update_noarm (Ville)
> - Split plane damage collection and dirty rect preparation
> - Handle case where dirty rect fall outside the visible region
>
> v4: - A state variable to check if we need to update dirty rect
> registers in case intel_fbc_can_flip_nuke() (Ville)
>
> Bspec: 68881, 71675, 73424
> Signed-off-by: Vinod Govindapillai <vinod.govindapillai@intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_display.c | 7 +
> drivers/gpu/drm/i915/display/intel_fbc.c | 132 +++++++++++++++++++
> drivers/gpu/drm/i915/display/intel_fbc.h | 6 +
> 3 files changed, 145 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
> index 7d68d652c1bc..33277f892279 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_dirty_rect_update_noarm(NULL, state, crtc);
> +
That is not the right place for _noarm() stuff.
Hmm, maybe we should just do this as part of intel_plane_update_noarm()?
How does the dirty rect interact with async flips?
> intel_crtc_planes_update_arm(NULL, state, crtc);
>
> commit_pipe_post_planes(state, crtc);
> @@ -7723,6 +7725,8 @@ static void intel_atomic_dsb_finish(struct intel_atomic_state *state,
> new_crtc_state);
> intel_crtc_planes_update_noarm(new_crtc_state->dsb_commit,
> state, crtc);
> + intel_fbc_dirty_rect_update_noarm(new_crtc_state->dsb_commit,
> + state, crtc);
>
> intel_dsb_vblank_evade(state, new_crtc_state->dsb_commit);
>
> @@ -7769,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_prepare_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 df05904bac8a..24736c7a79a6 100644
> --- a/drivers/gpu/drm/i915/display/intel_fbc.c
> +++ b/drivers/gpu/drm/i915/display/intel_fbc.c
> @@ -88,6 +88,10 @@ struct intel_fbc_state {
> u16 override_cfb_stride;
> u16 interval;
> s8 fence_id;
> + struct {
> + struct drm_rect rect;
> + bool valid;
> + } fbc_dirty_rect;
> };
>
> struct intel_fbc {
> @@ -527,6 +531,9 @@ static void ilk_fbc_deactivate(struct intel_fbc *fbc)
> struct intel_display *display = fbc->display;
> u32 dpfc_ctl;
>
> + if (HAS_FBC_DIRTY_RECT(display))
> + 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 +677,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 (HAS_FBC_DIRTY_RECT(display))
> + 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 +1214,127 @@ 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);
You should put the code into a place that doesn't need this extra
declaration.
> +
> +static void
> +intel_fbc_dirty_rect_update(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;
> + struct drm_rect *fbc_dirty_rect = &fbc_state->fbc_dirty_rect.rect;
> +
> + if (fbc_state->plane != plane)
> + return;
> +
> + if (!fbc_state->fbc_dirty_rect.valid)
> + return;
I think that extra flag can be thrown out and you can just
check if the rect is visible here.
> +
> + intel_de_write_dsb(display, dsb, XE3_FBC_DIRTY_RECT(fbc->id),
> + FBC_DIRTY_RECT_START_LINE(fbc_dirty_rect->y1) |
> + FBC_DIRTY_RECT_END_LINE(fbc_dirty_rect->y2));
> +
> + fbc_state->fbc_dirty_rect.valid = false;
Why?
> +}
> +
> +void
> +intel_fbc_dirty_rect_update_noarm(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 *plane_state;
const, although it seems to me we can just rely on the rect being valid
or not and then the plane visiblility is also already covered.
> + struct intel_plane *plane;
> + int i;
> +
> + if (!HAS_FBC_DIRTY_RECT(display))
> + 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;
> +
> + if (!plane_state->uapi.visible)
> + continue;
That check would also disappear.
This does need to check if the plane is the one using FBC
currently. Oh, I see you put that check inside
intel_fbc_dirty_rect_update(). I think the check belongs
here because that is how we do it everwhere else.
I was pondering if we need to keep this lockless or not.
I guess we don't since we are doing it from the noarm()
section (assuming we're not planing to implement mailbox
flips tomorrow). So for now I think we can just do the proper
locking here too. If we do need to make this lockless in
then we need to explain what makes it safe/correct.
> +
> + intel_fbc_dirty_rect_update(dsb, plane);
> + }
> +}
> +
> +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 - 1;
> +
> + dirty_rect->y1 = clamp(dirty_rect->y1, y_offset, max_endline);
> + dirty_rect->y2 = clamp(dirty_rect->y2, dirty_rect->y1, max_endline);
> +}
This is not needed.
> +
> +static void
> +__intel_fbc_prepare_dirty_rect(struct intel_plane *plane,
> + struct intel_plane_state *plane_state,
> + bool fbc_dirty_rect_valid)
> +{
> + struct intel_fbc_state *fbc_state = &plane->fbc->state;
> + struct drm_rect *fbc_dirty_rect = &fbc_state->fbc_dirty_rect.rect;
> + struct drm_rect *damage_merged = &plane_state->damage_merged;
> + int y_offset = plane_state->view.color_plane[0].y;
> +
> + fbc_state->fbc_dirty_rect.valid = fbc_dirty_rect_valid;
> +
> + if (drm_rect_visible(damage_merged)) {
> + fbc_dirty_rect->y1 = damage_merged->y1;
> + fbc_dirty_rect->y2 = damage_merged->y2;
> + } else {
> + /* If not visible, we need to set one single line */
> + fbc_dirty_rect->y1 = y_offset;
> + fbc_dirty_rect->y2 = y_offset;
> + }
> + fbc_dirty_rect->x1 = damage_merged->x1;
> + fbc_dirty_rect->x2 = damage_merged->x2;
> +
> + validate_and_clip_dirty_rect(plane_state, fbc_dirty_rect);
> +}
> +
> +void
> +intel_fbc_prepare_dirty_rect(struct intel_atomic_state *state,
> + struct intel_crtc *crtc)
> +{
> + struct intel_display *display = to_intel_display(state);
> + struct intel_plane_state *plane_state;
> + struct intel_plane *plane;
> + int i;
> +
> + if (!HAS_FBC_DIRTY_RECT(display))
> + 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;
> +
> + if (!fbc->state.plane)
> + continue;
fbc->state.plane != plane
Also needs locking.
> +
> + /* If plane not visible, dirty rect might have invalid coordinates */
> + if (!plane_state->uapi.visible)
> + continue;
Seems like a redundant check.
> +
> + __intel_fbc_prepare_dirty_rect(plane, plane_state,
> + intel_fbc_can_flip_nuke(state,
> + crtc,
> + plane));
> + }
> +}
> +
> static void intel_fbc_update_state(struct intel_atomic_state *state,
> struct intel_crtc *crtc,
> struct intel_plane *plane)
> diff --git a/drivers/gpu/drm/i915/display/intel_fbc.h b/drivers/gpu/drm/i915/display/intel_fbc.h
> index ceae55458e14..8f1b11c6f4d2 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,10 @@ 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_prepare_dirty_rect(struct intel_atomic_state *state,
> + struct intel_crtc *crtc);
> +void intel_fbc_dirty_rect_update_noarm(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] 32+ messages in thread
* Re: [PATCH v6 4/7] drm/i915/xe3: update and store the plane damage clips
2025-02-05 13:29 ` Govindapillai, Vinod
@ 2025-02-05 14:05 ` Ville Syrjälä
0 siblings, 0 replies; 32+ messages in thread
From: Ville Syrjälä @ 2025-02-05 14:05 UTC (permalink / raw)
To: Govindapillai, Vinod
Cc: intel-xe@lists.freedesktop.org, Saarinen, Jani,
Reddy Guddati, Santhosh, intel-gfx@lists.freedesktop.org,
Syrjala, Ville
On Wed, Feb 05, 2025 at 01:29:30PM +0000, Govindapillai, Vinod wrote:
> Thanks Ville for the review..
>
> Some responses and clarifications inline..
>
> On Wed, 2025-02-05 at 14:43 +0200, Ville Syrjälä wrote:
> > On Thu, Jan 30, 2025 at 11:00:23PM +0200, Vinod Govindapillai wrote:
> > > Userspace can pass damage area clips per plane to track
> > > changes in a plane and some display components can utilze
> > > these damage clips for efficiently handling use cases like
> > > FBC, PSR etc. A merged damage area is generated and its
> > > coordinates are updated relative to viewport and HW and
> > > stored in the plane_state. This merged damage areas will be
> > > used for FBC dirty rect support in xe3 in the follow-up
> > > patch.
> > >
> > > Big thanks to Ville Syrjala for his contribuitions in shaping
> > > up of this series.
> > >
> > > v1: - Move damage_merged helper to cover bigjoiner case and use
> > > the correct plane state for damage find helper (Ville)
> > > - Damage handling code under HAS_FBC_DIRTY_RECT() so the
> > > the related part will be executed only for xe3+
> > > - Changed dev_priv to i915 in one of the functions
> > >
> > > Signed-off-by: Vinod Govindapillai <vinod.govindapillai@intel.com>
> > > ---
> > > .../gpu/drm/i915/display/intel_atomic_plane.c | 28 ++++++++++++
> > > .../drm/i915/display/intel_display_types.h | 2 +
> > > .../drm/i915/display/skl_universal_plane.c | 45 +++++++++++++++++--
> > > 3 files changed, 71 insertions(+), 4 deletions(-)
> > >
> > > diff --git a/drivers/gpu/drm/i915/display/intel_atomic_plane.c
> > > b/drivers/gpu/drm/i915/display/intel_atomic_plane.c
> > > index c558143f4f82..f55f7044dc67 100644
> > > --- a/drivers/gpu/drm/i915/display/intel_atomic_plane.c
> > > +++ b/drivers/gpu/drm/i915/display/intel_atomic_plane.c
> > > @@ -36,6 +36,7 @@
> > >
> > > #include <drm/drm_atomic_helper.h>
> > > #include <drm/drm_blend.h>
> > > +#include <drm/drm_damage_helper.h>
> > > #include <drm/drm_fourcc.h>
> > > #include <drm/drm_gem.h>
> > > #include <drm/drm_gem_atomic_helper.h>
> > > @@ -322,6 +323,25 @@ static void intel_plane_clear_hw_state(struct intel_plane_state
> > > *plane_state)
> > > memset(&plane_state->hw, 0, sizeof(plane_state->hw));
> > > }
> > >
> > > +static void
> > > +intel_plane_check_plane_damage(struct intel_plane_state *new_plane_state,
> > > + const struct intel_plane_state *old_primary_plane_state,
> > > + const struct intel_plane_state *new_primary_plane_state)
> >
> > "primary_plane_state" is a confusing name because "primary plane"
> > generally means something totally different than what's used here.
> > probably we should just call these "uapi_plane_state" or something.
>
> Okay! At this function call it is still intel_plane_state, could it be old_primary_crtc_plane_sate
> and new_primary_crtc_plane_state? Or do you meant to change these parameters to old_uapi_plane_state
> and new_uapi_plane_state?
We should probably change all of them. But that should be a separate
patch.
>
> >
> > > +{
> > > + struct intel_display *display = to_intel_display(new_plane_state);
> > > + struct drm_rect *damage_merged = &new_plane_state->damage_merged;
> > > +
> > > + if (!HAS_FBC_DIRTY_RECT(display))
> > > + return;
> > > +
> > > + if (!drm_atomic_helper_damage_merged(&old_primary_plane_state->uapi,
> > > + &new_primary_plane_state->uapi,
> > > + damage_merged))
> > > + /* Incase helper fails, mark whole plane region as damage */
> > > + *damage_merged =
> > > + drm_plane_state_src(&new_primary_plane_state->uapi);
> > > +}
> > > +
> > > void intel_plane_copy_uapi_to_hw_state(struct intel_plane_state *plane_state,
> > > const struct intel_plane_state *from_plane_state,
> > > struct intel_crtc *crtc)
> > > @@ -691,6 +711,7 @@ int intel_plane_atomic_check(struct intel_atomic_state *state,
> > > const struct intel_plane_state *old_plane_state =
> > > intel_atomic_get_old_plane_state(state, plane);
> > > const struct intel_plane_state *new_primary_crtc_plane_state;
> > > + const struct intel_plane_state *old_primary_crtc_plane_state;
> > > struct intel_crtc *crtc = intel_crtc_for_pipe(display, plane->pipe);
> > > const struct intel_crtc_state *old_crtc_state =
> > > intel_atomic_get_old_crtc_state(state, crtc);
> > > @@ -705,10 +726,17 @@ int intel_plane_atomic_check(struct intel_atomic_state *state,
> > >
> > > new_primary_crtc_plane_state =
> > > intel_atomic_get_new_plane_state(state, primary_crtc_plane);
> > > + old_primary_crtc_plane_state =
> > > + intel_atomic_get_old_plane_state(state, primary_crtc_plane);
> > > } else {
> > > new_primary_crtc_plane_state = new_plane_state;
> > > + old_primary_crtc_plane_state = old_plane_state;
> > > }
> > >
> > > + intel_plane_check_plane_damage(new_plane_state,
> > > + old_primary_crtc_plane_state,
> > > + new_primary_crtc_plane_state);
> > > +
> > > intel_plane_copy_uapi_to_hw_state(new_plane_state,
> > > new_primary_crtc_plane_state,
> > > crtc);
> > > diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h
> > > b/drivers/gpu/drm/i915/display/intel_display_types.h
> > > index cb51b7936f93..8d53bcca9614 100644
> > > --- a/drivers/gpu/drm/i915/display/intel_display_types.h
> > > +++ b/drivers/gpu/drm/i915/display/intel_display_types.h
> > > @@ -695,6 +695,8 @@ struct intel_plane_state {
> > > u64 ccval;
> > >
> > > const char *no_fbc_reason;
> > > +
> > > + struct drm_rect damage_merged;
> >
> > Since this is only used for the fbc stuff I would just
> > call it 'fbc_dirty'. Though I suppose if we were to also
> > use this for the PSR stuff then "damage" might be a decent
> > name. The _merged part is pointless imo.
>
> Yes. I was thinking if PSR can also use it at some point. But I can change it to fbc_dirty
Hmm. Maybe leave it as "damage". And since it's ephemeral it should
be cleared out in intel_plane_duplicate_state(). And then the "we need
at least one scanline for FBC" thing does need to be handle somewhere
later.
>
> >
> > > };
> > >
> > > struct intel_initial_plane_config {
> > > diff --git a/drivers/gpu/drm/i915/display/skl_universal_plane.c
> > > b/drivers/gpu/drm/i915/display/skl_universal_plane.c
> > > index 301ad3a22c4c..b90a7d52c071 100644
> > > --- a/drivers/gpu/drm/i915/display/skl_universal_plane.c
> > > +++ b/drivers/gpu/drm/i915/display/skl_universal_plane.c
> > > @@ -2249,11 +2249,42 @@ static void check_protection(struct intel_plane_state *plane_state)
> > > !plane_state->decrypt;
> > > }
> > >
> > > +static void
> > > +skl_plane_check_damage_with_viewport(struct intel_plane_state *plane_state)
> > > +{
> > > + struct drm_rect *damage_merged = &plane_state->damage_merged;
> > > + const struct drm_framebuffer *fb = plane_state->hw.fb;
> > > + unsigned int rotation = plane_state->hw.rotation;
> > > + struct drm_rect *src = &plane_state->uapi.src;
> >
> > const
>
> Ack.
>
> >
> > > +
> > > + if (drm_rotation_90_or_270(rotation)) {
> > > + drm_rect_rotate(damage_merged, fb->width, fb->height,
> >
> > fb might be NULL here.
> >
> > I guess we might as well do something like:
> > if (!visible) -> make the dirty rect empty
>
> Actually, the drm_atomic_helper_damage_merged() returns false in case the plane not visible. Then
> intel_plane_check_plane_damage() makes the damage area as a full plane region!
>
> So will check if (plane_state->uapi.visible) before calling the functions to make rect relative to
> viewport and plane SURF.
>
> So the fbc_dirty will point to whole plane in such cases. And in the FBC dirty rect handling part
> plane->visible condition is checked.
>
> What do you think about this?
If the plane is invisible there should be no damage.
>
> >
> > > + DRM_MODE_ROTATE_270);
> > > + drm_rect_translate(damage_merged, -(src->y1 >> 16),
> > > + -(src->x1 >> 16));
> > > + } else {
> > > + drm_rect_translate(damage_merged, -(src->x1 >> 16),
> > > + -(src->y1 >> 16));
> > > + }
> > > +}
> > > +
> > > +static void
> > > +skl_plane_check_damage_with_plane_surf(struct intel_plane_state *plane_state)
> >
> > the "with" stuff in the name is a bit confusing. What we are doing
> > is make the rectangle relative to plane SURF. Same story with the
> > other function.
>
> Sure. How about
> skl_plane_check_fbc_dirty_relativeto_viewport()
> skl_plane_check_fbc_dirty_relativeto_plane_surf()
Still rather confusing to me. If we do leave it as just "damage" maybe
we should in fact keep it viewport relative always, then the latter
function could be called just clip_damage()/etc. The first one I
guess should be called something like make_damage_viewport_relative().
I suppose what we should really do is have
intel_atomic_plane_check_clipping() do all of it already. But that
does mean we might have to move the src coordinate tweaking
from intel_plane_check_src_coordinates() into there already.
But I haven't really though through the full implications what it
means for sub-pixel coordinates and such (not that we handle those
properly anyway atm).
>
> >
> > > +{
> > > + struct drm_rect *damage_merged = &plane_state->damage_merged;
> > > + struct drm_rect src;
> > > +
> > > + drm_rect_fp_to_int(&src, &plane_state->uapi.src);
> > > + drm_rect_translate(damage_merged, src.x1, src.y1);
> > > + drm_rect_intersect(damage_merged, &src);
> >
> > Missing the "make it at last one scanline" here. Though if we do
> > decide to use this also for PSR then I guess we'd need to handle
> > that elsewhere. For now it could just be here.
>
> I am doing that as part of the FBC dirty prepare.
> Isnt it really a FBC dirty rect validation restriction than here?
>
> BR
> Vinod
>
> >
> > > +}
> > > +
> > > static int skl_plane_check(struct intel_crtc_state *crtc_state,
> > > struct intel_plane_state *plane_state)
> > > {
> > > + struct intel_display *display = to_intel_display(crtc_state);
> > > struct intel_plane *plane = to_intel_plane(plane_state->uapi.plane);
> > > - struct drm_i915_private *dev_priv = to_i915(plane->base.dev);
> > > + struct drm_i915_private *i915 = to_i915(plane->base.dev);
> > > const struct drm_framebuffer *fb = plane_state->hw.fb;
> > > int min_scale = DRM_PLANE_NO_SCALING;
> > > int max_scale = DRM_PLANE_NO_SCALING;
> > > @@ -2266,7 +2297,7 @@ static int skl_plane_check(struct intel_crtc_state *crtc_state,
> > > /* use scaler when colorkey is not required */
> > > if (!plane_state->ckey.flags && skl_fb_scalable(fb)) {
> > > min_scale = 1;
> > > - max_scale = skl_plane_max_scale(dev_priv, fb);
> > > + max_scale = skl_plane_max_scale(i915, fb);
> > > }
> > >
> > > ret = intel_atomic_plane_check_clipping(plane_state, crtc_state,
> > > @@ -2274,6 +2305,9 @@ static int skl_plane_check(struct intel_crtc_state *crtc_state,
> > > if (ret)
> > > return ret;
> > >
> > > + if (HAS_FBC_DIRTY_RECT(display))
> > > + skl_plane_check_damage_with_viewport(plane_state);
> > > +
> > > ret = skl_check_plane_surface(plane_state);
> > > if (ret)
> > > return ret;
> > > @@ -2289,6 +2323,9 @@ static int skl_plane_check(struct intel_crtc_state *crtc_state,
> > > if (ret)
> > > return ret;
> > >
> > > + if (HAS_FBC_DIRTY_RECT(display))
> > > + skl_plane_check_damage_with_plane_surf(plane_state);
> > > +
> > > ret = skl_plane_check_nv12_rotation(plane_state);
> > > if (ret)
> > > return ret;
> > > @@ -2301,12 +2338,12 @@ static int skl_plane_check(struct intel_crtc_state *crtc_state,
> > >
> > > plane_state->ctl = skl_plane_ctl(crtc_state, plane_state);
> > >
> > > - if (DISPLAY_VER(dev_priv) >= 10)
> > > + if (DISPLAY_VER(display) >= 10)
> > > plane_state->color_ctl = glk_plane_color_ctl(crtc_state,
> > > plane_state);
> > >
> > > if (intel_format_info_is_yuv_semiplanar(fb->format, fb->modifier) &&
> > > - icl_is_hdr_plane(dev_priv, plane->id))
> > > + icl_is_hdr_plane(i915, plane->id))
> > > /* Enable and use MPEG-2 chroma siting */
> > > plane_state->cus_ctl = PLANE_CUS_ENABLE |
> > > PLANE_CUS_HPHASE_0 |
> > > --
> > > 2.43.0
> >
>
--
Ville Syrjälä
Intel
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [PATCH v6 5/7] drm/i915/xe3: dirty rect support for FBC
2025-02-05 13:31 ` Ville Syrjälä
@ 2025-02-05 14:49 ` Govindapillai, Vinod
2025-02-05 15:45 ` Ville Syrjälä
0 siblings, 1 reply; 32+ messages in thread
From: Govindapillai, Vinod @ 2025-02-05 14:49 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
So based on your comments on the previous patch and this one, let me conclude the changes to be done
here!
1. As part of the previous patch, we collect the fbc_dirty rect from the damage_helper call. Make
damage empty if the plane not visible.
2. Update the FBC dirty rect registes. This do two things
2.1 Prepare the collected FBC dirty and copy it to the correct fbc_state -
intel_fbc_prepare_dirty_rect()
2.2 Write to the registers - intel_fbc_dirty_rect_update_noarm()
2.1 AT the beginning of the atomic_commit_tail() within the DSB block handling, calls
intel_fbc_prepare_dirty_rect() to populate fbc_state's fbc_dirty_rect structs
In the intel_fbc_prepare_dirty_rect(),
iterate through each plane in the atomic_state
check the correct plane, pipe etc. Then,
if (drm_rect_visible(damage_merged)
update fbc_state's fbc dirty rect
else
Make at it atleast one scan line and update the fbc_state's fbc_dirty rect
2.2 Then call intel_fbc_dirty_rect_update_noarm() form intel_plane_update_noarm()
And within in intel_fbc_dirty_rect_update_noarm() just update the FBC dirty registers with
the values from corresponding fbc_state->fbc_dirty
I think last time when we discussed, we decided keep that valid flag to track
intel_fbc_can_flip_nuke() case. So I guess that is not required anymore
Regarding the async flip cases, I thought nothing specific need to be done for the fbc dirty rect.
Atleast the some the tests I tried were passing with dirty rect enabled.
I will add the locks in these new functions.
BR
Vinod
On Wed, 2025-02-05 at 15:31 +0200, Ville Syrjälä wrote:
> On Thu, Jan 30, 2025 at 11:00:24PM +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.
> >
> > Use the merged damage clip stored in the plane state to
> > configure the FBC dirty rect areas.
> >
> > v2: - Move dirty rect handling to fbc state (Ville)
> >
> > v3: - Use intel_fbc_dirty_rect_update_noarm (Ville)
> > - Split plane damage collection and dirty rect preparation
> > - Handle case where dirty rect fall outside the visible region
> >
> > v4: - A state variable to check if we need to update dirty rect
> > registers in case intel_fbc_can_flip_nuke() (Ville)
> >
> > Bspec: 68881, 71675, 73424
> > Signed-off-by: Vinod Govindapillai <vinod.govindapillai@intel.com>
> > ---
> > drivers/gpu/drm/i915/display/intel_display.c | 7 +
> > drivers/gpu/drm/i915/display/intel_fbc.c | 132 +++++++++++++++++++
> > drivers/gpu/drm/i915/display/intel_fbc.h | 6 +
> > 3 files changed, 145 insertions(+)
> >
> > diff --git a/drivers/gpu/drm/i915/display/intel_display.c
> > b/drivers/gpu/drm/i915/display/intel_display.c
> > index 7d68d652c1bc..33277f892279 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_dirty_rect_update_noarm(NULL, state, crtc);
> > +
>
> That is not the right place for _noarm() stuff.
>
> Hmm, maybe we should just do this as part of intel_plane_update_noarm()?
> How does the dirty rect interact with async flips?
Ok.
I thought no need to handle anything specific to dirty_rect in case of async flips.
Atleast the the tests that I tried were ok!
>
> > intel_crtc_planes_update_arm(NULL, state, crtc);
> >
> > commit_pipe_post_planes(state, crtc);
> > @@ -7723,6 +7725,8 @@ static void intel_atomic_dsb_finish(struct intel_atomic_state *state,
> > new_crtc_state);
> > intel_crtc_planes_update_noarm(new_crtc_state->dsb_commit,
> > state, crtc);
> > + intel_fbc_dirty_rect_update_noarm(new_crtc_state->dsb_commit,
> > + state, crtc);
> >
> > intel_dsb_vblank_evade(state, new_crtc_state->dsb_commit);
> >
> > @@ -7769,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_prepare_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 df05904bac8a..24736c7a79a6 100644
> > --- a/drivers/gpu/drm/i915/display/intel_fbc.c
> > +++ b/drivers/gpu/drm/i915/display/intel_fbc.c
> > @@ -88,6 +88,10 @@ struct intel_fbc_state {
> > u16 override_cfb_stride;
> > u16 interval;
> > s8 fence_id;
> > + struct {
> > + struct drm_rect rect;
> > + bool valid;
> > + } fbc_dirty_rect;
> > };
> >
> > struct intel_fbc {
> > @@ -527,6 +531,9 @@ static void ilk_fbc_deactivate(struct intel_fbc *fbc)
> > struct intel_display *display = fbc->display;
> > u32 dpfc_ctl;
> >
> > + if (HAS_FBC_DIRTY_RECT(display))
> > + 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 +677,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 (HAS_FBC_DIRTY_RECT(display))
> > + 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 +1214,127 @@ 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);
>
> You should put the code into a place that doesn't need this extra
> declaration.
>
> > +
> > +static void
> > +intel_fbc_dirty_rect_update(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;
> > + struct drm_rect *fbc_dirty_rect = &fbc_state->fbc_dirty_rect.rect;
> > +
> > + if (fbc_state->plane != plane)
> > + return;
> > +
> > + if (!fbc_state->fbc_dirty_rect.valid)
> > + return;
>
> I think that extra flag can be thrown out and you can just
> check if the rect is visible here.
> > +
> > + intel_de_write_dsb(display, dsb, XE3_FBC_DIRTY_RECT(fbc->id),
> > + FBC_DIRTY_RECT_START_LINE(fbc_dirty_rect->y1) |
> > + FBC_DIRTY_RECT_END_LINE(fbc_dirty_rect->y2));
> > +
> > + fbc_state->fbc_dirty_rect.valid = false;
>
> Why?
>
> > +}
> > +
> > +void
> > +intel_fbc_dirty_rect_update_noarm(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 *plane_state;
>
> const, although it seems to me we can just rely on the rect being valid
> or not and then the plane visiblility is also already covered.
>
> > + struct intel_plane *plane;
> > + int i;
> > +
> > + if (!HAS_FBC_DIRTY_RECT(display))
> > + 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;
> > +
> > + if (!plane_state->uapi.visible)
> > + continue;
>
> That check would also disappear.
>
> This does need to check if the plane is the one using FBC
> currently. Oh, I see you put that check inside
> intel_fbc_dirty_rect_update(). I think the check belongs
> here because that is how we do it everwhere else.
>
> I was pondering if we need to keep this lockless or not.
> I guess we don't since we are doing it from the noarm()
> section (assuming we're not planing to implement mailbox
> flips tomorrow). So for now I think we can just do the proper
> locking here too. If we do need to make this lockless in
> then we need to explain what makes it safe/correct.
>
> > +
> > + intel_fbc_dirty_rect_update(dsb, plane);
> > + }
> > +}
> > +
> > +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 - 1;
> > +
> > + dirty_rect->y1 = clamp(dirty_rect->y1, y_offset, max_endline);
> > + dirty_rect->y2 = clamp(dirty_rect->y2, dirty_rect->y1, max_endline);
> > +}
>
> This is not needed.
>
> > +
> > +static void
> > +__intel_fbc_prepare_dirty_rect(struct intel_plane *plane,
> > + struct intel_plane_state *plane_state,
> > + bool fbc_dirty_rect_valid)
> > +{
> > + struct intel_fbc_state *fbc_state = &plane->fbc->state;
> > + struct drm_rect *fbc_dirty_rect = &fbc_state->fbc_dirty_rect.rect;
> > + struct drm_rect *damage_merged = &plane_state->damage_merged;
> > + int y_offset = plane_state->view.color_plane[0].y;
> > +
> > + fbc_state->fbc_dirty_rect.valid = fbc_dirty_rect_valid;
> > +
> > + if (drm_rect_visible(damage_merged)) {
> > + fbc_dirty_rect->y1 = damage_merged->y1;
> > + fbc_dirty_rect->y2 = damage_merged->y2;
> > + } else {
> > + /* If not visible, we need to set one single line */
> > + fbc_dirty_rect->y1 = y_offset;
> > + fbc_dirty_rect->y2 = y_offset;
> > + }
> > + fbc_dirty_rect->x1 = damage_merged->x1;
> > + fbc_dirty_rect->x2 = damage_merged->x2;
> > +
> > + validate_and_clip_dirty_rect(plane_state, fbc_dirty_rect);
> > +}
> > +
> > +void
> > +intel_fbc_prepare_dirty_rect(struct intel_atomic_state *state,
> > + struct intel_crtc *crtc)
> > +{
> > + struct intel_display *display = to_intel_display(state);
> > + struct intel_plane_state *plane_state;
> > + struct intel_plane *plane;
> > + int i;
> > +
> > + if (!HAS_FBC_DIRTY_RECT(display))
> > + 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;
> > +
> > + if (!fbc->state.plane)
> > + continue;
>
> fbc->state.plane != plane
>
> Also needs locking.
>
> > +
> > + /* If plane not visible, dirty rect might have invalid coordinates */
> > + if (!plane_state->uapi.visible)
> > + continue;
>
> Seems like a redundant check.
>
> > +
> > + __intel_fbc_prepare_dirty_rect(plane, plane_state,
> > + intel_fbc_can_flip_nuke(state,
> > + crtc,
> > + plane));
> > + }
> > +}
> > +
> > static void intel_fbc_update_state(struct intel_atomic_state *state,
> > struct intel_crtc *crtc,
> > struct intel_plane *plane)
> > diff --git a/drivers/gpu/drm/i915/display/intel_fbc.h b/drivers/gpu/drm/i915/display/intel_fbc.h
> > index ceae55458e14..8f1b11c6f4d2 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,10 @@ 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_prepare_dirty_rect(struct intel_atomic_state *state,
> > + struct intel_crtc *crtc);
> > +void intel_fbc_dirty_rect_update_noarm(struct intel_dsb *dsb,
> > + struct intel_atomic_state *state,
> > + struct intel_crtc *crtc);
> >
> > #endif /* __INTEL_FBC_H__ */
> > --
> > 2.43.0
>
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [PATCH v6 5/7] drm/i915/xe3: dirty rect support for FBC
2025-02-05 14:49 ` Govindapillai, Vinod
@ 2025-02-05 15:45 ` Ville Syrjälä
2025-02-10 12:15 ` Govindapillai, Vinod
0 siblings, 1 reply; 32+ messages in thread
From: Ville Syrjälä @ 2025-02-05 15:45 UTC (permalink / raw)
To: Govindapillai, Vinod
Cc: intel-xe@lists.freedesktop.org, Saarinen, Jani,
Reddy Guddati, Santhosh, intel-gfx@lists.freedesktop.org,
Syrjala, Ville
On Wed, Feb 05, 2025 at 02:49:46PM +0000, Govindapillai, Vinod wrote:
> So based on your comments on the previous patch and this one, let me conclude the changes to be done
> here!
>
> 1. As part of the previous patch, we collect the fbc_dirty rect from the damage_helper call. Make
> damage empty if the plane not visible.
>
> 2. Update the FBC dirty rect registes. This do two things
> 2.1 Prepare the collected FBC dirty and copy it to the correct fbc_state -
> intel_fbc_prepare_dirty_rect()
>
> 2.2 Write to the registers - intel_fbc_dirty_rect_update_noarm()
>
> 2.1 AT the beginning of the atomic_commit_tail() within the DSB block handling, calls
> intel_fbc_prepare_dirty_rect() to populate fbc_state's fbc_dirty_rect structs
>
> In the intel_fbc_prepare_dirty_rect(),
> iterate through each plane in the atomic_state
> check the correct plane, pipe etc. Then,
>
> if (drm_rect_visible(damage_merged)
> update fbc_state's fbc dirty rect
> else
> Make at it atleast one scan line and update the fbc_state's fbc_dirty rect
>
> 2.2 Then call intel_fbc_dirty_rect_update_noarm() form intel_plane_update_noarm()
> And within in intel_fbc_dirty_rect_update_noarm() just update the FBC dirty registers with
> the values from corresponding fbc_state->fbc_dirty
>
>
> I think last time when we discussed, we decided keep that valid flag to track
> intel_fbc_can_flip_nuke() case. So I guess that is not required anymore
>
> Regarding the async flip cases, I thought nothing specific need to be done for the fbc dirty rect.
> Atleast the some the tests I tried were passing with dirty rect enabled.
>
> I will add the locks in these new functions.
>
> BR
> Vinod
>
>
> On Wed, 2025-02-05 at 15:31 +0200, Ville Syrjälä wrote:
> > On Thu, Jan 30, 2025 at 11:00:24PM +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.
> > >
> > > Use the merged damage clip stored in the plane state to
> > > configure the FBC dirty rect areas.
> > >
> > > v2: - Move dirty rect handling to fbc state (Ville)
> > >
> > > v3: - Use intel_fbc_dirty_rect_update_noarm (Ville)
> > > - Split plane damage collection and dirty rect preparation
> > > - Handle case where dirty rect fall outside the visible region
> > >
> > > v4: - A state variable to check if we need to update dirty rect
> > > registers in case intel_fbc_can_flip_nuke() (Ville)
> > >
> > > Bspec: 68881, 71675, 73424
> > > Signed-off-by: Vinod Govindapillai <vinod.govindapillai@intel.com>
> > > ---
> > > drivers/gpu/drm/i915/display/intel_display.c | 7 +
> > > drivers/gpu/drm/i915/display/intel_fbc.c | 132 +++++++++++++++++++
> > > drivers/gpu/drm/i915/display/intel_fbc.h | 6 +
> > > 3 files changed, 145 insertions(+)
> > >
> > > diff --git a/drivers/gpu/drm/i915/display/intel_display.c
> > > b/drivers/gpu/drm/i915/display/intel_display.c
> > > index 7d68d652c1bc..33277f892279 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_dirty_rect_update_noarm(NULL, state, crtc);
> > > +
> >
> > That is not the right place for _noarm() stuff.
> >
> > Hmm, maybe we should just do this as part of intel_plane_update_noarm()?
> > How does the dirty rect interact with async flips?
>
> Ok.
>
> I thought no need to handle anything specific to dirty_rect in case of async flips.
> Atleast the the tests that I tried were ok!
>
The question is whether async flip:
- results in full nuke or does it use the dirty rect?
- if it uses the dirty rect does that mean the new
dirty rect (*) takes effect alongside the the async flip
or is it still using a previously latched dirty rect?
(*) ie. one that was written into the register just before
the surface register write, without there being a start
of vblank in between the two writes
Should be easy to confirm with something like:
1. set up a framebuffer with some color
2. scan out from said framebuffer
3. write the dirty rect register with some small area of the screen
4. write SURF to trigger a sync flip
5. wait for vblank
6. rewrite the fb with some other color
7. set the async flip bit on PLANE_CTL
8. read the frame counter
9. write the dirty rect register with some other small area
10. write SURF to trigger an async flip
11. re-read frame counter and confirm it is still the same value
as in step 8.
12. observe visually which area of the screen changed
That should at least tell us whether the new dirty rect gets latched due
to an async flip or not, and whether we get a full nuke or not.
And if the new dirty rect does get latched I suppose we can then
rinse an repeat this with a full screen dirty rectangle, and then
we should be able to tell whether the dirty rect gets latched alongside
SURF during the async flip (tearing should be visible), or if it gets
delayed until the next vblank (no tearing should be visible, assuming
the entire fb did get compressed, which should hopefully be the case
for a solid color fb).
>
> > > intel_crtc_planes_update_arm(NULL, state, crtc);
> > >
> > > commit_pipe_post_planes(state, crtc);
> > > @@ -7723,6 +7725,8 @@ static void intel_atomic_dsb_finish(struct intel_atomic_state *state,
> > > new_crtc_state);
> > > intel_crtc_planes_update_noarm(new_crtc_state->dsb_commit,
> > > state, crtc);
> > > + intel_fbc_dirty_rect_update_noarm(new_crtc_state->dsb_commit,
> > > + state, crtc);
> > >
> > > intel_dsb_vblank_evade(state, new_crtc_state->dsb_commit);
> > >
> > > @@ -7769,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_prepare_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 df05904bac8a..24736c7a79a6 100644
> > > --- a/drivers/gpu/drm/i915/display/intel_fbc.c
> > > +++ b/drivers/gpu/drm/i915/display/intel_fbc.c
> > > @@ -88,6 +88,10 @@ struct intel_fbc_state {
> > > u16 override_cfb_stride;
> > > u16 interval;
> > > s8 fence_id;
> > > + struct {
> > > + struct drm_rect rect;
> > > + bool valid;
> > > + } fbc_dirty_rect;
> > > };
> > >
> > > struct intel_fbc {
> > > @@ -527,6 +531,9 @@ static void ilk_fbc_deactivate(struct intel_fbc *fbc)
> > > struct intel_display *display = fbc->display;
> > > u32 dpfc_ctl;
> > >
> > > + if (HAS_FBC_DIRTY_RECT(display))
> > > + 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 +677,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 (HAS_FBC_DIRTY_RECT(display))
> > > + 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 +1214,127 @@ 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);
> >
> > You should put the code into a place that doesn't need this extra
> > declaration.
> >
> > > +
> > > +static void
> > > +intel_fbc_dirty_rect_update(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;
> > > + struct drm_rect *fbc_dirty_rect = &fbc_state->fbc_dirty_rect.rect;
> > > +
> > > + if (fbc_state->plane != plane)
> > > + return;
> > > +
> > > + if (!fbc_state->fbc_dirty_rect.valid)
> > > + return;
> >
> > I think that extra flag can be thrown out and you can just
> > check if the rect is visible here.
> > > +
> > > + intel_de_write_dsb(display, dsb, XE3_FBC_DIRTY_RECT(fbc->id),
> > > + FBC_DIRTY_RECT_START_LINE(fbc_dirty_rect->y1) |
> > > + FBC_DIRTY_RECT_END_LINE(fbc_dirty_rect->y2));
> > > +
> > > + fbc_state->fbc_dirty_rect.valid = false;
> >
> > Why?
> >
> > > +}
> > > +
> > > +void
> > > +intel_fbc_dirty_rect_update_noarm(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 *plane_state;
> >
> > const, although it seems to me we can just rely on the rect being valid
> > or not and then the plane visiblility is also already covered.
> >
> > > + struct intel_plane *plane;
> > > + int i;
> > > +
> > > + if (!HAS_FBC_DIRTY_RECT(display))
> > > + 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;
> > > +
> > > + if (!plane_state->uapi.visible)
> > > + continue;
> >
> > That check would also disappear.
> >
> > This does need to check if the plane is the one using FBC
> > currently. Oh, I see you put that check inside
> > intel_fbc_dirty_rect_update(). I think the check belongs
> > here because that is how we do it everwhere else.
> >
> > I was pondering if we need to keep this lockless or not.
> > I guess we don't since we are doing it from the noarm()
> > section (assuming we're not planing to implement mailbox
> > flips tomorrow). So for now I think we can just do the proper
> > locking here too. If we do need to make this lockless in
> > then we need to explain what makes it safe/correct.
> >
> > > +
> > > + intel_fbc_dirty_rect_update(dsb, plane);
> > > + }
> > > +}
> > > +
> > > +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 - 1;
> > > +
> > > + dirty_rect->y1 = clamp(dirty_rect->y1, y_offset, max_endline);
> > > + dirty_rect->y2 = clamp(dirty_rect->y2, dirty_rect->y1, max_endline);
> > > +}
> >
> > This is not needed.
> >
> > > +
> > > +static void
> > > +__intel_fbc_prepare_dirty_rect(struct intel_plane *plane,
> > > + struct intel_plane_state *plane_state,
> > > + bool fbc_dirty_rect_valid)
> > > +{
> > > + struct intel_fbc_state *fbc_state = &plane->fbc->state;
> > > + struct drm_rect *fbc_dirty_rect = &fbc_state->fbc_dirty_rect.rect;
> > > + struct drm_rect *damage_merged = &plane_state->damage_merged;
> > > + int y_offset = plane_state->view.color_plane[0].y;
> > > +
> > > + fbc_state->fbc_dirty_rect.valid = fbc_dirty_rect_valid;
> > > +
> > > + if (drm_rect_visible(damage_merged)) {
> > > + fbc_dirty_rect->y1 = damage_merged->y1;
> > > + fbc_dirty_rect->y2 = damage_merged->y2;
> > > + } else {
> > > + /* If not visible, we need to set one single line */
> > > + fbc_dirty_rect->y1 = y_offset;
> > > + fbc_dirty_rect->y2 = y_offset;
> > > + }
> > > + fbc_dirty_rect->x1 = damage_merged->x1;
> > > + fbc_dirty_rect->x2 = damage_merged->x2;
> > > +
> > > + validate_and_clip_dirty_rect(plane_state, fbc_dirty_rect);
> > > +}
> > > +
> > > +void
> > > +intel_fbc_prepare_dirty_rect(struct intel_atomic_state *state,
> > > + struct intel_crtc *crtc)
> > > +{
> > > + struct intel_display *display = to_intel_display(state);
> > > + struct intel_plane_state *plane_state;
> > > + struct intel_plane *plane;
> > > + int i;
> > > +
> > > + if (!HAS_FBC_DIRTY_RECT(display))
> > > + 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;
> > > +
> > > + if (!fbc->state.plane)
> > > + continue;
> >
> > fbc->state.plane != plane
> >
> > Also needs locking.
> >
> > > +
> > > + /* If plane not visible, dirty rect might have invalid coordinates */
> > > + if (!plane_state->uapi.visible)
> > > + continue;
> >
> > Seems like a redundant check.
> >
> > > +
> > > + __intel_fbc_prepare_dirty_rect(plane, plane_state,
> > > + intel_fbc_can_flip_nuke(state,
> > > + crtc,
> > > + plane));
> > > + }
> > > +}
> > > +
> > > static void intel_fbc_update_state(struct intel_atomic_state *state,
> > > struct intel_crtc *crtc,
> > > struct intel_plane *plane)
> > > diff --git a/drivers/gpu/drm/i915/display/intel_fbc.h b/drivers/gpu/drm/i915/display/intel_fbc.h
> > > index ceae55458e14..8f1b11c6f4d2 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,10 @@ 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_prepare_dirty_rect(struct intel_atomic_state *state,
> > > + struct intel_crtc *crtc);
> > > +void intel_fbc_dirty_rect_update_noarm(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] 32+ messages in thread
* Re: [PATCH v6 5/7] drm/i915/xe3: dirty rect support for FBC
2025-02-05 15:45 ` Ville Syrjälä
@ 2025-02-10 12:15 ` Govindapillai, Vinod
2025-02-10 21:49 ` Govindapillai, Vinod
0 siblings, 1 reply; 32+ messages in thread
From: Govindapillai, Vinod @ 2025-02-10 12:15 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
Hi Ville,
I need to check the async flip tests for dirty rect cases.
But could you please clarify some of your comments before i send another version..
On Wed, 2025-02-05 at 17:45 +0200, Ville Syrjälä wrote:
> On Wed, Feb 05, 2025 at 02:49:46PM +0000, Govindapillai, Vinod wrote:
> > So based on your comments on the previous patch and this one, let me conclude the changes to be
> > done
> > here!
> >
> > 1. As part of the previous patch, we collect the fbc_dirty rect from the damage_helper call.
> > Make
> > damage empty if the plane not visible.
> >
> > 2. Update the FBC dirty rect registes. This do two things
> > 2.1 Prepare the collected FBC dirty and copy it to the correct fbc_state -
> >
> > intel_fbc_prepare_dirty_rect()
> >
> > 2.2 Write to the registers - intel_fbc_dirty_rect_update_noarm()
> >
> > 2.1 AT the beginning of the atomic_commit_tail() within the DSB block handling, calls
> > intel_fbc_prepare_dirty_rect() to populate fbc_state's fbc_dirty_rect structs
> >
> > In the intel_fbc_prepare_dirty_rect(),
> > iterate through each plane in the atomic_state
> > check the correct plane, pipe etc. Then,
> >
> > if (drm_rect_visible(damage_merged)
> > update fbc_state's fbc dirty rect
> > else
> > Make at it atleast one scan line and update the fbc_state's fbc_dirty rect
> >
> > 2.2 Then call intel_fbc_dirty_rect_update_noarm() form intel_plane_update_noarm()
> > And within in intel_fbc_dirty_rect_update_noarm() just update the FBC dirty registers
> > with
> > the values from corresponding fbc_state->fbc_dirty
> >
> >
> > I think last time when we discussed, we decided keep that valid flag to track
> > intel_fbc_can_flip_nuke() case. So I guess that is not required anymore
> >
> > Regarding the async flip cases, I thought nothing specific need to be done for the fbc dirty
> > rect.
> > Atleast the some the tests I tried were passing with dirty rect enabled.
> >
> > I will add the locks in these new functions.
> >
> > BR
> > Vinod
> >
> >
> > On Wed, 2025-02-05 at 15:31 +0200, Ville Syrjälä wrote:
> > > On Thu, Jan 30, 2025 at 11:00:24PM +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.
> > > >
> > > > Use the merged damage clip stored in the plane state to
> > > > configure the FBC dirty rect areas.
> > > >
> > > > v2: - Move dirty rect handling to fbc state (Ville)
> > > >
> > > > v3: - Use intel_fbc_dirty_rect_update_noarm (Ville)
> > > > - Split plane damage collection and dirty rect preparation
> > > > - Handle case where dirty rect fall outside the visible region
> > > >
> > > > v4: - A state variable to check if we need to update dirty rect
> > > > registers in case intel_fbc_can_flip_nuke() (Ville)
> > > >
> > > > Bspec: 68881, 71675, 73424
> > > > Signed-off-by: Vinod Govindapillai <vinod.govindapillai@intel.com>
> > > > ---
> > > > drivers/gpu/drm/i915/display/intel_display.c | 7 +
> > > > drivers/gpu/drm/i915/display/intel_fbc.c | 132 +++++++++++++++++++
> > > > drivers/gpu/drm/i915/display/intel_fbc.h | 6 +
> > > > 3 files changed, 145 insertions(+)
> > > >
> > > > diff --git a/drivers/gpu/drm/i915/display/intel_display.c
> > > > b/drivers/gpu/drm/i915/display/intel_display.c
> > > > index 7d68d652c1bc..33277f892279 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_dirty_rect_update_noarm(NULL, state, crtc);
> > > > +
> > >
> > > That is not the right place for _noarm() stuff.
> > >
> > > Hmm, maybe we should just do this as part of intel_plane_update_noarm()?
> > > How does the dirty rect interact with async flips?
> >
> > Ok.
> >
> > I thought no need to handle anything specific to dirty_rect in case of async flips.
> > Atleast the the tests that I tried were ok!
> >
>
> The question is whether async flip:
> - results in full nuke or does it use the dirty rect?
> - if it uses the dirty rect does that mean the new
> dirty rect (*) takes effect alongside the the async flip
> or is it still using a previously latched dirty rect?
>
> (*) ie. one that was written into the register just before
> the surface register write, without there being a start
> of vblank in between the two writes
>
> Should be easy to confirm with something like:
> 1. set up a framebuffer with some color
> 2. scan out from said framebuffer
> 3. write the dirty rect register with some small area of the screen
> 4. write SURF to trigger a sync flip
> 5. wait for vblank
> 6. rewrite the fb with some other color
> 7. set the async flip bit on PLANE_CTL
> 8. read the frame counter
> 9. write the dirty rect register with some other small area
> 10. write SURF to trigger an async flip
> 11. re-read frame counter and confirm it is still the same value
> as in step 8.
> 12. observe visually which area of the screen changed
>
> That should at least tell us whether the new dirty rect gets latched due
> to an async flip or not, and whether we get a full nuke or not.
>
> And if the new dirty rect does get latched I suppose we can then
> rinse an repeat this with a full screen dirty rectangle, and then
> we should be able to tell whether the dirty rect gets latched alongside
> SURF during the async flip (tearing should be visible), or if it gets
> delayed until the next vblank (no tearing should be visible, assuming
> the entire fb did get compressed, which should hopefully be the case
> for a solid color fb).
>
> >
> > > > intel_crtc_planes_update_arm(NULL, state, crtc);
> > > >
> > > > commit_pipe_post_planes(state, crtc);
> > > > @@ -7723,6 +7725,8 @@ static void intel_atomic_dsb_finish(struct intel_atomic_state *state,
> > > > new_crtc_state);
> > > > intel_crtc_planes_update_noarm(new_crtc_state->dsb_commit,
> > > > state, crtc);
> > > > + intel_fbc_dirty_rect_update_noarm(new_crtc_state->dsb_commit,
> > > > + state, crtc);
> > > >
> > > > intel_dsb_vblank_evade(state, new_crtc_state->dsb_commit);
> > > >
> > > > @@ -7769,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_prepare_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 df05904bac8a..24736c7a79a6 100644
> > > > --- a/drivers/gpu/drm/i915/display/intel_fbc.c
> > > > +++ b/drivers/gpu/drm/i915/display/intel_fbc.c
> > > > @@ -88,6 +88,10 @@ struct intel_fbc_state {
> > > > u16 override_cfb_stride;
> > > > u16 interval;
> > > > s8 fence_id;
> > > > + struct {
> > > > + struct drm_rect rect;
> > > > + bool valid;
> > > > + } fbc_dirty_rect;
> > > > };
> > > >
> > > > struct intel_fbc {
> > > > @@ -527,6 +531,9 @@ static void ilk_fbc_deactivate(struct intel_fbc *fbc)
> > > > struct intel_display *display = fbc->display;
> > > > u32 dpfc_ctl;
> > > >
> > > > + if (HAS_FBC_DIRTY_RECT(display))
> > > > + 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 +677,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 (HAS_FBC_DIRTY_RECT(display))
> > > > + 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 +1214,127 @@ 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);
> > >
> > > You should put the code into a place that doesn't need this extra
> > > declaration.
> > >
> > > > +
> > > > +static void
> > > > +intel_fbc_dirty_rect_update(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;
> > > > + struct drm_rect *fbc_dirty_rect = &fbc_state->fbc_dirty_rect.rect;
> > > > +
> > > > + if (fbc_state->plane != plane)
> > > > + return;
> > > > +
> > > > + if (!fbc_state->fbc_dirty_rect.valid)
> > > > + return;
> > >
> > > I think that extra flag can be thrown out and you can just
> > > check if the rect is visible here.
HAS recommends to program one line in case damage area rect is not visible! So not sure how can we
use rect is visible here.
Earlier in our discussions, you mentioned we might need to check "intel_fbc_can_flip_nuke()" before
updating the dirty_rect. So that extra flag was mainly tracking intel_fbc_can_flip_nuke()!
I see mainly two cases where "intel_fbc_can_flip_nuke" can have a impact - at the time of enabling
FBC and disabling FBC. In case of enabling FBC, HW ignores what is programmed in dirty rect
registers for the first frame after FBC is enabled. It fetches the entire frame. And in case of
Disabling FBC, anyway dirty rect registers will be ignored as FBC will be disabled.
In intel_fbc_prepare_dirty_rect() which is called from commit tail..
if (fbc && plane->pipe == crtc->pipe && fbc->state.plane != plane) {
fbc_dirty_rect->y1 = drm_rect_visible(damage) ? damage->y1 : y_offset;
fbc_dirty_rect->y2 = drm_rect_visible(damage) ? damage->y2 : y_offset;
fbc_dirty_rect->x1 = damage->x1;
fbc_dirty_rect->x2 = damage->x2;
}
And in intel_fbc_dirty_rect_update_noarm() which is called from intel_plane_update_noarm()
if (fbc && fbc->state.plane != plane) {
intel_de_write_dsb(display, dsb, XE3_FBC_DIRTY_RECT(fbc->id),
FBC_DIRTY_RECT_START_LINE(fbc_dirty_rect->y1) |
FBC_DIRTY_RECT_END_LINE(fbc_dirty_rect->y2));
}
> > > > +
> > > > + intel_de_write_dsb(display, dsb, XE3_FBC_DIRTY_RECT(fbc->id),
> > > > + FBC_DIRTY_RECT_START_LINE(fbc_dirty_rect->y1) |
> > > > + FBC_DIRTY_RECT_END_LINE(fbc_dirty_rect->y2));
> > > > +
> > > > + fbc_state->fbc_dirty_rect.valid = false;
> > >
> > > Why?
> > >
> > > > +}
> > > > +
> > > > +void
> > > > +intel_fbc_dirty_rect_update_noarm(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 *plane_state;
> > >
> > > const, although it seems to me we can just rely on the rect being valid
> > > or not and then the plane visiblility is also already covered.
> > >
> > > > + struct intel_plane *plane;
> > > > + int i;
> > > > +
> > > > + if (!HAS_FBC_DIRTY_RECT(display))
> > > > + 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;
> > > > +
> > > > + if (!plane_state->uapi.visible)
> > > > + continue;
> > >
> > > That check would also disappear.
> > >
> > > This does need to check if the plane is the one using FBC
> > > currently. Oh, I see you put that check inside
> > > intel_fbc_dirty_rect_update(). I think the check belongs
> > > here because that is how we do it everwhere else.
> > >
> > > I was pondering if we need to keep this lockless or not.
> > > I guess we don't since we are doing it from the noarm()
> > > section (assuming we're not planing to implement mailbox
> > > flips tomorrow). So for now I think we can just do the proper
> > > locking here too. If we do need to make this lockless in
> > > then we need to explain what makes it safe/correct.
> > >
> > > > +
> > > > + intel_fbc_dirty_rect_update(dsb, plane);
> > > > + }
> > > > +}
> > > > +
> > > > +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 - 1;
> > > > +
> > > > + dirty_rect->y1 = clamp(dirty_rect->y1, y_offset, max_endline);
> > > > + dirty_rect->y2 = clamp(dirty_rect->y2, dirty_rect->y1, max_endline);
> > > > +}
> > >
> > > This is not needed.
But I noticed that from one of the test cases created, if the damage area set as (0, 0)
(plane_width, plane_height), without that clipping, we will set
dirty_rect->y1 = 0 and dirty_rect->y2 = height.
With this screen is not updated correctly.
To get this working correctly I had to make dirty_rect->y2 as plane_height -1.
Wonder if I am I missing anything here?
BR
Vinod
> > >
> > > > +
> > > > +static void
> > > > +__intel_fbc_prepare_dirty_rect(struct intel_plane *plane,
> > > > + struct intel_plane_state *plane_state,
> > > > + bool fbc_dirty_rect_valid)
> > > > +{
> > > > + struct intel_fbc_state *fbc_state = &plane->fbc->state;
> > > > + struct drm_rect *fbc_dirty_rect = &fbc_state->fbc_dirty_rect.rect;
> > > > + struct drm_rect *damage_merged = &plane_state->damage_merged;
> > > > + int y_offset = plane_state->view.color_plane[0].y;
> > > > +
> > > > + fbc_state->fbc_dirty_rect.valid = fbc_dirty_rect_valid;
> > > > +
> > > > + if (drm_rect_visible(damage_merged)) {
> > > > + fbc_dirty_rect->y1 = damage_merged->y1;
> > > > + fbc_dirty_rect->y2 = damage_merged->y2;
> > > > + } else {
> > > > + /* If not visible, we need to set one single line */
> > > > + fbc_dirty_rect->y1 = y_offset;
> > > > + fbc_dirty_rect->y2 = y_offset;
> > > > + }
> > > > + fbc_dirty_rect->x1 = damage_merged->x1;
> > > > + fbc_dirty_rect->x2 = damage_merged->x2;
> > > > +
> > > > + validate_and_clip_dirty_rect(plane_state, fbc_dirty_rect);
> > > > +}
> > > > +
> > > > +void
> > > > +intel_fbc_prepare_dirty_rect(struct intel_atomic_state *state,
> > > > + struct intel_crtc *crtc)
> > > > +{
> > > > + struct intel_display *display = to_intel_display(state);
> > > > + struct intel_plane_state *plane_state;
> > > > + struct intel_plane *plane;
> > > > + int i;
> > > > +
> > > > + if (!HAS_FBC_DIRTY_RECT(display))
> > > > + 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;
> > > > +
> > > > + if (!fbc->state.plane)
> > > > + continue;
> > >
> > > fbc->state.plane != plane
> > >
> > > Also needs locking.
> > >
> > > > +
> > > > + /* If plane not visible, dirty rect might have invalid coordinates */
> > > > + if (!plane_state->uapi.visible)
> > > > + continue;
> > >
> > > Seems like a redundant check.
> > >
> > > > +
> > > > + __intel_fbc_prepare_dirty_rect(plane, plane_state,
> > > > + intel_fbc_can_flip_nuke(state,
> > > > + crtc,
> > > > + plane));
> > > > + }
> > > > +}
> > > > +
> > > > static void intel_fbc_update_state(struct intel_atomic_state *state,
> > > > struct intel_crtc *crtc,
> > > > struct intel_plane *plane)
> > > > diff --git a/drivers/gpu/drm/i915/display/intel_fbc.h
> > > > b/drivers/gpu/drm/i915/display/intel_fbc.h
> > > > index ceae55458e14..8f1b11c6f4d2 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,10 @@ 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_prepare_dirty_rect(struct intel_atomic_state *state,
> > > > + struct intel_crtc *crtc);
> > > > +void intel_fbc_dirty_rect_update_noarm(struct intel_dsb *dsb,
> > > > + struct intel_atomic_state *state,
> > > > + struct intel_crtc *crtc);
> > > >
> > > > #endif /* __INTEL_FBC_H__ */
> > > > --
> > > > 2.43.0
> > >
> >
>
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [PATCH v6 5/7] drm/i915/xe3: dirty rect support for FBC
2025-02-10 12:15 ` Govindapillai, Vinod
@ 2025-02-10 21:49 ` Govindapillai, Vinod
0 siblings, 0 replies; 32+ messages in thread
From: Govindapillai, Vinod @ 2025-02-10 21:49 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
Hi Ville,
Regarding the async_clip I was trying a new test case but noticed that it was nuking on asyn_flip.
So I checked with HW folks, then confirmed that FBC will nuke on async_flip. Dirty rectangle only
works with sync flip. He pointed out that in the bspec (I overlooked that aspect though!),
"When the Dirty Rectangle Enable bit is set in the FBC_DIRTY_CTL register, and there is a *sync flip
indication, display will read the scanlines between....."
Well.. basically this is now confirmed from my trials as well.
BR
Vinod
On Mon, 2025-02-10 at 14:15 +0200, Govindapillai, Vinod wrote:
> Hi Ville,
>
> I need to check the async flip tests for dirty rect cases.
>
> But could you please clarify some of your comments before i send another version..
>
> On Wed, 2025-02-05 at 17:45 +0200, Ville Syrjälä wrote:
> > On Wed, Feb 05, 2025 at 02:49:46PM +0000, Govindapillai, Vinod wrote:
> > > So based on your comments on the previous patch and this one, let me conclude the changes to
> > > be
> > > done
> > > here!
> > >
> > > 1. As part of the previous patch, we collect the fbc_dirty rect from the damage_helper call.
> > > Make
> > > damage empty if the plane not visible.
> > >
> > > 2. Update the FBC dirty rect registes. This do two things
> > > 2.1 Prepare the collected FBC dirty and copy it to the correct fbc_state -
> > >
> > > intel_fbc_prepare_dirty_rect()
> > >
> > > 2.2 Write to the registers - intel_fbc_dirty_rect_update_noarm()
> > >
> > > 2.1 AT the beginning of the atomic_commit_tail() within the DSB block handling, calls
> > > intel_fbc_prepare_dirty_rect() to populate fbc_state's fbc_dirty_rect structs
> > >
> > > In the intel_fbc_prepare_dirty_rect(),
> > > iterate through each plane in the atomic_state
> > > check the correct plane, pipe etc. Then,
> > >
> > > if (drm_rect_visible(damage_merged)
> > > update fbc_state's fbc dirty rect
> > > else
> > > Make at it atleast one scan line and update the fbc_state's fbc_dirty rect
> > >
> > > 2.2 Then call intel_fbc_dirty_rect_update_noarm() form intel_plane_update_noarm()
> > > And within in intel_fbc_dirty_rect_update_noarm() just update the FBC dirty registers
> > > with
> > > the values from corresponding fbc_state->fbc_dirty
> > >
> > >
> > > I think last time when we discussed, we decided keep that valid flag to track
> > > intel_fbc_can_flip_nuke() case. So I guess that is not required anymore
> > >
> > > Regarding the async flip cases, I thought nothing specific need to be done for the fbc dirty
> > > rect.
> > > Atleast the some the tests I tried were passing with dirty rect enabled.
> > >
> > > I will add the locks in these new functions.
> > >
> > > BR
> > > Vinod
> > >
> > >
> > > On Wed, 2025-02-05 at 15:31 +0200, Ville Syrjälä wrote:
> > > > On Thu, Jan 30, 2025 at 11:00:24PM +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.
> > > > >
> > > > > Use the merged damage clip stored in the plane state to
> > > > > configure the FBC dirty rect areas.
> > > > >
> > > > > v2: - Move dirty rect handling to fbc state (Ville)
> > > > >
> > > > > v3: - Use intel_fbc_dirty_rect_update_noarm (Ville)
> > > > > - Split plane damage collection and dirty rect preparation
> > > > > - Handle case where dirty rect fall outside the visible region
> > > > >
> > > > > v4: - A state variable to check if we need to update dirty rect
> > > > > registers in case intel_fbc_can_flip_nuke() (Ville)
> > > > >
> > > > > Bspec: 68881, 71675, 73424
> > > > > Signed-off-by: Vinod Govindapillai <vinod.govindapillai@intel.com>
> > > > > ---
> > > > > drivers/gpu/drm/i915/display/intel_display.c | 7 +
> > > > > drivers/gpu/drm/i915/display/intel_fbc.c | 132 +++++++++++++++++++
> > > > > drivers/gpu/drm/i915/display/intel_fbc.h | 6 +
> > > > > 3 files changed, 145 insertions(+)
> > > > >
> > > > > diff --git a/drivers/gpu/drm/i915/display/intel_display.c
> > > > > b/drivers/gpu/drm/i915/display/intel_display.c
> > > > > index 7d68d652c1bc..33277f892279 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_dirty_rect_update_noarm(NULL, state, crtc);
> > > > > +
> > > >
> > > > That is not the right place for _noarm() stuff.
> > > >
> > > > Hmm, maybe we should just do this as part of intel_plane_update_noarm()?
> > > > How does the dirty rect interact with async flips?
> > >
> > > Ok.
> > >
> > > I thought no need to handle anything specific to dirty_rect in case of async flips.
> > > Atleast the the tests that I tried were ok!
> > >
> >
> > The question is whether async flip:
> > - results in full nuke or does it use the dirty rect?
> > - if it uses the dirty rect does that mean the new
> > dirty rect (*) takes effect alongside the the async flip
> > or is it still using a previously latched dirty rect?
> >
> > (*) ie. one that was written into the register just before
> > the surface register write, without there being a start
> > of vblank in between the two writes
> >
> > Should be easy to confirm with something like:
> > 1. set up a framebuffer with some color
> > 2. scan out from said framebuffer
> > 3. write the dirty rect register with some small area of the screen
> > 4. write SURF to trigger a sync flip
> > 5. wait for vblank
> > 6. rewrite the fb with some other color
> > 7. set the async flip bit on PLANE_CTL
> > 8. read the frame counter
> > 9. write the dirty rect register with some other small area
> > 10. write SURF to trigger an async flip
> > 11. re-read frame counter and confirm it is still the same value
> > as in step 8.
> > 12. observe visually which area of the screen changed
> >
> > That should at least tell us whether the new dirty rect gets latched due
> > to an async flip or not, and whether we get a full nuke or not.
> >
> > And if the new dirty rect does get latched I suppose we can then
> > rinse an repeat this with a full screen dirty rectangle, and then
> > we should be able to tell whether the dirty rect gets latched alongside
> > SURF during the async flip (tearing should be visible), or if it gets
> > delayed until the next vblank (no tearing should be visible, assuming
> > the entire fb did get compressed, which should hopefully be the case
> > for a solid color fb).
> >
> > >
> > > > > intel_crtc_planes_update_arm(NULL, state, crtc);
> > > > >
> > > > > commit_pipe_post_planes(state, crtc);
> > > > > @@ -7723,6 +7725,8 @@ static void intel_atomic_dsb_finish(struct intel_atomic_state
> > > > > *state,
> > > > > new_crtc_state);
> > > > > intel_crtc_planes_update_noarm(new_crtc_state->dsb_commit,
> > > > > state, crtc);
> > > > > + intel_fbc_dirty_rect_update_noarm(new_crtc_state->dsb_commit,
> > > > > + state, crtc);
> > > > >
> > > > > intel_dsb_vblank_evade(state, new_crtc_state->dsb_commit);
> > > > >
> > > > > @@ -7769,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_prepare_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 df05904bac8a..24736c7a79a6 100644
> > > > > --- a/drivers/gpu/drm/i915/display/intel_fbc.c
> > > > > +++ b/drivers/gpu/drm/i915/display/intel_fbc.c
> > > > > @@ -88,6 +88,10 @@ struct intel_fbc_state {
> > > > > u16 override_cfb_stride;
> > > > > u16 interval;
> > > > > s8 fence_id;
> > > > > + struct {
> > > > > + struct drm_rect rect;
> > > > > + bool valid;
> > > > > + } fbc_dirty_rect;
> > > > > };
> > > > >
> > > > > struct intel_fbc {
> > > > > @@ -527,6 +531,9 @@ static void ilk_fbc_deactivate(struct intel_fbc *fbc)
> > > > > struct intel_display *display = fbc->display;
> > > > > u32 dpfc_ctl;
> > > > >
> > > > > + if (HAS_FBC_DIRTY_RECT(display))
> > > > > + 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 +677,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 (HAS_FBC_DIRTY_RECT(display))
> > > > > + 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 +1214,127 @@ 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);
> > > >
> > > > You should put the code into a place that doesn't need this extra
> > > > declaration.
> > > >
> > > > > +
> > > > > +static void
> > > > > +intel_fbc_dirty_rect_update(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;
> > > > > + struct drm_rect *fbc_dirty_rect = &fbc_state->fbc_dirty_rect.rect;
> > > > > +
> > > > > + if (fbc_state->plane != plane)
> > > > > + return;
> > > > > +
> > > > > + if (!fbc_state->fbc_dirty_rect.valid)
> > > > > + return;
> > > >
> > > > I think that extra flag can be thrown out and you can just
> > > > check if the rect is visible here.
>
> HAS recommends to program one line in case damage area rect is not visible! So not sure how can we
> use rect is visible here.
>
> Earlier in our discussions, you mentioned we might need to check "intel_fbc_can_flip_nuke()"
> before
> updating the dirty_rect. So that extra flag was mainly tracking intel_fbc_can_flip_nuke()!
>
> I see mainly two cases where "intel_fbc_can_flip_nuke" can have a impact - at the time of enabling
> FBC and disabling FBC. In case of enabling FBC, HW ignores what is programmed in dirty rect
> registers for the first frame after FBC is enabled. It fetches the entire frame. And in case of
> Disabling FBC, anyway dirty rect registers will be ignored as FBC will be disabled.
>
> In intel_fbc_prepare_dirty_rect() which is called from commit tail..
>
> if (fbc && plane->pipe == crtc->pipe && fbc->state.plane != plane) {
> fbc_dirty_rect->y1 = drm_rect_visible(damage) ? damage->y1 : y_offset;
> fbc_dirty_rect->y2 = drm_rect_visible(damage) ? damage->y2 : y_offset;
> fbc_dirty_rect->x1 = damage->x1;
> fbc_dirty_rect->x2 = damage->x2;
> }
>
> And in intel_fbc_dirty_rect_update_noarm() which is called from intel_plane_update_noarm()
>
> if (fbc && fbc->state.plane != plane) {
> intel_de_write_dsb(display, dsb, XE3_FBC_DIRTY_RECT(fbc->id),
> FBC_DIRTY_RECT_START_LINE(fbc_dirty_rect->y1) |
> FBC_DIRTY_RECT_END_LINE(fbc_dirty_rect->y2));
> }
>
> > > > > +
> > > > > + intel_de_write_dsb(display, dsb, XE3_FBC_DIRTY_RECT(fbc->id),
> > > > > + FBC_DIRTY_RECT_START_LINE(fbc_dirty_rect->y1) |
> > > > > + FBC_DIRTY_RECT_END_LINE(fbc_dirty_rect->y2));
> > > > > +
> > > > > + fbc_state->fbc_dirty_rect.valid = false;
> > > >
> > > > Why?
> > > >
> > > > > +}
> > > > > +
> > > > > +void
> > > > > +intel_fbc_dirty_rect_update_noarm(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 *plane_state;
> > > >
> > > > const, although it seems to me we can just rely on the rect being valid
> > > > or not and then the plane visiblility is also already covered.
> > > >
> > > > > + struct intel_plane *plane;
> > > > > + int i;
> > > > > +
> > > > > + if (!HAS_FBC_DIRTY_RECT(display))
> > > > > + 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;
> > > > > +
> > > > > + if (!plane_state->uapi.visible)
> > > > > + continue;
> > > >
> > > > That check would also disappear.
> > > >
> > > > This does need to check if the plane is the one using FBC
> > > > currently. Oh, I see you put that check inside
> > > > intel_fbc_dirty_rect_update(). I think the check belongs
> > > > here because that is how we do it everwhere else.
> > > >
> > > > I was pondering if we need to keep this lockless or not.
> > > > I guess we don't since we are doing it from the noarm()
> > > > section (assuming we're not planing to implement mailbox
> > > > flips tomorrow). So for now I think we can just do the proper
> > > > locking here too. If we do need to make this lockless in
> > > > then we need to explain what makes it safe/correct.
> > > >
> > > > > +
> > > > > + intel_fbc_dirty_rect_update(dsb, plane);
> > > > > + }
> > > > > +}
> > > > > +
> > > > > +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 - 1;
> > > > > +
> > > > > + dirty_rect->y1 = clamp(dirty_rect->y1, y_offset, max_endline);
> > > > > + dirty_rect->y2 = clamp(dirty_rect->y2, dirty_rect->y1, max_endline);
> > > > > +}
> > > >
> > > > This is not needed.
>
> But I noticed that from one of the test cases created, if the damage area set as (0, 0)
> (plane_width, plane_height), without that clipping, we will set
> dirty_rect->y1 = 0 and dirty_rect->y2 = height.
> With this screen is not updated correctly.
> To get this working correctly I had to make dirty_rect->y2 as plane_height -1.
>
> Wonder if I am I missing anything here?
>
> BR
> Vinod
>
> > > >
> > > > > +
> > > > > +static void
> > > > > +__intel_fbc_prepare_dirty_rect(struct intel_plane *plane,
> > > > > + struct intel_plane_state *plane_state,
> > > > > + bool fbc_dirty_rect_valid)
> > > > > +{
> > > > > + struct intel_fbc_state *fbc_state = &plane->fbc->state;
> > > > > + struct drm_rect *fbc_dirty_rect = &fbc_state->fbc_dirty_rect.rect;
> > > > > + struct drm_rect *damage_merged = &plane_state->damage_merged;
> > > > > + int y_offset = plane_state->view.color_plane[0].y;
> > > > > +
> > > > > + fbc_state->fbc_dirty_rect.valid = fbc_dirty_rect_valid;
> > > > > +
> > > > > + if (drm_rect_visible(damage_merged)) {
> > > > > + fbc_dirty_rect->y1 = damage_merged->y1;
> > > > > + fbc_dirty_rect->y2 = damage_merged->y2;
> > > > > + } else {
> > > > > + /* If not visible, we need to set one single line */
> > > > > + fbc_dirty_rect->y1 = y_offset;
> > > > > + fbc_dirty_rect->y2 = y_offset;
> > > > > + }
> > > > > + fbc_dirty_rect->x1 = damage_merged->x1;
> > > > > + fbc_dirty_rect->x2 = damage_merged->x2;
> > > > > +
> > > > > + validate_and_clip_dirty_rect(plane_state, fbc_dirty_rect);
> > > > > +}
> > > > > +
> > > > > +void
> > > > > +intel_fbc_prepare_dirty_rect(struct intel_atomic_state *state,
> > > > > + struct intel_crtc *crtc)
> > > > > +{
> > > > > + struct intel_display *display = to_intel_display(state);
> > > > > + struct intel_plane_state *plane_state;
> > > > > + struct intel_plane *plane;
> > > > > + int i;
> > > > > +
> > > > > + if (!HAS_FBC_DIRTY_RECT(display))
> > > > > + 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;
> > > > > +
> > > > > + if (!fbc->state.plane)
> > > > > + continue;
> > > >
> > > > fbc->state.plane != plane
> > > >
> > > > Also needs locking.
> > > >
> > > > > +
> > > > > + /* If plane not visible, dirty rect might have invalid coordinates */
> > > > > + if (!plane_state->uapi.visible)
> > > > > + continue;
> > > >
> > > > Seems like a redundant check.
> > > >
> > > > > +
> > > > > + __intel_fbc_prepare_dirty_rect(plane, plane_state,
> > > > > + intel_fbc_can_flip_nuke(state,
> > > > > + crtc,
> > > > > + plane));
> > > > > + }
> > > > > +}
> > > > > +
> > > > > static void intel_fbc_update_state(struct intel_atomic_state *state,
> > > > > struct intel_crtc *crtc,
> > > > > struct intel_plane *plane)
> > > > > diff --git a/drivers/gpu/drm/i915/display/intel_fbc.h
> > > > > b/drivers/gpu/drm/i915/display/intel_fbc.h
> > > > > index ceae55458e14..8f1b11c6f4d2 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,10 @@ 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_prepare_dirty_rect(struct intel_atomic_state *state,
> > > > > + struct intel_crtc *crtc);
> > > > > +void intel_fbc_dirty_rect_update_noarm(struct intel_dsb *dsb,
> > > > > + struct intel_atomic_state *state,
> > > > > + struct intel_crtc *crtc);
> > > > >
> > > > > #endif /* __INTEL_FBC_H__ */
> > > > > --
> > > > > 2.43.0
> > > >
> > >
> >
>
^ permalink raw reply [flat|nested] 32+ messages in thread
end of thread, other threads:[~2025-02-10 21:50 UTC | newest]
Thread overview: 32+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-01-30 21:00 [PATCH v6 0/7] drm/i915/xe3: FBC Dirty rect feature support Vinod Govindapillai
2025-01-30 21:00 ` [PATCH v6 1/7] drm/i915/xe3: add register definitions for fbc dirty rect support Vinod Govindapillai
2025-02-05 9:42 ` Kandpal, Suraj
2025-01-30 21:00 ` [PATCH v6 2/7] drm/i915/xe3: introduce HAS_FBC_DIRTY_RECT() for FBC " Vinod Govindapillai
2025-02-05 9:43 ` Kandpal, Suraj
2025-01-30 21:00 ` [PATCH v6 3/7] drm/damage-helper: add const qualifier in drm_atomic_helper_damage_merged() Vinod Govindapillai
2025-02-04 9:08 ` Jani Nikula
2025-01-30 21:00 ` [PATCH v6 4/7] drm/i915/xe3: update and store the plane damage clips Vinod Govindapillai
2025-02-05 9:39 ` Kandpal, Suraj
2025-02-05 10:08 ` Jani Nikula
2025-02-05 11:21 ` Govindapillai, Vinod
2025-02-05 12:43 ` Ville Syrjälä
2025-02-05 13:29 ` Govindapillai, Vinod
2025-02-05 14:05 ` Ville Syrjälä
2025-01-30 21:00 ` [PATCH v6 5/7] drm/i915/xe3: dirty rect support for FBC Vinod Govindapillai
2025-02-05 13:31 ` Ville Syrjälä
2025-02-05 14:49 ` Govindapillai, Vinod
2025-02-05 15:45 ` Ville Syrjälä
2025-02-10 12:15 ` Govindapillai, Vinod
2025-02-10 21:49 ` Govindapillai, Vinod
2025-01-30 21:00 ` [PATCH v6 6/7] drm/i915/xe3: avoid calling fbc activate if fbc is active Vinod Govindapillai
2025-01-30 21:00 ` [PATCH v6 7/7] drm/i915/xe3: disable FBC if PSR2 selective fetch is enabled Vinod Govindapillai
2025-02-05 9:58 ` Kandpal, Suraj
2025-01-30 21:09 ` ✓ CI.Patch_applied: success for drm/i915/xe3: FBC Dirty rect feature support (rev7) Patchwork
2025-01-30 21:10 ` ✗ CI.checkpatch: warning " Patchwork
2025-01-30 21:11 ` ✓ CI.KUnit: success " Patchwork
2025-01-30 21:27 ` ✓ CI.Build: " Patchwork
2025-01-30 21:30 ` ✓ CI.Hooks: " Patchwork
2025-01-30 21:31 ` ✗ CI.checksparse: warning " Patchwork
2025-01-31 6:34 ` ✓ Xe.CI.BAT: success " Patchwork
2025-01-31 7:30 ` ✗ Xe.CI.Full: failure " Patchwork
2025-02-04 9:09 ` [PATCH v6 0/7] drm/i915/xe3: FBC Dirty rect feature support Jani Nikula
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox