* [PATCH 0/4] Expose modifiers/formats supported by async flips
@ 2024-11-05 10:26 Arun R Murthy
2024-11-05 10:26 ` [PATCH 1/4] drm/plane: Add new plane property IN_FORMATS_ASYNC Arun R Murthy
` (7 more replies)
0 siblings, 8 replies; 19+ messages in thread
From: Arun R Murthy @ 2024-11-05 10:26 UTC (permalink / raw)
To: intel-xe, intel-gfx, dri-devel; +Cc: Arun R Murthy
All of the formats/modifiers supported by the plane during synchronous
flips are nor supported by asynchronous flips. The formats/modifiers
exposed to user by IN_FORMATS exposes all formats/modifiers supported by
plane and this list varies for async flips. If the async flip supported
formats/modifiers are exposed to the user, user based on this list can
take decision to proceed or not and avoid flip failures during async
flips.
Discussion around this can be located @
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29618#note_2487123
Userspace implementation for IN_FORMARTS_ASYNC under review @
https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4063
Arun R Murthy (4):
drm/plane: Add new plane property IN_FORMATS_ASYNC
drm/i915/fb: Add async field to the modifiers description
drm/i915/display: Add async_flip flag in get_modifiers
drm/i915/display: Add async supported formats/modifiers
drivers/gpu/drm/drm_mode_config.c | 7 ++
drivers/gpu/drm/drm_plane.c | 73 +++++++++++++++++++
drivers/gpu/drm/i915/display/i9xx_plane.c | 2 +-
drivers/gpu/drm/i915/display/intel_cursor.c | 2 +-
drivers/gpu/drm/i915/display/intel_fb.c | 53 ++++++++++++--
drivers/gpu/drm/i915/display/intel_fb.h | 4 +-
drivers/gpu/drm/i915/display/intel_sprite.c | 2 +-
.../drm/i915/display/skl_universal_plane.c | 25 ++++++-
include/drm/drm_mode_config.h | 6 ++
include/drm/drm_plane.h | 10 +++
10 files changed, 172 insertions(+), 12 deletions(-)
--
2.25.1
^ permalink raw reply [flat|nested] 19+ messages in thread
* [PATCH 1/4] drm/plane: Add new plane property IN_FORMATS_ASYNC
2024-11-05 10:26 [PATCH 0/4] Expose modifiers/formats supported by async flips Arun R Murthy
@ 2024-11-05 10:26 ` Arun R Murthy
2024-11-06 14:00 ` Ville Syrjälä
2024-11-05 10:26 ` [PATCH 2/4] drm/i915/fb: Add async field to the modifiers description Arun R Murthy
` (6 subsequent siblings)
7 siblings, 1 reply; 19+ messages in thread
From: Arun R Murthy @ 2024-11-05 10:26 UTC (permalink / raw)
To: intel-xe, intel-gfx, dri-devel; +Cc: Arun R Murthy
There exists a property IN_FORMATS which exposes the plane supported
modifiers/formats to the user. In some platforms when asynchronous flips
are used all of modifiers/formats mentioned in IN_FORMATS are not
supported. This patch adds a new plane property IN_FORMATS_ASYNC to
expose the async flips supported modifiers/formats so that user can use
this information ahead and done flips with unsupported
formats/modifiers. This will save flips failures.
Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
---
drivers/gpu/drm/drm_mode_config.c | 7 +++
drivers/gpu/drm/drm_plane.c | 73 +++++++++++++++++++++++++++++++
include/drm/drm_mode_config.h | 6 +++
include/drm/drm_plane.h | 10 +++++
4 files changed, 96 insertions(+)
diff --git a/drivers/gpu/drm/drm_mode_config.c b/drivers/gpu/drm/drm_mode_config.c
index 37d2e0a4ef4b..cff189a2e751 100644
--- a/drivers/gpu/drm/drm_mode_config.c
+++ b/drivers/gpu/drm/drm_mode_config.c
@@ -379,6 +379,13 @@ static int drm_mode_create_standard_properties(struct drm_device *dev)
return -ENOMEM;
dev->mode_config.size_hints_property = prop;
+ prop = drm_property_create(dev,
+ DRM_MODE_PROP_IMMUTABLE | DRM_MODE_PROP_BLOB,
+ "IN_FORMATS_ASYNC", 0);
+ if (!prop)
+ return -ENOMEM;
+ dev->mode_config.async_modifiers_property = prop;
+
return 0;
}
diff --git a/drivers/gpu/drm/drm_plane.c b/drivers/gpu/drm/drm_plane.c
index a28b22fdd7a4..01b8e6932fda 100644
--- a/drivers/gpu/drm/drm_plane.c
+++ b/drivers/gpu/drm/drm_plane.c
@@ -141,6 +141,12 @@
* various bugs in this area with inconsistencies between the capability
* flag and per-plane properties.
*
+ * IN_FORMATS_ASYNC:
+ * Blob property which contains the set of buffer format and modifier
+ * pairs supported by this plane for asynchronous flips. The blob is a struct
+ * drm_format_modifier_blob. Without this property the plane doesn't
+ * support buffers with modifiers. Userspace cannot change this property.
+ *
* SIZE_HINTS:
* Blob property which contains the set of recommended plane size
* which can used for simple "cursor like" use cases (eg. no scaling).
@@ -249,6 +255,70 @@ static int create_in_format_blob(struct drm_device *dev, struct drm_plane *plane
return 0;
}
+static int create_in_format_async_blob(struct drm_device *dev, struct drm_plane *plane)
+{
+ const struct drm_mode_config *config = &dev->mode_config;
+ struct drm_property_blob *blob;
+ struct drm_format_modifier *async_mod;
+ size_t blob_size, async_formats_size, async_modifiers_size;
+ struct drm_format_modifier_blob *blob_data;
+ unsigned int i, j;
+
+ async_formats_size = sizeof(__u32) * plane->async_format_count;
+ if (WARN_ON(!async_formats_size)) {
+ /* 0 formats are never expected */
+ return 0;
+ }
+
+ async_modifiers_size =
+ sizeof(struct drm_format_modifier) * plane->async_modifier_count;
+
+ blob_size = sizeof(struct drm_format_modifier_blob);
+ /* Modifiers offset is a pointer to a struct with a 64 bit field so it
+ * should be naturally aligned to 8B.
+ */
+ BUILD_BUG_ON(sizeof(struct drm_format_modifier_blob) % 8);
+ blob_size += ALIGN(async_formats_size, 8);
+ blob_size += async_modifiers_size;
+
+ blob = drm_property_create_blob(dev, blob_size, NULL);
+ if (IS_ERR(blob))
+ return -1;
+
+ blob_data = blob->data;
+ blob_data->version = FORMAT_BLOB_CURRENT;
+ blob_data->count_formats = plane->async_format_count;
+ blob_data->formats_offset = sizeof(struct drm_format_modifier_blob);
+ blob_data->count_modifiers = plane->async_modifier_count;
+
+ blob_data->modifiers_offset =
+ ALIGN(blob_data->formats_offset + async_formats_size, 8);
+
+ memcpy(formats_ptr(blob_data), plane->async_format_types, async_formats_size);
+
+ async_mod = modifiers_ptr(blob_data);
+ for (i = 0; i < plane->async_modifier_count; i++) {
+ for (j = 0; j < plane->async_format_count; j++) {
+ if (!plane->funcs->format_mod_supported ||
+ plane->funcs->format_mod_supported(plane,
+ plane->async_format_types[j],
+ plane->async_modifiers[i])) {
+ async_mod->formats |= 1ULL << j;
+ }
+ }
+
+ async_mod->modifier = plane->async_modifiers[i];
+ async_mod->offset = 0;
+ async_mod->pad = 0;
+ async_mod++;
+ }
+
+ drm_object_attach_property(&plane->base, config->async_modifiers_property,
+ blob->base.id);
+
+ return 0;
+}
+
/**
* DOC: hotspot properties
*
@@ -472,6 +542,9 @@ static int __drm_universal_plane_init(struct drm_device *dev,
if (format_modifier_count)
create_in_format_blob(dev, plane);
+ if (plane->async_modifier_count)
+ create_in_format_async_blob(dev, plane);
+
return 0;
}
diff --git a/include/drm/drm_mode_config.h b/include/drm/drm_mode_config.h
index 271765e2e9f2..0c116d6dfd27 100644
--- a/include/drm/drm_mode_config.h
+++ b/include/drm/drm_mode_config.h
@@ -936,6 +936,12 @@ struct drm_mode_config {
*/
struct drm_property *modifiers_property;
+ /**
+ * @async_modifiers_property: Plane property to list support modifier/format
+ * combination for asynchronous flips.
+ */
+ struct drm_property *async_modifiers_property;
+
/**
* @size_hints_property: Plane SIZE_HINTS property.
*/
diff --git a/include/drm/drm_plane.h b/include/drm/drm_plane.h
index dd718c62ac31..d9571265251a 100644
--- a/include/drm/drm_plane.h
+++ b/include/drm/drm_plane.h
@@ -658,11 +658,21 @@ struct drm_plane {
*/
bool format_default;
+ /** @format_types: array of formats supported by this plane */
+ uint32_t *async_format_types;
+ /** @format_count: Size of the array pointed at by @format_types. */
+ unsigned int async_format_count;
+
/** @modifiers: array of modifiers supported by this plane */
uint64_t *modifiers;
/** @modifier_count: Size of the array pointed at by @modifier_count. */
unsigned int modifier_count;
+ /** @modifiers: array of modifiers supported by this plane */
+ uint64_t *async_modifiers;
+ /** @modifier_count: Size of the array pointed at by @modifier_count. */
+ unsigned int async_modifier_count;
+
/**
* @crtc:
*
--
2.25.1
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH 2/4] drm/i915/fb: Add async field to the modifiers description
2024-11-05 10:26 [PATCH 0/4] Expose modifiers/formats supported by async flips Arun R Murthy
2024-11-05 10:26 ` [PATCH 1/4] drm/plane: Add new plane property IN_FORMATS_ASYNC Arun R Murthy
@ 2024-11-05 10:26 ` Arun R Murthy
2024-11-05 10:26 ` [PATCH 3/4] drm/i915/display: Add async_flip flag in get_modifiers Arun R Murthy
` (5 subsequent siblings)
7 siblings, 0 replies; 19+ messages in thread
From: Arun R Murthy @ 2024-11-05 10:26 UTC (permalink / raw)
To: intel-xe, intel-gfx, dri-devel; +Cc: Arun R Murthy
Few of the modifiers are not supported with async flip. Add an element
async_flip to say if the modifier supports asynchronous flips.
Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
---
drivers/gpu/drm/i915/display/intel_fb.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/drivers/gpu/drm/i915/display/intel_fb.c b/drivers/gpu/drm/i915/display/intel_fb.c
index 6a7060889f40..f05e0c444618 100644
--- a/drivers/gpu/drm/i915/display/intel_fb.c
+++ b/drivers/gpu/drm/i915/display/intel_fb.c
@@ -231,6 +231,7 @@ struct intel_modifier_desc {
u8 packed_aux_planes:4;
u8 planar_aux_planes:4;
} ccs;
+ bool async_flip;
};
#define INTEL_PLANE_CAP_CCS_MASK (INTEL_PLANE_CAP_CCS_RC | \
@@ -247,10 +248,12 @@ static const struct intel_modifier_desc intel_modifiers[] = {
.modifier = I915_FORMAT_MOD_4_TILED_LNL_CCS,
.display_ver = { 20, -1 },
.plane_caps = INTEL_PLANE_CAP_TILING_4,
+ .async_flip = true,
}, {
.modifier = I915_FORMAT_MOD_4_TILED_BMG_CCS,
.display_ver = { 14, -1 },
.plane_caps = INTEL_PLANE_CAP_TILING_4 | INTEL_PLANE_CAP_NEED64K_PHYS,
+ .async_flip = true,
}, {
.modifier = I915_FORMAT_MOD_4_TILED_MTL_MC_CCS,
.display_ver = { 14, 14 },
@@ -268,6 +271,7 @@ static const struct intel_modifier_desc intel_modifiers[] = {
.ccs.packed_aux_planes = BIT(1),
FORMAT_OVERRIDE(gen12_ccs_formats),
+ .async_flip = true,
}, {
.modifier = I915_FORMAT_MOD_4_TILED_MTL_RC_CCS_CC,
.display_ver = { 14, 14 },
@@ -293,10 +297,12 @@ static const struct intel_modifier_desc intel_modifiers[] = {
.modifier = I915_FORMAT_MOD_4_TILED_DG2_RC_CCS,
.display_ver = { 13, 13 },
.plane_caps = INTEL_PLANE_CAP_TILING_4 | INTEL_PLANE_CAP_CCS_RC,
+ .async_flip = true,
}, {
.modifier = I915_FORMAT_MOD_4_TILED,
.display_ver = { 13, -1 },
.plane_caps = INTEL_PLANE_CAP_TILING_4,
+ .async_flip = true,
}, {
.modifier = I915_FORMAT_MOD_Y_TILED_GEN12_MC_CCS,
.display_ver = { 12, 13 },
@@ -314,6 +320,7 @@ static const struct intel_modifier_desc intel_modifiers[] = {
.ccs.packed_aux_planes = BIT(1),
FORMAT_OVERRIDE(gen12_ccs_formats),
+ .async_flip = true,
}, {
.modifier = I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS_CC,
.display_ver = { 12, 13 },
@@ -331,6 +338,7 @@ static const struct intel_modifier_desc intel_modifiers[] = {
.ccs.packed_aux_planes = BIT(1),
FORMAT_OVERRIDE(skl_ccs_formats),
+ .async_flip = true,
}, {
.modifier = I915_FORMAT_MOD_Y_TILED_CCS,
.display_ver = { 9, 11 },
@@ -339,21 +347,26 @@ static const struct intel_modifier_desc intel_modifiers[] = {
.ccs.packed_aux_planes = BIT(1),
FORMAT_OVERRIDE(skl_ccs_formats),
+ .async_flip = true,
}, {
.modifier = I915_FORMAT_MOD_Yf_TILED,
.display_ver = { 9, 11 },
.plane_caps = INTEL_PLANE_CAP_TILING_Yf,
+ .async_flip = true,
}, {
.modifier = I915_FORMAT_MOD_Y_TILED,
.display_ver = { 9, 13 },
.plane_caps = INTEL_PLANE_CAP_TILING_Y,
+ .async_flip = true,
}, {
.modifier = I915_FORMAT_MOD_X_TILED,
.display_ver = { 0, 29 },
.plane_caps = INTEL_PLANE_CAP_TILING_X,
+ .async_flip = true,
}, {
.modifier = DRM_FORMAT_MOD_LINEAR,
.display_ver = DISPLAY_VER_ALL,
+ .async_flip = true,
},
};
--
2.25.1
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH 3/4] drm/i915/display: Add async_flip flag in get_modifiers
2024-11-05 10:26 [PATCH 0/4] Expose modifiers/formats supported by async flips Arun R Murthy
2024-11-05 10:26 ` [PATCH 1/4] drm/plane: Add new plane property IN_FORMATS_ASYNC Arun R Murthy
2024-11-05 10:26 ` [PATCH 2/4] drm/i915/fb: Add async field to the modifiers description Arun R Murthy
@ 2024-11-05 10:26 ` Arun R Murthy
2024-11-05 10:26 ` [PATCH 4/4] drm/i915/display: Add async supported formats/modifiers Arun R Murthy
` (4 subsequent siblings)
7 siblings, 0 replies; 19+ messages in thread
From: Arun R Murthy @ 2024-11-05 10:26 UTC (permalink / raw)
To: intel-xe, intel-gfx, dri-devel; +Cc: Arun R Murthy
get_modifiers will get the list of modifiers supported by the plane. Add
a flag async_flip to fetch only the async_flip supported modifiers.
Also expose function to get the number of modifiers supported by the
platform.
Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
---
drivers/gpu/drm/i915/display/i9xx_plane.c | 2 +-
drivers/gpu/drm/i915/display/intel_cursor.c | 2 +-
drivers/gpu/drm/i915/display/intel_fb.c | 40 +++++++++++++++----
drivers/gpu/drm/i915/display/intel_fb.h | 4 +-
drivers/gpu/drm/i915/display/intel_sprite.c | 2 +-
.../drm/i915/display/skl_universal_plane.c | 3 +-
6 files changed, 41 insertions(+), 12 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/i9xx_plane.c b/drivers/gpu/drm/i915/display/i9xx_plane.c
index 17a1e3801a85..08d8bb6c770e 100644
--- a/drivers/gpu/drm/i915/display/i9xx_plane.c
+++ b/drivers/gpu/drm/i915/display/i9xx_plane.c
@@ -973,7 +973,7 @@ intel_primary_plane_create(struct drm_i915_private *dev_priv, enum pipe pipe)
plane->disable_flip_done = ilk_primary_disable_flip_done;
}
- modifiers = intel_fb_plane_get_modifiers(dev_priv, INTEL_PLANE_CAP_TILING_X);
+ modifiers = intel_fb_plane_get_modifiers(dev_priv, INTEL_PLANE_CAP_TILING_X, false);
if (DISPLAY_VER(dev_priv) >= 5 || IS_G4X(dev_priv))
ret = drm_universal_plane_init(&dev_priv->drm, &plane->base,
diff --git a/drivers/gpu/drm/i915/display/intel_cursor.c b/drivers/gpu/drm/i915/display/intel_cursor.c
index 9ba77970dab7..a08f445fbcc7 100644
--- a/drivers/gpu/drm/i915/display/intel_cursor.c
+++ b/drivers/gpu/drm/i915/display/intel_cursor.c
@@ -1026,7 +1026,7 @@ intel_cursor_plane_create(struct drm_i915_private *dev_priv,
if (IS_I845G(dev_priv) || IS_I865G(dev_priv) || HAS_CUR_FBC(dev_priv))
cursor->cursor.size = ~0;
- modifiers = intel_fb_plane_get_modifiers(dev_priv, INTEL_PLANE_CAP_NONE);
+ modifiers = intel_fb_plane_get_modifiers(dev_priv, INTEL_PLANE_CAP_NONE, false);
ret = drm_universal_plane_init(&dev_priv->drm, &cursor->base,
0, &intel_cursor_plane_funcs,
diff --git a/drivers/gpu/drm/i915/display/intel_fb.c b/drivers/gpu/drm/i915/display/intel_fb.c
index f05e0c444618..fba1b6fb38ad 100644
--- a/drivers/gpu/drm/i915/display/intel_fb.c
+++ b/drivers/gpu/drm/i915/display/intel_fb.c
@@ -554,7 +554,8 @@ static bool check_modifier_display_ver_range(const struct intel_modifier_desc *m
static bool plane_has_modifier(struct drm_i915_private *i915,
u8 plane_caps,
- const struct intel_modifier_desc *md)
+ const struct intel_modifier_desc *md,
+ bool is_async_flip)
{
if (!IS_DISPLAY_VER(i915, md->display_ver.from, md->display_ver.until))
return false;
@@ -562,6 +563,9 @@ static bool plane_has_modifier(struct drm_i915_private *i915,
if (!plane_caps_contain_all(plane_caps, md->plane_caps))
return false;
+ if (!(is_async_flip && md->async_flip))
+ return false;
+
/*
* Separate AuxCCS and Flat CCS modifiers to be run only on platforms
* where supported.
@@ -581,26 +585,48 @@ static bool plane_has_modifier(struct drm_i915_private *i915,
return true;
}
+/**
+ * intel_fb_plane_get_modifiers_count - return the number of supported modifiers for a
+ * given platform and plane capabilities
+ * @i915: i915 device instance
+ * @plane_caps: capabilities for the plane the modifiers are queried for
+ * @async_flip: flag to convey modifiers that support async flip
+ *
+ * Returns:
+ * Returns the number for modifiers supported by the @i915 platform and @plane_caps
+ * with/without @async_flip.
+ */
+int intel_fb_plane_get_modifiers_count(struct drm_i915_private *i915,
+ u8 plane_caps, bool async_flip)
+{
+ int count = 1;
+ int i;
+
+ for (i = 0; i < ARRAY_SIZE(intel_modifiers); i++) {
+ if (plane_has_modifier(i915, plane_caps, &intel_modifiers[i], async_flip))
+ count++;
+ }
+ return count;
+}
+
/**
* intel_fb_plane_get_modifiers: Get the modifiers for the given platform and plane capabilities
* @i915: i915 device instance
* @plane_caps: capabilities for the plane the modifiers are queried for
+ * @async_flip: flag to convey modifiers that support async flip
*
* Returns:
* Returns the list of modifiers allowed by the @i915 platform and @plane_caps.
* The caller must free the returned buffer.
*/
u64 *intel_fb_plane_get_modifiers(struct drm_i915_private *i915,
- u8 plane_caps)
+ u8 plane_caps, bool async_flip)
{
u64 *list, *p;
int count = 1; /* +1 for invalid modifier terminator */
int i;
- for (i = 0; i < ARRAY_SIZE(intel_modifiers); i++) {
- if (plane_has_modifier(i915, plane_caps, &intel_modifiers[i]))
- count++;
- }
+ count = intel_fb_plane_get_modifiers_count(i915, plane_caps, async_flip);
list = kmalloc_array(count, sizeof(*list), GFP_KERNEL);
if (drm_WARN_ON(&i915->drm, !list))
@@ -608,7 +634,7 @@ u64 *intel_fb_plane_get_modifiers(struct drm_i915_private *i915,
p = list;
for (i = 0; i < ARRAY_SIZE(intel_modifiers); i++) {
- if (plane_has_modifier(i915, plane_caps, &intel_modifiers[i]))
+ if (plane_has_modifier(i915, plane_caps, &intel_modifiers[i], async_flip))
*p++ = intel_modifiers[i].modifier;
}
*p++ = DRM_FORMAT_MOD_INVALID;
diff --git a/drivers/gpu/drm/i915/display/intel_fb.h b/drivers/gpu/drm/i915/display/intel_fb.h
index d78993e5eb62..4ae7cc75fe77 100644
--- a/drivers/gpu/drm/i915/display/intel_fb.h
+++ b/drivers/gpu/drm/i915/display/intel_fb.h
@@ -41,8 +41,10 @@ bool intel_fb_is_tile4_modifier(u64 modifier);
bool intel_fb_is_ccs_aux_plane(const struct drm_framebuffer *fb, int color_plane);
int intel_fb_rc_ccs_cc_plane(const struct drm_framebuffer *fb);
+int intel_fb_plane_get_modifiers_count(struct drm_i915_private *i915,
+ u8 plane_caps, bool async_flip);
u64 *intel_fb_plane_get_modifiers(struct drm_i915_private *i915,
- u8 plane_caps);
+ u8 plane_caps, bool async_flip);
bool intel_fb_plane_supports_modifier(struct intel_plane *plane, u64 modifier);
const struct drm_format_info *
diff --git a/drivers/gpu/drm/i915/display/intel_sprite.c b/drivers/gpu/drm/i915/display/intel_sprite.c
index e6fadcef58e0..d1c5a3a3f13e 100644
--- a/drivers/gpu/drm/i915/display/intel_sprite.c
+++ b/drivers/gpu/drm/i915/display/intel_sprite.c
@@ -1685,7 +1685,7 @@ intel_sprite_plane_create(struct drm_i915_private *dev_priv,
plane->id = PLANE_SPRITE0 + sprite;
plane->frontbuffer_bit = INTEL_FRONTBUFFER(pipe, plane->id);
- modifiers = intel_fb_plane_get_modifiers(dev_priv, INTEL_PLANE_CAP_TILING_X);
+ modifiers = intel_fb_plane_get_modifiers(dev_priv, INTEL_PLANE_CAP_TILING_X, false);
ret = drm_universal_plane_init(display->drm, &plane->base,
0, plane_funcs,
diff --git a/drivers/gpu/drm/i915/display/skl_universal_plane.c b/drivers/gpu/drm/i915/display/skl_universal_plane.c
index 038ca2ec5d7a..54cf2c9374cb 100644
--- a/drivers/gpu/drm/i915/display/skl_universal_plane.c
+++ b/drivers/gpu/drm/i915/display/skl_universal_plane.c
@@ -2673,7 +2673,8 @@ skl_universal_plane_create(struct drm_i915_private *dev_priv,
plane_type = DRM_PLANE_TYPE_OVERLAY;
modifiers = intel_fb_plane_get_modifiers(dev_priv,
- skl_get_plane_caps(dev_priv, pipe, plane_id));
+ skl_get_plane_caps(dev_priv, pipe, plane_id),
+ false);
ret = drm_universal_plane_init(&dev_priv->drm, &plane->base,
0, plane_funcs,
--
2.25.1
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH 4/4] drm/i915/display: Add async supported formats/modifiers
2024-11-05 10:26 [PATCH 0/4] Expose modifiers/formats supported by async flips Arun R Murthy
` (2 preceding siblings ...)
2024-11-05 10:26 ` [PATCH 3/4] drm/i915/display: Add async_flip flag in get_modifiers Arun R Murthy
@ 2024-11-05 10:26 ` Arun R Murthy
2024-11-05 12:10 ` ✗ Fi.CI.CHECKPATCH: warning for Expose modifiers/formats supported by async flips Patchwork
` (3 subsequent siblings)
7 siblings, 0 replies; 19+ messages in thread
From: Arun R Murthy @ 2024-11-05 10:26 UTC (permalink / raw)
To: intel-xe, intel-gfx, dri-devel; +Cc: Arun R Murthy
Add the formats/modifiers supported by asynchronous flips by the
platform based on the plane capabilities.
Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
---
.../drm/i915/display/skl_universal_plane.c | 22 +++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/drivers/gpu/drm/i915/display/skl_universal_plane.c b/drivers/gpu/drm/i915/display/skl_universal_plane.c
index 54cf2c9374cb..bead0c01af10 100644
--- a/drivers/gpu/drm/i915/display/skl_universal_plane.c
+++ b/drivers/gpu/drm/i915/display/skl_universal_plane.c
@@ -27,6 +27,18 @@
#include "skl_watermark.h"
#include "pxp/intel_pxp.h"
+static u32 skl_async_plane_formats[] = {
+ DRM_FORMAT_RGB565,
+ DRM_FORMAT_XRGB8888,
+ DRM_FORMAT_XBGR8888,
+ DRM_FORMAT_ARGB8888,
+ DRM_FORMAT_ABGR8888,
+ DRM_FORMAT_XRGB2101010,
+ DRM_FORMAT_XBGR2101010,
+ DRM_FORMAT_XRGB16161616F,
+ DRM_FORMAT_XBGR16161616F,
+};
+
static const u32 skl_plane_formats[] = {
DRM_FORMAT_C8,
DRM_FORMAT_RGB565,
@@ -2660,6 +2672,9 @@ skl_universal_plane_create(struct drm_i915_private *dev_priv,
formats = skl_get_plane_formats(dev_priv, pipe,
plane_id, &num_formats);
+ plane->base.async_format_count = ARRAY_SIZE(skl_async_plane_formats);
+ plane->base.async_format_types = skl_async_plane_formats;
+
if (DISPLAY_VER(dev_priv) >= 12)
plane_funcs = &tgl_plane_funcs;
else if (DISPLAY_VER(dev_priv) == 11)
@@ -2672,6 +2687,13 @@ skl_universal_plane_create(struct drm_i915_private *dev_priv,
else
plane_type = DRM_PLANE_TYPE_OVERLAY;
+ plane->base.async_modifier_count = intel_fb_plane_get_modifiers_count(dev_priv,
+ skl_get_plane_caps(dev_priv, pipe, plane_id),
+ true);
+ plane->base.async_modifiers = intel_fb_plane_get_modifiers(dev_priv,
+ skl_get_plane_caps(dev_priv, pipe, plane_id),
+ true);
+
modifiers = intel_fb_plane_get_modifiers(dev_priv,
skl_get_plane_caps(dev_priv, pipe, plane_id),
false);
--
2.25.1
^ permalink raw reply related [flat|nested] 19+ messages in thread
* ✗ Fi.CI.CHECKPATCH: warning for Expose modifiers/formats supported by async flips
2024-11-05 10:26 [PATCH 0/4] Expose modifiers/formats supported by async flips Arun R Murthy
` (3 preceding siblings ...)
2024-11-05 10:26 ` [PATCH 4/4] drm/i915/display: Add async supported formats/modifiers Arun R Murthy
@ 2024-11-05 12:10 ` Patchwork
2024-11-05 12:10 ` ✗ Fi.CI.SPARSE: " Patchwork
` (2 subsequent siblings)
7 siblings, 0 replies; 19+ messages in thread
From: Patchwork @ 2024-11-05 12:10 UTC (permalink / raw)
To: Arun R Murthy; +Cc: intel-gfx
== Series Details ==
Series: Expose modifiers/formats supported by async flips
URL : https://patchwork.freedesktop.org/series/140935/
State : warning
== Summary ==
Error: dim checkpatch failed
7d835ef6b236 drm/plane: Add new plane property IN_FORMATS_ASYNC
-:158: CHECK:PREFER_KERNEL_TYPES: Prefer kernel type 'u32' over 'uint32_t'
#158: FILE: include/drm/drm_plane.h:662:
+ uint32_t *async_format_types;
-:168: CHECK:PREFER_KERNEL_TYPES: Prefer kernel type 'u64' over 'uint64_t'
#168: FILE: include/drm/drm_plane.h:672:
+ uint64_t *async_modifiers;
total: 0 errors, 0 warnings, 2 checks, 137 lines checked
4e8bf91fe858 drm/i915/fb: Add async field to the modifiers description
abe5736d332f drm/i915/display: Add async_flip flag in get_modifiers
dc0ca9af7913 drm/i915/display: Add async supported formats/modifiers
-:49: WARNING:LONG_LINE: line length of 123 exceeds 100 columns
#49: FILE: drivers/gpu/drm/i915/display/skl_universal_plane.c:2691:
+ skl_get_plane_caps(dev_priv, pipe, plane_id),
-:52: WARNING:LONG_LINE: line length of 112 exceeds 100 columns
#52: FILE: drivers/gpu/drm/i915/display/skl_universal_plane.c:2694:
+ skl_get_plane_caps(dev_priv, pipe, plane_id),
total: 0 errors, 2 warnings, 0 checks, 40 lines checked
^ permalink raw reply [flat|nested] 19+ messages in thread
* ✗ Fi.CI.SPARSE: warning for Expose modifiers/formats supported by async flips
2024-11-05 10:26 [PATCH 0/4] Expose modifiers/formats supported by async flips Arun R Murthy
` (4 preceding siblings ...)
2024-11-05 12:10 ` ✗ Fi.CI.CHECKPATCH: warning for Expose modifiers/formats supported by async flips Patchwork
@ 2024-11-05 12:10 ` Patchwork
2024-11-05 13:21 ` ✗ Fi.CI.BAT: failure " Patchwork
2024-11-18 7:48 ` [PATCHv2/3] " Arun R Murthy
7 siblings, 0 replies; 19+ messages in thread
From: Patchwork @ 2024-11-05 12:10 UTC (permalink / raw)
To: Arun R Murthy; +Cc: intel-gfx
== Series Details ==
Series: Expose modifiers/formats supported by async flips
URL : https://patchwork.freedesktop.org/series/140935/
State : warning
== Summary ==
Error: dim sparse failed
Sparse version: v0.6.2
Fast mode used, each commit won't be checked separately.
^ permalink raw reply [flat|nested] 19+ messages in thread
* ✗ Fi.CI.BAT: failure for Expose modifiers/formats supported by async flips
2024-11-05 10:26 [PATCH 0/4] Expose modifiers/formats supported by async flips Arun R Murthy
` (5 preceding siblings ...)
2024-11-05 12:10 ` ✗ Fi.CI.SPARSE: " Patchwork
@ 2024-11-05 13:21 ` Patchwork
2024-11-18 7:48 ` [PATCHv2/3] " Arun R Murthy
7 siblings, 0 replies; 19+ messages in thread
From: Patchwork @ 2024-11-05 13:21 UTC (permalink / raw)
To: Arun R Murthy; +Cc: intel-gfx
[-- Attachment #1: Type: text/plain, Size: 72900 bytes --]
== Series Details ==
Series: Expose modifiers/formats supported by async flips
URL : https://patchwork.freedesktop.org/series/140935/
State : failure
== Summary ==
CI Bug Log - changes from CI_DRM_15634 -> Patchwork_140935v1
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with Patchwork_140935v1 absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in Patchwork_140935v1, 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.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/index.html
Participating hosts (44 -> 45)
------------------------------
Additional (2): fi-skl-6600u fi-kbl-8809g
Missing (1): fi-snb-2520m
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in Patchwork_140935v1:
### IGT changes ###
#### Possible regressions ####
* igt@core_hotunplug@unbind-rebind:
- fi-cfl-guc: [PASS][1] -> [DMESG-WARN][2] +2 other tests dmesg-warn
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/fi-cfl-guc/igt@core_hotunplug@unbind-rebind.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-cfl-guc/igt@core_hotunplug@unbind-rebind.html
- bat-arls-2: [PASS][3] -> [DMESG-WARN][4] +2 other tests dmesg-warn
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-arls-2/igt@core_hotunplug@unbind-rebind.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-arls-2/igt@core_hotunplug@unbind-rebind.html
- fi-cfl-8700k: [PASS][5] -> [DMESG-WARN][6] +2 other tests dmesg-warn
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/fi-cfl-8700k/igt@core_hotunplug@unbind-rebind.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-cfl-8700k/igt@core_hotunplug@unbind-rebind.html
- fi-blb-e6850: [PASS][7] -> [DMESG-WARN][8] +2 other tests dmesg-warn
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/fi-blb-e6850/igt@core_hotunplug@unbind-rebind.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-blb-e6850/igt@core_hotunplug@unbind-rebind.html
- bat-adlp-6: [PASS][9] -> [DMESG-WARN][10] +2 other tests dmesg-warn
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-adlp-6/igt@core_hotunplug@unbind-rebind.html
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-adlp-6/igt@core_hotunplug@unbind-rebind.html
- fi-skl-6600u: NOTRUN -> [DMESG-WARN][11] +2 other tests dmesg-warn
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-skl-6600u/igt@core_hotunplug@unbind-rebind.html
- bat-jsl-3: [PASS][12] -> [DMESG-WARN][13] +2 other tests dmesg-warn
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-jsl-3/igt@core_hotunplug@unbind-rebind.html
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-jsl-3/igt@core_hotunplug@unbind-rebind.html
- bat-twl-2: [PASS][14] -> [DMESG-WARN][15] +2 other tests dmesg-warn
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-twl-2/igt@core_hotunplug@unbind-rebind.html
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-twl-2/igt@core_hotunplug@unbind-rebind.html
- fi-ivb-3770: [PASS][16] -> [DMESG-WARN][17] +2 other tests dmesg-warn
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/fi-ivb-3770/igt@core_hotunplug@unbind-rebind.html
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-ivb-3770/igt@core_hotunplug@unbind-rebind.html
- fi-elk-e7500: [PASS][18] -> [DMESG-WARN][19] +2 other tests dmesg-warn
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/fi-elk-e7500/igt@core_hotunplug@unbind-rebind.html
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-elk-e7500/igt@core_hotunplug@unbind-rebind.html
- fi-hsw-4770: [PASS][20] -> [DMESG-WARN][21] +2 other tests dmesg-warn
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/fi-hsw-4770/igt@core_hotunplug@unbind-rebind.html
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-hsw-4770/igt@core_hotunplug@unbind-rebind.html
- bat-mtlp-8: [PASS][22] -> [DMESG-WARN][23] +2 other tests dmesg-warn
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-mtlp-8/igt@core_hotunplug@unbind-rebind.html
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-mtlp-8/igt@core_hotunplug@unbind-rebind.html
* igt@fbdev@eof:
- bat-twl-1: [PASS][24] -> [SKIP][25] +3 other tests skip
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-twl-1/igt@fbdev@eof.html
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-twl-1/igt@fbdev@eof.html
* igt@fbdev@nullptr:
- bat-jsl-1: [PASS][26] -> [SKIP][27] +3 other tests skip
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-jsl-1/igt@fbdev@nullptr.html
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-jsl-1/igt@fbdev@nullptr.html
* igt@fbdev@read:
- bat-twl-2: [PASS][28] -> [SKIP][29] +3 other tests skip
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-twl-2/igt@fbdev@read.html
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-twl-2/igt@fbdev@read.html
- bat-jsl-3: [PASS][30] -> [SKIP][31] +3 other tests skip
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-jsl-3/igt@fbdev@read.html
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-jsl-3/igt@fbdev@read.html
* igt@gem_lmem_swapping@basic:
- bat-dg2-11: [PASS][32] -> [DMESG-WARN][33] +6 other tests dmesg-warn
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-dg2-11/igt@gem_lmem_swapping@basic.html
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-dg2-11/igt@gem_lmem_swapping@basic.html
- bat-dg2-14: [PASS][34] -> [DMESG-WARN][35] +6 other tests dmesg-warn
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-dg2-14/igt@gem_lmem_swapping@basic.html
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-dg2-14/igt@gem_lmem_swapping@basic.html
- bat-dg2-8: [PASS][36] -> [DMESG-WARN][37] +6 other tests dmesg-warn
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-dg2-8/igt@gem_lmem_swapping@basic.html
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-dg2-8/igt@gem_lmem_swapping@basic.html
* igt@i915_module_load@load:
- bat-jsl-1: [PASS][38] -> [DMESG-WARN][39] +2 other tests dmesg-warn
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-jsl-1/igt@i915_module_load@load.html
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-jsl-1/igt@i915_module_load@load.html
- bat-arls-1: [PASS][40] -> [DMESG-WARN][41] +2 other tests dmesg-warn
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-arls-1/igt@i915_module_load@load.html
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-arls-1/igt@i915_module_load@load.html
- fi-rkl-11600: [PASS][42] -> [DMESG-WARN][43] +2 other tests dmesg-warn
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/fi-rkl-11600/igt@i915_module_load@load.html
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-rkl-11600/igt@i915_module_load@load.html
- bat-dg2-13: [PASS][44] -> [DMESG-WARN][45]
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-dg2-13/igt@i915_module_load@load.html
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-dg2-13/igt@i915_module_load@load.html
- fi-tgl-1115g4: [PASS][46] -> [DMESG-WARN][47] +2 other tests dmesg-warn
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/fi-tgl-1115g4/igt@i915_module_load@load.html
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-tgl-1115g4/igt@i915_module_load@load.html
* igt@i915_module_load@reload:
- bat-arlh-3: [PASS][48] -> [DMESG-WARN][49] +2 other tests dmesg-warn
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-arlh-3/igt@i915_module_load@reload.html
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-arlh-3/igt@i915_module_load@reload.html
- fi-pnv-d510: [PASS][50] -> [DMESG-WARN][51] +2 other tests dmesg-warn
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/fi-pnv-d510/igt@i915_module_load@reload.html
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-pnv-d510/igt@i915_module_load@reload.html
- bat-dg1-7: [PASS][52] -> [DMESG-WARN][53] +6 other tests dmesg-warn
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-dg1-7/igt@i915_module_load@reload.html
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-dg1-7/igt@i915_module_load@reload.html
- fi-glk-j4005: [PASS][54] -> [DMESG-WARN][55] +2 other tests dmesg-warn
[54]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/fi-glk-j4005/igt@i915_module_load@reload.html
[55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-glk-j4005/igt@i915_module_load@reload.html
- bat-adlp-9: [PASS][56] -> [DMESG-WARN][57] +2 other tests dmesg-warn
[56]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-adlp-9/igt@i915_module_load@reload.html
[57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-adlp-9/igt@i915_module_load@reload.html
- bat-rpls-4: [PASS][58] -> [DMESG-WARN][59] +2 other tests dmesg-warn
[58]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-rpls-4/igt@i915_module_load@reload.html
[59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-rpls-4/igt@i915_module_load@reload.html
- fi-kbl-7567u: [PASS][60] -> [DMESG-WARN][61] +2 other tests dmesg-warn
[60]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/fi-kbl-7567u/igt@i915_module_load@reload.html
[61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-kbl-7567u/igt@i915_module_load@reload.html
- bat-twl-1: [PASS][62] -> [DMESG-WARN][63] +2 other tests dmesg-warn
[62]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-twl-1/igt@i915_module_load@reload.html
[63]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-twl-1/igt@i915_module_load@reload.html
- bat-apl-1: [PASS][64] -> [DMESG-WARN][65] +2 other tests dmesg-warn
[64]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-apl-1/igt@i915_module_load@reload.html
[65]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-apl-1/igt@i915_module_load@reload.html
- bat-rplp-1: [PASS][66] -> [DMESG-WARN][67] +2 other tests dmesg-warn
[66]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-rplp-1/igt@i915_module_load@reload.html
[67]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-rplp-1/igt@i915_module_load@reload.html
- fi-cfl-8109u: [PASS][68] -> [DMESG-WARN][69] +2 other tests dmesg-warn
[68]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/fi-cfl-8109u/igt@i915_module_load@reload.html
[69]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-cfl-8109u/igt@i915_module_load@reload.html
- fi-ilk-650: [PASS][70] -> [DMESG-WARN][71] +2 other tests dmesg-warn
[70]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/fi-ilk-650/igt@i915_module_load@reload.html
[71]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-ilk-650/igt@i915_module_load@reload.html
* igt@i915_pm_rpm@module-reload:
- bat-adlp-6: [PASS][72] -> [FAIL][73] +130 other tests fail
[72]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-adlp-6/igt@i915_pm_rpm@module-reload.html
[73]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-adlp-6/igt@i915_pm_rpm@module-reload.html
* igt@i915_selftest@live@gt_lrc:
- bat-twl-1: [PASS][74] -> [INCOMPLETE][75] +1 other test incomplete
[74]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-twl-1/igt@i915_selftest@live@gt_lrc.html
[75]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-twl-1/igt@i915_selftest@live@gt_lrc.html
* igt@kms_addfb_basic@addfb25-bad-modifier:
- fi-glk-j4005: [PASS][76] -> [FAIL][77] +95 other tests fail
[76]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/fi-glk-j4005/igt@kms_addfb_basic@addfb25-bad-modifier.html
[77]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-glk-j4005/igt@kms_addfb_basic@addfb25-bad-modifier.html
* igt@kms_addfb_basic@addfb25-modifier-no-flag:
- bat-arls-2: [PASS][78] -> [FAIL][79] +102 other tests fail
[78]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-arls-2/igt@kms_addfb_basic@addfb25-modifier-no-flag.html
[79]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-arls-2/igt@kms_addfb_basic@addfb25-modifier-no-flag.html
- bat-dg1-6: [PASS][80] -> [FAIL][81] +29 other tests fail
[80]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-dg1-6/igt@kms_addfb_basic@addfb25-modifier-no-flag.html
[81]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-dg1-6/igt@kms_addfb_basic@addfb25-modifier-no-flag.html
* igt@kms_addfb_basic@addfb25-x-tiled-legacy:
- fi-ilk-650: [PASS][82] -> [FAIL][83] +80 other tests fail
[82]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/fi-ilk-650/igt@kms_addfb_basic@addfb25-x-tiled-legacy.html
[83]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-ilk-650/igt@kms_addfb_basic@addfb25-x-tiled-legacy.html
* igt@kms_addfb_basic@addfb25-y-tiled-small-legacy:
- fi-kbl-x1275: [PASS][84] -> [FAIL][85] +37 other tests fail
[84]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/fi-kbl-x1275/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html
[85]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-kbl-x1275/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html
- bat-adlp-11: [PASS][86] -> [FAIL][87] +37 other tests fail
[86]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-adlp-11/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html
[87]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-adlp-11/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html
* igt@kms_addfb_basic@addfb25-yf-tiled-legacy:
- bat-arlh-3: [PASS][88] -> [FAIL][89] +102 other tests fail
[88]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-arlh-3/igt@kms_addfb_basic@addfb25-yf-tiled-legacy.html
[89]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-arlh-3/igt@kms_addfb_basic@addfb25-yf-tiled-legacy.html
* igt@kms_addfb_basic@bad-pitch-63:
- bat-adlm-1: [PASS][90] -> [FAIL][91] +38 other tests fail
[90]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-adlm-1/igt@kms_addfb_basic@bad-pitch-63.html
[91]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-adlm-1/igt@kms_addfb_basic@bad-pitch-63.html
* igt@kms_addfb_basic@basic:
- fi-hsw-4770: [PASS][92] -> [FAIL][93] +93 other tests fail
[92]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/fi-hsw-4770/igt@kms_addfb_basic@basic.html
[93]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-hsw-4770/igt@kms_addfb_basic@basic.html
* igt@kms_addfb_basic@bo-too-small:
- bat-kbl-2: [PASS][94] -> [FAIL][95] +38 other tests fail
[94]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-kbl-2/igt@kms_addfb_basic@bo-too-small.html
[95]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-kbl-2/igt@kms_addfb_basic@bo-too-small.html
* igt@kms_addfb_basic@framebuffer-vs-set-tiling:
- fi-rkl-11600: [PASS][96] -> [FAIL][97] +95 other tests fail
[96]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/fi-rkl-11600/igt@kms_addfb_basic@framebuffer-vs-set-tiling.html
[97]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-rkl-11600/igt@kms_addfb_basic@framebuffer-vs-set-tiling.html
* igt@kms_addfb_basic@invalid-get-prop-any:
- fi-kbl-guc: [PASS][98] -> [FAIL][99] +38 other tests fail
[98]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/fi-kbl-guc/igt@kms_addfb_basic@invalid-get-prop-any.html
[99]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-kbl-guc/igt@kms_addfb_basic@invalid-get-prop-any.html
* igt@kms_addfb_basic@invalid-set-prop:
- fi-ivb-3770: [PASS][100] -> [FAIL][101] +89 other tests fail
[100]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/fi-ivb-3770/igt@kms_addfb_basic@invalid-set-prop.html
[101]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-ivb-3770/igt@kms_addfb_basic@invalid-set-prop.html
* igt@kms_addfb_basic@invalid-set-prop-any:
- bat-dg2-9: [PASS][102] -> [FAIL][103] +28 other tests fail
[102]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-dg2-9/igt@kms_addfb_basic@invalid-set-prop-any.html
[103]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-dg2-9/igt@kms_addfb_basic@invalid-set-prop-any.html
* igt@kms_addfb_basic@too-high:
- bat-rpls-4: [PASS][104] -> [FAIL][105] +122 other tests fail
[104]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-rpls-4/igt@kms_addfb_basic@too-high.html
[105]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-rpls-4/igt@kms_addfb_basic@too-high.html
- fi-cfl-8109u: [PASS][106] -> [FAIL][107] +106 other tests fail
[106]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/fi-cfl-8109u/igt@kms_addfb_basic@too-high.html
[107]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-cfl-8109u/igt@kms_addfb_basic@too-high.html
- fi-kbl-8809g: NOTRUN -> [FAIL][108] +38 other tests fail
[108]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-kbl-8809g/igt@kms_addfb_basic@too-high.html
* igt@kms_addfb_basic@too-wide:
- bat-mtlp-6: [PASS][109] -> [FAIL][110] +28 other tests fail
[109]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-mtlp-6/igt@kms_addfb_basic@too-wide.html
[110]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-mtlp-6/igt@kms_addfb_basic@too-wide.html
* igt@kms_addfb_basic@unused-handle:
- bat-mtlp-8: [PASS][111] -> [FAIL][112] +102 other tests fail
[111]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-mtlp-8/igt@kms_addfb_basic@unused-handle.html
[112]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-mtlp-8/igt@kms_addfb_basic@unused-handle.html
- bat-arlh-2: [PASS][113] -> [FAIL][114] +27 other tests fail
[113]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-arlh-2/igt@kms_addfb_basic@unused-handle.html
[114]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-arlh-2/igt@kms_addfb_basic@unused-handle.html
* igt@kms_addfb_basic@unused-offsets:
- bat-dg2-14: [PASS][115] -> [FAIL][116] +96 other tests fail
[115]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-dg2-14/igt@kms_addfb_basic@unused-offsets.html
[116]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-dg2-14/igt@kms_addfb_basic@unused-offsets.html
- fi-elk-e7500: [PASS][117] -> [FAIL][118] +86 other tests fail
[117]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/fi-elk-e7500/igt@kms_addfb_basic@unused-offsets.html
[118]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-elk-e7500/igt@kms_addfb_basic@unused-offsets.html
- bat-dg2-8: [PASS][119] -> [FAIL][120] +98 other tests fail
[119]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-dg2-8/igt@kms_addfb_basic@unused-offsets.html
[120]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-dg2-8/igt@kms_addfb_basic@unused-offsets.html
- fi-bsw-nick: [PASS][121] -> [FAIL][122] +37 other tests fail
[121]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/fi-bsw-nick/igt@kms_addfb_basic@unused-offsets.html
[122]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-bsw-nick/igt@kms_addfb_basic@unused-offsets.html
* igt@kms_busy@basic@flip:
- fi-cfl-8700k: [PASS][123] -> [FAIL][124] +94 other tests fail
[123]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/fi-cfl-8700k/igt@kms_busy@basic@flip.html
[124]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-cfl-8700k/igt@kms_busy@basic@flip.html
* igt@kms_chamelium_frames@dp-crc-fast:
- bat-dg2-13: [PASS][125] -> [FAIL][126] +1 other test fail
[125]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-dg2-13/igt@kms_chamelium_frames@dp-crc-fast.html
[126]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-dg2-13/igt@kms_chamelium_frames@dp-crc-fast.html
* igt@kms_cursor_legacy@basic-flip-after-cursor-legacy:
- fi-blb-e6850: [PASS][127] -> [FAIL][128] +74 other tests fail
[127]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/fi-blb-e6850/igt@kms_cursor_legacy@basic-flip-after-cursor-legacy.html
[128]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-blb-e6850/igt@kms_cursor_legacy@basic-flip-after-cursor-legacy.html
* igt@kms_flip@basic-flip-vs-dpms:
- fi-cfl-guc: [PASS][129] -> [FAIL][130] +94 other tests fail
[129]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/fi-cfl-guc/igt@kms_flip@basic-flip-vs-dpms.html
[130]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-cfl-guc/igt@kms_flip@basic-flip-vs-dpms.html
* igt@kms_flip@basic-flip-vs-dpms@a-vga1:
- fi-pnv-d510: [PASS][131] -> [FAIL][132] +74 other tests fail
[131]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/fi-pnv-d510/igt@kms_flip@basic-flip-vs-dpms@a-vga1.html
[132]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-pnv-d510/igt@kms_flip@basic-flip-vs-dpms@a-vga1.html
* igt@kms_flip@basic-flip-vs-dpms@b-edp1:
- bat-jsl-3: [PASS][133] -> [FAIL][134] +103 other tests fail
[133]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-jsl-3/igt@kms_flip@basic-flip-vs-dpms@b-edp1.html
[134]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-jsl-3/igt@kms_flip@basic-flip-vs-dpms@b-edp1.html
* igt@kms_flip@basic-flip-vs-modeset@d-hdmi-a1:
- fi-tgl-1115g4: [PASS][135] -> [FAIL][136] +106 other tests fail
[135]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/fi-tgl-1115g4/igt@kms_flip@basic-flip-vs-modeset@d-hdmi-a1.html
[136]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-tgl-1115g4/igt@kms_flip@basic-flip-vs-modeset@d-hdmi-a1.html
* igt@kms_flip@basic-flip-vs-wf_vblank@a-edp1:
- bat-twl-2: [PASS][137] -> [FAIL][138] +103 other tests fail
[137]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-twl-2/igt@kms_flip@basic-flip-vs-wf_vblank@a-edp1.html
[138]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-twl-2/igt@kms_flip@basic-flip-vs-wf_vblank@a-edp1.html
* igt@kms_flip@basic-flip-vs-wf_vblank@a-hdmi-a2:
- bat-dg1-7: [PASS][139] -> [FAIL][140] +97 other tests fail
[139]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-dg1-7/igt@kms_flip@basic-flip-vs-wf_vblank@a-hdmi-a2.html
[140]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-dg1-7/igt@kms_flip@basic-flip-vs-wf_vblank@a-hdmi-a2.html
* igt@kms_pipe_crc_basic@compare-crc-sanitycheck-nv12@pipe-a-hdmi-a-2:
- bat-dg2-11: [PASS][141] -> [FAIL][142] +96 other tests fail
[141]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-dg2-11/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-nv12@pipe-a-hdmi-a-2.html
[142]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-dg2-11/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-nv12@pipe-a-hdmi-a-2.html
* igt@kms_pipe_crc_basic@compare-crc-sanitycheck-xr24@pipe-a-dp-1:
- bat-adlp-9: [PASS][143] -> [FAIL][144] +106 other tests fail
[143]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-adlp-9/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-xr24@pipe-a-dp-1.html
[144]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-adlp-9/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-xr24@pipe-a-dp-1.html
* igt@kms_pipe_crc_basic@hang-read-crc:
- bat-rplp-1: [PASS][145] -> [FAIL][146] +105 other tests fail
[145]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-rplp-1/igt@kms_pipe_crc_basic@hang-read-crc.html
[146]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-rplp-1/igt@kms_pipe_crc_basic@hang-read-crc.html
* igt@kms_pipe_crc_basic@hang-read-crc@pipe-b-hdmi-a-2:
- bat-arls-1: [PASS][147] -> [FAIL][148] +96 other tests fail
[147]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-arls-1/igt@kms_pipe_crc_basic@hang-read-crc@pipe-b-hdmi-a-2.html
[148]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-arls-1/igt@kms_pipe_crc_basic@hang-read-crc@pipe-b-hdmi-a-2.html
* igt@kms_pipe_crc_basic@hang-read-crc@pipe-c-edp-1:
- fi-skl-6600u: NOTRUN -> [FAIL][149] +99 other tests fail
[149]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-skl-6600u/igt@kms_pipe_crc_basic@hang-read-crc@pipe-c-edp-1.html
* igt@kms_pipe_crc_basic@read-crc@pipe-b-edp-1:
- bat-jsl-1: [PASS][150] -> [FAIL][151] +103 other tests fail
[150]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-jsl-1/igt@kms_pipe_crc_basic@read-crc@pipe-b-edp-1.html
[151]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-jsl-1/igt@kms_pipe_crc_basic@read-crc@pipe-b-edp-1.html
* igt@kms_pm_backlight@basic-brightness:
- bat-adlp-6: [PASS][152] -> [INCOMPLETE][153]
[152]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-adlp-6/igt@kms_pm_backlight@basic-brightness.html
[153]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-adlp-6/igt@kms_pm_backlight@basic-brightness.html
- fi-skl-6600u: NOTRUN -> [INCOMPLETE][154]
[154]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-skl-6600u/igt@kms_pm_backlight@basic-brightness.html
- bat-jsl-3: [PASS][155] -> [INCOMPLETE][156]
[155]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-jsl-3/igt@kms_pm_backlight@basic-brightness.html
[156]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-jsl-3/igt@kms_pm_backlight@basic-brightness.html
- bat-twl-2: [PASS][157] -> [INCOMPLETE][158]
[157]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-twl-2/igt@kms_pm_backlight@basic-brightness.html
[158]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-twl-2/igt@kms_pm_backlight@basic-brightness.html
- bat-mtlp-8: [PASS][159] -> [INCOMPLETE][160]
[159]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-mtlp-8/igt@kms_pm_backlight@basic-brightness.html
[160]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-mtlp-8/igt@kms_pm_backlight@basic-brightness.html
- bat-jsl-1: [PASS][161] -> [INCOMPLETE][162]
[161]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-jsl-1/igt@kms_pm_backlight@basic-brightness.html
[162]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-jsl-1/igt@kms_pm_backlight@basic-brightness.html
- bat-arlh-3: [PASS][163] -> [INCOMPLETE][164]
[163]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-arlh-3/igt@kms_pm_backlight@basic-brightness.html
[164]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-arlh-3/igt@kms_pm_backlight@basic-brightness.html
- bat-rplp-1: [PASS][165] -> [INCOMPLETE][166]
[165]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-rplp-1/igt@kms_pm_backlight@basic-brightness.html
[166]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-rplp-1/igt@kms_pm_backlight@basic-brightness.html
- bat-arls-2: [PASS][167] -> [INCOMPLETE][168]
[167]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-arls-2/igt@kms_pm_backlight@basic-brightness.html
[168]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-arls-2/igt@kms_pm_backlight@basic-brightness.html
* igt@kms_pm_rpm@basic-pci-d3-state:
- fi-kbl-7567u: [PASS][169] -> [FAIL][170] +94 other tests fail
[169]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/fi-kbl-7567u/igt@kms_pm_rpm@basic-pci-d3-state.html
[170]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-kbl-7567u/igt@kms_pm_rpm@basic-pci-d3-state.html
- bat-twl-1: [PASS][171] -> [FAIL][172] +103 other tests fail
[171]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-twl-1/igt@kms_pm_rpm@basic-pci-d3-state.html
[172]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-twl-1/igt@kms_pm_rpm@basic-pci-d3-state.html
- bat-apl-1: [PASS][173] -> [FAIL][174] +90 other tests fail
[173]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-apl-1/igt@kms_pm_rpm@basic-pci-d3-state.html
[174]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-apl-1/igt@kms_pm_rpm@basic-pci-d3-state.html
* igt@prime_vgem@basic-fence-flip:
- bat-arlh-3: [PASS][175] -> [SKIP][176]
[175]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-arlh-3/igt@prime_vgem@basic-fence-flip.html
[176]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-arlh-3/igt@prime_vgem@basic-fence-flip.html
#### Warnings ####
* igt@i915_pm_rpm@module-reload:
- fi-blb-e6850: [SKIP][177] -> [FAIL][178] +3 other tests fail
[177]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/fi-blb-e6850/igt@i915_pm_rpm@module-reload.html
[178]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-blb-e6850/igt@i915_pm_rpm@module-reload.html
- fi-pnv-d510: [SKIP][179] -> [FAIL][180] +3 other tests fail
[179]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/fi-pnv-d510/igt@i915_pm_rpm@module-reload.html
[180]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-pnv-d510/igt@i915_pm_rpm@module-reload.html
* igt@kms_addfb_basic@addfb25-framebuffer-vs-set-tiling:
- bat-dg1-6: [SKIP][181] ([i915#12311]) -> [FAIL][182] +8 other tests fail
[181]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-dg1-6/igt@kms_addfb_basic@addfb25-framebuffer-vs-set-tiling.html
[182]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-dg1-6/igt@kms_addfb_basic@addfb25-framebuffer-vs-set-tiling.html
* igt@kms_addfb_basic@addfb25-x-tiled-legacy:
- bat-mtlp-6: [SKIP][183] ([i915#4212] / [i915#9792]) -> [FAIL][184] +8 other tests fail
[183]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-mtlp-6/igt@kms_addfb_basic@addfb25-x-tiled-legacy.html
[184]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-mtlp-6/igt@kms_addfb_basic@addfb25-x-tiled-legacy.html
* igt@kms_addfb_basic@addfb25-x-tiled-mismatch-legacy:
- bat-dg2-11: [SKIP][185] ([i915#4212]) -> [FAIL][186] +7 other tests fail
[185]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-dg2-11/igt@kms_addfb_basic@addfb25-x-tiled-mismatch-legacy.html
[186]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-dg2-11/igt@kms_addfb_basic@addfb25-x-tiled-mismatch-legacy.html
* igt@kms_addfb_basic@addfb25-y-tiled-small-legacy:
- bat-dg2-9: [SKIP][187] ([i915#4212] / [i915#5190]) -> [FAIL][188]
[187]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-dg2-9/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html
[188]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-dg2-9/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html
- bat-arls-2: [SKIP][189] ([i915#10200] / [i915#12203]) -> [FAIL][190]
[189]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-arls-2/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html
[190]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-arls-2/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html
- bat-mtlp-6: [SKIP][191] ([i915#4212] / [i915#5190] / [i915#9792]) -> [FAIL][192]
[191]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-mtlp-6/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html
[192]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-mtlp-6/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html
- bat-dg2-11: [SKIP][193] ([i915#4212] / [i915#5190]) -> [FAIL][194]
[193]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-dg2-11/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html
[194]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-dg2-11/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html
- bat-dg2-14: [SKIP][195] ([i915#4212] / [i915#5190]) -> [FAIL][196]
[195]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-dg2-14/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html
[196]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-dg2-14/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html
- fi-bsw-nick: [SKIP][197] -> [FAIL][198]
[197]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/fi-bsw-nick/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html
[198]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-bsw-nick/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html
- fi-hsw-4770: [SKIP][199] ([i915#5190]) -> [FAIL][200]
[199]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/fi-hsw-4770/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html
[200]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-hsw-4770/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html
- bat-mtlp-8: [SKIP][201] ([i915#4212] / [i915#5190]) -> [FAIL][202]
[201]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-mtlp-8/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html
[202]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-mtlp-8/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html
- bat-dg2-8: [SKIP][203] ([i915#4212] / [i915#5190]) -> [FAIL][204]
[203]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-dg2-8/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html
[204]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-dg2-8/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html
- bat-arls-1: [SKIP][205] ([i915#10200] / [i915#12203]) -> [FAIL][206]
[205]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-arls-1/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html
[206]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-arls-1/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html
- bat-arlh-3: [SKIP][207] ([i915#11666] / [i915#12203]) -> [FAIL][208]
[207]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-arlh-3/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html
[208]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-arlh-3/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html
- bat-arlh-2: [SKIP][209] ([i915#10200] / [i915#11346] / [i915#11666] / [i915#12203]) -> [FAIL][210]
[209]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-arlh-2/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html
[210]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-arlh-2/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html
* igt@kms_addfb_basic@basic-x-tiled-legacy:
- bat-arlh-2: [SKIP][211] ([i915#10200] / [i915#11346] / [i915#11666]) -> [FAIL][212] +8 other tests fail
[211]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-arlh-2/igt@kms_addfb_basic@basic-x-tiled-legacy.html
[212]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-arlh-2/igt@kms_addfb_basic@basic-x-tiled-legacy.html
* igt@kms_addfb_basic@basic-y-tiled-legacy:
- bat-mtlp-8: [SKIP][213] ([i915#4212]) -> [FAIL][214] +8 other tests fail
[213]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-mtlp-8/igt@kms_addfb_basic@basic-y-tiled-legacy.html
[214]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-mtlp-8/igt@kms_addfb_basic@basic-y-tiled-legacy.html
- bat-dg2-8: [SKIP][215] ([i915#4212] / [i915#4215] / [i915#5190]) -> [FAIL][216]
[215]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-dg2-8/igt@kms_addfb_basic@basic-y-tiled-legacy.html
[216]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-dg2-8/igt@kms_addfb_basic@basic-y-tiled-legacy.html
- bat-arls-1: [SKIP][217] ([i915#10200]) -> [FAIL][218] +8 other tests fail
[217]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-arls-1/igt@kms_addfb_basic@basic-y-tiled-legacy.html
[218]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-arls-1/igt@kms_addfb_basic@basic-y-tiled-legacy.html
- bat-dg1-7: [SKIP][219] ([i915#4212] / [i915#4215]) -> [FAIL][220]
[219]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-dg1-7/igt@kms_addfb_basic@basic-y-tiled-legacy.html
[220]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-dg1-7/igt@kms_addfb_basic@basic-y-tiled-legacy.html
- bat-dg2-9: [SKIP][221] ([i915#4212] / [i915#4215] / [i915#5190]) -> [FAIL][222]
[221]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-dg2-9/igt@kms_addfb_basic@basic-y-tiled-legacy.html
[222]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-dg2-9/igt@kms_addfb_basic@basic-y-tiled-legacy.html
- bat-dg2-11: [SKIP][223] ([i915#4212] / [i915#4215] / [i915#5190]) -> [FAIL][224]
[223]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-dg2-11/igt@kms_addfb_basic@basic-y-tiled-legacy.html
[224]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-dg2-11/igt@kms_addfb_basic@basic-y-tiled-legacy.html
- bat-dg2-14: [SKIP][225] ([i915#4212] / [i915#4215] / [i915#5190]) -> [FAIL][226]
[225]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-dg2-14/igt@kms_addfb_basic@basic-y-tiled-legacy.html
[226]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-dg2-14/igt@kms_addfb_basic@basic-y-tiled-legacy.html
* igt@kms_addfb_basic@bo-too-small-due-to-tiling:
- bat-arlh-3: [SKIP][227] ([i915#11666]) -> [FAIL][228] +8 other tests fail
[227]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-arlh-3/igt@kms_addfb_basic@bo-too-small-due-to-tiling.html
[228]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-arlh-3/igt@kms_addfb_basic@bo-too-small-due-to-tiling.html
- bat-dg1-7: [SKIP][229] ([i915#4212]) -> [FAIL][230] +7 other tests fail
[229]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-dg1-7/igt@kms_addfb_basic@bo-too-small-due-to-tiling.html
[230]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-dg1-7/igt@kms_addfb_basic@bo-too-small-due-to-tiling.html
* igt@kms_addfb_basic@framebuffer-vs-set-tiling:
- bat-dg2-9: [SKIP][231] ([i915#4212]) -> [FAIL][232] +7 other tests fail
[231]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-dg2-9/igt@kms_addfb_basic@framebuffer-vs-set-tiling.html
[232]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-dg2-9/igt@kms_addfb_basic@framebuffer-vs-set-tiling.html
- bat-arls-2: [SKIP][233] ([i915#10200]) -> [FAIL][234] +8 other tests fail
[233]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-arls-2/igt@kms_addfb_basic@framebuffer-vs-set-tiling.html
[234]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-arls-2/igt@kms_addfb_basic@framebuffer-vs-set-tiling.html
* igt@kms_addfb_basic@tile-pitch-mismatch:
- bat-dg2-14: [SKIP][235] ([i915#4212]) -> [FAIL][236] +7 other tests fail
[235]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-dg2-14/igt@kms_addfb_basic@tile-pitch-mismatch.html
[236]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-dg2-14/igt@kms_addfb_basic@tile-pitch-mismatch.html
- bat-dg2-8: [SKIP][237] ([i915#4212]) -> [FAIL][238] +7 other tests fail
[237]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-dg2-8/igt@kms_addfb_basic@tile-pitch-mismatch.html
[238]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-dg2-8/igt@kms_addfb_basic@tile-pitch-mismatch.html
* igt@kms_pm_rpm@basic-pci-d3-state:
- fi-ilk-650: [SKIP][239] -> [FAIL][240] +3 other tests fail
[239]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/fi-ilk-650/igt@kms_pm_rpm@basic-pci-d3-state.html
[240]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-ilk-650/igt@kms_pm_rpm@basic-pci-d3-state.html
* igt@kms_pm_rpm@basic-rte:
- fi-ivb-3770: [SKIP][241] -> [FAIL][242] +3 other tests fail
[241]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/fi-ivb-3770/igt@kms_pm_rpm@basic-rte.html
[242]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-ivb-3770/igt@kms_pm_rpm@basic-rte.html
- fi-elk-e7500: [SKIP][243] -> [FAIL][244] +4 other tests fail
[243]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/fi-elk-e7500/igt@kms_pm_rpm@basic-rte.html
[244]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-elk-e7500/igt@kms_pm_rpm@basic-rte.html
* igt@kms_psr@psr-primary-mmap-gtt:
- bat-mtlp-8: [SKIP][245] ([i915#4077] / [i915#9688]) -> [FAIL][246] +1 other test fail
[245]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-mtlp-8/igt@kms_psr@psr-primary-mmap-gtt.html
[246]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-mtlp-8/igt@kms_psr@psr-primary-mmap-gtt.html
- bat-arlh-3: [SKIP][247] ([i915#12637]) -> [FAIL][248] +1 other test fail
[247]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-arlh-3/igt@kms_psr@psr-primary-mmap-gtt.html
[248]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-arlh-3/igt@kms_psr@psr-primary-mmap-gtt.html
* igt@kms_psr@psr-primary-mmap-gtt@edp-1:
- bat-arls-2: [SKIP][249] ([i915#12637] / [i915#4077] / [i915#9688]) -> [FAIL][250] +1 other test fail
[249]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-arls-2/igt@kms_psr@psr-primary-mmap-gtt@edp-1.html
[250]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-arls-2/igt@kms_psr@psr-primary-mmap-gtt@edp-1.html
* igt@kms_setmode@basic-clone-single-crtc:
- bat-rpls-4: [SKIP][251] ([i915#3555]) -> [INCOMPLETE][252]
[251]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-rpls-4/igt@kms_setmode@basic-clone-single-crtc.html
[252]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-rpls-4/igt@kms_setmode@basic-clone-single-crtc.html
- fi-cfl-8109u: [SKIP][253] -> [INCOMPLETE][254]
[253]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/fi-cfl-8109u/igt@kms_setmode@basic-clone-single-crtc.html
[254]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-cfl-8109u/igt@kms_setmode@basic-clone-single-crtc.html
- bat-adlp-6: [SKIP][255] ([i915#3555]) -> [INCOMPLETE][256]
[255]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-adlp-6/igt@kms_setmode@basic-clone-single-crtc.html
[256]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-adlp-6/igt@kms_setmode@basic-clone-single-crtc.html
#### Suppressed ####
The following results come from untrusted machines, tests, or statuses.
They do not affect the overall result.
* igt@core_hotunplug@unbind-rebind:
- {bat-mtlp-9}: [PASS][257] -> [DMESG-WARN][258] +2 other tests dmesg-warn
[257]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-mtlp-9/igt@core_hotunplug@unbind-rebind.html
[258]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-mtlp-9/igt@core_hotunplug@unbind-rebind.html
* igt@kms_addfb_basic@addfb25-y-tiled-small-legacy:
- {bat-mtlp-9}: [SKIP][259] ([i915#4212] / [i915#5190]) -> [FAIL][260]
[259]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-mtlp-9/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html
[260]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-mtlp-9/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html
* igt@kms_addfb_basic@basic-y-tiled-legacy:
- {bat-mtlp-9}: [SKIP][261] ([i915#4212]) -> [FAIL][262] +8 other tests fail
[261]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-mtlp-9/igt@kms_addfb_basic@basic-y-tiled-legacy.html
[262]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-mtlp-9/igt@kms_addfb_basic@basic-y-tiled-legacy.html
* igt@kms_pipe_crc_basic@compare-crc-sanitycheck-nv12@pipe-a-edp-1:
- {bat-mtlp-9}: [PASS][263] -> [FAIL][264] +134 other tests fail
[263]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-mtlp-9/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-nv12@pipe-a-edp-1.html
[264]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-mtlp-9/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-nv12@pipe-a-edp-1.html
* igt@kms_pm_backlight@basic-brightness:
- {bat-mtlp-9}: [PASS][265] -> [INCOMPLETE][266]
[265]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-mtlp-9/igt@kms_pm_backlight@basic-brightness.html
[266]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-mtlp-9/igt@kms_pm_backlight@basic-brightness.html
* igt@kms_psr@psr-primary-mmap-gtt:
- {bat-mtlp-9}: [SKIP][267] ([i915#4077] / [i915#9688]) -> [FAIL][268] +1 other test fail
[267]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-mtlp-9/igt@kms_psr@psr-primary-mmap-gtt.html
[268]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-mtlp-9/igt@kms_psr@psr-primary-mmap-gtt.html
* igt@kms_setmode@basic-clone-single-crtc:
- {bat-mtlp-9}: [SKIP][269] ([i915#3555] / [i915#8809]) -> [INCOMPLETE][270]
[269]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-mtlp-9/igt@kms_setmode@basic-clone-single-crtc.html
[270]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-mtlp-9/igt@kms_setmode@basic-clone-single-crtc.html
Known issues
------------
Here are the changes found in Patchwork_140935v1 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@fbdev@eof:
- bat-rpls-4: [PASS][271] -> [SKIP][272] ([i915#2582]) +3 other tests skip
[271]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-rpls-4/igt@fbdev@eof.html
[272]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-rpls-4/igt@fbdev@eof.html
- fi-kbl-7567u: [PASS][273] -> [SKIP][274] +4 other tests skip
[273]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/fi-kbl-7567u/igt@fbdev@eof.html
[274]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-kbl-7567u/igt@fbdev@eof.html
- bat-apl-1: [PASS][275] -> [SKIP][276] +4 other tests skip
[275]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-apl-1/igt@fbdev@eof.html
[276]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-apl-1/igt@fbdev@eof.html
- bat-rplp-1: [PASS][277] -> [SKIP][278] ([i915#2582]) +3 other tests skip
[277]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-rplp-1/igt@fbdev@eof.html
[278]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-rplp-1/igt@fbdev@eof.html
- fi-rkl-11600: [PASS][279] -> [SKIP][280] ([i915#2582]) +3 other tests skip
[279]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/fi-rkl-11600/igt@fbdev@eof.html
[280]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-rkl-11600/igt@fbdev@eof.html
- fi-cfl-8109u: [PASS][281] -> [SKIP][282] +4 other tests skip
[281]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/fi-cfl-8109u/igt@fbdev@eof.html
[282]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-cfl-8109u/igt@fbdev@eof.html
- bat-arls-2: [PASS][283] -> [SKIP][284] ([i915#11191] / [i915#11345]) +3 other tests skip
[283]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-arls-2/igt@fbdev@eof.html
[284]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-arls-2/igt@fbdev@eof.html
- fi-ilk-650: [PASS][285] -> [SKIP][286] +4 other tests skip
[285]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/fi-ilk-650/igt@fbdev@eof.html
[286]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-ilk-650/igt@fbdev@eof.html
- fi-tgl-1115g4: [PASS][287] -> [SKIP][288] ([i915#2582]) +3 other tests skip
[287]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/fi-tgl-1115g4/igt@fbdev@eof.html
[288]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-tgl-1115g4/igt@fbdev@eof.html
* igt@fbdev@info:
- fi-cfl-8109u: [PASS][289] -> [SKIP][290] ([i915#1849])
[289]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/fi-cfl-8109u/igt@fbdev@info.html
[290]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-cfl-8109u/igt@fbdev@info.html
- bat-arls-2: [PASS][291] -> [SKIP][292] ([i915#1849])
[291]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-arls-2/igt@fbdev@info.html
[292]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-arls-2/igt@fbdev@info.html
- fi-ilk-650: [PASS][293] -> [SKIP][294] ([i915#1849])
[293]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/fi-ilk-650/igt@fbdev@info.html
[294]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-ilk-650/igt@fbdev@info.html
- fi-blb-e6850: [PASS][295] -> [SKIP][296] ([i915#1849])
[295]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/fi-blb-e6850/igt@fbdev@info.html
[296]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-blb-e6850/igt@fbdev@info.html
- bat-adlp-6: [PASS][297] -> [SKIP][298] ([i915#1849] / [i915#2582])
[297]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-adlp-6/igt@fbdev@info.html
[298]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-adlp-6/igt@fbdev@info.html
- fi-skl-6600u: NOTRUN -> [SKIP][299] ([i915#1849])
[299]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-skl-6600u/igt@fbdev@info.html
- bat-jsl-3: [PASS][300] -> [SKIP][301] ([i915#1849])
[300]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-jsl-3/igt@fbdev@info.html
[301]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-jsl-3/igt@fbdev@info.html
- bat-twl-2: [PASS][302] -> [SKIP][303] ([i915#1849])
[302]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-twl-2/igt@fbdev@info.html
[303]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-twl-2/igt@fbdev@info.html
- bat-dg2-11: [PASS][304] -> [SKIP][305] ([i915#1849] / [i915#2582])
[304]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-dg2-11/igt@fbdev@info.html
[305]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-dg2-11/igt@fbdev@info.html
- fi-cfl-8700k: [PASS][306] -> [SKIP][307] ([i915#1849])
[306]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/fi-cfl-8700k/igt@fbdev@info.html
[307]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-cfl-8700k/igt@fbdev@info.html
- bat-dg2-14: [PASS][308] -> [SKIP][309] ([i915#1849] / [i915#2582])
[308]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-dg2-14/igt@fbdev@info.html
[309]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-dg2-14/igt@fbdev@info.html
- fi-elk-e7500: [PASS][310] -> [SKIP][311] ([i915#1849])
[310]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/fi-elk-e7500/igt@fbdev@info.html
[311]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-elk-e7500/igt@fbdev@info.html
- fi-hsw-4770: [PASS][312] -> [SKIP][313] ([i915#1849] / [i915#2582])
[312]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/fi-hsw-4770/igt@fbdev@info.html
[313]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-hsw-4770/igt@fbdev@info.html
- fi-ivb-3770: [PASS][314] -> [SKIP][315] ([i915#1849])
[314]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/fi-ivb-3770/igt@fbdev@info.html
[315]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-ivb-3770/igt@fbdev@info.html
- bat-mtlp-8: [PASS][316] -> [SKIP][317] ([i915#1849] / [i915#2582])
[316]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-mtlp-8/igt@fbdev@info.html
[317]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-mtlp-8/igt@fbdev@info.html
- bat-dg2-8: [PASS][318] -> [SKIP][319] ([i915#1849] / [i915#2582])
[318]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-dg2-8/igt@fbdev@info.html
[319]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-dg2-8/igt@fbdev@info.html
- bat-jsl-1: [PASS][320] -> [SKIP][321] ([i915#1849])
[320]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-jsl-1/igt@fbdev@info.html
[321]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-jsl-1/igt@fbdev@info.html
- bat-arls-1: [PASS][322] -> [SKIP][323] ([i915#1849])
[322]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-arls-1/igt@fbdev@info.html
[323]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-arls-1/igt@fbdev@info.html
- fi-rkl-11600: [PASS][324] -> [SKIP][325] ([i915#1849] / [i915#2582])
[324]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/fi-rkl-11600/igt@fbdev@info.html
[325]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-rkl-11600/igt@fbdev@info.html
- bat-arlh-3: [PASS][326] -> [SKIP][327] ([i915#1849])
[326]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-arlh-3/igt@fbdev@info.html
[327]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-arlh-3/igt@fbdev@info.html
- fi-pnv-d510: [PASS][328] -> [SKIP][329] ([i915#1849])
[328]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/fi-pnv-d510/igt@fbdev@info.html
[329]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-pnv-d510/igt@fbdev@info.html
- bat-dg1-7: [PASS][330] -> [SKIP][331] ([i915#1849] / [i915#2582])
[330]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-dg1-7/igt@fbdev@info.html
[331]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-dg1-7/igt@fbdev@info.html
- fi-glk-j4005: [PASS][332] -> [SKIP][333] ([i915#1849])
[332]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/fi-glk-j4005/igt@fbdev@info.html
[333]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-glk-j4005/igt@fbdev@info.html
- bat-adlp-9: [PASS][334] -> [SKIP][335] ([i915#1849] / [i915#2582])
[334]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-adlp-9/igt@fbdev@info.html
[335]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-adlp-9/igt@fbdev@info.html
- bat-rpls-4: [PASS][336] -> [SKIP][337] ([i915#1849] / [i915#2582])
[336]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-rpls-4/igt@fbdev@info.html
[337]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-rpls-4/igt@fbdev@info.html
- fi-kbl-7567u: [PASS][338] -> [SKIP][339] ([i915#1849])
[338]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/fi-kbl-7567u/igt@fbdev@info.html
[339]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-kbl-7567u/igt@fbdev@info.html
- bat-twl-1: [PASS][340] -> [SKIP][341] ([i915#1849])
[340]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-twl-1/igt@fbdev@info.html
[341]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-twl-1/igt@fbdev@info.html
- bat-apl-1: [PASS][342] -> [SKIP][343] ([i915#1849])
[342]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-apl-1/igt@fbdev@info.html
[343]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-apl-1/igt@fbdev@info.html
- bat-rplp-1: [PASS][344] -> [SKIP][345] ([i915#1849] / [i915#2582])
[344]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-rplp-1/igt@fbdev@info.html
[345]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-rplp-1/igt@fbdev@info.html
- fi-tgl-1115g4: [PASS][346] -> [SKIP][347] ([i915#1849] / [i915#2582])
[346]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/fi-tgl-1115g4/igt@fbdev@info.html
[347]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-tgl-1115g4/igt@fbdev@info.html
- fi-cfl-guc: [PASS][348] -> [SKIP][349] ([i915#1849])
[348]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/fi-cfl-guc/igt@fbdev@info.html
[349]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-cfl-guc/igt@fbdev@info.html
* igt@fbdev@nullptr:
- bat-arls-1: [PASS][350] -> [SKIP][351] ([i915#11191] / [i915#11345]) +3 other tests skip
[350]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-arls-1/igt@fbdev@nullptr.html
[351]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-arls-1/igt@fbdev@nullptr.html
- fi-hsw-4770: [PASS][352] -> [SKIP][353] ([i915#2582]) +3 other tests skip
[352]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/fi-hsw-4770/igt@fbdev@nullptr.html
[353]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-hsw-4770/igt@fbdev@nullptr.html
- bat-mtlp-8: [PASS][354] -> [SKIP][355] ([i915#2582]) +3 other tests skip
[354]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-mtlp-8/igt@fbdev@nullptr.html
[355]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-mtlp-8/igt@fbdev@nullptr.html
- bat-arlh-3: [PASS][356] -> [SKIP][357] ([i915#11345]) +3 other tests skip
[356]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-arlh-3/igt@fbdev@nullptr.html
[357]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-arlh-3/igt@fbdev@nullptr.html
- fi-pnv-d510: [PASS][358] -> [SKIP][359] +4 other tests skip
[358]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/fi-pnv-d510/igt@fbdev@nullptr.html
[359]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-pnv-d510/igt@fbdev@nullptr.html
- bat-dg1-7: [PASS][360] -> [SKIP][361] ([i915#2582]) +3 other tests skip
[360]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-dg1-7/igt@fbdev@nullptr.html
[361]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-dg1-7/igt@fbdev@nullptr.html
- bat-adlp-9: [PASS][362] -> [SKIP][363] ([i915#2582]) +3 other tests skip
[362]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-adlp-9/igt@fbdev@nullptr.html
[363]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-adlp-9/igt@fbdev@nullptr.html
* igt@fbdev@read:
- bat-dg2-11: [PASS][364] -> [SKIP][365] ([i915#2582]) +3 other tests skip
[364]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-dg2-11/igt@fbdev@read.html
[365]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-dg2-11/igt@fbdev@read.html
- fi-cfl-8700k: [PASS][366] -> [SKIP][367] +4 other tests skip
[366]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/fi-cfl-8700k/igt@fbdev@read.html
[367]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-cfl-8700k/igt@fbdev@read.html
- bat-dg2-14: [PASS][368] -> [SKIP][369] ([i915#2582]) +3 other tests skip
[368]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-dg2-14/igt@fbdev@read.html
[369]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-dg2-14/igt@fbdev@read.html
- bat-dg2-8: [PASS][370] -> [SKIP][371] ([i915#2582]) +3 other tests skip
[370]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-dg2-8/igt@fbdev@read.html
[371]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-dg2-8/igt@fbdev@read.html
* igt@fbdev@write:
- fi-blb-e6850: [PASS][372] -> [SKIP][373] +4 other tests skip
[372]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/fi-blb-e6850/igt@fbdev@write.html
[373]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-blb-e6850/igt@fbdev@write.html
- fi-cfl-guc: [PASS][374] -> [SKIP][375] +4 other tests skip
[374]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/fi-cfl-guc/igt@fbdev@write.html
[375]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-cfl-guc/igt@fbdev@write.html
- fi-skl-6600u: NOTRUN -> [SKIP][376] +14 other tests skip
[376]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-skl-6600u/igt@fbdev@write.html
- bat-adlp-6: [PASS][377] -> [SKIP][378] ([i915#2582]) +3 other tests skip
[377]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-adlp-6/igt@fbdev@write.html
[378]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-adlp-6/igt@fbdev@write.html
* igt@gem_huc_copy@huc-copy:
- fi-kbl-8809g: NOTRUN -> [SKIP][379] ([i915#2190])
[379]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-kbl-8809g/igt@gem_huc_copy@huc-copy.html
- fi-skl-6600u: NOTRUN -> [SKIP][380] ([i915#2190])
[380]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-skl-6600u/igt@gem_huc_copy@huc-copy.html
* igt@gem_lmem_swapping@parallel-random-engines:
- fi-kbl-8809g: NOTRUN -> [SKIP][381] ([i915#4613]) +3 other tests skip
[381]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-kbl-8809g/igt@gem_lmem_swapping@parallel-random-engines.html
* igt@gem_lmem_swapping@random-engines:
- fi-skl-6600u: NOTRUN -> [SKIP][382] ([i915#4613]) +3 other tests skip
[382]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-skl-6600u/igt@gem_lmem_swapping@random-engines.html
* igt@i915_selftest@live:
- bat-twl-1: [PASS][383] -> [INCOMPLETE][384] ([i915#12133])
[383]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-twl-1/igt@i915_selftest@live.html
[384]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-twl-1/igt@i915_selftest@live.html
- bat-mtlp-6: [PASS][385] -> [ABORT][386] ([i915#12061] / [i915#12133])
[385]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-mtlp-6/igt@i915_selftest@live.html
[386]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-mtlp-6/igt@i915_selftest@live.html
* igt@i915_selftest@live@workarounds:
- bat-mtlp-6: [PASS][387] -> [ABORT][388] ([i915#12061])
[387]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-mtlp-6/igt@i915_selftest@live@workarounds.html
[388]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-mtlp-6/igt@i915_selftest@live@workarounds.html
* igt@kms_dsc@dsc-basic:
- fi-kbl-8809g: NOTRUN -> [SKIP][389] +30 other tests skip
[389]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-kbl-8809g/igt@kms_dsc@dsc-basic.html
* igt@prime_vgem@basic-fence-flip:
- bat-jsl-3: [PASS][390] -> [SKIP][391]
[390]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-jsl-3/igt@prime_vgem@basic-fence-flip.html
[391]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-jsl-3/igt@prime_vgem@basic-fence-flip.html
- bat-twl-2: [PASS][392] -> [SKIP][393] ([i915#3708])
[392]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-twl-2/igt@prime_vgem@basic-fence-flip.html
[393]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-twl-2/igt@prime_vgem@basic-fence-flip.html
- fi-ivb-3770: [PASS][394] -> [SKIP][395] +4 other tests skip
[394]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/fi-ivb-3770/igt@prime_vgem@basic-fence-flip.html
[395]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-ivb-3770/igt@prime_vgem@basic-fence-flip.html
- fi-elk-e7500: [PASS][396] -> [SKIP][397] +4 other tests skip
[396]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/fi-elk-e7500/igt@prime_vgem@basic-fence-flip.html
[397]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-elk-e7500/igt@prime_vgem@basic-fence-flip.html
- bat-arls-1: [PASS][398] -> [SKIP][399] ([i915#3708])
[398]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-arls-1/igt@prime_vgem@basic-fence-flip.html
[399]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-arls-1/igt@prime_vgem@basic-fence-flip.html
- fi-hsw-4770: [PASS][400] -> [SKIP][401]
[400]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/fi-hsw-4770/igt@prime_vgem@basic-fence-flip.html
[401]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-hsw-4770/igt@prime_vgem@basic-fence-flip.html
- fi-glk-j4005: [PASS][402] -> [SKIP][403] +4 other tests skip
[402]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/fi-glk-j4005/igt@prime_vgem@basic-fence-flip.html
[403]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-glk-j4005/igt@prime_vgem@basic-fence-flip.html
- bat-mtlp-8: [PASS][404] -> [SKIP][405] ([i915#3708])
[404]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-mtlp-8/igt@prime_vgem@basic-fence-flip.html
[405]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-mtlp-8/igt@prime_vgem@basic-fence-flip.html
- bat-adlp-9: [PASS][406] -> [SKIP][407] ([i915#3708])
[406]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-adlp-9/igt@prime_vgem@basic-fence-flip.html
[407]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-adlp-9/igt@prime_vgem@basic-fence-flip.html
- bat-jsl-1: [PASS][408] -> [SKIP][409]
[408]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-jsl-1/igt@prime_vgem@basic-fence-flip.html
[409]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-jsl-1/igt@prime_vgem@basic-fence-flip.html
- fi-rkl-11600: [PASS][410] -> [SKIP][411] ([i915#3708])
[410]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/fi-rkl-11600/igt@prime_vgem@basic-fence-flip.html
[411]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-rkl-11600/igt@prime_vgem@basic-fence-flip.html
- bat-rpls-4: [PASS][412] -> [SKIP][413] ([i915#3708])
[412]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-rpls-4/igt@prime_vgem@basic-fence-flip.html
[413]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-rpls-4/igt@prime_vgem@basic-fence-flip.html
- bat-twl-1: [PASS][414] -> [SKIP][415] ([i915#3708])
[414]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-twl-1/igt@prime_vgem@basic-fence-flip.html
[415]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-twl-1/igt@prime_vgem@basic-fence-flip.html
- bat-rplp-1: [PASS][416] -> [SKIP][417] ([i915#3708])
[416]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-rplp-1/igt@prime_vgem@basic-fence-flip.html
[417]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-rplp-1/igt@prime_vgem@basic-fence-flip.html
- fi-tgl-1115g4: [PASS][418] -> [SKIP][419]
[418]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/fi-tgl-1115g4/igt@prime_vgem@basic-fence-flip.html
[419]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/fi-tgl-1115g4/igt@prime_vgem@basic-fence-flip.html
- bat-arls-2: [PASS][420] -> [SKIP][421] ([i915#3708])
[420]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-arls-2/igt@prime_vgem@basic-fence-flip.html
[421]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-arls-2/igt@prime_vgem@basic-fence-flip.html
- bat-adlp-6: [PASS][422] -> [SKIP][423] ([i915#3708])
[422]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-adlp-6/igt@prime_vgem@basic-fence-flip.html
[423]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-adlp-6/igt@prime_vgem@basic-fence-flip.html
#### Possible fixes ####
* igt@i915_selftest@live:
- bat-arlh-3: [ABORT][424] ([i915#12133]) -> [PASS][425]
[424]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-arlh-3/igt@i915_selftest@live.html
[425]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-arlh-3/igt@i915_selftest@live.html
* igt@i915_selftest@live@workarounds:
- bat-arlh-3: [ABORT][426] ([i915#12061]) -> [PASS][427]
[426]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15634/bat-arlh-3/igt@i915_selftest@live@workarounds.html
[427]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/bat-arlh-3/igt@i915_selftest@live@workarounds.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[i915#10200]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10200
[i915#10341]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10341
[i915#11191]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11191
[i915#11345]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11345
[i915#11346]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11346
[i915#11349]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11349
[i915#11666]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11666
[i915#12061]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12061
[i915#12133]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12133
[i915#12203]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12203
[i915#12311]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12311
[i915#12637]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12637
[i915#1849]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1849
[i915#2190]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2190
[i915#2582]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2582
[i915#3555]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3555
[i915#3708]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3708
[i915#4077]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4077
[i915#4212]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4212
[i915#4215]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4215
[i915#4613]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4613
[i915#5190]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5190
[i915#8809]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8809
[i915#9688]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9688
[i915#9792]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9792
Build changes
-------------
* Linux: CI_DRM_15634 -> Patchwork_140935v1
CI-20190529: 20190529
CI_DRM_15634: 913062707a924df0837c0d9eb9745ba52fd92958 @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_8097: 2e7c8e4b88a50e33e10d6c13286818aa833bef9b @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
Patchwork_140935v1: 913062707a924df0837c0d9eb9745ba52fd92958 @ git://anongit.freedesktop.org/gfx-ci/linux
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140935v1/index.html
[-- Attachment #2: Type: text/html, Size: 84583 bytes --]
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH 1/4] drm/plane: Add new plane property IN_FORMATS_ASYNC
2024-11-05 10:26 ` [PATCH 1/4] drm/plane: Add new plane property IN_FORMATS_ASYNC Arun R Murthy
@ 2024-11-06 14:00 ` Ville Syrjälä
2024-11-06 14:32 ` Murthy, Arun R
0 siblings, 1 reply; 19+ messages in thread
From: Ville Syrjälä @ 2024-11-06 14:00 UTC (permalink / raw)
To: Arun R Murthy; +Cc: intel-xe, intel-gfx, dri-devel
On Tue, Nov 05, 2024 at 03:56:05PM +0530, Arun R Murthy wrote:
> There exists a property IN_FORMATS which exposes the plane supported
> modifiers/formats to the user. In some platforms when asynchronous flips
> are used all of modifiers/formats mentioned in IN_FORMATS are not
> supported. This patch adds a new plane property IN_FORMATS_ASYNC to
> expose the async flips supported modifiers/formats so that user can use
> this information ahead and done flips with unsupported
> formats/modifiers. This will save flips failures.
>
> Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
> ---
> drivers/gpu/drm/drm_mode_config.c | 7 +++
> drivers/gpu/drm/drm_plane.c | 73 +++++++++++++++++++++++++++++++
> include/drm/drm_mode_config.h | 6 +++
> include/drm/drm_plane.h | 10 +++++
> 4 files changed, 96 insertions(+)
>
> diff --git a/drivers/gpu/drm/drm_mode_config.c b/drivers/gpu/drm/drm_mode_config.c
> index 37d2e0a4ef4b..cff189a2e751 100644
> --- a/drivers/gpu/drm/drm_mode_config.c
> +++ b/drivers/gpu/drm/drm_mode_config.c
> @@ -379,6 +379,13 @@ static int drm_mode_create_standard_properties(struct drm_device *dev)
> return -ENOMEM;
> dev->mode_config.size_hints_property = prop;
>
> + prop = drm_property_create(dev,
> + DRM_MODE_PROP_IMMUTABLE | DRM_MODE_PROP_BLOB,
> + "IN_FORMATS_ASYNC", 0);
> + if (!prop)
> + return -ENOMEM;
> + dev->mode_config.async_modifiers_property = prop;
> +
> return 0;
> }
>
> diff --git a/drivers/gpu/drm/drm_plane.c b/drivers/gpu/drm/drm_plane.c
> index a28b22fdd7a4..01b8e6932fda 100644
> --- a/drivers/gpu/drm/drm_plane.c
> +++ b/drivers/gpu/drm/drm_plane.c
> @@ -141,6 +141,12 @@
> * various bugs in this area with inconsistencies between the capability
> * flag and per-plane properties.
> *
> + * IN_FORMATS_ASYNC:
> + * Blob property which contains the set of buffer format and modifier
> + * pairs supported by this plane for asynchronous flips. The blob is a struct
> + * drm_format_modifier_blob. Without this property the plane doesn't
> + * support buffers with modifiers. Userspace cannot change this property.
> + *
> * SIZE_HINTS:
> * Blob property which contains the set of recommended plane size
> * which can used for simple "cursor like" use cases (eg. no scaling).
> @@ -249,6 +255,70 @@ static int create_in_format_blob(struct drm_device *dev, struct drm_plane *plane
> return 0;
> }
>
> +static int create_in_format_async_blob(struct drm_device *dev, struct drm_plane *plane)
> +{
> + const struct drm_mode_config *config = &dev->mode_config;
> + struct drm_property_blob *blob;
> + struct drm_format_modifier *async_mod;
> + size_t blob_size, async_formats_size, async_modifiers_size;
> + struct drm_format_modifier_blob *blob_data;
> + unsigned int i, j;
> +
> + async_formats_size = sizeof(__u32) * plane->async_format_count;
> + if (WARN_ON(!async_formats_size)) {
> + /* 0 formats are never expected */
> + return 0;
> + }
> +
> + async_modifiers_size =
> + sizeof(struct drm_format_modifier) * plane->async_modifier_count;
> +
> + blob_size = sizeof(struct drm_format_modifier_blob);
> + /* Modifiers offset is a pointer to a struct with a 64 bit field so it
> + * should be naturally aligned to 8B.
> + */
> + BUILD_BUG_ON(sizeof(struct drm_format_modifier_blob) % 8);
> + blob_size += ALIGN(async_formats_size, 8);
> + blob_size += async_modifiers_size;
> +
> + blob = drm_property_create_blob(dev, blob_size, NULL);
> + if (IS_ERR(blob))
> + return -1;
> +
> + blob_data = blob->data;
> + blob_data->version = FORMAT_BLOB_CURRENT;
> + blob_data->count_formats = plane->async_format_count;
> + blob_data->formats_offset = sizeof(struct drm_format_modifier_blob);
> + blob_data->count_modifiers = plane->async_modifier_count;
> +
> + blob_data->modifiers_offset =
> + ALIGN(blob_data->formats_offset + async_formats_size, 8);
> +
> + memcpy(formats_ptr(blob_data), plane->async_format_types, async_formats_size);
> +
> + async_mod = modifiers_ptr(blob_data);
> + for (i = 0; i < plane->async_modifier_count; i++) {
> + for (j = 0; j < plane->async_format_count; j++) {
> + if (!plane->funcs->format_mod_supported ||
> + plane->funcs->format_mod_supported(plane,
> + plane->async_format_types[j],
> + plane->async_modifiers[i])) {
> + async_mod->formats |= 1ULL << j;
> + }
> + }
> +
> + async_mod->modifier = plane->async_modifiers[i];
> + async_mod->offset = 0;
> + async_mod->pad = 0;
> + async_mod++;
> + }
> +
> + drm_object_attach_property(&plane->base, config->async_modifiers_property,
> + blob->base.id);
> +
> + return 0;
> +}
That is a verbatim copy of the existing code. Please refactor the
current code so that it can be reused.
> +
> /**
> * DOC: hotspot properties
> *
> @@ -472,6 +542,9 @@ static int __drm_universal_plane_init(struct drm_device *dev,
> if (format_modifier_count)
> create_in_format_blob(dev, plane);
>
> + if (plane->async_modifier_count)
> + create_in_format_async_blob(dev, plane);
> +
> return 0;
> }
>
> diff --git a/include/drm/drm_mode_config.h b/include/drm/drm_mode_config.h
> index 271765e2e9f2..0c116d6dfd27 100644
> --- a/include/drm/drm_mode_config.h
> +++ b/include/drm/drm_mode_config.h
> @@ -936,6 +936,12 @@ struct drm_mode_config {
> */
> struct drm_property *modifiers_property;
>
> + /**
> + * @async_modifiers_property: Plane property to list support modifier/format
> + * combination for asynchronous flips.
> + */
> + struct drm_property *async_modifiers_property;
> +
> /**
> * @size_hints_property: Plane SIZE_HINTS property.
> */
> diff --git a/include/drm/drm_plane.h b/include/drm/drm_plane.h
> index dd718c62ac31..d9571265251a 100644
> --- a/include/drm/drm_plane.h
> +++ b/include/drm/drm_plane.h
> @@ -658,11 +658,21 @@ struct drm_plane {
> */
> bool format_default;
>
> + /** @format_types: array of formats supported by this plane */
> + uint32_t *async_format_types;
> + /** @format_count: Size of the array pointed at by @format_types. */
> + unsigned int async_format_count;
> +
> /** @modifiers: array of modifiers supported by this plane */
> uint64_t *modifiers;
> /** @modifier_count: Size of the array pointed at by @modifier_count. */
> unsigned int modifier_count;
>
> + /** @modifiers: array of modifiers supported by this plane */
> + uint64_t *async_modifiers;
> + /** @modifier_count: Size of the array pointed at by @modifier_count. */
> + unsigned int async_modifier_count;
I'm not sure adding any of this is really useful. I think we could
just add a new .format_mod_supported_async() hook instead (which
could be implemented in terms of the current thing + something like
https://patchwork.freedesktop.org/patch/619047/?series=139807&rev=3
That would also be more flexible since it can allow specific
format+modifier combinations to be either accepted or rejected.
> +
> /**
> * @crtc:
> *
> --
> 2.25.1
--
Ville Syrjälä
Intel
^ permalink raw reply [flat|nested] 19+ messages in thread
* RE: [PATCH 1/4] drm/plane: Add new plane property IN_FORMATS_ASYNC
2024-11-06 14:00 ` Ville Syrjälä
@ 2024-11-06 14:32 ` Murthy, Arun R
2024-11-06 14:47 ` Ville Syrjälä
0 siblings, 1 reply; 19+ messages in thread
From: Murthy, Arun R @ 2024-11-06 14:32 UTC (permalink / raw)
To: Ville Syrjälä
Cc: intel-xe@lists.freedesktop.org, intel-gfx@lists.freedesktop.org,
dri-devel@lists.freedesktop.org
> -----Original Message-----
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Sent: Wednesday, November 6, 2024 7:31 PM
> To: Murthy, Arun R <arun.r.murthy@intel.com>
> Cc: intel-xe@lists.freedesktop.org; intel-gfx@lists.freedesktop.org; dri-
> devel@lists.freedesktop.org
> Subject: Re: [PATCH 1/4] drm/plane: Add new plane property
> IN_FORMATS_ASYNC
>
> On Tue, Nov 05, 2024 at 03:56:05PM +0530, Arun R Murthy wrote:
> > There exists a property IN_FORMATS which exposes the plane supported
> > modifiers/formats to the user. In some platforms when asynchronous
> > flips are used all of modifiers/formats mentioned in IN_FORMATS are
> > not supported. This patch adds a new plane property IN_FORMATS_ASYNC
> > to expose the async flips supported modifiers/formats so that user can
> > use this information ahead and done flips with unsupported
> > formats/modifiers. This will save flips failures.
> >
> > Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
> > ---
> > drivers/gpu/drm/drm_mode_config.c | 7 +++
> > drivers/gpu/drm/drm_plane.c | 73
> +++++++++++++++++++++++++++++++
> > include/drm/drm_mode_config.h | 6 +++
> > include/drm/drm_plane.h | 10 +++++
> > 4 files changed, 96 insertions(+)
> >
> > diff --git a/drivers/gpu/drm/drm_mode_config.c
> > b/drivers/gpu/drm/drm_mode_config.c
> > index 37d2e0a4ef4b..cff189a2e751 100644
> > --- a/drivers/gpu/drm/drm_mode_config.c
> > +++ b/drivers/gpu/drm/drm_mode_config.c
> > @@ -379,6 +379,13 @@ static int
> drm_mode_create_standard_properties(struct drm_device *dev)
> > return -ENOMEM;
> > dev->mode_config.size_hints_property = prop;
> >
> > + prop = drm_property_create(dev,
> > + DRM_MODE_PROP_IMMUTABLE |
> DRM_MODE_PROP_BLOB,
> > + "IN_FORMATS_ASYNC", 0);
> > + if (!prop)
> > + return -ENOMEM;
> > + dev->mode_config.async_modifiers_property = prop;
> > +
> > return 0;
> > }
> >
> > diff --git a/drivers/gpu/drm/drm_plane.c b/drivers/gpu/drm/drm_plane.c
> > index a28b22fdd7a4..01b8e6932fda 100644
> > --- a/drivers/gpu/drm/drm_plane.c
> > +++ b/drivers/gpu/drm/drm_plane.c
> > @@ -141,6 +141,12 @@
> > * various bugs in this area with inconsistencies between the capability
> > * flag and per-plane properties.
> > *
> > + * IN_FORMATS_ASYNC:
> > + * Blob property which contains the set of buffer format and modifier
> > + * pairs supported by this plane for asynchronous flips. The blob is a struct
> > + * drm_format_modifier_blob. Without this property the plane doesn't
> > + * support buffers with modifiers. Userspace cannot change this property.
> > + *
> > * SIZE_HINTS:
> > * Blob property which contains the set of recommended plane size
> > * which can used for simple "cursor like" use cases (eg. no scaling).
> > @@ -249,6 +255,70 @@ static int create_in_format_blob(struct drm_device
> *dev, struct drm_plane *plane
> > return 0;
> > }
> >
> > +static int create_in_format_async_blob(struct drm_device *dev, struct
> > +drm_plane *plane) {
> > + const struct drm_mode_config *config = &dev->mode_config;
> > + struct drm_property_blob *blob;
> > + struct drm_format_modifier *async_mod;
> > + size_t blob_size, async_formats_size, async_modifiers_size;
> > + struct drm_format_modifier_blob *blob_data;
> > + unsigned int i, j;
> > +
> > + async_formats_size = sizeof(__u32) * plane->async_format_count;
> > + if (WARN_ON(!async_formats_size)) {
> > + /* 0 formats are never expected */
> > + return 0;
> > + }
> > +
> > + async_modifiers_size =
> > + sizeof(struct drm_format_modifier) * plane-
> >async_modifier_count;
> > +
> > + blob_size = sizeof(struct drm_format_modifier_blob);
> > + /* Modifiers offset is a pointer to a struct with a 64 bit field so it
> > + * should be naturally aligned to 8B.
> > + */
> > + BUILD_BUG_ON(sizeof(struct drm_format_modifier_blob) % 8);
> > + blob_size += ALIGN(async_formats_size, 8);
> > + blob_size += async_modifiers_size;
> > +
> > + blob = drm_property_create_blob(dev, blob_size, NULL);
> > + if (IS_ERR(blob))
> > + return -1;
> > +
> > + blob_data = blob->data;
> > + blob_data->version = FORMAT_BLOB_CURRENT;
> > + blob_data->count_formats = plane->async_format_count;
> > + blob_data->formats_offset = sizeof(struct drm_format_modifier_blob);
> > + blob_data->count_modifiers = plane->async_modifier_count;
> > +
> > + blob_data->modifiers_offset =
> > + ALIGN(blob_data->formats_offset + async_formats_size, 8);
> > +
> > + memcpy(formats_ptr(blob_data), plane->async_format_types,
> > +async_formats_size);
> > +
> > + async_mod = modifiers_ptr(blob_data);
> > + for (i = 0; i < plane->async_modifier_count; i++) {
> > + for (j = 0; j < plane->async_format_count; j++) {
> > + if (!plane->funcs->format_mod_supported ||
> > + plane->funcs->format_mod_supported(plane,
> > + plane-
> >async_format_types[j],
> > + plane-
> >async_modifiers[i])) {
> > + async_mod->formats |= 1ULL << j;
> > + }
> > + }
> > +
> > + async_mod->modifier = plane->async_modifiers[i];
> > + async_mod->offset = 0;
> > + async_mod->pad = 0;
> > + async_mod++;
> > + }
> > +
> > + drm_object_attach_property(&plane->base, config-
> >async_modifiers_property,
> > + blob->base.id);
> > +
> > + return 0;
> > +}
>
> That is a verbatim copy of the existing code. Please refactor the current code so
> that it can be reused.
>
Ok will look into it in the next revision.
> > +
> > /**
> > * DOC: hotspot properties
> > *
> > @@ -472,6 +542,9 @@ static int __drm_universal_plane_init(struct
> drm_device *dev,
> > if (format_modifier_count)
> > create_in_format_blob(dev, plane);
> >
> > + if (plane->async_modifier_count)
> > + create_in_format_async_blob(dev, plane);
> > +
> > return 0;
> > }
> >
> > diff --git a/include/drm/drm_mode_config.h
> > b/include/drm/drm_mode_config.h index 271765e2e9f2..0c116d6dfd27
> > 100644
> > --- a/include/drm/drm_mode_config.h
> > +++ b/include/drm/drm_mode_config.h
> > @@ -936,6 +936,12 @@ struct drm_mode_config {
> > */
> > struct drm_property *modifiers_property;
> >
> > + /**
> > + * @async_modifiers_property: Plane property to list support
> modifier/format
> > + * combination for asynchronous flips.
> > + */
> > + struct drm_property *async_modifiers_property;
> > +
> > /**
> > * @size_hints_property: Plane SIZE_HINTS property.
> > */
> > diff --git a/include/drm/drm_plane.h b/include/drm/drm_plane.h index
> > dd718c62ac31..d9571265251a 100644
> > --- a/include/drm/drm_plane.h
> > +++ b/include/drm/drm_plane.h
> > @@ -658,11 +658,21 @@ struct drm_plane {
> > */
> > bool format_default;
> >
> > + /** @format_types: array of formats supported by this plane */
> > + uint32_t *async_format_types;
> > + /** @format_count: Size of the array pointed at by @format_types. */
> > + unsigned int async_format_count;
> > +
> > /** @modifiers: array of modifiers supported by this plane */
> > uint64_t *modifiers;
> > /** @modifier_count: Size of the array pointed at by @modifier_count.
> */
> > unsigned int modifier_count;
> >
> > + /** @modifiers: array of modifiers supported by this plane */
> > + uint64_t *async_modifiers;
> > + /** @modifier_count: Size of the array pointed at by @modifier_count.
> */
> > + unsigned int async_modifier_count;
>
> I'm not sure adding any of this is really useful. I think we could just add a new
> .format_mod_supported_async() hook instead (which could be implemented in
> terms of the current thing + something like
> https://patchwork.freedesktop.org/patch/619047/?series=139807&rev=3
>
> That would also be more flexible since it can allow specific
> format+modifier combinations to be either accepted or rejected.
>
This would not serve the purpose. The purpose here is to expose the supported list to the user so that user can have this ahead and check for the modifier/format before sending the flip. This would avoid async flip failures due to unsupported modifier/format.
This approach has been acknowledged from the userspace which can be located @ https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4063
Thanks and Regards,
Arun R Murthy
-------------------
> > +
> > /**
> > * @crtc:
> > *
> > --
> > 2.25.1
>
> --
> Ville Syrjälä
> Intel
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH 1/4] drm/plane: Add new plane property IN_FORMATS_ASYNC
2024-11-06 14:32 ` Murthy, Arun R
@ 2024-11-06 14:47 ` Ville Syrjälä
0 siblings, 0 replies; 19+ messages in thread
From: Ville Syrjälä @ 2024-11-06 14:47 UTC (permalink / raw)
To: Murthy, Arun R
Cc: intel-xe@lists.freedesktop.org, intel-gfx@lists.freedesktop.org,
dri-devel@lists.freedesktop.org
On Wed, Nov 06, 2024 at 02:32:28PM +0000, Murthy, Arun R wrote:
> > -----Original Message-----
> > From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > Sent: Wednesday, November 6, 2024 7:31 PM
> > To: Murthy, Arun R <arun.r.murthy@intel.com>
> > Cc: intel-xe@lists.freedesktop.org; intel-gfx@lists.freedesktop.org; dri-
> > devel@lists.freedesktop.org
> > Subject: Re: [PATCH 1/4] drm/plane: Add new plane property
> > IN_FORMATS_ASYNC
> >
> > On Tue, Nov 05, 2024 at 03:56:05PM +0530, Arun R Murthy wrote:
> > > There exists a property IN_FORMATS which exposes the plane supported
> > > modifiers/formats to the user. In some platforms when asynchronous
> > > flips are used all of modifiers/formats mentioned in IN_FORMATS are
> > > not supported. This patch adds a new plane property IN_FORMATS_ASYNC
> > > to expose the async flips supported modifiers/formats so that user can
> > > use this information ahead and done flips with unsupported
> > > formats/modifiers. This will save flips failures.
> > >
> > > Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
> > > ---
> > > drivers/gpu/drm/drm_mode_config.c | 7 +++
> > > drivers/gpu/drm/drm_plane.c | 73
> > +++++++++++++++++++++++++++++++
> > > include/drm/drm_mode_config.h | 6 +++
> > > include/drm/drm_plane.h | 10 +++++
> > > 4 files changed, 96 insertions(+)
> > >
> > > diff --git a/drivers/gpu/drm/drm_mode_config.c
> > > b/drivers/gpu/drm/drm_mode_config.c
> > > index 37d2e0a4ef4b..cff189a2e751 100644
> > > --- a/drivers/gpu/drm/drm_mode_config.c
> > > +++ b/drivers/gpu/drm/drm_mode_config.c
> > > @@ -379,6 +379,13 @@ static int
> > drm_mode_create_standard_properties(struct drm_device *dev)
> > > return -ENOMEM;
> > > dev->mode_config.size_hints_property = prop;
> > >
> > > + prop = drm_property_create(dev,
> > > + DRM_MODE_PROP_IMMUTABLE |
> > DRM_MODE_PROP_BLOB,
> > > + "IN_FORMATS_ASYNC", 0);
> > > + if (!prop)
> > > + return -ENOMEM;
> > > + dev->mode_config.async_modifiers_property = prop;
> > > +
> > > return 0;
> > > }
> > >
> > > diff --git a/drivers/gpu/drm/drm_plane.c b/drivers/gpu/drm/drm_plane.c
> > > index a28b22fdd7a4..01b8e6932fda 100644
> > > --- a/drivers/gpu/drm/drm_plane.c
> > > +++ b/drivers/gpu/drm/drm_plane.c
> > > @@ -141,6 +141,12 @@
> > > * various bugs in this area with inconsistencies between the capability
> > > * flag and per-plane properties.
> > > *
> > > + * IN_FORMATS_ASYNC:
> > > + * Blob property which contains the set of buffer format and modifier
> > > + * pairs supported by this plane for asynchronous flips. The blob is a struct
> > > + * drm_format_modifier_blob. Without this property the plane doesn't
> > > + * support buffers with modifiers. Userspace cannot change this property.
> > > + *
> > > * SIZE_HINTS:
> > > * Blob property which contains the set of recommended plane size
> > > * which can used for simple "cursor like" use cases (eg. no scaling).
> > > @@ -249,6 +255,70 @@ static int create_in_format_blob(struct drm_device
> > *dev, struct drm_plane *plane
> > > return 0;
> > > }
> > >
> > > +static int create_in_format_async_blob(struct drm_device *dev, struct
> > > +drm_plane *plane) {
> > > + const struct drm_mode_config *config = &dev->mode_config;
> > > + struct drm_property_blob *blob;
> > > + struct drm_format_modifier *async_mod;
> > > + size_t blob_size, async_formats_size, async_modifiers_size;
> > > + struct drm_format_modifier_blob *blob_data;
> > > + unsigned int i, j;
> > > +
> > > + async_formats_size = sizeof(__u32) * plane->async_format_count;
> > > + if (WARN_ON(!async_formats_size)) {
> > > + /* 0 formats are never expected */
> > > + return 0;
> > > + }
> > > +
> > > + async_modifiers_size =
> > > + sizeof(struct drm_format_modifier) * plane-
> > >async_modifier_count;
> > > +
> > > + blob_size = sizeof(struct drm_format_modifier_blob);
> > > + /* Modifiers offset is a pointer to a struct with a 64 bit field so it
> > > + * should be naturally aligned to 8B.
> > > + */
> > > + BUILD_BUG_ON(sizeof(struct drm_format_modifier_blob) % 8);
> > > + blob_size += ALIGN(async_formats_size, 8);
> > > + blob_size += async_modifiers_size;
> > > +
> > > + blob = drm_property_create_blob(dev, blob_size, NULL);
> > > + if (IS_ERR(blob))
> > > + return -1;
> > > +
> > > + blob_data = blob->data;
> > > + blob_data->version = FORMAT_BLOB_CURRENT;
> > > + blob_data->count_formats = plane->async_format_count;
> > > + blob_data->formats_offset = sizeof(struct drm_format_modifier_blob);
> > > + blob_data->count_modifiers = plane->async_modifier_count;
> > > +
> > > + blob_data->modifiers_offset =
> > > + ALIGN(blob_data->formats_offset + async_formats_size, 8);
> > > +
> > > + memcpy(formats_ptr(blob_data), plane->async_format_types,
> > > +async_formats_size);
> > > +
> > > + async_mod = modifiers_ptr(blob_data);
> > > + for (i = 0; i < plane->async_modifier_count; i++) {
> > > + for (j = 0; j < plane->async_format_count; j++) {
> > > + if (!plane->funcs->format_mod_supported ||
> > > + plane->funcs->format_mod_supported(plane,
> > > + plane-
> > >async_format_types[j],
> > > + plane-
> > >async_modifiers[i])) {
> > > + async_mod->formats |= 1ULL << j;
> > > + }
> > > + }
> > > +
> > > + async_mod->modifier = plane->async_modifiers[i];
> > > + async_mod->offset = 0;
> > > + async_mod->pad = 0;
> > > + async_mod++;
> > > + }
> > > +
> > > + drm_object_attach_property(&plane->base, config-
> > >async_modifiers_property,
> > > + blob->base.id);
> > > +
> > > + return 0;
> > > +}
> >
> > That is a verbatim copy of the existing code. Please refactor the current code so
> > that it can be reused.
> >
> Ok will look into it in the next revision.
>
> > > +
> > > /**
> > > * DOC: hotspot properties
> > > *
> > > @@ -472,6 +542,9 @@ static int __drm_universal_plane_init(struct
> > drm_device *dev,
> > > if (format_modifier_count)
> > > create_in_format_blob(dev, plane);
> > >
> > > + if (plane->async_modifier_count)
> > > + create_in_format_async_blob(dev, plane);
> > > +
> > > return 0;
> > > }
> > >
> > > diff --git a/include/drm/drm_mode_config.h
> > > b/include/drm/drm_mode_config.h index 271765e2e9f2..0c116d6dfd27
> > > 100644
> > > --- a/include/drm/drm_mode_config.h
> > > +++ b/include/drm/drm_mode_config.h
> > > @@ -936,6 +936,12 @@ struct drm_mode_config {
> > > */
> > > struct drm_property *modifiers_property;
> > >
> > > + /**
> > > + * @async_modifiers_property: Plane property to list support
> > modifier/format
> > > + * combination for asynchronous flips.
> > > + */
> > > + struct drm_property *async_modifiers_property;
> > > +
> > > /**
> > > * @size_hints_property: Plane SIZE_HINTS property.
> > > */
> > > diff --git a/include/drm/drm_plane.h b/include/drm/drm_plane.h index
> > > dd718c62ac31..d9571265251a 100644
> > > --- a/include/drm/drm_plane.h
> > > +++ b/include/drm/drm_plane.h
> > > @@ -658,11 +658,21 @@ struct drm_plane {
> > > */
> > > bool format_default;
> > >
> > > + /** @format_types: array of formats supported by this plane */
> > > + uint32_t *async_format_types;
> > > + /** @format_count: Size of the array pointed at by @format_types. */
> > > + unsigned int async_format_count;
> > > +
> > > /** @modifiers: array of modifiers supported by this plane */
> > > uint64_t *modifiers;
> > > /** @modifier_count: Size of the array pointed at by @modifier_count.
> > */
> > > unsigned int modifier_count;
> > >
> > > + /** @modifiers: array of modifiers supported by this plane */
> > > + uint64_t *async_modifiers;
> > > + /** @modifier_count: Size of the array pointed at by @modifier_count.
> > */
> > > + unsigned int async_modifier_count;
> >
> > I'm not sure adding any of this is really useful. I think we could just add a new
> > .format_mod_supported_async() hook instead (which could be implemented in
> > terms of the current thing + something like
> > https://patchwork.freedesktop.org/patch/619047/?series=139807&rev=3
> >
> > That would also be more flexible since it can allow specific
> > format+modifier combinations to be either accepted or rejected.
> >
> This would not serve the purpose. The purpose here is to expose the supported list to the user so that user can have this ahead and check for the modifier/format before sending the flip. This would avoid async flip failures due to unsupported modifier/format.
It would work just fine, and wouldn't affect the uapi at all.
The difference is that you don't have to bloat the plane struct
with those mostly unnecessary format/modifier lists.
>
> This approach has been acknowledged from the userspace which can be located @ https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4063
>
> Thanks and Regards,
> Arun R Murthy
> -------------------
> > > +
> > > /**
> > > * @crtc:
> > > *
> > > --
> > > 2.25.1
> >
> > --
> > Ville Syrjälä
> > Intel
--
Ville Syrjälä
Intel
^ permalink raw reply [flat|nested] 19+ messages in thread
* [PATCHv2/3] Expose modifiers/formats supported by async flips
2024-11-05 10:26 [PATCH 0/4] Expose modifiers/formats supported by async flips Arun R Murthy
` (6 preceding siblings ...)
2024-11-05 13:21 ` ✗ Fi.CI.BAT: failure " Patchwork
@ 2024-11-18 7:48 ` Arun R Murthy
2024-11-18 7:48 ` [PATCHv2 1/3] drm/plane: Add new plane property IN_FORMATS_ASYNC Arun R Murthy
` (2 more replies)
7 siblings, 3 replies; 19+ messages in thread
From: Arun R Murthy @ 2024-11-18 7:48 UTC (permalink / raw)
To: intel-xe, intel-gfx, dri-devel; +Cc: Arun R Murthy
All of the formats/modifiers supported by the plane during synchronous
flips are nor supported by asynchronous flips. The formats/modifiers
exposed to user by IN_FORMATS exposes all formats/modifiers supported by
plane and this list varies for async flips. If the async flip supported
formats/modifiers are exposed to the user, user based on this list can
take decision to proceed or not and avoid flip failures during async
flips.
Discussion around this can be located @
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29618#note_2487123
Userspace implementation for IN_FORMARTS_ASYNC under review @
https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4063
Arun R Murthy (3):
drm/plane: Add new plane property IN_FORMATS_ASYNC
drm/plane: Expose function to create format/modifier blob
drm/i915/display: Populate list of async supported formats/modifiers
drivers/gpu/drm/drm_mode_config.c | 7 +++
drivers/gpu/drm/drm_plane.c | 50 ++++++++++++------
.../drm/i915/display/skl_universal_plane.c | 51 +++++++++++++++++++
include/drm/drm_mode_config.h | 6 +++
include/drm/drm_plane.h | 4 ++
5 files changed, 103 insertions(+), 15 deletions(-)
--
2.25.1
^ permalink raw reply [flat|nested] 19+ messages in thread
* [PATCHv2 1/3] drm/plane: Add new plane property IN_FORMATS_ASYNC
2024-11-18 7:48 ` [PATCHv2/3] " Arun R Murthy
@ 2024-11-18 7:48 ` Arun R Murthy
2024-11-18 7:48 ` [PATCHv2 2/3] drm/plane: Expose function to create format/modifier blob Arun R Murthy
2024-11-18 7:49 ` [PATCHv2 3/3] drm/i915/display: Populate list of async supported formats/modifiers Arun R Murthy
2 siblings, 0 replies; 19+ messages in thread
From: Arun R Murthy @ 2024-11-18 7:48 UTC (permalink / raw)
To: intel-xe, intel-gfx, dri-devel; +Cc: Arun R Murthy
There exists a property IN_FORMATS which exposes the plane supported
modifiers/formats to the user. In some platforms when asynchronous flips
are used all of modifiers/formats mentioned in IN_FORMATS are not
supported. This patch adds a new plane property IN_FORMATS_ASYNC to
expose the async flips supported modifiers/formats so that user can use
this information ahead and done flips with unsupported
formats/modifiers. This will save flips failures.
v2: Remove async variable from drm_plane (Ville)
Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
---
drivers/gpu/drm/drm_mode_config.c | 7 +++++++
drivers/gpu/drm/drm_plane.c | 6 ++++++
include/drm/drm_mode_config.h | 6 ++++++
3 files changed, 19 insertions(+)
diff --git a/drivers/gpu/drm/drm_mode_config.c b/drivers/gpu/drm/drm_mode_config.c
index 37d2e0a4ef4b..cff189a2e751 100644
--- a/drivers/gpu/drm/drm_mode_config.c
+++ b/drivers/gpu/drm/drm_mode_config.c
@@ -379,6 +379,13 @@ static int drm_mode_create_standard_properties(struct drm_device *dev)
return -ENOMEM;
dev->mode_config.size_hints_property = prop;
+ prop = drm_property_create(dev,
+ DRM_MODE_PROP_IMMUTABLE | DRM_MODE_PROP_BLOB,
+ "IN_FORMATS_ASYNC", 0);
+ if (!prop)
+ return -ENOMEM;
+ dev->mode_config.async_modifiers_property = prop;
+
return 0;
}
diff --git a/drivers/gpu/drm/drm_plane.c b/drivers/gpu/drm/drm_plane.c
index a28b22fdd7a4..416818e54ccf 100644
--- a/drivers/gpu/drm/drm_plane.c
+++ b/drivers/gpu/drm/drm_plane.c
@@ -141,6 +141,12 @@
* various bugs in this area with inconsistencies between the capability
* flag and per-plane properties.
*
+ * IN_FORMATS_ASYNC:
+ * Blob property which contains the set of buffer format and modifier
+ * pairs supported by this plane for asynchronous flips. The blob is a struct
+ * drm_format_modifier_blob. Without this property the plane doesn't
+ * support buffers with modifiers. Userspace cannot change this property.
+ *
* SIZE_HINTS:
* Blob property which contains the set of recommended plane size
* which can used for simple "cursor like" use cases (eg. no scaling).
diff --git a/include/drm/drm_mode_config.h b/include/drm/drm_mode_config.h
index 271765e2e9f2..0c116d6dfd27 100644
--- a/include/drm/drm_mode_config.h
+++ b/include/drm/drm_mode_config.h
@@ -936,6 +936,12 @@ struct drm_mode_config {
*/
struct drm_property *modifiers_property;
+ /**
+ * @async_modifiers_property: Plane property to list support modifier/format
+ * combination for asynchronous flips.
+ */
+ struct drm_property *async_modifiers_property;
+
/**
* @size_hints_property: Plane SIZE_HINTS property.
*/
--
2.25.1
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCHv2 2/3] drm/plane: Expose function to create format/modifier blob
2024-11-18 7:48 ` [PATCHv2/3] " Arun R Murthy
2024-11-18 7:48 ` [PATCHv2 1/3] drm/plane: Add new plane property IN_FORMATS_ASYNC Arun R Murthy
@ 2024-11-18 7:48 ` Arun R Murthy
2024-11-18 7:49 ` [PATCHv2 3/3] drm/i915/display: Populate list of async supported formats/modifiers Arun R Murthy
2 siblings, 0 replies; 19+ messages in thread
From: Arun R Murthy @ 2024-11-18 7:48 UTC (permalink / raw)
To: intel-xe, intel-gfx, dri-devel; +Cc: Arun R Murthy
Expose drm plane function to create formats/modifiers blob. This
function can be used to expose list of supported formats/modifiers for
sync/async flips.
Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
---
drivers/gpu/drm/drm_plane.c | 44 ++++++++++++++++++++++++-------------
include/drm/drm_plane.h | 4 ++++
2 files changed, 33 insertions(+), 15 deletions(-)
diff --git a/drivers/gpu/drm/drm_plane.c b/drivers/gpu/drm/drm_plane.c
index 416818e54ccf..4f35eec2b777 100644
--- a/drivers/gpu/drm/drm_plane.c
+++ b/drivers/gpu/drm/drm_plane.c
@@ -191,7 +191,10 @@ modifiers_ptr(struct drm_format_modifier_blob *blob)
return (struct drm_format_modifier *)(((char *)blob) + blob->modifiers_offset);
}
-static int create_in_format_blob(struct drm_device *dev, struct drm_plane *plane)
+int drm_plane_create_format_blob(struct drm_device *dev,
+ struct drm_plane *plane, u64 *modifiers,
+ unsigned int modifier_count, u32 *formats,
+ unsigned int format_count, bool is_async)
{
const struct drm_mode_config *config = &dev->mode_config;
struct drm_property_blob *blob;
@@ -200,14 +203,14 @@ static int create_in_format_blob(struct drm_device *dev, struct drm_plane *plane
struct drm_format_modifier_blob *blob_data;
unsigned int i, j;
- formats_size = sizeof(__u32) * plane->format_count;
+ formats_size = sizeof(__u32) * format_count;
if (WARN_ON(!formats_size)) {
/* 0 formats are never expected */
return 0;
}
modifiers_size =
- sizeof(struct drm_format_modifier) * plane->modifier_count;
+ sizeof(struct drm_format_modifier) * modifier_count;
blob_size = sizeof(struct drm_format_modifier_blob);
/* Modifiers offset is a pointer to a struct with a 64 bit field so it
@@ -223,37 +226,45 @@ static int create_in_format_blob(struct drm_device *dev, struct drm_plane *plane
blob_data = blob->data;
blob_data->version = FORMAT_BLOB_CURRENT;
- blob_data->count_formats = plane->format_count;
+ blob_data->count_formats = format_count;
blob_data->formats_offset = sizeof(struct drm_format_modifier_blob);
- blob_data->count_modifiers = plane->modifier_count;
+ blob_data->count_modifiers = modifier_count;
blob_data->modifiers_offset =
ALIGN(blob_data->formats_offset + formats_size, 8);
- memcpy(formats_ptr(blob_data), plane->format_types, formats_size);
+ memcpy(formats_ptr(blob_data), formats, formats_size);
mod = modifiers_ptr(blob_data);
- for (i = 0; i < plane->modifier_count; i++) {
- for (j = 0; j < plane->format_count; j++) {
- if (!plane->funcs->format_mod_supported ||
+ for (i = 0; i < modifier_count; i++) {
+ for (j = 0; j < format_count; j++) {
+ if (is_async ||
+ !plane->funcs->format_mod_supported ||
plane->funcs->format_mod_supported(plane,
- plane->format_types[j],
- plane->modifiers[i])) {
+ formats[j],
+ modifiers[i])) {
mod->formats |= 1ULL << j;
}
}
- mod->modifier = plane->modifiers[i];
+ mod->modifier = modifiers[i];
mod->offset = 0;
mod->pad = 0;
mod++;
}
- drm_object_attach_property(&plane->base, config->modifiers_property,
- blob->base.id);
+ if (is_async)
+ drm_object_attach_property(&plane->base,
+ config->async_modifiers_property,
+ blob->base.id);
+ else
+ drm_object_attach_property(&plane->base,
+ config->modifiers_property,
+ blob->base.id);
return 0;
}
+EXPORT_SYMBOL(drm_plane_create_format_blob);
/**
* DOC: hotspot properties
@@ -476,7 +487,10 @@ static int __drm_universal_plane_init(struct drm_device *dev,
}
if (format_modifier_count)
- create_in_format_blob(dev, plane);
+ drm_plane_create_format_blob(dev, plane, plane->modifiers,
+ format_modifier_count,
+ plane->format_types, format_count,
+ false);
return 0;
}
diff --git a/include/drm/drm_plane.h b/include/drm/drm_plane.h
index dd718c62ac31..3c5c2c614af8 100644
--- a/include/drm/drm_plane.h
+++ b/include/drm/drm_plane.h
@@ -988,5 +988,9 @@ int drm_plane_create_scaling_filter_property(struct drm_plane *plane,
int drm_plane_add_size_hints_property(struct drm_plane *plane,
const struct drm_plane_size_hint *hints,
int num_hints);
+int drm_plane_create_format_blob(struct drm_device *dev,
+ struct drm_plane *plane, u64 *modifiers,
+ unsigned int modifier_count, u32 *formats,
+ unsigned int format_count, bool is_async);
#endif
--
2.25.1
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCHv2 3/3] drm/i915/display: Populate list of async supported formats/modifiers
2024-11-18 7:48 ` [PATCHv2/3] " Arun R Murthy
2024-11-18 7:48 ` [PATCHv2 1/3] drm/plane: Add new plane property IN_FORMATS_ASYNC Arun R Murthy
2024-11-18 7:48 ` [PATCHv2 2/3] drm/plane: Expose function to create format/modifier blob Arun R Murthy
@ 2024-11-18 7:49 ` Arun R Murthy
2 siblings, 0 replies; 19+ messages in thread
From: Arun R Murthy @ 2024-11-18 7:49 UTC (permalink / raw)
To: intel-xe, intel-gfx, dri-devel; +Cc: Arun R Murthy
Populate the list of formats/modifiers supported by async flip. Register
a async property and expose the same to user through blob.
Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
---
.../drm/i915/display/skl_universal_plane.c | 51 +++++++++++++++++++
1 file changed, 51 insertions(+)
diff --git a/drivers/gpu/drm/i915/display/skl_universal_plane.c b/drivers/gpu/drm/i915/display/skl_universal_plane.c
index 038ca2ec5d7a..a6e84ac56277 100644
--- a/drivers/gpu/drm/i915/display/skl_universal_plane.c
+++ b/drivers/gpu/drm/i915/display/skl_universal_plane.c
@@ -170,6 +170,44 @@ static const u32 icl_hdr_plane_formats[] = {
DRM_FORMAT_XVYU16161616,
};
+static u64 tgl_asyn_modifiers[] = {
+ DRM_FORMAT_MOD_LINEAR,
+ I915_FORMAT_MOD_X_TILED,
+ I915_FORMAT_MOD_Y_TILED,
+ I915_FORMAT_MOD_4_TILED,
+ I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS,
+ I915_FORMAT_MOD_4_TILED_MTL_RC_CCS,
+ I915_FORMAT_MOD_4_TILED_DG2_RC_CCS,
+ I915_FORMAT_MOD_4_TILED_BMG_CCS,
+ I915_FORMAT_MOD_4_TILED_LNL_CCS,
+};
+
+static u64 icl_async_modifiers[] = {
+ I915_FORMAT_MOD_X_TILED,
+ I915_FORMAT_MOD_Y_TILED,
+ I915_FORMAT_MOD_Yf_TILED,
+ I915_FORMAT_MOD_Y_TILED_CCS,
+ I915_FORMAT_MOD_Yf_TILED_CCS,
+};
+
+static u64 skl_async_modifiers[] = {
+ I915_FORMAT_MOD_X_TILED,
+ I915_FORMAT_MOD_Y_TILED,
+ I915_FORMAT_MOD_Yf_TILED,
+};
+
+static u32 intel_async_formats[] = {
+ DRM_FORMAT_RGB565,
+ DRM_FORMAT_XRGB8888,
+ DRM_FORMAT_XBGR8888,
+ DRM_FORMAT_ARGB8888,
+ DRM_FORMAT_ABGR8888,
+ DRM_FORMAT_XRGB2101010,
+ DRM_FORMAT_XBGR2101010,
+ DRM_FORMAT_XRGB16161616F,
+ DRM_FORMAT_XBGR16161616F,
+};
+
int skl_format_to_fourcc(int format, bool rgb_order, bool alpha)
{
switch (format) {
@@ -2585,6 +2623,7 @@ skl_universal_plane_create(struct drm_i915_private *dev_priv,
unsigned int supported_rotations;
unsigned int supported_csc;
const u64 *modifiers;
+ u64 *async_modifiers;
const u32 *formats;
int num_formats;
int ret;
@@ -2687,6 +2726,18 @@ skl_universal_plane_create(struct drm_i915_private *dev_priv,
if (ret)
goto fail;
+ if (DISPLAY_VER(dev_priv) >= 12)
+ async_modifiers = tgl_asyn_modifiers;
+ else if (DISPLAY_VER(dev_priv) == 11)
+ async_modifiers = icl_async_modifiers;
+ else
+ async_modifiers = skl_async_modifiers;
+
+ drm_plane_create_format_blob(&dev_priv->drm, &plane->base,
+ async_modifiers, sizeof(async_modifiers),
+ intel_async_formats,
+ sizeof(intel_async_formats), true);
+
if (DISPLAY_VER(dev_priv) >= 13)
supported_rotations = DRM_MODE_ROTATE_0 | DRM_MODE_ROTATE_180;
else
--
2.25.1
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCHv2 3/3] drm/i915/display: Populate list of async supported formats/modifiers
2024-11-18 7:53 [PATCHv2/3] Expose modifiers/formats supported by async flips Arun R Murthy
@ 2024-11-18 7:53 ` Arun R Murthy
2024-11-22 4:02 ` kernel test robot
` (2 more replies)
0 siblings, 3 replies; 19+ messages in thread
From: Arun R Murthy @ 2024-11-18 7:53 UTC (permalink / raw)
To: intel-xe, intel-gfx, dri-devel; +Cc: Arun R Murthy
Populate the list of formats/modifiers supported by async flip. Register
a async property and expose the same to user through blob.
Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
---
.../drm/i915/display/skl_universal_plane.c | 51 +++++++++++++++++++
1 file changed, 51 insertions(+)
diff --git a/drivers/gpu/drm/i915/display/skl_universal_plane.c b/drivers/gpu/drm/i915/display/skl_universal_plane.c
index 038ca2ec5d7a..a6e84ac56277 100644
--- a/drivers/gpu/drm/i915/display/skl_universal_plane.c
+++ b/drivers/gpu/drm/i915/display/skl_universal_plane.c
@@ -170,6 +170,44 @@ static const u32 icl_hdr_plane_formats[] = {
DRM_FORMAT_XVYU16161616,
};
+static u64 tgl_asyn_modifiers[] = {
+ DRM_FORMAT_MOD_LINEAR,
+ I915_FORMAT_MOD_X_TILED,
+ I915_FORMAT_MOD_Y_TILED,
+ I915_FORMAT_MOD_4_TILED,
+ I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS,
+ I915_FORMAT_MOD_4_TILED_MTL_RC_CCS,
+ I915_FORMAT_MOD_4_TILED_DG2_RC_CCS,
+ I915_FORMAT_MOD_4_TILED_BMG_CCS,
+ I915_FORMAT_MOD_4_TILED_LNL_CCS,
+};
+
+static u64 icl_async_modifiers[] = {
+ I915_FORMAT_MOD_X_TILED,
+ I915_FORMAT_MOD_Y_TILED,
+ I915_FORMAT_MOD_Yf_TILED,
+ I915_FORMAT_MOD_Y_TILED_CCS,
+ I915_FORMAT_MOD_Yf_TILED_CCS,
+};
+
+static u64 skl_async_modifiers[] = {
+ I915_FORMAT_MOD_X_TILED,
+ I915_FORMAT_MOD_Y_TILED,
+ I915_FORMAT_MOD_Yf_TILED,
+};
+
+static u32 intel_async_formats[] = {
+ DRM_FORMAT_RGB565,
+ DRM_FORMAT_XRGB8888,
+ DRM_FORMAT_XBGR8888,
+ DRM_FORMAT_ARGB8888,
+ DRM_FORMAT_ABGR8888,
+ DRM_FORMAT_XRGB2101010,
+ DRM_FORMAT_XBGR2101010,
+ DRM_FORMAT_XRGB16161616F,
+ DRM_FORMAT_XBGR16161616F,
+};
+
int skl_format_to_fourcc(int format, bool rgb_order, bool alpha)
{
switch (format) {
@@ -2585,6 +2623,7 @@ skl_universal_plane_create(struct drm_i915_private *dev_priv,
unsigned int supported_rotations;
unsigned int supported_csc;
const u64 *modifiers;
+ u64 *async_modifiers;
const u32 *formats;
int num_formats;
int ret;
@@ -2687,6 +2726,18 @@ skl_universal_plane_create(struct drm_i915_private *dev_priv,
if (ret)
goto fail;
+ if (DISPLAY_VER(dev_priv) >= 12)
+ async_modifiers = tgl_asyn_modifiers;
+ else if (DISPLAY_VER(dev_priv) == 11)
+ async_modifiers = icl_async_modifiers;
+ else
+ async_modifiers = skl_async_modifiers;
+
+ drm_plane_create_format_blob(&dev_priv->drm, &plane->base,
+ async_modifiers, sizeof(async_modifiers),
+ intel_async_formats,
+ sizeof(intel_async_formats), true);
+
if (DISPLAY_VER(dev_priv) >= 13)
supported_rotations = DRM_MODE_ROTATE_0 | DRM_MODE_ROTATE_180;
else
--
2.25.1
^ permalink raw reply related [flat|nested] 19+ messages in thread
* Re: [PATCHv2 3/3] drm/i915/display: Populate list of async supported formats/modifiers
2024-11-18 7:53 ` [PATCHv2 3/3] drm/i915/display: Populate list of async supported formats/modifiers Arun R Murthy
@ 2024-11-22 4:02 ` kernel test robot
2024-11-25 13:05 ` kernel test robot
2024-11-28 23:21 ` kernel test robot
2 siblings, 0 replies; 19+ messages in thread
From: kernel test robot @ 2024-11-22 4:02 UTC (permalink / raw)
To: Arun R Murthy, intel-xe, intel-gfx, dri-devel
Cc: oe-kbuild-all, Arun R Murthy
Hi Arun,
kernel test robot noticed the following build warnings:
[auto build test WARNING on drm-intel/for-linux-next-fixes]
[also build test WARNING on v6.12 next-20241121]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Arun-R-Murthy/drm-plane-Expose-function-to-create-format-modifier-blob/20241121-105652
base: git://anongit.freedesktop.org/drm-intel for-linux-next-fixes
patch link: https://lore.kernel.org/r/20241118075315.466009-4-arun.r.murthy%40intel.com
patch subject: [PATCHv2 3/3] drm/i915/display: Populate list of async supported formats/modifiers
config: x86_64-randconfig-103-20241121 (https://download.01.org/0day-ci/archive/20241122/202411221109.nlXeWx72-lkp@intel.com/config)
compiler: gcc-11 (Debian 11.3.0-12) 11.3.0
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202411221109.nlXeWx72-lkp@intel.com/
cocci warnings: (new ones prefixed by >>)
>> drivers/gpu/drm/i915/display/skl_universal_plane.c:2626:26-32: ERROR: application of sizeof to pointer
vim +2626 drivers/gpu/drm/i915/display/skl_universal_plane.c
2510
2511 struct intel_plane *
2512 skl_universal_plane_create(struct drm_i915_private *dev_priv,
2513 enum pipe pipe, enum plane_id plane_id)
2514 {
2515 const struct drm_plane_funcs *plane_funcs;
2516 struct intel_plane *plane;
2517 enum drm_plane_type plane_type;
2518 unsigned int supported_rotations;
2519 unsigned int supported_csc;
2520 const u64 *modifiers;
2521 u64 *async_modifiers;
2522 const u32 *formats;
2523 int num_formats;
2524 int ret;
2525
2526 plane = intel_plane_alloc();
2527 if (IS_ERR(plane))
2528 return plane;
2529
2530 plane->pipe = pipe;
2531 plane->id = plane_id;
2532 plane->frontbuffer_bit = INTEL_FRONTBUFFER(pipe, plane_id);
2533
2534 intel_fbc_add_plane(skl_plane_fbc(dev_priv, pipe, plane_id), plane);
2535
2536 if (DISPLAY_VER(dev_priv) >= 11) {
2537 plane->min_width = icl_plane_min_width;
2538 if (icl_is_hdr_plane(dev_priv, plane_id))
2539 plane->max_width = icl_hdr_plane_max_width;
2540 else
2541 plane->max_width = icl_sdr_plane_max_width;
2542 plane->max_height = icl_plane_max_height;
2543 plane->min_cdclk = icl_plane_min_cdclk;
2544 } else if (DISPLAY_VER(dev_priv) >= 10) {
2545 plane->max_width = glk_plane_max_width;
2546 plane->max_height = skl_plane_max_height;
2547 plane->min_cdclk = glk_plane_min_cdclk;
2548 } else {
2549 plane->max_width = skl_plane_max_width;
2550 plane->max_height = skl_plane_max_height;
2551 plane->min_cdclk = skl_plane_min_cdclk;
2552 }
2553
2554 if (DISPLAY_VER(dev_priv) >= 13)
2555 plane->max_stride = adl_plane_max_stride;
2556 else
2557 plane->max_stride = skl_plane_max_stride;
2558
2559 if (DISPLAY_VER(dev_priv) >= 12)
2560 plane->min_alignment = tgl_plane_min_alignment;
2561 else
2562 plane->min_alignment = skl_plane_min_alignment;
2563
2564 if (DISPLAY_VER(dev_priv) >= 11) {
2565 plane->update_noarm = icl_plane_update_noarm;
2566 plane->update_arm = icl_plane_update_arm;
2567 plane->disable_arm = icl_plane_disable_arm;
2568 } else {
2569 plane->update_noarm = skl_plane_update_noarm;
2570 plane->update_arm = skl_plane_update_arm;
2571 plane->disable_arm = skl_plane_disable_arm;
2572 }
2573 plane->get_hw_state = skl_plane_get_hw_state;
2574 plane->check_plane = skl_plane_check;
2575
2576 if (plane_id == PLANE_1) {
2577 plane->need_async_flip_toggle_wa = IS_DISPLAY_VER(dev_priv, 9, 10);
2578 plane->async_flip = skl_plane_async_flip;
2579 plane->enable_flip_done = skl_plane_enable_flip_done;
2580 plane->disable_flip_done = skl_plane_disable_flip_done;
2581 }
2582
2583 if (DISPLAY_VER(dev_priv) >= 11)
2584 formats = icl_get_plane_formats(dev_priv, pipe,
2585 plane_id, &num_formats);
2586 else if (DISPLAY_VER(dev_priv) >= 10)
2587 formats = glk_get_plane_formats(dev_priv, pipe,
2588 plane_id, &num_formats);
2589 else
2590 formats = skl_get_plane_formats(dev_priv, pipe,
2591 plane_id, &num_formats);
2592
2593 if (DISPLAY_VER(dev_priv) >= 12)
2594 plane_funcs = &gen12_plane_funcs;
2595 else
2596 plane_funcs = &skl_plane_funcs;
2597
2598 if (plane_id == PLANE_1)
2599 plane_type = DRM_PLANE_TYPE_PRIMARY;
2600 else
2601 plane_type = DRM_PLANE_TYPE_OVERLAY;
2602
2603 modifiers = intel_fb_plane_get_modifiers(dev_priv,
2604 skl_get_plane_caps(dev_priv, pipe, plane_id));
2605
2606 ret = drm_universal_plane_init(&dev_priv->drm, &plane->base,
2607 0, plane_funcs,
2608 formats, num_formats, modifiers,
2609 plane_type,
2610 "plane %d%c", plane_id + 1,
2611 pipe_name(pipe));
2612
2613 kfree(modifiers);
2614
2615 if (ret)
2616 goto fail;
2617
2618 if (DISPLAY_VER(dev_priv) >= 12)
2619 async_modifiers = tgl_asyn_modifiers;
2620 else if (DISPLAY_VER(dev_priv) == 11)
2621 async_modifiers = icl_async_modifiers;
2622 else
2623 async_modifiers = skl_async_modifiers;
2624
2625 drm_plane_create_format_blob(&dev_priv->drm, &plane->base,
> 2626 async_modifiers, sizeof(async_modifiers),
2627 intel_async_formats,
2628 sizeof(intel_async_formats), true);
2629
2630 if (DISPLAY_VER(dev_priv) >= 13)
2631 supported_rotations = DRM_MODE_ROTATE_0 | DRM_MODE_ROTATE_180;
2632 else
2633 supported_rotations =
2634 DRM_MODE_ROTATE_0 | DRM_MODE_ROTATE_90 |
2635 DRM_MODE_ROTATE_180 | DRM_MODE_ROTATE_270;
2636
2637 if (DISPLAY_VER(dev_priv) >= 11)
2638 supported_rotations |= DRM_MODE_REFLECT_X;
2639
2640 drm_plane_create_rotation_property(&plane->base,
2641 DRM_MODE_ROTATE_0,
2642 supported_rotations);
2643
2644 supported_csc = BIT(DRM_COLOR_YCBCR_BT601) | BIT(DRM_COLOR_YCBCR_BT709);
2645
2646 if (DISPLAY_VER(dev_priv) >= 10)
2647 supported_csc |= BIT(DRM_COLOR_YCBCR_BT2020);
2648
2649 drm_plane_create_color_properties(&plane->base,
2650 supported_csc,
2651 BIT(DRM_COLOR_YCBCR_LIMITED_RANGE) |
2652 BIT(DRM_COLOR_YCBCR_FULL_RANGE),
2653 DRM_COLOR_YCBCR_BT709,
2654 DRM_COLOR_YCBCR_LIMITED_RANGE);
2655
2656 drm_plane_create_alpha_property(&plane->base);
2657 drm_plane_create_blend_mode_property(&plane->base,
2658 BIT(DRM_MODE_BLEND_PIXEL_NONE) |
2659 BIT(DRM_MODE_BLEND_PREMULTI) |
2660 BIT(DRM_MODE_BLEND_COVERAGE));
2661
2662 drm_plane_create_zpos_immutable_property(&plane->base, plane_id);
2663
2664 if (DISPLAY_VER(dev_priv) >= 12)
2665 drm_plane_enable_fb_damage_clips(&plane->base);
2666
2667 if (DISPLAY_VER(dev_priv) >= 11)
2668 drm_plane_create_scaling_filter_property(&plane->base,
2669 BIT(DRM_SCALING_FILTER_DEFAULT) |
2670 BIT(DRM_SCALING_FILTER_NEAREST_NEIGHBOR));
2671
2672 intel_plane_helper_add(plane);
2673
2674 return plane;
2675
2676 fail:
2677 intel_plane_free(plane);
2678
2679 return ERR_PTR(ret);
2680 }
2681
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCHv2 3/3] drm/i915/display: Populate list of async supported formats/modifiers
2024-11-18 7:53 ` [PATCHv2 3/3] drm/i915/display: Populate list of async supported formats/modifiers Arun R Murthy
2024-11-22 4:02 ` kernel test robot
@ 2024-11-25 13:05 ` kernel test robot
2024-11-28 23:21 ` kernel test robot
2 siblings, 0 replies; 19+ messages in thread
From: kernel test robot @ 2024-11-25 13:05 UTC (permalink / raw)
To: Arun R Murthy
Cc: oe-lkp, lkp, intel-gfx, intel-xe, ltp, dri-devel, Arun R Murthy,
oliver.sang
Hello,
kernel test robot noticed "BUG:KASAN:global-out-of-bounds_in_drm_plane_create_format_blob" on:
commit: ab8ee1a4b22d80e3812a6d9990b92d77eee4a17f ("[PATCHv2 3/3] drm/i915/display: Populate list of async supported formats/modifiers")
url: https://github.com/intel-lab-lkp/linux/commits/Arun-R-Murthy/drm-plane-Expose-function-to-create-format-modifier-blob/20241121-105652
base: git://anongit.freedesktop.org/drm-intel for-linux-next-fixes
patch link: https://lore.kernel.org/all/20241118075315.466009-4-arun.r.murthy@intel.com/
patch subject: [PATCHv2 3/3] drm/i915/display: Populate list of async supported formats/modifiers
in testcase: ltp
version: ltp-x86_64-14c1f76-1_20241111
with following parameters:
test: lvm.local-00
config: x86_64-rhel-9.4-ltp
compiler: gcc-12
test machine: 8 threads 1 sockets Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz (Kaby Lake) with 32G memory
(please refer to attached dmesg/kmsg for entire log/backtrace)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <oliver.sang@intel.com>
| Closes: https://lore.kernel.org/oe-lkp/202411252029.30061fde-lkp@intel.com
kern :err : [ 44.116017] BUG: KASAN: global-out-of-bounds in drm_plane_create_format_blob (drivers/gpu/drm/drm_plane.c:191 drivers/gpu/drm/drm_plane.c:238) drm
kern :notice: [ 44.129098] i915 0000:00:02.0: [drm] DMC firmware homepage: https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
kern :err : [ 44.138344] Read of size 144 at addr ffffffffc1a99bc0 by task (udev-worker)/230
kern :err : [ 44.138357] CPU: 1 UID: 0 PID: 230 Comm: (udev-worker) Not tainted 6.12.0-00003-gab8ee1a4b22d #1
kern :err : [ 44.138361] Hardware name: Dell Inc. OptiPlex 7050/062KRH, BIOS 1.2.0 12/22/2016
kern :err : [ 44.138363] Call Trace:
kern :err : [ 44.138365] <TASK>
kern :err : [ 44.138367] dump_stack_lvl (lib/dump_stack.c:123 (discriminator 1))
kern :err : [ 44.138376] print_address_description+0x2c/0x3a0
kern :err : [ 44.196003] ? drm_plane_create_format_blob (drivers/gpu/drm/drm_plane.c:191 drivers/gpu/drm/drm_plane.c:238) drm
kern :err : [ 44.202599] print_report (mm/kasan/report.c:489)
kern :err : [ 44.206894] ? kasan_addr_to_slab (mm/kasan/common.c:37)
kern :err : [ 44.211709] ? drm_plane_create_format_blob (drivers/gpu/drm/drm_plane.c:191 drivers/gpu/drm/drm_plane.c:238) drm
kern :err : [ 44.218254] kasan_report (mm/kasan/report.c:603)
kern :err : [ 44.222465] ? drm_plane_create_format_blob (drivers/gpu/drm/drm_plane.c:191 drivers/gpu/drm/drm_plane.c:238) drm
kern :err : [ 44.229022] kasan_check_range (mm/kasan/generic.c:183 mm/kasan/generic.c:189)
kern :err : [ 44.233763] __asan_memcpy (mm/kasan/shadow.c:105)
kern :err : [ 44.238065] drm_plane_create_format_blob (drivers/gpu/drm/drm_plane.c:191 drivers/gpu/drm/drm_plane.c:238) drm
kern :err : [ 44.244436] ? skl_universal_plane_create (drivers/gpu/drm/i915/display/skl_universal_plane.c:2615) i915
kern :err : [ 44.251192] skl_universal_plane_create (drivers/gpu/drm/i915/display/skl_universal_plane.c:2630) i915
kern :err : [ 44.257773] intel_crtc_init (drivers/gpu/drm/i915/display/intel_crtc.c:312) i915
kern :err : [ 44.263672] ? intel_gmbus_setup (drivers/gpu/drm/i915/display/intel_gmbus.c:935) i915
kern :err : [ 44.269640] intel_display_driver_probe_nogem (drivers/gpu/drm/i915/display/intel_display_driver.c:441) i915
kern :err : [ 44.277003] i915_driver_probe (drivers/gpu/drm/i915/i915_driver.c:832) i915
kern :err : [ 44.282751] ? __pfx_i915_driver_probe (drivers/gpu/drm/i915/i915_driver.c:751) i915
kern :err : [ 44.289031] ? drm_privacy_screen_get (drivers/gpu/drm/drm_privacy_screen.c:168) drm
kern :err : [ 44.295046] ? intel_display_driver_probe_defer (drivers/gpu/drm/i915/display/intel_display_driver.c:81) i915
kern :err : [ 44.302188] ? i915_pci_probe (drivers/gpu/drm/i915/i915_pci.c:998) i915
kern :err : [ 44.307853] ? __pfx_i915_pci_probe (drivers/gpu/drm/i915/i915_pci.c:959) i915
kern :err : [ 44.314024] local_pci_probe (drivers/pci/pci-driver.c:324)
kern :err : [ 44.318585] pci_call_probe (drivers/pci/pci-driver.c:392)
kern :err : [ 44.323139] ? __pfx_pci_call_probe (drivers/pci/pci-driver.c:352)
kern :err : [ 44.328232] ? pci_assign_irq (drivers/pci/irq.c:149)
kern :err : [ 44.332888] ? pci_match_device (drivers/pci/pci-driver.c:159 (discriminator 1))
kern :err : [ 44.337812] pci_device_probe (drivers/pci/pci-driver.c:452)
kern :err : [ 44.342468] ? pci_dma_configure (drivers/pci/pci-driver.c:1656)
kern :err : [ 44.347478] really_probe (drivers/base/dd.c:579 drivers/base/dd.c:658)
kern :err : [ 44.351871] __driver_probe_device (drivers/base/dd.c:800)
kern :err : [ 44.357038] driver_probe_device (drivers/base/dd.c:830)
kern :err : [ 44.361948] __driver_attach (drivers/base/dd.c:1217)
kern :err : [ 44.366602] ? __pfx___driver_attach (drivers/base/dd.c:1157)
kern :err : [ 44.371767] bus_for_each_dev (drivers/base/bus.c:370)
kern :err : [ 44.376413] ? __kasan_slab_alloc (mm/kasan/common.c:318 mm/kasan/common.c:345)
kern :err : [ 44.381325] ? __pfx_bus_for_each_dev (drivers/base/bus.c:358)
kern :err : [ 44.386587] ? __pfx__raw_spin_lock (kernel/locking/spinlock.c:153)
kern :err : [ 44.391677] ? klist_add_tail (include/linux/list.h:150 include/linux/list.h:183 lib/klist.c:104 lib/klist.c:137)
kern :err : [ 44.396421] bus_add_driver (drivers/base/bus.c:675)
kern :err : [ 44.400984] driver_register (drivers/base/driver.c:246)
kern :err : [ 44.405631] i915_init (drivers/gpu/drm/i915/i915_driver.c:1395) i915
kern :err : [ 44.410605] ? __pfx_i915_init (drivers/gpu/drm/i915/i915_config.c:13) i915
kern :err : [ 44.416150] do_one_initcall (init/main.c:1269)
kern :err : [ 44.420704] ? __pfx_do_one_initcall (init/main.c:1260)
kern :err : [ 44.425872] ? __asan_register_globals (mm/kasan/generic.c:232 (discriminator 3))
kern :err : [ 44.431218] ? kasan_unpoison (mm/kasan/shadow.c:156 mm/kasan/shadow.c:182)
kern :err : [ 44.435787] do_init_module (kernel/module/main.c:2543)
kern :err : [ 44.440356] load_module (kernel/module/main.c:3009)
kern :err : [ 44.444831] ? ima_post_read_file (security/integrity/ima/ima_main.c:835 security/integrity/ima/ima_main.c:817)
kern :err : [ 44.449914] ? __pfx_load_module (kernel/module/main.c:2856)
kern :err : [ 44.454736] ? security_kernel_post_read_file (security/security.c:3356)
kern :err : [ 44.460698] ? __pfx_kernel_read_file (fs/kernel_read_file.c:38)
kern :err : [ 44.465953] ? __pfx_down_write_killable (kernel/locking/rwsem.c:1586)
kern :err : [ 44.471467] ? init_module_from_file (kernel/module/main.c:3198)
kern :err : [ 44.476720] init_module_from_file (kernel/module/main.c:3198)
kern :err : [ 44.481796] ? __pfx_init_module_from_file (kernel/module/main.c:3174)
kern :err : [ 44.487485] ? __pfx_vm_mmap_pgoff (mm/util.c:578)
kern :err : [ 44.492477] ? __pfx__raw_spin_lock (kernel/locking/spinlock.c:153)
kern :err : [ 44.497559] ? ksys_mmap_pgoff (mm/mmap.c:547)
kern :err : [ 44.502382] idempotent_init_module (kernel/module/main.c:3210)
kern :err : [ 44.507642] ? __pfx_idempotent_init_module (kernel/module/main.c:3202)
kern :err : [ 44.513422] ? __pfx___seccomp_filter (kernel/seccomp.c:1218)
kern :err : [ 44.518687] ? fdget (include/linux/atomic/atomic-arch-fallback.h:479 include/linux/atomic/atomic-instrumented.h:50 fs/file.c:1114 fs/file.c:1128)
kern :err : [ 44.522549] ? security_capable (security/security.c:1143)
kern :err : [ 44.527277] __x64_sys_finit_module (include/linux/file.h:68 kernel/module/main.c:3238 kernel/module/main.c:3220 kernel/module/main.c:3220)
kern :err : [ 44.532443] do_syscall_64 (arch/x86/entry/common.c:52 arch/x86/entry/common.c:83)
kern :err : [ 44.536824] ? sched_clock (arch/x86/include/asm/preempt.h:94 arch/x86/kernel/tsc.c:285)
kern :err : [ 44.541029] ? sched_clock_cpu (kernel/sched/clock.c:394)
kern :err : [ 44.545767] ? clockevents_program_event (kernel/time/clockevents.c:334 (discriminator 3))
kern :err : [ 44.551465] ? __pfx_sched_clock_cpu (kernel/sched/clock.c:389)
kern :err : [ 44.556639] ? hrtimer_interrupt (kernel/time/hrtimer.c:1830)
kern :err : [ 44.561639] ? irqtime_account_irq (kernel/sched/cputime.c:64)
kern :err : [ 44.566730] ? __irq_exit_rcu (kernel/softirq.c:620 kernel/softirq.c:639)
kern :err : [ 44.571387] entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130)
kern :err : [ 44.577175] RIP: 0033:0x7f6c1bf48799
kern :err : [ 44.581479] Code: 08 89 e8 5b 5d c3 66 2e 0f 1f 84 00 00 00 00 00 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d 37 06 0d 00 f7 d8 64 89 01 48
All code
========
0: 08 89 e8 5b 5d c3 or %cl,-0x3ca2a418(%rcx)
6: 66 2e 0f 1f 84 00 00 cs nopw 0x0(%rax,%rax,1)
d: 00 00 00
10: 90 nop
11: 48 89 f8 mov %rdi,%rax
14: 48 89 f7 mov %rsi,%rdi
17: 48 89 d6 mov %rdx,%rsi
1a: 48 89 ca mov %rcx,%rdx
1d: 4d 89 c2 mov %r8,%r10
20: 4d 89 c8 mov %r9,%r8
23: 4c 8b 4c 24 08 mov 0x8(%rsp),%r9
28: 0f 05 syscall
2a:* 48 3d 01 f0 ff ff cmp $0xfffffffffffff001,%rax <-- trapping instruction
30: 73 01 jae 0x33
32: c3 ret
33: 48 8b 0d 37 06 0d 00 mov 0xd0637(%rip),%rcx # 0xd0671
3a: f7 d8 neg %eax
3c: 64 89 01 mov %eax,%fs:(%rcx)
3f: 48 rex.W
Code starting with the faulting instruction
===========================================
0: 48 3d 01 f0 ff ff cmp $0xfffffffffffff001,%rax
6: 73 01 jae 0x9
8: c3 ret
9: 48 8b 0d 37 06 0d 00 mov 0xd0637(%rip),%rcx # 0xd0647
10: f7 d8 neg %eax
12: 64 89 01 mov %eax,%fs:(%rcx)
15: 48 rex.W
The kernel config and materials to reproduce are available at:
https://download.01.org/0day-ci/archive/20241125/202411252029.30061fde-lkp@intel.com
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCHv2 3/3] drm/i915/display: Populate list of async supported formats/modifiers
2024-11-18 7:53 ` [PATCHv2 3/3] drm/i915/display: Populate list of async supported formats/modifiers Arun R Murthy
2024-11-22 4:02 ` kernel test robot
2024-11-25 13:05 ` kernel test robot
@ 2024-11-28 23:21 ` kernel test robot
2 siblings, 0 replies; 19+ messages in thread
From: kernel test robot @ 2024-11-28 23:21 UTC (permalink / raw)
To: Arun R Murthy, intel-xe, intel-gfx, dri-devel
Cc: oe-kbuild-all, Arun R Murthy
Hi Arun,
kernel test robot noticed the following build warnings:
[auto build test WARNING on drm-intel/for-linux-next-fixes]
[also build test WARNING on v6.12 next-20241128]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Arun-R-Murthy/drm-plane-Expose-function-to-create-format-modifier-blob/20241121-105652
base: git://anongit.freedesktop.org/drm-intel for-linux-next-fixes
patch link: https://lore.kernel.org/r/20241118075315.466009-4-arun.r.murthy%40intel.com
patch subject: [PATCHv2 3/3] drm/i915/display: Populate list of async supported formats/modifiers
config: x86_64-randconfig-103-20241121 (https://download.01.org/0day-ci/archive/20241129/202411290757.FcxceZlQ-lkp@intel.com/config)
compiler: gcc-11 (Debian 11.3.0-12) 11.3.0
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202411290757.FcxceZlQ-lkp@intel.com/
cocci warnings: (new ones prefixed by >>)
>> drivers/gpu/drm/i915/display/skl_universal_plane.c:2626:26-32: ERROR: application of sizeof to pointer
vim +2626 drivers/gpu/drm/i915/display/skl_universal_plane.c
2510
2511 struct intel_plane *
2512 skl_universal_plane_create(struct drm_i915_private *dev_priv,
2513 enum pipe pipe, enum plane_id plane_id)
2514 {
2515 const struct drm_plane_funcs *plane_funcs;
2516 struct intel_plane *plane;
2517 enum drm_plane_type plane_type;
2518 unsigned int supported_rotations;
2519 unsigned int supported_csc;
2520 const u64 *modifiers;
2521 u64 *async_modifiers;
2522 const u32 *formats;
2523 int num_formats;
2524 int ret;
2525
2526 plane = intel_plane_alloc();
2527 if (IS_ERR(plane))
2528 return plane;
2529
2530 plane->pipe = pipe;
2531 plane->id = plane_id;
2532 plane->frontbuffer_bit = INTEL_FRONTBUFFER(pipe, plane_id);
2533
2534 intel_fbc_add_plane(skl_plane_fbc(dev_priv, pipe, plane_id), plane);
2535
2536 if (DISPLAY_VER(dev_priv) >= 11) {
2537 plane->min_width = icl_plane_min_width;
2538 if (icl_is_hdr_plane(dev_priv, plane_id))
2539 plane->max_width = icl_hdr_plane_max_width;
2540 else
2541 plane->max_width = icl_sdr_plane_max_width;
2542 plane->max_height = icl_plane_max_height;
2543 plane->min_cdclk = icl_plane_min_cdclk;
2544 } else if (DISPLAY_VER(dev_priv) >= 10) {
2545 plane->max_width = glk_plane_max_width;
2546 plane->max_height = skl_plane_max_height;
2547 plane->min_cdclk = glk_plane_min_cdclk;
2548 } else {
2549 plane->max_width = skl_plane_max_width;
2550 plane->max_height = skl_plane_max_height;
2551 plane->min_cdclk = skl_plane_min_cdclk;
2552 }
2553
2554 if (DISPLAY_VER(dev_priv) >= 13)
2555 plane->max_stride = adl_plane_max_stride;
2556 else
2557 plane->max_stride = skl_plane_max_stride;
2558
2559 if (DISPLAY_VER(dev_priv) >= 12)
2560 plane->min_alignment = tgl_plane_min_alignment;
2561 else
2562 plane->min_alignment = skl_plane_min_alignment;
2563
2564 if (DISPLAY_VER(dev_priv) >= 11) {
2565 plane->update_noarm = icl_plane_update_noarm;
2566 plane->update_arm = icl_plane_update_arm;
2567 plane->disable_arm = icl_plane_disable_arm;
2568 } else {
2569 plane->update_noarm = skl_plane_update_noarm;
2570 plane->update_arm = skl_plane_update_arm;
2571 plane->disable_arm = skl_plane_disable_arm;
2572 }
2573 plane->get_hw_state = skl_plane_get_hw_state;
2574 plane->check_plane = skl_plane_check;
2575
2576 if (plane_id == PLANE_1) {
2577 plane->need_async_flip_toggle_wa = IS_DISPLAY_VER(dev_priv, 9, 10);
2578 plane->async_flip = skl_plane_async_flip;
2579 plane->enable_flip_done = skl_plane_enable_flip_done;
2580 plane->disable_flip_done = skl_plane_disable_flip_done;
2581 }
2582
2583 if (DISPLAY_VER(dev_priv) >= 11)
2584 formats = icl_get_plane_formats(dev_priv, pipe,
2585 plane_id, &num_formats);
2586 else if (DISPLAY_VER(dev_priv) >= 10)
2587 formats = glk_get_plane_formats(dev_priv, pipe,
2588 plane_id, &num_formats);
2589 else
2590 formats = skl_get_plane_formats(dev_priv, pipe,
2591 plane_id, &num_formats);
2592
2593 if (DISPLAY_VER(dev_priv) >= 12)
2594 plane_funcs = &gen12_plane_funcs;
2595 else
2596 plane_funcs = &skl_plane_funcs;
2597
2598 if (plane_id == PLANE_1)
2599 plane_type = DRM_PLANE_TYPE_PRIMARY;
2600 else
2601 plane_type = DRM_PLANE_TYPE_OVERLAY;
2602
2603 modifiers = intel_fb_plane_get_modifiers(dev_priv,
2604 skl_get_plane_caps(dev_priv, pipe, plane_id));
2605
2606 ret = drm_universal_plane_init(&dev_priv->drm, &plane->base,
2607 0, plane_funcs,
2608 formats, num_formats, modifiers,
2609 plane_type,
2610 "plane %d%c", plane_id + 1,
2611 pipe_name(pipe));
2612
2613 kfree(modifiers);
2614
2615 if (ret)
2616 goto fail;
2617
2618 if (DISPLAY_VER(dev_priv) >= 12)
2619 async_modifiers = tgl_asyn_modifiers;
2620 else if (DISPLAY_VER(dev_priv) == 11)
2621 async_modifiers = icl_async_modifiers;
2622 else
2623 async_modifiers = skl_async_modifiers;
2624
2625 drm_plane_create_format_blob(&dev_priv->drm, &plane->base,
> 2626 async_modifiers, sizeof(async_modifiers),
2627 intel_async_formats,
2628 sizeof(intel_async_formats), true);
2629
2630 if (DISPLAY_VER(dev_priv) >= 13)
2631 supported_rotations = DRM_MODE_ROTATE_0 | DRM_MODE_ROTATE_180;
2632 else
2633 supported_rotations =
2634 DRM_MODE_ROTATE_0 | DRM_MODE_ROTATE_90 |
2635 DRM_MODE_ROTATE_180 | DRM_MODE_ROTATE_270;
2636
2637 if (DISPLAY_VER(dev_priv) >= 11)
2638 supported_rotations |= DRM_MODE_REFLECT_X;
2639
2640 drm_plane_create_rotation_property(&plane->base,
2641 DRM_MODE_ROTATE_0,
2642 supported_rotations);
2643
2644 supported_csc = BIT(DRM_COLOR_YCBCR_BT601) | BIT(DRM_COLOR_YCBCR_BT709);
2645
2646 if (DISPLAY_VER(dev_priv) >= 10)
2647 supported_csc |= BIT(DRM_COLOR_YCBCR_BT2020);
2648
2649 drm_plane_create_color_properties(&plane->base,
2650 supported_csc,
2651 BIT(DRM_COLOR_YCBCR_LIMITED_RANGE) |
2652 BIT(DRM_COLOR_YCBCR_FULL_RANGE),
2653 DRM_COLOR_YCBCR_BT709,
2654 DRM_COLOR_YCBCR_LIMITED_RANGE);
2655
2656 drm_plane_create_alpha_property(&plane->base);
2657 drm_plane_create_blend_mode_property(&plane->base,
2658 BIT(DRM_MODE_BLEND_PIXEL_NONE) |
2659 BIT(DRM_MODE_BLEND_PREMULTI) |
2660 BIT(DRM_MODE_BLEND_COVERAGE));
2661
2662 drm_plane_create_zpos_immutable_property(&plane->base, plane_id);
2663
2664 if (DISPLAY_VER(dev_priv) >= 12)
2665 drm_plane_enable_fb_damage_clips(&plane->base);
2666
2667 if (DISPLAY_VER(dev_priv) >= 11)
2668 drm_plane_create_scaling_filter_property(&plane->base,
2669 BIT(DRM_SCALING_FILTER_DEFAULT) |
2670 BIT(DRM_SCALING_FILTER_NEAREST_NEIGHBOR));
2671
2672 intel_plane_helper_add(plane);
2673
2674 return plane;
2675
2676 fail:
2677 intel_plane_free(plane);
2678
2679 return ERR_PTR(ret);
2680 }
2681
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 19+ messages in thread
end of thread, other threads:[~2024-11-28 23:21 UTC | newest]
Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-11-05 10:26 [PATCH 0/4] Expose modifiers/formats supported by async flips Arun R Murthy
2024-11-05 10:26 ` [PATCH 1/4] drm/plane: Add new plane property IN_FORMATS_ASYNC Arun R Murthy
2024-11-06 14:00 ` Ville Syrjälä
2024-11-06 14:32 ` Murthy, Arun R
2024-11-06 14:47 ` Ville Syrjälä
2024-11-05 10:26 ` [PATCH 2/4] drm/i915/fb: Add async field to the modifiers description Arun R Murthy
2024-11-05 10:26 ` [PATCH 3/4] drm/i915/display: Add async_flip flag in get_modifiers Arun R Murthy
2024-11-05 10:26 ` [PATCH 4/4] drm/i915/display: Add async supported formats/modifiers Arun R Murthy
2024-11-05 12:10 ` ✗ Fi.CI.CHECKPATCH: warning for Expose modifiers/formats supported by async flips Patchwork
2024-11-05 12:10 ` ✗ Fi.CI.SPARSE: " Patchwork
2024-11-05 13:21 ` ✗ Fi.CI.BAT: failure " Patchwork
2024-11-18 7:48 ` [PATCHv2/3] " Arun R Murthy
2024-11-18 7:48 ` [PATCHv2 1/3] drm/plane: Add new plane property IN_FORMATS_ASYNC Arun R Murthy
2024-11-18 7:48 ` [PATCHv2 2/3] drm/plane: Expose function to create format/modifier blob Arun R Murthy
2024-11-18 7:49 ` [PATCHv2 3/3] drm/i915/display: Populate list of async supported formats/modifiers Arun R Murthy
-- strict thread matches above, loose matches on Subject: below --
2024-11-18 7:53 [PATCHv2/3] Expose modifiers/formats supported by async flips Arun R Murthy
2024-11-18 7:53 ` [PATCHv2 3/3] drm/i915/display: Populate list of async supported formats/modifiers Arun R Murthy
2024-11-22 4:02 ` kernel test robot
2024-11-25 13:05 ` kernel test robot
2024-11-28 23:21 ` kernel test robot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox