* [PATCH v6 0/4] Cleaning up code related to VRAM regions and its initialization - part 2
@ 2025-06-26 7:14 Piórkowski, Piotr
2025-06-26 7:14 ` [PATCH v6 1/4] drm/xe: Use devm_ioremap_wc for VRAM mapping and drop manual unmap Piórkowski, Piotr
` (7 more replies)
0 siblings, 8 replies; 10+ messages in thread
From: Piórkowski, Piotr @ 2025-06-26 7:14 UTC (permalink / raw)
To: intel-xe; +Cc: Piotr Piórkowski
From: Piotr Piórkowski <piotr.piorkowski@intel.com>
As a follow-up to the earlier VRAM region cleanups, this patch series
focuses on further improving the flexibility and clarity of
the Xe driver's VRAM management.
This series focuses on preparing the VRAM region handling code for future
platforms, where a more dynamic representation of device and tile VRAM
regions will be required. Static allocation of these structures is replaced
with dynamic allocation to increase flexibility and improve maintainability.
Additionally, the initialization logic for device-wide and tile-local VRAM
regions is unified, replacing the previously separate code paths. This
simplification improves code clarity and facilitates future extensions
involving additional VRAM region types.
v2:
- fix doc comments in struct xe_vram_region
- remove unnecessary includes (Jani)
v3:
- move code from xe_vram_init_regions_managers to xe_tile_init_noalloc
(Matthew)
- replace ioremap_wc to devm_ioremap_wc for mapping VRAM BAR
(Matthew)
- Replace the tile id parameter with vram region in the xe_pf_begin
function.
v4:
- add new patch "Use devm_ioremap_wc for VRAM mapping and drop manual
unmap" (Matthew)
- add new patch "Move struct xe_vram_region to a dedicated header" (Jani)
- fix null pointer dereference in xe_assert when VRAM region for tile
hasn't been initialized (Michal)
v5:
- Fix build if CONFIG_DRM_XE_DEVMEM_MIRROR is enabled
v6:
- Fix build if CONFIG_DRM_XE_DISPLAY is enabled
Piotr Piórkowski (4):
drm/xe: Use devm_ioremap_wc for VRAM mapping and drop manual unmap
drm/xe: Use dynamic allocation for tile and device VRAM region
structures
drm/xe: Move struct xe_vram_region to a dedicated header
drm/xe: Unify the initialization of VRAM regions
drivers/gpu/drm/xe/display/xe_fb_pin.c | 3 +-
drivers/gpu/drm/xe/display/xe_plane_initial.c | 3 +-
drivers/gpu/drm/xe/xe_assert.h | 4 +-
drivers/gpu/drm/xe/xe_bo.c | 1 +
drivers/gpu/drm/xe/xe_device.c | 20 +++
drivers/gpu/drm/xe/xe_device_types.h | 62 +------
drivers/gpu/drm/xe/xe_gt_pagefault.c | 13 +-
drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c | 3 +-
drivers/gpu/drm/xe/xe_migrate.c | 19 +-
drivers/gpu/drm/xe/xe_pci.c | 6 +
drivers/gpu/drm/xe/xe_query.c | 5 +-
drivers/gpu/drm/xe/xe_svm.c | 18 +-
drivers/gpu/drm/xe/xe_tile.c | 58 ++++---
drivers/gpu/drm/xe/xe_tile.h | 2 +
drivers/gpu/drm/xe/xe_ttm_stolen_mgr.c | 7 +-
drivers/gpu/drm/xe/xe_ttm_vram_mgr.c | 19 +-
drivers/gpu/drm/xe/xe_ttm_vram_mgr.h | 3 +-
drivers/gpu/drm/xe/xe_vram.c | 163 +++++++++++-------
drivers/gpu/drm/xe/xe_vram.h | 5 +
drivers/gpu/drm/xe/xe_vram_types.h | 82 +++++++++
20 files changed, 315 insertions(+), 181 deletions(-)
create mode 100644 drivers/gpu/drm/xe/xe_vram_types.h
--
2.34.1
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v6 1/4] drm/xe: Use devm_ioremap_wc for VRAM mapping and drop manual unmap
2025-06-26 7:14 [PATCH v6 0/4] Cleaning up code related to VRAM regions and its initialization - part 2 Piórkowski, Piotr
@ 2025-06-26 7:14 ` Piórkowski, Piotr
2025-06-27 8:43 ` Matthew Auld
2025-06-26 7:14 ` [PATCH v6 2/4] drm/xe: Use dynamic allocation for tile and device VRAM region structures Piórkowski, Piotr
` (6 subsequent siblings)
7 siblings, 1 reply; 10+ messages in thread
From: Piórkowski, Piotr @ 2025-06-26 7:14 UTC (permalink / raw)
To: intel-xe; +Cc: Piotr Piórkowski, Matthew Auld
From: Piotr Piórkowski <piotr.piorkowski@intel.com>
Let's replace the manual call to ioremap_wc function with devm_ioremap_wc
function, ensuring that VRAM mappings are automatically released when
the driver is detached.
Since devm_ioremap_wc registers the mapping with the device's managed
resources, the explicit iounmap call in vram_fini is no longer needed,
so let's remove it.
Signed-off-by: Piotr Piórkowski <piotr.piorkowski@intel.com>
Suggested-by: Matthew Auld <matthew.auld@intel.com>
---
drivers/gpu/drm/xe/xe_vram.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/xe/xe_vram.c b/drivers/gpu/drm/xe/xe_vram.c
index e421a74fb87c..3a4c84e9efc6 100644
--- a/drivers/gpu/drm/xe/xe_vram.c
+++ b/drivers/gpu/drm/xe/xe_vram.c
@@ -156,7 +156,8 @@ static int determine_lmem_bar_size(struct xe_device *xe)
xe->mem.vram.dpa_base = 0;
/* set up a map to the total memory area. */
- xe->mem.vram.mapping = ioremap_wc(xe->mem.vram.io_start, xe->mem.vram.io_size);
+ xe->mem.vram.mapping = devm_ioremap_wc(&pdev->dev, xe->mem.vram.io_start,
+ xe->mem.vram.io_size);
return 0;
}
@@ -278,9 +279,6 @@ static void vram_fini(void *arg)
struct xe_tile *tile;
int id;
- if (xe->mem.vram.mapping)
- iounmap(xe->mem.vram.mapping);
-
xe->mem.vram.mapping = NULL;
for_each_tile(tile, xe, id)
--
2.34.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v6 2/4] drm/xe: Use dynamic allocation for tile and device VRAM region structures
2025-06-26 7:14 [PATCH v6 0/4] Cleaning up code related to VRAM regions and its initialization - part 2 Piórkowski, Piotr
2025-06-26 7:14 ` [PATCH v6 1/4] drm/xe: Use devm_ioremap_wc for VRAM mapping and drop manual unmap Piórkowski, Piotr
@ 2025-06-26 7:14 ` Piórkowski, Piotr
2025-06-26 7:14 ` [PATCH v6 3/4] drm/xe: Move struct xe_vram_region to a dedicated header Piórkowski, Piotr
` (5 subsequent siblings)
7 siblings, 0 replies; 10+ messages in thread
From: Piórkowski, Piotr @ 2025-06-26 7:14 UTC (permalink / raw)
To: intel-xe
Cc: Piotr Piórkowski, Stuart Summers, Matthew Auld,
Satyanarayana K V P
From: Piotr Piórkowski <piotr.piorkowski@intel.com>
In future platforms, we will need to represent the device and tile
VRAM regions in a more dynamic way, so let's abandon the static
allocation of these structures and start use a dynamic allocation.
Signed-off-by: Piotr Piórkowski <piotr.piorkowski@intel.com>
Cc: Stuart Summers <stuart.summers@intel.com>
Cc: Matthew Auld <matthew.auld@intel.com>
Reviewed-by: Satyanarayana K V P <satyanarayana.k.v.p@intel.com>
---
drivers/gpu/drm/xe/display/xe_fb_pin.c | 2 +-
drivers/gpu/drm/xe/display/xe_plane_initial.c | 2 +-
drivers/gpu/drm/xe/xe_assert.h | 4 +-
drivers/gpu/drm/xe/xe_device.c | 19 ++++++
drivers/gpu/drm/xe/xe_device_types.h | 6 +-
drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c | 2 +-
drivers/gpu/drm/xe/xe_migrate.c | 18 +++---
drivers/gpu/drm/xe/xe_pci.c | 6 ++
drivers/gpu/drm/xe/xe_query.c | 2 +-
drivers/gpu/drm/xe/xe_svm.c | 17 ++---
drivers/gpu/drm/xe/xe_tile.c | 33 +++++++++-
drivers/gpu/drm/xe/xe_tile.h | 2 +
drivers/gpu/drm/xe/xe_ttm_stolen_mgr.c | 6 +-
drivers/gpu/drm/xe/xe_ttm_vram_mgr.c | 4 +-
drivers/gpu/drm/xe/xe_vram.c | 64 ++++++++++---------
15 files changed, 122 insertions(+), 65 deletions(-)
diff --git a/drivers/gpu/drm/xe/display/xe_fb_pin.c b/drivers/gpu/drm/xe/display/xe_fb_pin.c
index 5e846f0bec21..dc8547640d44 100644
--- a/drivers/gpu/drm/xe/display/xe_fb_pin.c
+++ b/drivers/gpu/drm/xe/display/xe_fb_pin.c
@@ -297,7 +297,7 @@ static struct i915_vma *__xe_pin_fb_vma(const struct intel_framebuffer *fb,
* accessible. This is important on small-bar systems where
* only some subset of VRAM is CPU accessible.
*/
- if (tile->mem.vram.io_size < tile->mem.vram.usable_size) {
+ if (tile->mem.vram->io_size < tile->mem.vram->usable_size) {
ret = -EINVAL;
goto err;
}
diff --git a/drivers/gpu/drm/xe/display/xe_plane_initial.c b/drivers/gpu/drm/xe/display/xe_plane_initial.c
index b2ede3af9345..97b58c0ff39a 100644
--- a/drivers/gpu/drm/xe/display/xe_plane_initial.c
+++ b/drivers/gpu/drm/xe/display/xe_plane_initial.c
@@ -103,7 +103,7 @@ initial_plane_bo(struct xe_device *xe,
* We don't currently expect this to ever be placed in the
* stolen portion.
*/
- if (phys_base >= tile0->mem.vram.usable_size) {
+ if (phys_base >= tile0->mem.vram->usable_size) {
drm_err(&xe->drm,
"Initial plane programming using invalid range, phys_base=%pa\n",
&phys_base);
diff --git a/drivers/gpu/drm/xe/xe_assert.h b/drivers/gpu/drm/xe/xe_assert.h
index 68fe70ce2be3..da357dd42546 100644
--- a/drivers/gpu/drm/xe/xe_assert.h
+++ b/drivers/gpu/drm/xe/xe_assert.h
@@ -145,7 +145,9 @@
const struct xe_tile *__tile = (tile); \
char __buf[10] __maybe_unused; \
xe_assert_msg(tile_to_xe(__tile), condition, "tile: %u VRAM %s\n" msg, \
- __tile->id, ({ string_get_size(__tile->mem.vram.actual_physical_size, 1, \
+ __tile->id, ({ string_get_size(__tile->mem.vram ? \
+ __tile->mem.vram->actual_physical_size : \
+ 0, 1, \
STRING_UNITS_2, __buf, sizeof(__buf)); __buf; }), ## arg); \
})
diff --git a/drivers/gpu/drm/xe/xe_device.c b/drivers/gpu/drm/xe/xe_device.c
index cd17c1354ab3..86f8ca6a96e9 100644
--- a/drivers/gpu/drm/xe/xe_device.c
+++ b/drivers/gpu/drm/xe/xe_device.c
@@ -686,6 +686,21 @@ static void sriov_update_device_info(struct xe_device *xe)
}
}
+static int xe_device_vram_alloc(struct xe_device *xe)
+{
+ struct xe_vram_region *vram;
+
+ if (!IS_DGFX(xe))
+ return 0;
+
+ vram = drmm_kzalloc(&xe->drm, sizeof(*vram), GFP_KERNEL);
+ if (!vram)
+ return -ENOMEM;
+
+ xe->mem.vram = vram;
+ return 0;
+}
+
/**
* xe_device_probe_early: Device early probe
* @xe: xe device instance
@@ -730,6 +745,10 @@ int xe_device_probe_early(struct xe_device *xe)
xe->wedged.mode = xe_modparam.wedged_mode;
+ err = xe_device_vram_alloc(xe);
+ if (err)
+ return err;
+
return 0;
}
ALLOW_ERROR_INJECTION(xe_device_probe_early, ERRNO); /* See xe_pci_probe() */
diff --git a/drivers/gpu/drm/xe/xe_device_types.h b/drivers/gpu/drm/xe/xe_device_types.h
index 6aca4b1a2824..a7bcda67d05f 100644
--- a/drivers/gpu/drm/xe/xe_device_types.h
+++ b/drivers/gpu/drm/xe/xe_device_types.h
@@ -74,6 +74,8 @@ struct xe_pxp;
* device, such as HBM memory or CXL extension memory.
*/
struct xe_vram_region {
+ /** @tile: Backpointer to tile */
+ struct xe_tile *tile;
/** @io_start: IO start address of this VRAM instance */
resource_size_t io_start;
/**
@@ -213,7 +215,7 @@ struct xe_tile {
* Although VRAM is associated with a specific tile, it can
* still be accessed by all tiles' GTs.
*/
- struct xe_vram_region vram;
+ struct xe_vram_region *vram;
/** @mem.ggtt: Global graphics translation table */
struct xe_ggtt *ggtt;
@@ -394,7 +396,7 @@ struct xe_device {
/** @mem: memory info for device */
struct {
/** @mem.vram: VRAM info for device */
- struct xe_vram_region vram;
+ struct xe_vram_region *vram;
/** @mem.sys_mgr: system TTM manager */
struct ttm_resource_manager sys_mgr;
/** @mem.sys_mgr: system memory shrinker. */
diff --git a/drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c b/drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c
index 3556c41c041b..a33a6f3a6731 100644
--- a/drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c
+++ b/drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c
@@ -1574,7 +1574,7 @@ static u64 pf_query_free_lmem(struct xe_gt *gt)
{
struct xe_tile *tile = gt->tile;
- return xe_ttm_vram_get_avail(&tile->mem.vram.ttm.manager);
+ return xe_ttm_vram_get_avail(&tile->mem.vram->ttm.manager);
}
static u64 pf_query_max_lmem(struct xe_gt *gt)
diff --git a/drivers/gpu/drm/xe/xe_migrate.c b/drivers/gpu/drm/xe/xe_migrate.c
index 8f8e9fdfb2a8..c0bd23aaaa23 100644
--- a/drivers/gpu/drm/xe/xe_migrate.c
+++ b/drivers/gpu/drm/xe/xe_migrate.c
@@ -130,9 +130,9 @@ static u64 xe_migrate_vram_ofs(struct xe_device *xe, u64 addr, bool is_comp_pte)
u64 identity_offset = IDENTITY_OFFSET;
if (GRAPHICS_VER(xe) >= 20 && is_comp_pte)
- identity_offset += DIV_ROUND_UP_ULL(xe->mem.vram.actual_physical_size, SZ_1G);
+ identity_offset += DIV_ROUND_UP_ULL(xe->mem.vram->actual_physical_size, SZ_1G);
- addr -= xe->mem.vram.dpa_base;
+ addr -= xe->mem.vram->dpa_base;
return addr + (identity_offset << xe_pt_shift(2));
}
@@ -142,22 +142,22 @@ static void xe_migrate_program_identity(struct xe_device *xe, struct xe_vm *vm,
u64 pos, ofs, flags;
u64 entry;
/* XXX: Unclear if this should be usable_size? */
- u64 vram_limit = xe->mem.vram.actual_physical_size +
- xe->mem.vram.dpa_base;
+ u64 vram_limit = xe->mem.vram->actual_physical_size +
+ xe->mem.vram->dpa_base;
u32 level = 2;
ofs = map_ofs + XE_PAGE_SIZE * level + vram_offset * 8;
flags = vm->pt_ops->pte_encode_addr(xe, 0, pat_index, level,
true, 0);
- xe_assert(xe, IS_ALIGNED(xe->mem.vram.usable_size, SZ_2M));
+ xe_assert(xe, IS_ALIGNED(xe->mem.vram->usable_size, SZ_2M));
/*
* Use 1GB pages when possible, last chunk always use 2M
* pages as mixing reserved memory (stolen, WOCPM) with a single
* mapping is not allowed on certain platforms.
*/
- for (pos = xe->mem.vram.dpa_base; pos < vram_limit;
+ for (pos = xe->mem.vram->dpa_base; pos < vram_limit;
pos += SZ_1G, ofs += 8) {
if (pos + SZ_1G >= vram_limit) {
entry = vm->pt_ops->pde_encode_bo(bo, pt_2m_ofs,
@@ -310,7 +310,7 @@ static int xe_migrate_prepare_vm(struct xe_tile *tile, struct xe_migrate *m,
xe_migrate_program_identity(xe, vm, bo, map_ofs, IDENTITY_OFFSET,
pat_index, pt30_ofs);
- xe_assert(xe, xe->mem.vram.actual_physical_size <=
+ xe_assert(xe, xe->mem.vram->actual_physical_size <=
(MAX_NUM_PTE - IDENTITY_OFFSET) * SZ_1G);
/*
@@ -320,10 +320,10 @@ static int xe_migrate_prepare_vm(struct xe_tile *tile, struct xe_migrate *m,
if (GRAPHICS_VER(xe) >= 20 && xe_device_has_flat_ccs(xe)) {
u16 comp_pat_index = xe->pat.idx[XE_CACHE_NONE_COMPRESSION];
u64 vram_offset = IDENTITY_OFFSET +
- DIV_ROUND_UP_ULL(xe->mem.vram.actual_physical_size, SZ_1G);
+ DIV_ROUND_UP_ULL(xe->mem.vram->actual_physical_size, SZ_1G);
u64 pt31_ofs = bo->size - XE_PAGE_SIZE;
- xe_assert(xe, xe->mem.vram.actual_physical_size <= (MAX_NUM_PTE -
+ xe_assert(xe, xe->mem.vram->actual_physical_size <= (MAX_NUM_PTE -
IDENTITY_OFFSET - IDENTITY_OFFSET / 2) * SZ_1G);
xe_migrate_program_identity(xe, vm, bo, map_ofs, vram_offset,
comp_pat_index, pt31_ofs);
diff --git a/drivers/gpu/drm/xe/xe_pci.c b/drivers/gpu/drm/xe/xe_pci.c
index 824461c31288..90494f16d3d8 100644
--- a/drivers/gpu/drm/xe/xe_pci.c
+++ b/drivers/gpu/drm/xe/xe_pci.c
@@ -714,12 +714,18 @@ static int xe_info_init(struct xe_device *xe,
* All of these together determine the overall GT count.
*/
for_each_tile(tile, xe, id) {
+ int err;
+
gt = tile->primary_gt;
gt->info.id = xe->info.gt_count++;
gt->info.type = XE_GT_TYPE_MAIN;
gt->info.has_indirect_ring_state = graphics_desc->has_indirect_ring_state;
gt->info.engine_mask = graphics_desc->hw_engine_mask;
+ err = xe_tile_alloc_vram(tile);
+ if (err)
+ return err;
+
if (MEDIA_VER(xe) < 13 && media_desc)
gt->info.engine_mask |= media_desc->hw_engine_mask;
diff --git a/drivers/gpu/drm/xe/xe_query.c b/drivers/gpu/drm/xe/xe_query.c
index e8e1743dcb1e..ba9b7482605c 100644
--- a/drivers/gpu/drm/xe/xe_query.c
+++ b/drivers/gpu/drm/xe/xe_query.c
@@ -337,7 +337,7 @@ static int query_config(struct xe_device *xe, struct drm_xe_device_query *query)
config->num_params = num_params;
config->info[DRM_XE_QUERY_CONFIG_REV_AND_DEVICE_ID] =
xe->info.devid | (xe->info.revid << 16);
- if (xe_device_get_root_tile(xe)->mem.vram.usable_size)
+ if (xe->mem.vram)
config->info[DRM_XE_QUERY_CONFIG_FLAGS] |=
DRM_XE_QUERY_CONFIG_FLAG_HAS_VRAM;
if (xe->info.has_usm && IS_ENABLED(CONFIG_DRM_XE_GPUSVM))
diff --git a/drivers/gpu/drm/xe/xe_svm.c b/drivers/gpu/drm/xe/xe_svm.c
index 26418e9bdff0..98d79c118e45 100644
--- a/drivers/gpu/drm/xe/xe_svm.c
+++ b/drivers/gpu/drm/xe/xe_svm.c
@@ -302,16 +302,11 @@ static struct xe_vram_region *page_to_vr(struct page *page)
return container_of(page_pgmap(page), struct xe_vram_region, pagemap);
}
-static struct xe_tile *vr_to_tile(struct xe_vram_region *vr)
-{
- return container_of(vr, struct xe_tile, mem.vram);
-}
-
static u64 xe_vram_region_page_to_dpa(struct xe_vram_region *vr,
struct page *page)
{
u64 dpa;
- struct xe_tile *tile = vr_to_tile(vr);
+ struct xe_tile *tile = vr->tile;
u64 pfn = page_to_pfn(page);
u64 offset;
@@ -366,7 +361,7 @@ static int xe_svm_copy(struct page **pages, dma_addr_t *dma_addr,
if (!vr && spage) {
vr = page_to_vr(spage);
- tile = vr_to_tile(vr);
+ tile = vr->tile;
}
XE_WARN_ON(spage && page_to_vr(spage) != vr);
@@ -502,7 +497,7 @@ static u64 block_offset_to_pfn(struct xe_vram_region *vr, u64 offset)
static struct drm_buddy *tile_to_buddy(struct xe_tile *tile)
{
- return &tile->mem.vram.ttm.mm;
+ return &tile->mem.vram->ttm.mm;
}
static int xe_svm_populate_devmem_pfn(struct drm_gpusvm_devmem *devmem_allocation,
@@ -516,7 +511,7 @@ static int xe_svm_populate_devmem_pfn(struct drm_gpusvm_devmem *devmem_allocatio
list_for_each_entry(block, blocks, link) {
struct xe_vram_region *vr = block->private;
- struct xe_tile *tile = vr_to_tile(vr);
+ struct xe_tile *tile = vr->tile;
struct drm_buddy *buddy = tile_to_buddy(tile);
u64 block_pfn = block_offset_to_pfn(vr, drm_buddy_block_offset(block));
int i;
@@ -679,7 +674,7 @@ u64 xe_svm_find_vma_start(struct xe_vm *vm, u64 start, u64 end, struct xe_vma *v
#if IS_ENABLED(CONFIG_DRM_XE_DEVMEM_MIRROR)
static struct xe_vram_region *tile_to_vr(struct xe_tile *tile)
{
- return &tile->mem.vram;
+ return tile->mem.vram;
}
/**
@@ -726,7 +721,7 @@ int xe_svm_alloc_vram(struct xe_vm *vm, struct xe_tile *tile,
drm_gpusvm_devmem_init(&bo->devmem_allocation,
vm->xe->drm.dev, mm,
&gpusvm_devmem_ops,
- &tile->mem.vram.dpagemap,
+ &tile->mem.vram->dpagemap,
xe_svm_range_size(range));
blocks = &to_xe_ttm_vram_mgr_resource(bo->ttm.resource)->blocks;
diff --git a/drivers/gpu/drm/xe/xe_tile.c b/drivers/gpu/drm/xe/xe_tile.c
index 672faa0b67f1..c64a4d1a5bb9 100644
--- a/drivers/gpu/drm/xe/xe_tile.c
+++ b/drivers/gpu/drm/xe/xe_tile.c
@@ -94,6 +94,33 @@ static int xe_tile_alloc(struct xe_tile *tile)
return 0;
}
+/**
+ * xe_tile_alloc_vram - Perform per-tile VRAM structs allocation
+ * @tile: Tile to perform allocations for
+ *
+ * Allocates VRAM per-tile data structures using DRM-managed allocations.
+ * Does not touch the hardware.
+ *
+ * Returns -ENOMEM if allocations fail, otherwise 0.
+ */
+int xe_tile_alloc_vram(struct xe_tile *tile)
+{
+ struct xe_device *xe = tile_to_xe(tile);
+ struct xe_vram_region *vram;
+
+ if (!IS_DGFX(xe))
+ return 0;
+
+ vram = drmm_kzalloc(&xe->drm, sizeof(*vram), GFP_KERNEL);
+ if (!vram)
+ return -ENOMEM;
+
+ vram->tile = tile;
+ tile->mem.vram = vram;
+
+ return 0;
+}
+
/**
* xe_tile_init_early - Initialize the tile and primary GT
* @tile: Tile to initialize
@@ -131,8 +158,8 @@ static int tile_ttm_mgr_init(struct xe_tile *tile)
struct xe_device *xe = tile_to_xe(tile);
int err;
- if (tile->mem.vram.usable_size) {
- err = xe_ttm_vram_mgr_init(tile, &tile->mem.vram.ttm);
+ if (tile->mem.vram->usable_size) {
+ err = xe_ttm_vram_mgr_init(tile, &tile->mem.vram->ttm);
if (err)
return err;
xe->info.mem_region_mask |= BIT(tile->id) << 1;
@@ -167,7 +194,7 @@ int xe_tile_init_noalloc(struct xe_tile *tile)
xe_wa_apply_tile_workarounds(tile);
if (xe->info.has_usm && IS_DGFX(xe))
- xe_devm_add(tile, &tile->mem.vram);
+ xe_devm_add(tile, tile->mem.vram);
return xe_tile_sysfs_init(tile);
}
diff --git a/drivers/gpu/drm/xe/xe_tile.h b/drivers/gpu/drm/xe/xe_tile.h
index eb939316d55b..8dd87ccb2aca 100644
--- a/drivers/gpu/drm/xe/xe_tile.h
+++ b/drivers/gpu/drm/xe/xe_tile.h
@@ -14,6 +14,8 @@ int xe_tile_init_early(struct xe_tile *tile, struct xe_device *xe, u8 id);
int xe_tile_init_noalloc(struct xe_tile *tile);
int xe_tile_init(struct xe_tile *tile);
+int xe_tile_alloc_vram(struct xe_tile *tile);
+
void xe_tile_migrate_wait(struct xe_tile *tile);
#endif
diff --git a/drivers/gpu/drm/xe/xe_ttm_stolen_mgr.c b/drivers/gpu/drm/xe/xe_ttm_stolen_mgr.c
index d9c9d2547aad..19bfc22b9706 100644
--- a/drivers/gpu/drm/xe/xe_ttm_stolen_mgr.c
+++ b/drivers/gpu/drm/xe/xe_ttm_stolen_mgr.c
@@ -89,8 +89,8 @@ static s64 detect_bar2_dgfx(struct xe_device *xe, struct xe_ttm_stolen_mgr *mgr)
u64 tile_offset;
u64 tile_size;
- tile_offset = tile->mem.vram.io_start - xe->mem.vram.io_start;
- tile_size = tile->mem.vram.actual_physical_size;
+ tile_offset = tile->mem.vram->io_start - xe->mem.vram->io_start;
+ tile_size = tile->mem.vram->actual_physical_size;
/* Use DSM base address instead for stolen memory */
mgr->stolen_base = (xe_mmio_read64_2x32(mmio, DSMBASE) & BDSM_MASK) - tile_offset;
@@ -107,7 +107,7 @@ static s64 detect_bar2_dgfx(struct xe_device *xe, struct xe_ttm_stolen_mgr *mgr)
/* Verify usage fits in the actual resource available */
if (mgr->stolen_base + stolen_size <= pci_resource_len(pdev, LMEM_BAR))
- mgr->io_base = tile->mem.vram.io_start + mgr->stolen_base;
+ mgr->io_base = tile->mem.vram->io_start + mgr->stolen_base;
/*
* There may be few KB of platform dependent reserved memory at the end
diff --git a/drivers/gpu/drm/xe/xe_ttm_vram_mgr.c b/drivers/gpu/drm/xe/xe_ttm_vram_mgr.c
index 9e375a40aee9..d9afe0e22071 100644
--- a/drivers/gpu/drm/xe/xe_ttm_vram_mgr.c
+++ b/drivers/gpu/drm/xe/xe_ttm_vram_mgr.c
@@ -340,7 +340,7 @@ int __xe_ttm_vram_mgr_init(struct xe_device *xe, struct xe_ttm_vram_mgr *mgr,
int xe_ttm_vram_mgr_init(struct xe_tile *tile, struct xe_ttm_vram_mgr *mgr)
{
struct xe_device *xe = tile_to_xe(tile);
- struct xe_vram_region *vram = &tile->mem.vram;
+ struct xe_vram_region *vram = tile->mem.vram;
return __xe_ttm_vram_mgr_init(xe, mgr, XE_PL_VRAM0 + tile->id,
vram->usable_size, vram->io_size,
@@ -392,7 +392,7 @@ int xe_ttm_vram_mgr_alloc_sgt(struct xe_device *xe,
*/
xe_res_first(res, offset, length, &cursor);
for_each_sgtable_sg((*sgt), sg, i) {
- phys_addr_t phys = cursor.start + tile->mem.vram.io_start;
+ phys_addr_t phys = cursor.start + tile->mem.vram->io_start;
size_t size = min_t(u64, cursor.size, SZ_2G);
dma_addr_t addr;
diff --git a/drivers/gpu/drm/xe/xe_vram.c b/drivers/gpu/drm/xe/xe_vram.c
index 3a4c84e9efc6..7e3980bcb4e6 100644
--- a/drivers/gpu/drm/xe/xe_vram.c
+++ b/drivers/gpu/drm/xe/xe_vram.c
@@ -147,17 +147,17 @@ static int determine_lmem_bar_size(struct xe_device *xe)
resize_vram_bar(xe);
- xe->mem.vram.io_start = pci_resource_start(pdev, LMEM_BAR);
- xe->mem.vram.io_size = pci_resource_len(pdev, LMEM_BAR);
- if (!xe->mem.vram.io_size)
+ xe->mem.vram->io_start = pci_resource_start(pdev, LMEM_BAR);
+ xe->mem.vram->io_size = pci_resource_len(pdev, LMEM_BAR);
+ if (!xe->mem.vram->io_size)
return -EIO;
/* XXX: Need to change when xe link code is ready */
- xe->mem.vram.dpa_base = 0;
+ xe->mem.vram->dpa_base = 0;
/* set up a map to the total memory area. */
- xe->mem.vram.mapping = devm_ioremap_wc(&pdev->dev, xe->mem.vram.io_start,
- xe->mem.vram.io_size);
+ xe->mem.vram->mapping = devm_ioremap_wc(&pdev->dev, xe->mem.vram->io_start,
+ xe->mem.vram->io_size);
return 0;
}
@@ -279,10 +279,10 @@ static void vram_fini(void *arg)
struct xe_tile *tile;
int id;
- xe->mem.vram.mapping = NULL;
+ xe->mem.vram->mapping = NULL;
for_each_tile(tile, xe, id)
- tile->mem.vram.mapping = NULL;
+ tile->mem.vram->mapping = NULL;
}
/**
@@ -318,10 +318,10 @@ int xe_vram_probe(struct xe_device *xe)
if (err)
return err;
- drm_info(&xe->drm, "VISIBLE VRAM: %pa, %pa\n", &xe->mem.vram.io_start,
- &xe->mem.vram.io_size);
+ drm_info(&xe->drm, "VISIBLE VRAM: %pa, %pa\n", &xe->mem.vram->io_start,
+ &xe->mem.vram->io_size);
- io_size = xe->mem.vram.io_size;
+ io_size = xe->mem.vram->io_size;
/* tile specific ranges */
for_each_tile(tile, xe, id) {
@@ -329,44 +329,48 @@ int xe_vram_probe(struct xe_device *xe)
if (err)
return err;
- tile->mem.vram.actual_physical_size = tile_size;
- tile->mem.vram.io_start = xe->mem.vram.io_start + tile_offset;
- tile->mem.vram.io_size = min_t(u64, vram_size, io_size);
+ tile->mem.vram->actual_physical_size = tile_size;
+ tile->mem.vram->io_start = xe->mem.vram->io_start + tile_offset;
+ tile->mem.vram->io_size = min_t(u64, vram_size, io_size);
- if (!tile->mem.vram.io_size) {
+ if (!tile->mem.vram->io_size) {
drm_err(&xe->drm, "Tile without any CPU visible VRAM. Aborting.\n");
return -ENODEV;
}
- tile->mem.vram.dpa_base = xe->mem.vram.dpa_base + tile_offset;
- tile->mem.vram.usable_size = vram_size;
- tile->mem.vram.mapping = xe->mem.vram.mapping + tile_offset;
+ tile->mem.vram->dpa_base = xe->mem.vram->dpa_base + tile_offset;
+ tile->mem.vram->usable_size = vram_size;
+ tile->mem.vram->mapping = xe->mem.vram->mapping + tile_offset;
- if (tile->mem.vram.io_size < tile->mem.vram.usable_size)
+ if (tile->mem.vram->io_size < tile->mem.vram->usable_size)
drm_info(&xe->drm, "Small BAR device\n");
- drm_info(&xe->drm, "VRAM[%u, %u]: Actual physical size %pa, usable size exclude stolen %pa, CPU accessible size %pa\n", id,
- tile->id, &tile->mem.vram.actual_physical_size, &tile->mem.vram.usable_size, &tile->mem.vram.io_size);
- drm_info(&xe->drm, "VRAM[%u, %u]: DPA range: [%pa-%llx], io range: [%pa-%llx]\n", id, tile->id,
- &tile->mem.vram.dpa_base, tile->mem.vram.dpa_base + (u64)tile->mem.vram.actual_physical_size,
- &tile->mem.vram.io_start, tile->mem.vram.io_start + (u64)tile->mem.vram.io_size);
+ drm_info(&xe->drm,
+ "VRAM[%u, %u]: Actual physical size %pa, usable size exclude stolen %pa, CPU accessible size %pa\n",
+ id, tile->id, &tile->mem.vram->actual_physical_size,
+ &tile->mem.vram->usable_size, &tile->mem.vram->io_size);
+ drm_info(&xe->drm, "VRAM[%u, %u]: DPA range: [%pa-%llx], io range: [%pa-%llx]\n",
+ id, tile->id, &tile->mem.vram->dpa_base,
+ tile->mem.vram->dpa_base + (u64)tile->mem.vram->actual_physical_size,
+ &tile->mem.vram->io_start,
+ tile->mem.vram->io_start + (u64)tile->mem.vram->io_size);
/* calculate total size using tile size to get the correct HW sizing */
total_size += tile_size;
available_size += vram_size;
- if (total_size > xe->mem.vram.io_size) {
+ if (total_size > xe->mem.vram->io_size) {
drm_info(&xe->drm, "VRAM: %pa is larger than resource %pa\n",
- &total_size, &xe->mem.vram.io_size);
+ &total_size, &xe->mem.vram->io_size);
}
io_size -= min_t(u64, tile_size, io_size);
}
- xe->mem.vram.actual_physical_size = total_size;
+ xe->mem.vram->actual_physical_size = total_size;
- drm_info(&xe->drm, "Total VRAM: %pa, %pa\n", &xe->mem.vram.io_start,
- &xe->mem.vram.actual_physical_size);
- drm_info(&xe->drm, "Available VRAM: %pa, %pa\n", &xe->mem.vram.io_start,
+ drm_info(&xe->drm, "Total VRAM: %pa, %pa\n", &xe->mem.vram->io_start,
+ &xe->mem.vram->actual_physical_size);
+ drm_info(&xe->drm, "Available VRAM: %pa, %pa\n", &xe->mem.vram->io_start,
&available_size);
return devm_add_action_or_reset(xe->drm.dev, vram_fini, xe);
--
2.34.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v6 3/4] drm/xe: Move struct xe_vram_region to a dedicated header
2025-06-26 7:14 [PATCH v6 0/4] Cleaning up code related to VRAM regions and its initialization - part 2 Piórkowski, Piotr
2025-06-26 7:14 ` [PATCH v6 1/4] drm/xe: Use devm_ioremap_wc for VRAM mapping and drop manual unmap Piórkowski, Piotr
2025-06-26 7:14 ` [PATCH v6 2/4] drm/xe: Use dynamic allocation for tile and device VRAM region structures Piórkowski, Piotr
@ 2025-06-26 7:14 ` Piórkowski, Piotr
2025-06-26 7:14 ` [PATCH v6 4/4] drm/xe: Unify the initialization of VRAM regions Piórkowski, Piotr
` (4 subsequent siblings)
7 siblings, 0 replies; 10+ messages in thread
From: Piórkowski, Piotr @ 2025-06-26 7:14 UTC (permalink / raw)
To: intel-xe; +Cc: Piotr Piórkowski, Jani Nikula
From: Piotr Piórkowski <piotr.piorkowski@intel.com>
Let's move the xe_vram_region structure to a new header dedicated to VRAM
to improve modularity and avoid unnecessary dependencies when only
VRAM-related structures are needed.
v2: Fix build if CONFIG_DRM_XE_DEVMEM_MIRROR is enabled
v3: Fix build if CONFIG_DRM_XE_DISPLAY is enabled
Signed-off-by: Piotr Piórkowski <piotr.piorkowski@intel.com>
Suggested-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/xe/display/xe_fb_pin.c | 1 +
drivers/gpu/drm/xe/display/xe_plane_initial.c | 1 +
drivers/gpu/drm/xe/xe_assert.h | 6 +-
drivers/gpu/drm/xe/xe_bo.c | 1 +
drivers/gpu/drm/xe/xe_device.c | 1 +
drivers/gpu/drm/xe/xe_device_types.h | 60 +--------------
drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c | 1 +
drivers/gpu/drm/xe/xe_migrate.c | 1 +
drivers/gpu/drm/xe/xe_svm.c | 1 +
drivers/gpu/drm/xe/xe_tile.c | 1 +
drivers/gpu/drm/xe/xe_ttm_stolen_mgr.c | 1 +
drivers/gpu/drm/xe/xe_ttm_vram_mgr.c | 1 +
drivers/gpu/drm/xe/xe_vram.c | 12 +++
drivers/gpu/drm/xe/xe_vram.h | 4 +
drivers/gpu/drm/xe/xe_vram_types.h | 74 +++++++++++++++++++
15 files changed, 104 insertions(+), 62 deletions(-)
create mode 100644 drivers/gpu/drm/xe/xe_vram_types.h
diff --git a/drivers/gpu/drm/xe/display/xe_fb_pin.c b/drivers/gpu/drm/xe/display/xe_fb_pin.c
index dc8547640d44..7d3633881c53 100644
--- a/drivers/gpu/drm/xe/display/xe_fb_pin.c
+++ b/drivers/gpu/drm/xe/display/xe_fb_pin.c
@@ -16,6 +16,7 @@
#include "xe_device.h"
#include "xe_ggtt.h"
#include "xe_pm.h"
+#include "xe_vram_types.h"
static void
write_dpt_rotated(struct xe_bo *bo, struct iosys_map *map, u32 *dpt_ofs, u32 bo_ofs,
diff --git a/drivers/gpu/drm/xe/display/xe_plane_initial.c b/drivers/gpu/drm/xe/display/xe_plane_initial.c
index 97b58c0ff39a..056d771b24f6 100644
--- a/drivers/gpu/drm/xe/display/xe_plane_initial.c
+++ b/drivers/gpu/drm/xe/display/xe_plane_initial.c
@@ -22,6 +22,7 @@
#include "intel_plane_initial.h"
#include "xe_bo.h"
#include "xe_wa.h"
+#include "xe_vram_types.h"
#include <generated/xe_wa_oob.h>
diff --git a/drivers/gpu/drm/xe/xe_assert.h b/drivers/gpu/drm/xe/xe_assert.h
index da357dd42546..a818eaa05b7d 100644
--- a/drivers/gpu/drm/xe/xe_assert.h
+++ b/drivers/gpu/drm/xe/xe_assert.h
@@ -12,6 +12,7 @@
#include "xe_gt_types.h"
#include "xe_step.h"
+#include "xe_vram.h"
/**
* DOC: Xe Asserts
@@ -145,9 +146,8 @@
const struct xe_tile *__tile = (tile); \
char __buf[10] __maybe_unused; \
xe_assert_msg(tile_to_xe(__tile), condition, "tile: %u VRAM %s\n" msg, \
- __tile->id, ({ string_get_size(__tile->mem.vram ? \
- __tile->mem.vram->actual_physical_size : \
- 0, 1, \
+ __tile->id, ({ string_get_size( \
+ xe_vram_region_actual_physical_size(__tile->mem.vram), 1, \
STRING_UNITS_2, __buf, sizeof(__buf)); __buf; }), ## arg); \
})
diff --git a/drivers/gpu/drm/xe/xe_bo.c b/drivers/gpu/drm/xe/xe_bo.c
index 4e39188a021a..196acffe0180 100644
--- a/drivers/gpu/drm/xe/xe_bo.c
+++ b/drivers/gpu/drm/xe/xe_bo.c
@@ -34,6 +34,7 @@
#include "xe_trace_bo.h"
#include "xe_ttm_stolen_mgr.h"
#include "xe_vm.h"
+#include "xe_vram_types.h"
const char *const xe_mem_type_to_name[TTM_NUM_MEM_TYPES] = {
[XE_PL_SYSTEM] = "system",
diff --git a/drivers/gpu/drm/xe/xe_device.c b/drivers/gpu/drm/xe/xe_device.c
index 86f8ca6a96e9..126faf560909 100644
--- a/drivers/gpu/drm/xe/xe_device.c
+++ b/drivers/gpu/drm/xe/xe_device.c
@@ -64,6 +64,7 @@
#include "xe_ttm_sys_mgr.h"
#include "xe_vm.h"
#include "xe_vram.h"
+#include "xe_vram_types.h"
#include "xe_vsec.h"
#include "xe_wait_user_fence.h"
#include "xe_wa.h"
diff --git a/drivers/gpu/drm/xe/xe_device_types.h b/drivers/gpu/drm/xe/xe_device_types.h
index a7bcda67d05f..619728bba77a 100644
--- a/drivers/gpu/drm/xe/xe_device_types.h
+++ b/drivers/gpu/drm/xe/xe_device_types.h
@@ -10,7 +10,6 @@
#include <drm/drm_device.h>
#include <drm/drm_file.h>
-#include <drm/drm_pagemap.h>
#include <drm/ttm/ttm_device.h>
#include "xe_devcoredump_types.h"
@@ -24,7 +23,6 @@
#include "xe_sriov_types.h"
#include "xe_step_types.h"
#include "xe_survivability_mode_types.h"
-#include "xe_ttm_vram_mgr_types.h"
#if IS_ENABLED(CONFIG_DRM_XE_DEBUG)
#define TEST_VM_OPS_ERROR
@@ -36,6 +34,7 @@ struct intel_dg_nvm_dev;
struct xe_ggtt;
struct xe_pat_ops;
struct xe_pxp;
+struct xe_vram;
#define XE_BO_INVALID_OFFSET LONG_MAX
@@ -68,63 +67,6 @@ struct xe_pxp;
const struct xe_tile * : (const struct xe_device *)((tile__)->xe), \
struct xe_tile * : (tile__)->xe)
-/**
- * struct xe_vram_region - memory region structure
- * This is used to describe a memory region in xe
- * device, such as HBM memory or CXL extension memory.
- */
-struct xe_vram_region {
- /** @tile: Backpointer to tile */
- struct xe_tile *tile;
- /** @io_start: IO start address of this VRAM instance */
- resource_size_t io_start;
- /**
- * @io_size: IO size of this VRAM instance
- *
- * This represents how much of this VRAM we can access
- * via the CPU through the VRAM BAR. This can be smaller
- * than @usable_size, in which case only part of VRAM is CPU
- * accessible (typically the first 256M). This
- * configuration is known as small-bar.
- */
- resource_size_t io_size;
- /** @dpa_base: This memory regions's DPA (device physical address) base */
- resource_size_t dpa_base;
- /**
- * @usable_size: usable size of VRAM
- *
- * Usable size of VRAM excluding reserved portions
- * (e.g stolen mem)
- */
- resource_size_t usable_size;
- /**
- * @actual_physical_size: Actual VRAM size
- *
- * Actual VRAM size including reserved portions
- * (e.g stolen mem)
- */
- resource_size_t actual_physical_size;
- /** @mapping: pointer to VRAM mappable space */
- void __iomem *mapping;
- /** @ttm: VRAM TTM manager */
- struct xe_ttm_vram_mgr ttm;
-#if IS_ENABLED(CONFIG_DRM_XE_DEVMEM_MIRROR)
- /** @pagemap: Used to remap device memory as ZONE_DEVICE */
- struct dev_pagemap pagemap;
- /**
- * @dpagemap: The struct drm_pagemap of the ZONE_DEVICE memory
- * pages of this tile.
- */
- struct drm_pagemap dpagemap;
- /**
- * @hpa_base: base host physical address
- *
- * This is generated when remap device memory as ZONE_DEVICE
- */
- resource_size_t hpa_base;
-#endif
-};
-
/**
* struct xe_mmio - register mmio structure
*
diff --git a/drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c b/drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c
index a33a6f3a6731..140d55ebd476 100644
--- a/drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c
+++ b/drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c
@@ -33,6 +33,7 @@
#include "xe_migrate.h"
#include "xe_sriov.h"
#include "xe_ttm_vram_mgr.h"
+#include "xe_vram_types.h"
#include "xe_wopcm.h"
#define make_u64_from_u32(hi, lo) ((u64)((u64)(u32)(hi) << 32 | (u32)(lo)))
diff --git a/drivers/gpu/drm/xe/xe_migrate.c b/drivers/gpu/drm/xe/xe_migrate.c
index c0bd23aaaa23..0989c45d3e9f 100644
--- a/drivers/gpu/drm/xe/xe_migrate.c
+++ b/drivers/gpu/drm/xe/xe_migrate.c
@@ -34,6 +34,7 @@
#include "xe_sync.h"
#include "xe_trace_bo.h"
#include "xe_vm.h"
+#include "xe_vram_types.h"
/**
* struct xe_migrate - migrate context.
diff --git a/drivers/gpu/drm/xe/xe_svm.c b/drivers/gpu/drm/xe/xe_svm.c
index 98d79c118e45..bc557fa07926 100644
--- a/drivers/gpu/drm/xe/xe_svm.c
+++ b/drivers/gpu/drm/xe/xe_svm.c
@@ -13,6 +13,7 @@
#include "xe_ttm_vram_mgr.h"
#include "xe_vm.h"
#include "xe_vm_types.h"
+#include "xe_vram_types.h"
static bool xe_svm_range_in_vram(struct xe_svm_range *range)
{
diff --git a/drivers/gpu/drm/xe/xe_tile.c b/drivers/gpu/drm/xe/xe_tile.c
index c64a4d1a5bb9..6f50c15d0cfc 100644
--- a/drivers/gpu/drm/xe/xe_tile.c
+++ b/drivers/gpu/drm/xe/xe_tile.c
@@ -17,6 +17,7 @@
#include "xe_tile.h"
#include "xe_tile_sysfs.h"
#include "xe_ttm_vram_mgr.h"
+#include "xe_vram_types.h"
#include "xe_wa.h"
/**
diff --git a/drivers/gpu/drm/xe/xe_ttm_stolen_mgr.c b/drivers/gpu/drm/xe/xe_ttm_stolen_mgr.c
index 19bfc22b9706..dc94d133310d 100644
--- a/drivers/gpu/drm/xe/xe_ttm_stolen_mgr.c
+++ b/drivers/gpu/drm/xe/xe_ttm_stolen_mgr.c
@@ -24,6 +24,7 @@
#include "xe_sriov.h"
#include "xe_ttm_stolen_mgr.h"
#include "xe_ttm_vram_mgr.h"
+#include "xe_vram_types.h"
#include "xe_wa.h"
struct xe_ttm_stolen_mgr {
diff --git a/drivers/gpu/drm/xe/xe_ttm_vram_mgr.c b/drivers/gpu/drm/xe/xe_ttm_vram_mgr.c
index d9afe0e22071..585bc1232658 100644
--- a/drivers/gpu/drm/xe/xe_ttm_vram_mgr.c
+++ b/drivers/gpu/drm/xe/xe_ttm_vram_mgr.c
@@ -15,6 +15,7 @@
#include "xe_gt.h"
#include "xe_res_cursor.h"
#include "xe_ttm_vram_mgr.h"
+#include "xe_vram_types.h"
static inline struct drm_buddy_block *
xe_ttm_vram_mgr_first_block(struct list_head *list)
diff --git a/drivers/gpu/drm/xe/xe_vram.c b/drivers/gpu/drm/xe/xe_vram.c
index 7e3980bcb4e6..cf92a9aa2435 100644
--- a/drivers/gpu/drm/xe/xe_vram.c
+++ b/drivers/gpu/drm/xe/xe_vram.c
@@ -20,6 +20,7 @@
#include "xe_module.h"
#include "xe_sriov.h"
#include "xe_vram.h"
+#include "xe_vram_types.h"
#define BAR_SIZE_SHIFT 20
@@ -375,3 +376,14 @@ int xe_vram_probe(struct xe_device *xe)
return devm_add_action_or_reset(xe->drm.dev, vram_fini, xe);
}
+
+/**
+ * xe_vram_region_actual_physical_size() - Get the actual physical size of a VRAM region
+ * @vram: the xe_vram_region struct
+ *
+ * Return: the actual physical size of the VRAM region, or 0 if @vram is NULL
+ */
+resource_size_t xe_vram_region_actual_physical_size(struct xe_vram_region *vram)
+{
+ return vram ? vram->actual_physical_size : 0;
+}
diff --git a/drivers/gpu/drm/xe/xe_vram.h b/drivers/gpu/drm/xe/xe_vram.h
index e31cc04ec0db..9092ae86df22 100644
--- a/drivers/gpu/drm/xe/xe_vram.h
+++ b/drivers/gpu/drm/xe/xe_vram.h
@@ -6,8 +6,12 @@
#ifndef _XE_VRAM_H_
#define _XE_VRAM_H_
+#include <linux/types.h>
+
struct xe_device;
+struct xe_vram_region;
int xe_vram_probe(struct xe_device *xe);
+resource_size_t xe_vram_region_actual_physical_size(struct xe_vram_region *vram);
#endif
diff --git a/drivers/gpu/drm/xe/xe_vram_types.h b/drivers/gpu/drm/xe/xe_vram_types.h
new file mode 100644
index 000000000000..dee104beb2fd
--- /dev/null
+++ b/drivers/gpu/drm/xe/xe_vram_types.h
@@ -0,0 +1,74 @@
+/* SPDX-License-Identifier: MIT */
+/*
+ * Copyright © 2025 Intel Corporation
+ */
+
+#ifndef _XE_VRAM_TYPES_H_
+#define _XE_VRAM_TYPES_H_
+
+#if IS_ENABLED(CONFIG_DRM_XE_DEVMEM_MIRROR)
+#include <drm/drm_pagemap.h>
+#endif
+
+#include "xe_ttm_vram_mgr_types.h"
+
+struct xe_tile;
+
+/**
+ * struct xe_vram_region - memory region structure
+ * This is used to describe a memory region in xe
+ * device, such as HBM memory or CXL extension memory.
+ */
+struct xe_vram_region {
+ /** @tile: Backpointer to tile */
+ struct xe_tile *tile;
+ /** @io_start: IO start address of this VRAM instance */
+ resource_size_t io_start;
+ /**
+ * @io_size: IO size of this VRAM instance
+ *
+ * This represents how much of this VRAM we can access
+ * via the CPU through the VRAM BAR. This can be smaller
+ * than @usable_size, in which case only part of VRAM is CPU
+ * accessible (typically the first 256M). This
+ * configuration is known as small-bar.
+ */
+ resource_size_t io_size;
+ /** @dpa_base: This memory regions's DPA (device physical address) base */
+ resource_size_t dpa_base;
+ /**
+ * @usable_size: usable size of VRAM
+ *
+ * Usable size of VRAM excluding reserved portions
+ * (e.g stolen mem)
+ */
+ resource_size_t usable_size;
+ /**
+ * @actual_physical_size: Actual VRAM size
+ *
+ * Actual VRAM size including reserved portions
+ * (e.g stolen mem)
+ */
+ resource_size_t actual_physical_size;
+ /** @mapping: pointer to VRAM mappable space */
+ void __iomem *mapping;
+ /** @ttm: VRAM TTM manager */
+ struct xe_ttm_vram_mgr ttm;
+#if IS_ENABLED(CONFIG_DRM_XE_DEVMEM_MIRROR)
+ /** @pagemap: Used to remap device memory as ZONE_DEVICE */
+ struct dev_pagemap pagemap;
+ /**
+ * @dpagemap: The struct drm_pagemap of the ZONE_DEVICE memory
+ * pages of this tile.
+ */
+ struct drm_pagemap dpagemap;
+ /**
+ * @hpa_base: base host physical address
+ *
+ * This is generated when remap device memory as ZONE_DEVICE
+ */
+ resource_size_t hpa_base;
+#endif
+};
+
+#endif
--
2.34.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v6 4/4] drm/xe: Unify the initialization of VRAM regions
2025-06-26 7:14 [PATCH v6 0/4] Cleaning up code related to VRAM regions and its initialization - part 2 Piórkowski, Piotr
` (2 preceding siblings ...)
2025-06-26 7:14 ` [PATCH v6 3/4] drm/xe: Move struct xe_vram_region to a dedicated header Piórkowski, Piotr
@ 2025-06-26 7:14 ` Piórkowski, Piotr
2025-06-26 7:22 ` ✗ CI.checkpatch: warning for Cleaning up code related to VRAM regions and its initialization - part 2 (rev9) Patchwork
` (3 subsequent siblings)
7 siblings, 0 replies; 10+ messages in thread
From: Piórkowski, Piotr @ 2025-06-26 7:14 UTC (permalink / raw)
To: intel-xe; +Cc: Piotr Piórkowski, Stuart Summers, Matthew Auld, Jani Nikula
From: Piotr Piórkowski <piotr.piorkowski@intel.com>
Currently in the drivers we have defined VRAM regions per device and per
tile. Initialization of these regions is done in two completely different
ways. To simplify the logic of the code and make it easier to add new
regions in the future, let's unify the way we initialize VRAM regions.
v2:
- fix doc comments in struct xe_vram_region
- remove unnecessary includes (Jani)
v3:
- move code from xe_vram_init_regions_managers to xe_tile_init_noalloc
(Matthew)
- replace ioremap_wc to devm_ioremap_wc for mapping VRAM BAR
(Matthew)
- Replace the tile id parameter with vram region in the xe_pf_begin
function.
Signed-off-by: Piotr Piórkowski <piotr.piorkowski@intel.com>
Cc: Stuart Summers <stuart.summers@intel.com>
Cc: Matthew Auld <matthew.auld@intel.com>
Cc: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/xe/xe_gt_pagefault.c | 13 ++-
drivers/gpu/drm/xe/xe_query.c | 3 +-
drivers/gpu/drm/xe/xe_tile.c | 38 +++----
drivers/gpu/drm/xe/xe_ttm_vram_mgr.c | 16 ++-
drivers/gpu/drm/xe/xe_ttm_vram_mgr.h | 3 +-
drivers/gpu/drm/xe/xe_vram.c | 149 ++++++++++++++++-----------
drivers/gpu/drm/xe/xe_vram.h | 1 +
drivers/gpu/drm/xe/xe_vram_types.h | 8 ++
8 files changed, 134 insertions(+), 97 deletions(-)
diff --git a/drivers/gpu/drm/xe/xe_gt_pagefault.c b/drivers/gpu/drm/xe/xe_gt_pagefault.c
index 3522865c67c9..9cb50e0ed9f5 100644
--- a/drivers/gpu/drm/xe/xe_gt_pagefault.c
+++ b/drivers/gpu/drm/xe/xe_gt_pagefault.c
@@ -23,6 +23,7 @@
#include "xe_svm.h"
#include "xe_trace_bo.h"
#include "xe_vm.h"
+#include "xe_vram_types.h"
struct pagefault {
u64 page_addr;
@@ -74,7 +75,7 @@ static bool vma_is_valid(struct xe_tile *tile, struct xe_vma *vma)
}
static int xe_pf_begin(struct drm_exec *exec, struct xe_vma *vma,
- bool atomic, unsigned int id)
+ bool atomic, struct xe_vram_region *vram)
{
struct xe_bo *bo = xe_vma_bo(vma);
struct xe_vm *vm = xe_vma_vm(vma);
@@ -84,14 +85,16 @@ static int xe_pf_begin(struct drm_exec *exec, struct xe_vma *vma,
if (err)
return err;
- if (atomic && IS_DGFX(vm->xe)) {
+ if (atomic && vram) {
+ xe_assert(vm->xe, IS_DGFX(vm->xe));
+
if (xe_vma_is_userptr(vma)) {
err = -EACCES;
return err;
}
/* Migrate to VRAM, move should invalidate the VMA first */
- err = xe_bo_migrate(bo, XE_PL_VRAM0 + id);
+ err = xe_bo_migrate(bo, vram->placement);
if (err)
return err;
} else if (bo) {
@@ -138,7 +141,7 @@ static int handle_vma_pagefault(struct xe_gt *gt, struct xe_vma *vma,
/* Lock VM and BOs dma-resv */
drm_exec_init(&exec, 0, 0);
drm_exec_until_all_locked(&exec) {
- err = xe_pf_begin(&exec, vma, atomic, tile->id);
+ err = xe_pf_begin(&exec, vma, atomic, tile->mem.vram);
drm_exec_retry_on_contention(&exec);
if (xe_vm_validate_should_retry(&exec, err, &end))
err = -EAGAIN;
@@ -572,7 +575,7 @@ static int handle_acc(struct xe_gt *gt, struct acc *acc)
/* Lock VM and BOs dma-resv */
drm_exec_init(&exec, 0, 0);
drm_exec_until_all_locked(&exec) {
- ret = xe_pf_begin(&exec, vma, true, tile->id);
+ ret = xe_pf_begin(&exec, vma, true, tile->mem.vram);
drm_exec_retry_on_contention(&exec);
if (ret)
break;
diff --git a/drivers/gpu/drm/xe/xe_query.c b/drivers/gpu/drm/xe/xe_query.c
index ba9b7482605c..f02987753779 100644
--- a/drivers/gpu/drm/xe/xe_query.c
+++ b/drivers/gpu/drm/xe/xe_query.c
@@ -27,6 +27,7 @@
#include "xe_oa.h"
#include "xe_pxp.h"
#include "xe_ttm_vram_mgr.h"
+#include "xe_vram_types.h"
#include "xe_wa.h"
static const u16 xe_to_user_engine_class[] = {
@@ -409,7 +410,7 @@ static int query_gt_list(struct xe_device *xe, struct drm_xe_device_query *query
gt_list->gt_list[id].near_mem_regions = 0x1;
else
gt_list->gt_list[id].near_mem_regions =
- BIT(gt_to_tile(gt)->id) << 1;
+ BIT(gt_to_tile(gt)->mem.vram->id) << 1;
gt_list->gt_list[id].far_mem_regions = xe->info.mem_region_mask ^
gt_list->gt_list[id].near_mem_regions;
diff --git a/drivers/gpu/drm/xe/xe_tile.c b/drivers/gpu/drm/xe/xe_tile.c
index 6f50c15d0cfc..1c3112233b7a 100644
--- a/drivers/gpu/drm/xe/xe_tile.c
+++ b/drivers/gpu/drm/xe/xe_tile.c
@@ -7,6 +7,7 @@
#include <drm/drm_managed.h>
+#include "xe_bo.h"
#include "xe_device.h"
#include "xe_ggtt.h"
#include "xe_gt.h"
@@ -19,6 +20,7 @@
#include "xe_ttm_vram_mgr.h"
#include "xe_vram_types.h"
#include "xe_wa.h"
+#include "xe_vram.h"
/**
* DOC: Multi-tile Design
@@ -112,11 +114,9 @@ int xe_tile_alloc_vram(struct xe_tile *tile)
if (!IS_DGFX(xe))
return 0;
- vram = drmm_kzalloc(&xe->drm, sizeof(*vram), GFP_KERNEL);
- if (!vram)
- return -ENOMEM;
-
- vram->tile = tile;
+ vram = xe_vram_region_alloc(xe, tile->id, XE_PL_VRAM0 + tile->id);
+ if (IS_ERR(vram))
+ return PTR_ERR(vram);
tile->mem.vram = vram;
return 0;
@@ -154,21 +154,6 @@ int xe_tile_init_early(struct xe_tile *tile, struct xe_device *xe, u8 id)
}
ALLOW_ERROR_INJECTION(xe_tile_init_early, ERRNO); /* See xe_pci_probe() */
-static int tile_ttm_mgr_init(struct xe_tile *tile)
-{
- struct xe_device *xe = tile_to_xe(tile);
- int err;
-
- if (tile->mem.vram->usable_size) {
- err = xe_ttm_vram_mgr_init(tile, &tile->mem.vram->ttm);
- if (err)
- return err;
- xe->info.mem_region_mask |= BIT(tile->id) << 1;
- }
-
- return 0;
-}
-
/**
* xe_tile_init_noalloc - Init tile up to the point where allocations can happen.
* @tile: The tile to initialize.
@@ -186,17 +171,20 @@ static int tile_ttm_mgr_init(struct xe_tile *tile)
int xe_tile_init_noalloc(struct xe_tile *tile)
{
struct xe_device *xe = tile_to_xe(tile);
- int err;
-
- err = tile_ttm_mgr_init(tile);
- if (err)
- return err;
xe_wa_apply_tile_workarounds(tile);
if (xe->info.has_usm && IS_DGFX(xe))
xe_devm_add(tile, tile->mem.vram);
+ if (IS_DGFX(xe) && !ttm_resource_manager_used(&tile->mem.vram->ttm.manager)) {
+ int err = xe_ttm_vram_mgr_init(xe, tile->mem.vram);
+
+ if (err)
+ return err;
+ xe->info.mem_region_mask |= BIT(tile->mem.vram->id) << 1;
+ }
+
return xe_tile_sysfs_init(tile);
}
diff --git a/drivers/gpu/drm/xe/xe_ttm_vram_mgr.c b/drivers/gpu/drm/xe/xe_ttm_vram_mgr.c
index 585bc1232658..c00f5782cb63 100644
--- a/drivers/gpu/drm/xe/xe_ttm_vram_mgr.c
+++ b/drivers/gpu/drm/xe/xe_ttm_vram_mgr.c
@@ -338,12 +338,18 @@ int __xe_ttm_vram_mgr_init(struct xe_device *xe, struct xe_ttm_vram_mgr *mgr,
return drmm_add_action_or_reset(&xe->drm, ttm_vram_mgr_fini, mgr);
}
-int xe_ttm_vram_mgr_init(struct xe_tile *tile, struct xe_ttm_vram_mgr *mgr)
+/**
+ * xe_ttm_vram_mgr_init - initialize TTM VRAM region
+ * @xe: pointer to Xe device
+ * @vram: pointer to xe_vram_region that contains the memory region attributes
+ *
+ * Initialize the Xe TTM for given @vram region using the given parameters.
+ *
+ * Returns 0 for success, negative error code otherwise.
+ */
+int xe_ttm_vram_mgr_init(struct xe_device *xe, struct xe_vram_region *vram)
{
- struct xe_device *xe = tile_to_xe(tile);
- struct xe_vram_region *vram = tile->mem.vram;
-
- return __xe_ttm_vram_mgr_init(xe, mgr, XE_PL_VRAM0 + tile->id,
+ return __xe_ttm_vram_mgr_init(xe, &vram->ttm, vram->placement,
vram->usable_size, vram->io_size,
PAGE_SIZE);
}
diff --git a/drivers/gpu/drm/xe/xe_ttm_vram_mgr.h b/drivers/gpu/drm/xe/xe_ttm_vram_mgr.h
index cc76050e376d..87b7fae5edba 100644
--- a/drivers/gpu/drm/xe/xe_ttm_vram_mgr.h
+++ b/drivers/gpu/drm/xe/xe_ttm_vram_mgr.h
@@ -11,11 +11,12 @@
enum dma_data_direction;
struct xe_device;
struct xe_tile;
+struct xe_vram_region;
int __xe_ttm_vram_mgr_init(struct xe_device *xe, struct xe_ttm_vram_mgr *mgr,
u32 mem_type, u64 size, u64 io_size,
u64 default_page_size);
-int xe_ttm_vram_mgr_init(struct xe_tile *tile, struct xe_ttm_vram_mgr *mgr);
+int xe_ttm_vram_mgr_init(struct xe_device *xe, struct xe_vram_region *vram);
int xe_ttm_vram_mgr_alloc_sgt(struct xe_device *xe,
struct ttm_resource *res,
u64 offset, u64 length,
diff --git a/drivers/gpu/drm/xe/xe_vram.c b/drivers/gpu/drm/xe/xe_vram.c
index cf92a9aa2435..6cf85077d196 100644
--- a/drivers/gpu/drm/xe/xe_vram.c
+++ b/drivers/gpu/drm/xe/xe_vram.c
@@ -19,6 +19,7 @@
#include "xe_mmio.h"
#include "xe_module.h"
#include "xe_sriov.h"
+#include "xe_ttm_vram_mgr.h"
#include "xe_vram.h"
#include "xe_vram_types.h"
@@ -137,7 +138,7 @@ static bool resource_is_valid(struct pci_dev *pdev, int bar)
return true;
}
-static int determine_lmem_bar_size(struct xe_device *xe)
+static int determine_lmem_bar_size(struct xe_device *xe, struct xe_vram_region *lmem_bar)
{
struct pci_dev *pdev = to_pci_dev(xe->drm.dev);
@@ -148,17 +149,16 @@ static int determine_lmem_bar_size(struct xe_device *xe)
resize_vram_bar(xe);
- xe->mem.vram->io_start = pci_resource_start(pdev, LMEM_BAR);
- xe->mem.vram->io_size = pci_resource_len(pdev, LMEM_BAR);
- if (!xe->mem.vram->io_size)
+ lmem_bar->io_start = pci_resource_start(pdev, LMEM_BAR);
+ lmem_bar->io_size = pci_resource_len(pdev, LMEM_BAR);
+ if (!lmem_bar->io_size)
return -EIO;
/* XXX: Need to change when xe link code is ready */
- xe->mem.vram->dpa_base = 0;
+ lmem_bar->dpa_base = 0;
/* set up a map to the total memory area. */
- xe->mem.vram->mapping = devm_ioremap_wc(&pdev->dev, xe->mem.vram->io_start,
- xe->mem.vram->io_size);
+ lmem_bar->mapping = devm_ioremap_wc(&pdev->dev, lmem_bar->io_start, lmem_bar->io_size);
return 0;
}
@@ -286,6 +286,65 @@ static void vram_fini(void *arg)
tile->mem.vram->mapping = NULL;
}
+struct xe_vram_region *xe_vram_region_alloc(struct xe_device *xe, u8 id, u32 placement)
+{
+ struct xe_vram_region *vram;
+ struct drm_device *drm = &xe->drm;
+
+ xe_assert(xe, id < xe->info.tile_count);
+
+ vram = drmm_kzalloc(drm, sizeof(*vram), GFP_KERNEL);
+ if (!vram)
+ return NULL;
+
+ vram->id = id;
+ vram->placement = placement;
+ vram->tile = &xe->tiles[id];
+
+ return vram;
+}
+
+static void print_vram_region_info(struct xe_device *xe, struct xe_vram_region *vram)
+{
+ struct drm_device *drm = &xe->drm;
+
+ if (vram->io_size < vram->usable_size)
+ drm_info(drm, "Small BAR device\n");
+
+ drm_info(drm,
+ "VRAM[%u]: Actual physical size %pa, usable size exclude stolen %pa, CPU accessible size %pa\n",
+ vram->id, &vram->actual_physical_size, &vram->usable_size, &vram->io_size);
+ drm_info(drm, "VRAM[%u]: DPA range: [%pa-%llx], io range: [%pa-%llx]\n",
+ vram->id, &vram->dpa_base, vram->dpa_base + (u64)vram->actual_physical_size,
+ &vram->io_start, vram->io_start + (u64)vram->io_size);
+}
+
+static int vram_region_init(struct xe_device *xe, struct xe_vram_region *vram,
+ struct xe_vram_region *lmem_bar, u64 offset, u64 usable_size,
+ u64 region_size, resource_size_t remain_io_size)
+{
+ /* Check if VRAM region is already initialized */
+ if (vram->mapping)
+ return 0;
+
+ vram->actual_physical_size = region_size;
+ vram->io_start = lmem_bar->io_start + offset;
+ vram->io_size = min_t(u64, usable_size, remain_io_size);
+
+ if (!vram->io_size) {
+ drm_err(&xe->drm, "Tile without any CPU visible VRAM. Aborting.\n");
+ return -ENODEV;
+ }
+
+ vram->dpa_base = lmem_bar->dpa_base + offset;
+ vram->mapping = lmem_bar->mapping + offset;
+ vram->usable_size = usable_size;
+
+ print_vram_region_info(xe, vram);
+
+ return 0;
+}
+
/**
* xe_vram_probe() - Probe VRAM configuration
* @xe: the &xe_device
@@ -297,82 +356,52 @@ static void vram_fini(void *arg)
int xe_vram_probe(struct xe_device *xe)
{
struct xe_tile *tile;
- resource_size_t io_size;
+ struct xe_vram_region lmem_bar;
+ resource_size_t remain_io_size;
u64 available_size = 0;
u64 total_size = 0;
- u64 tile_offset;
- u64 tile_size;
- u64 vram_size;
int err;
u8 id;
if (!IS_DGFX(xe))
return 0;
- /* Get the size of the root tile's vram for later accessibility comparison */
- tile = xe_device_get_root_tile(xe);
- err = tile_vram_size(tile, &vram_size, &tile_size, &tile_offset);
- if (err)
- return err;
-
- err = determine_lmem_bar_size(xe);
+ err = determine_lmem_bar_size(xe, &lmem_bar);
if (err)
return err;
+ drm_info(&xe->drm, "VISIBLE VRAM: %pa, %pa\n", &lmem_bar.io_start, &lmem_bar.io_size);
- drm_info(&xe->drm, "VISIBLE VRAM: %pa, %pa\n", &xe->mem.vram->io_start,
- &xe->mem.vram->io_size);
+ remain_io_size = lmem_bar.io_size;
- io_size = xe->mem.vram->io_size;
-
- /* tile specific ranges */
for_each_tile(tile, xe, id) {
- err = tile_vram_size(tile, &vram_size, &tile_size, &tile_offset);
+ u64 region_size;
+ u64 usable_size;
+ u64 tile_offset;
+
+ err = tile_vram_size(tile, &usable_size, ®ion_size, &tile_offset);
if (err)
return err;
- tile->mem.vram->actual_physical_size = tile_size;
- tile->mem.vram->io_start = xe->mem.vram->io_start + tile_offset;
- tile->mem.vram->io_size = min_t(u64, vram_size, io_size);
+ total_size += region_size;
+ available_size += usable_size;
- if (!tile->mem.vram->io_size) {
- drm_err(&xe->drm, "Tile without any CPU visible VRAM. Aborting.\n");
- return -ENODEV;
- }
+ err = vram_region_init(xe, tile->mem.vram, &lmem_bar, tile_offset, usable_size,
+ region_size, remain_io_size);
+ if (err)
+ return err;
- tile->mem.vram->dpa_base = xe->mem.vram->dpa_base + tile_offset;
- tile->mem.vram->usable_size = vram_size;
- tile->mem.vram->mapping = xe->mem.vram->mapping + tile_offset;
-
- if (tile->mem.vram->io_size < tile->mem.vram->usable_size)
- drm_info(&xe->drm, "Small BAR device\n");
- drm_info(&xe->drm,
- "VRAM[%u, %u]: Actual physical size %pa, usable size exclude stolen %pa, CPU accessible size %pa\n",
- id, tile->id, &tile->mem.vram->actual_physical_size,
- &tile->mem.vram->usable_size, &tile->mem.vram->io_size);
- drm_info(&xe->drm, "VRAM[%u, %u]: DPA range: [%pa-%llx], io range: [%pa-%llx]\n",
- id, tile->id, &tile->mem.vram->dpa_base,
- tile->mem.vram->dpa_base + (u64)tile->mem.vram->actual_physical_size,
- &tile->mem.vram->io_start,
- tile->mem.vram->io_start + (u64)tile->mem.vram->io_size);
-
- /* calculate total size using tile size to get the correct HW sizing */
- total_size += tile_size;
- available_size += vram_size;
-
- if (total_size > xe->mem.vram->io_size) {
+ if (total_size > lmem_bar.io_size) {
drm_info(&xe->drm, "VRAM: %pa is larger than resource %pa\n",
- &total_size, &xe->mem.vram->io_size);
+ &total_size, &lmem_bar.io_size);
}
- io_size -= min_t(u64, tile_size, io_size);
+ remain_io_size -= min_t(u64, tile->mem.vram->actual_physical_size, remain_io_size);
}
- xe->mem.vram->actual_physical_size = total_size;
-
- drm_info(&xe->drm, "Total VRAM: %pa, %pa\n", &xe->mem.vram->io_start,
- &xe->mem.vram->actual_physical_size);
- drm_info(&xe->drm, "Available VRAM: %pa, %pa\n", &xe->mem.vram->io_start,
- &available_size);
+ err = vram_region_init(xe, xe->mem.vram, &lmem_bar, 0, available_size, total_size,
+ lmem_bar.io_size);
+ if (err)
+ return err;
return devm_add_action_or_reset(xe->drm.dev, vram_fini, xe);
}
diff --git a/drivers/gpu/drm/xe/xe_vram.h b/drivers/gpu/drm/xe/xe_vram.h
index 9092ae86df22..802bd57e7c96 100644
--- a/drivers/gpu/drm/xe/xe_vram.h
+++ b/drivers/gpu/drm/xe/xe_vram.h
@@ -13,5 +13,6 @@ struct xe_vram_region;
int xe_vram_probe(struct xe_device *xe);
resource_size_t xe_vram_region_actual_physical_size(struct xe_vram_region *vram);
+struct xe_vram_region *xe_vram_region_alloc(struct xe_device *xe, u8 id, u32 placement);
#endif
diff --git a/drivers/gpu/drm/xe/xe_vram_types.h b/drivers/gpu/drm/xe/xe_vram_types.h
index dee104beb2fd..3dcd737242ea 100644
--- a/drivers/gpu/drm/xe/xe_vram_types.h
+++ b/drivers/gpu/drm/xe/xe_vram_types.h
@@ -22,6 +22,12 @@ struct xe_tile;
struct xe_vram_region {
/** @tile: Backpointer to tile */
struct xe_tile *tile;
+ /**
+ * @id: VRAM region instance id
+ *
+ * The value should be unique for VRAM region.
+ */
+ u8 id;
/** @io_start: IO start address of this VRAM instance */
resource_size_t io_start;
/**
@@ -54,6 +60,8 @@ struct xe_vram_region {
void __iomem *mapping;
/** @ttm: VRAM TTM manager */
struct xe_ttm_vram_mgr ttm;
+ /** @placement: TTM placement dedicated for this region */
+ u32 placement;
#if IS_ENABLED(CONFIG_DRM_XE_DEVMEM_MIRROR)
/** @pagemap: Used to remap device memory as ZONE_DEVICE */
struct dev_pagemap pagemap;
--
2.34.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* ✗ CI.checkpatch: warning for Cleaning up code related to VRAM regions and its initialization - part 2 (rev9)
2025-06-26 7:14 [PATCH v6 0/4] Cleaning up code related to VRAM regions and its initialization - part 2 Piórkowski, Piotr
` (3 preceding siblings ...)
2025-06-26 7:14 ` [PATCH v6 4/4] drm/xe: Unify the initialization of VRAM regions Piórkowski, Piotr
@ 2025-06-26 7:22 ` Patchwork
2025-06-26 7:23 ` ✓ CI.KUnit: success " Patchwork
` (2 subsequent siblings)
7 siblings, 0 replies; 10+ messages in thread
From: Patchwork @ 2025-06-26 7:22 UTC (permalink / raw)
To: Piórkowski, Piotr; +Cc: intel-xe
== Series Details ==
Series: Cleaning up code related to VRAM regions and its initialization - part 2 (rev9)
URL : https://patchwork.freedesktop.org/series/149503/
State : warning
== Summary ==
+ KERNEL=/kernel
+ git clone https://gitlab.freedesktop.org/drm/maintainer-tools mt
Cloning into 'mt'...
warning: redirecting to https://gitlab.freedesktop.org/drm/maintainer-tools.git/
+ git -C mt rev-list -n1 origin/master
f8ff75ae1d2127635239b134695774ed4045d05b
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ git log -n1
commit ecbecc784642cca0d3d3bd037edf4dd2ccec75f7
Author: Piotr Piórkowski <piotr.piorkowski@intel.com>
Date: Thu Jun 26 09:14:37 2025 +0200
drm/xe: Unify the initialization of VRAM regions
Currently in the drivers we have defined VRAM regions per device and per
tile. Initialization of these regions is done in two completely different
ways. To simplify the logic of the code and make it easier to add new
regions in the future, let's unify the way we initialize VRAM regions.
v2:
- fix doc comments in struct xe_vram_region
- remove unnecessary includes (Jani)
v3:
- move code from xe_vram_init_regions_managers to xe_tile_init_noalloc
(Matthew)
- replace ioremap_wc to devm_ioremap_wc for mapping VRAM BAR
(Matthew)
- Replace the tile id parameter with vram region in the xe_pf_begin
function.
Signed-off-by: Piotr Piórkowski <piotr.piorkowski@intel.com>
Cc: Stuart Summers <stuart.summers@intel.com>
Cc: Matthew Auld <matthew.auld@intel.com>
Cc: Jani Nikula <jani.nikula@intel.com>
+ /mt/dim checkpatch 9703768dc24aeada4eba5cc2b36f00c5cde34ecb drm-intel
b07b4158a097 drm/xe: Use devm_ioremap_wc for VRAM mapping and drop manual unmap
5770716de81c drm/xe: Use dynamic allocation for tile and device VRAM region structures
106ad9840f76 drm/xe: Move struct xe_vram_region to a dedicated header
-:300: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does MAINTAINERS need updating?
#300:
new file mode 100644
total: 0 errors, 1 warnings, 0 checks, 279 lines checked
ecbecc784642 drm/xe: Unify the initialization of VRAM regions
^ permalink raw reply [flat|nested] 10+ messages in thread
* ✓ CI.KUnit: success for Cleaning up code related to VRAM regions and its initialization - part 2 (rev9)
2025-06-26 7:14 [PATCH v6 0/4] Cleaning up code related to VRAM regions and its initialization - part 2 Piórkowski, Piotr
` (4 preceding siblings ...)
2025-06-26 7:22 ` ✗ CI.checkpatch: warning for Cleaning up code related to VRAM regions and its initialization - part 2 (rev9) Patchwork
@ 2025-06-26 7:23 ` Patchwork
2025-06-26 8:15 ` ✓ Xe.CI.BAT: " Patchwork
2025-06-27 6:03 ` ✗ Xe.CI.Full: failure " Patchwork
7 siblings, 0 replies; 10+ messages in thread
From: Patchwork @ 2025-06-26 7:23 UTC (permalink / raw)
To: Piórkowski, Piotr; +Cc: intel-xe
== Series Details ==
Series: Cleaning up code related to VRAM regions and its initialization - part 2 (rev9)
URL : https://patchwork.freedesktop.org/series/149503/
State : success
== Summary ==
+ trap cleanup EXIT
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/xe/.kunitconfig
[07:22:22] Configuring KUnit Kernel ...
Generating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[07:22:27] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[07:22:53] Starting KUnit Kernel (1/1)...
[07:22:53] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[07:22:54] ================== guc_buf (11 subtests) ===================
[07:22:54] [PASSED] test_smallest
[07:22:54] [PASSED] test_largest
[07:22:54] [PASSED] test_granular
[07:22:54] [PASSED] test_unique
[07:22:54] [PASSED] test_overlap
[07:22:54] [PASSED] test_reusable
[07:22:54] [PASSED] test_too_big
[07:22:54] [PASSED] test_flush
[07:22:54] [PASSED] test_lookup
[07:22:54] [PASSED] test_data
[07:22:54] [PASSED] test_class
[07:22:54] ===================== [PASSED] guc_buf =====================
[07:22:54] =================== guc_dbm (7 subtests) ===================
[07:22:54] [PASSED] test_empty
[07:22:54] [PASSED] test_default
[07:22:54] ======================== test_size ========================
[07:22:54] [PASSED] 4
[07:22:54] [PASSED] 8
[07:22:54] [PASSED] 32
[07:22:54] [PASSED] 256
[07:22:54] ==================== [PASSED] test_size ====================
[07:22:54] ======================= test_reuse ========================
[07:22:54] [PASSED] 4
[07:22:54] [PASSED] 8
[07:22:54] [PASSED] 32
[07:22:54] [PASSED] 256
[07:22:54] =================== [PASSED] test_reuse ====================
[07:22:54] =================== test_range_overlap ====================
[07:22:54] [PASSED] 4
[07:22:54] [PASSED] 8
[07:22:54] [PASSED] 32
[07:22:54] [PASSED] 256
[07:22:54] =============== [PASSED] test_range_overlap ================
[07:22:54] =================== test_range_compact ====================
[07:22:54] [PASSED] 4
[07:22:54] [PASSED] 8
[07:22:54] [PASSED] 32
[07:22:54] [PASSED] 256
[07:22:54] =============== [PASSED] test_range_compact ================
[07:22:54] ==================== test_range_spare =====================
[07:22:54] [PASSED] 4
[07:22:54] [PASSED] 8
[07:22:54] [PASSED] 32
[07:22:54] [PASSED] 256
[07:22:54] ================ [PASSED] test_range_spare =================
[07:22:54] ===================== [PASSED] guc_dbm =====================
[07:22:54] =================== guc_idm (6 subtests) ===================
[07:22:54] [PASSED] bad_init
[07:22:54] [PASSED] no_init
[07:22:54] [PASSED] init_fini
[07:22:54] [PASSED] check_used
[07:22:54] [PASSED] check_quota
[07:22:54] [PASSED] check_all
[07:22:54] ===================== [PASSED] guc_idm =====================
[07:22:54] ================== no_relay (3 subtests) ===================
[07:22:54] [PASSED] xe_drops_guc2pf_if_not_ready
[07:22:54] [PASSED] xe_drops_guc2vf_if_not_ready
[07:22:54] [PASSED] xe_rejects_send_if_not_ready
[07:22:54] ==================== [PASSED] no_relay =====================
[07:22:54] ================== pf_relay (14 subtests) ==================
[07:22:54] [PASSED] pf_rejects_guc2pf_too_short
[07:22:54] [PASSED] pf_rejects_guc2pf_too_long
[07:22:54] [PASSED] pf_rejects_guc2pf_no_payload
[07:22:54] [PASSED] pf_fails_no_payload
[07:22:54] [PASSED] pf_fails_bad_origin
[07:22:54] [PASSED] pf_fails_bad_type
[07:22:54] [PASSED] pf_txn_reports_error
[07:22:54] [PASSED] pf_txn_sends_pf2guc
[07:22:54] [PASSED] pf_sends_pf2guc
[07:22:54] [SKIPPED] pf_loopback_nop
[07:22:54] [SKIPPED] pf_loopback_echo
[07:22:54] [SKIPPED] pf_loopback_fail
[07:22:54] [SKIPPED] pf_loopback_busy
[07:22:54] [SKIPPED] pf_loopback_retry
[07:22:54] ==================== [PASSED] pf_relay =====================
[07:22:54] ================== vf_relay (3 subtests) ===================
[07:22:54] [PASSED] vf_rejects_guc2vf_too_short
[07:22:54] [PASSED] vf_rejects_guc2vf_too_long
[07:22:54] [PASSED] vf_rejects_guc2vf_no_payload
[07:22:54] ==================== [PASSED] vf_relay =====================
[07:22:54] ================= pf_service (11 subtests) =================
[07:22:54] [PASSED] pf_negotiate_any
[07:22:54] [PASSED] pf_negotiate_base_match
[07:22:54] [PASSED] pf_negotiate_base_newer
[07:22:54] [PASSED] pf_negotiate_base_next
[07:22:54] [SKIPPED] pf_negotiate_base_older
[07:22:54] [PASSED] pf_negotiate_base_prev
[07:22:54] [PASSED] pf_negotiate_latest_match
[07:22:54] [PASSED] pf_negotiate_latest_newer
[07:22:54] [PASSED] pf_negotiate_latest_next
[07:22:54] [SKIPPED] pf_negotiate_latest_older
[07:22:54] [SKIPPED] pf_negotiate_latest_prev
[07:22:54] =================== [PASSED] pf_service ====================
[07:22:54] ===================== lmtt (1 subtest) =====================
[07:22:54] ======================== test_ops =========================
[07:22:54] [PASSED] 2-level
[07:22:54] [PASSED] multi-level
[07:22:54] ==================== [PASSED] test_ops =====================
[07:22:54] ====================== [PASSED] lmtt =======================
[07:22:54] =================== xe_mocs (2 subtests) ===================
[07:22:54] ================ xe_live_mocs_kernel_kunit ================
[07:22:54] =========== [SKIPPED] xe_live_mocs_kernel_kunit ============
[07:22:54] ================ xe_live_mocs_reset_kunit =================
[07:22:54] ============ [SKIPPED] xe_live_mocs_reset_kunit ============
[07:22:54] ==================== [SKIPPED] xe_mocs =====================
[07:22:54] ================= xe_migrate (2 subtests) ==================
[07:22:54] ================= xe_migrate_sanity_kunit =================
[07:22:54] ============ [SKIPPED] xe_migrate_sanity_kunit =============
[07:22:54] ================== xe_validate_ccs_kunit ==================
[07:22:54] ============= [SKIPPED] xe_validate_ccs_kunit ==============
[07:22:54] =================== [SKIPPED] xe_migrate ===================
[07:22:54] ================== xe_dma_buf (1 subtest) ==================
[07:22:54] ==================== xe_dma_buf_kunit =====================
[07:22:54] ================ [SKIPPED] xe_dma_buf_kunit ================
[07:22:54] =================== [SKIPPED] xe_dma_buf ===================
[07:22:54] ================= xe_bo_shrink (1 subtest) =================
[07:22:54] =================== xe_bo_shrink_kunit ====================
[07:22:54] =============== [SKIPPED] xe_bo_shrink_kunit ===============
[07:22:54] ================== [SKIPPED] xe_bo_shrink ==================
[07:22:54] ==================== xe_bo (2 subtests) ====================
[07:22:54] ================== xe_ccs_migrate_kunit ===================
[07:22:54] ============== [SKIPPED] xe_ccs_migrate_kunit ==============
[07:22:54] ==================== xe_bo_evict_kunit ====================
[07:22:54] =============== [SKIPPED] xe_bo_evict_kunit ================
[07:22:54] ===================== [SKIPPED] xe_bo ======================
[07:22:54] ==================== args (11 subtests) ====================
[07:22:54] [PASSED] count_args_test
[07:22:54] [PASSED] call_args_example
[07:22:54] [PASSED] call_args_test
[07:22:54] [PASSED] drop_first_arg_example
[07:22:54] [PASSED] drop_first_arg_test
[07:22:54] [PASSED] first_arg_example
[07:22:54] [PASSED] first_arg_test
[07:22:54] [PASSED] last_arg_example
[07:22:54] [PASSED] last_arg_test
[07:22:54] [PASSED] pick_arg_example
[07:22:54] [PASSED] sep_comma_example
[07:22:54] ====================== [PASSED] args =======================
[07:22:54] =================== xe_pci (2 subtests) ====================
[07:22:54] ==================== check_graphics_ip ====================
[07:22:54] [PASSED] 12.70 Xe_LPG
[07:22:54] [PASSED] 12.71 Xe_LPG
[07:22:54] [PASSED] 12.74 Xe_LPG+
[07:22:54] [PASSED] 20.01 Xe2_HPG
[07:22:54] [PASSED] 20.02 Xe2_HPG
[07:22:54] [PASSED] 20.04 Xe2_LPG
[07:22:54] [PASSED] 30.00 Xe3_LPG
[07:22:54] [PASSED] 30.01 Xe3_LPG
[07:22:54] [PASSED] 30.03 Xe3_LPG
[07:22:54] ================ [PASSED] check_graphics_ip ================
[07:22:54] ===================== check_media_ip ======================
[07:22:54] [PASSED] 13.00 Xe_LPM+
[07:22:54] [PASSED] 13.01 Xe2_HPM
[07:22:54] [PASSED] 20.00 Xe2_LPM
[07:22:54] [PASSED] 30.00 Xe3_LPM
[07:22:54] [PASSED] 30.02 Xe3_LPM
stty: 'standard input': Inappropriate ioctl for device
[07:22:54] ================= [PASSED] check_media_ip ==================
[07:22:54] ===================== [PASSED] xe_pci ======================
[07:22:54] =================== xe_rtp (2 subtests) ====================
[07:22:54] =============== xe_rtp_process_to_sr_tests ================
[07:22:54] [PASSED] coalesce-same-reg
[07:22:54] [PASSED] no-match-no-add
[07:22:54] [PASSED] match-or
[07:22:54] [PASSED] match-or-xfail
[07:22:54] [PASSED] no-match-no-add-multiple-rules
[07:22:54] [PASSED] two-regs-two-entries
[07:22:54] [PASSED] clr-one-set-other
[07:22:54] [PASSED] set-field
[07:22:54] [PASSED] conflict-duplicate
[07:22:54] [PASSED] conflict-not-disjoint
[07:22:54] [PASSED] conflict-reg-type
[07:22:54] =========== [PASSED] xe_rtp_process_to_sr_tests ============
[07:22:54] ================== xe_rtp_process_tests ===================
[07:22:54] [PASSED] active1
[07:22:54] [PASSED] active2
[07:22:54] [PASSED] active-inactive
[07:22:54] [PASSED] inactive-active
[07:22:54] [PASSED] inactive-1st_or_active-inactive
[07:22:54] [PASSED] inactive-2nd_or_active-inactive
[07:22:54] [PASSED] inactive-last_or_active-inactive
[07:22:54] [PASSED] inactive-no_or_active-inactive
[07:22:54] ============== [PASSED] xe_rtp_process_tests ===============
[07:22:54] ===================== [PASSED] xe_rtp ======================
[07:22:54] ==================== xe_wa (1 subtest) =====================
[07:22:54] ======================== xe_wa_gt =========================
[07:22:54] [PASSED] TIGERLAKE (B0)
[07:22:54] [PASSED] DG1 (A0)
[07:22:54] [PASSED] DG1 (B0)
[07:22:54] [PASSED] ALDERLAKE_S (A0)
[07:22:54] [PASSED] ALDERLAKE_S (B0)
[07:22:54] [PASSED] ALDERLAKE_S (C0)
[07:22:54] [PASSED] ALDERLAKE_S (D0)
[07:22:54] [PASSED] ALDERLAKE_P (A0)
[07:22:54] [PASSED] ALDERLAKE_P (B0)
[07:22:54] [PASSED] ALDERLAKE_P (C0)
[07:22:54] [PASSED] ALDERLAKE_S_RPLS (D0)
[07:22:54] [PASSED] ALDERLAKE_P_RPLU (E0)
[07:22:54] [PASSED] DG2_G10 (C0)
[07:22:54] [PASSED] DG2_G11 (B1)
[07:22:54] [PASSED] DG2_G12 (A1)
[07:22:54] [PASSED] METEORLAKE (g:A0, m:A0)
[07:22:54] [PASSED] METEORLAKE (g:A0, m:A0)
[07:22:54] [PASSED] METEORLAKE (g:A0, m:A0)
[07:22:54] [PASSED] LUNARLAKE (g:A0, m:A0)
[07:22:54] [PASSED] LUNARLAKE (g:B0, m:A0)
[07:22:54] [PASSED] BATTLEMAGE (g:A0, m:A1)
[07:22:54] ==================== [PASSED] xe_wa_gt =====================
[07:22:54] ====================== [PASSED] xe_wa ======================
[07:22:54] ============================================================
[07:22:54] Testing complete. Ran 145 tests: passed: 129, skipped: 16
[07:22:54] Elapsed time: 31.256s total, 4.197s configuring, 26.742s building, 0.301s running
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/tests/.kunitconfig
[07:22:54] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[07:22:55] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[07:23:17] Starting KUnit Kernel (1/1)...
[07:23:17] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[07:23:17] == drm_test_atomic_get_connector_for_encoder (1 subtest) ===
[07:23:17] [PASSED] drm_test_drm_atomic_get_connector_for_encoder
[07:23:17] ==== [PASSED] drm_test_atomic_get_connector_for_encoder ====
[07:23:17] =========== drm_validate_clone_mode (2 subtests) ===========
[07:23:17] ============== drm_test_check_in_clone_mode ===============
[07:23:17] [PASSED] in_clone_mode
[07:23:17] [PASSED] not_in_clone_mode
[07:23:17] ========== [PASSED] drm_test_check_in_clone_mode ===========
[07:23:17] =============== drm_test_check_valid_clones ===============
[07:23:17] [PASSED] not_in_clone_mode
[07:23:17] [PASSED] valid_clone
[07:23:17] [PASSED] invalid_clone
[07:23:17] =========== [PASSED] drm_test_check_valid_clones ===========
[07:23:17] ============= [PASSED] drm_validate_clone_mode =============
[07:23:17] ============= drm_validate_modeset (1 subtest) =============
[07:23:17] [PASSED] drm_test_check_connector_changed_modeset
[07:23:17] ============== [PASSED] drm_validate_modeset ===============
[07:23:17] ====== drm_test_bridge_get_current_state (2 subtests) ======
[07:23:17] [PASSED] drm_test_drm_bridge_get_current_state_atomic
[07:23:17] [PASSED] drm_test_drm_bridge_get_current_state_legacy
[07:23:17] ======== [PASSED] drm_test_bridge_get_current_state ========
[07:23:17] ====== drm_test_bridge_helper_reset_crtc (3 subtests) ======
[07:23:17] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic
[07:23:17] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic_disabled
[07:23:17] [PASSED] drm_test_drm_bridge_helper_reset_crtc_legacy
[07:23:17] ======== [PASSED] drm_test_bridge_helper_reset_crtc ========
[07:23:17] ============== drm_bridge_alloc (2 subtests) ===============
[07:23:17] [PASSED] drm_test_drm_bridge_alloc_basic
[07:23:17] [PASSED] drm_test_drm_bridge_alloc_get_put
[07:23:17] ================ [PASSED] drm_bridge_alloc =================
[07:23:17] ================== drm_buddy (7 subtests) ==================
[07:23:17] [PASSED] drm_test_buddy_alloc_limit
[07:23:17] [PASSED] drm_test_buddy_alloc_optimistic
[07:23:17] [PASSED] drm_test_buddy_alloc_pessimistic
[07:23:17] [PASSED] drm_test_buddy_alloc_pathological
[07:23:17] [PASSED] drm_test_buddy_alloc_contiguous
[07:23:17] [PASSED] drm_test_buddy_alloc_clear
[07:23:17] [PASSED] drm_test_buddy_alloc_range_bias
[07:23:17] ==================== [PASSED] drm_buddy ====================
[07:23:17] ============= drm_cmdline_parser (40 subtests) =============
[07:23:17] [PASSED] drm_test_cmdline_force_d_only
[07:23:17] [PASSED] drm_test_cmdline_force_D_only_dvi
[07:23:17] [PASSED] drm_test_cmdline_force_D_only_hdmi
[07:23:17] [PASSED] drm_test_cmdline_force_D_only_not_digital
[07:23:17] [PASSED] drm_test_cmdline_force_e_only
[07:23:17] [PASSED] drm_test_cmdline_res
[07:23:17] [PASSED] drm_test_cmdline_res_vesa
[07:23:17] [PASSED] drm_test_cmdline_res_vesa_rblank
[07:23:17] [PASSED] drm_test_cmdline_res_rblank
[07:23:17] [PASSED] drm_test_cmdline_res_bpp
[07:23:17] [PASSED] drm_test_cmdline_res_refresh
[07:23:17] [PASSED] drm_test_cmdline_res_bpp_refresh
[07:23:17] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced
[07:23:17] [PASSED] drm_test_cmdline_res_bpp_refresh_margins
[07:23:17] [PASSED] drm_test_cmdline_res_bpp_refresh_force_off
[07:23:17] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on
[07:23:17] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_analog
[07:23:17] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_digital
[07:23:17] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced_margins_force_on
[07:23:17] [PASSED] drm_test_cmdline_res_margins_force_on
[07:23:17] [PASSED] drm_test_cmdline_res_vesa_margins
[07:23:17] [PASSED] drm_test_cmdline_name
[07:23:17] [PASSED] drm_test_cmdline_name_bpp
[07:23:17] [PASSED] drm_test_cmdline_name_option
[07:23:17] [PASSED] drm_test_cmdline_name_bpp_option
[07:23:17] [PASSED] drm_test_cmdline_rotate_0
[07:23:17] [PASSED] drm_test_cmdline_rotate_90
[07:23:17] [PASSED] drm_test_cmdline_rotate_180
[07:23:17] [PASSED] drm_test_cmdline_rotate_270
[07:23:17] [PASSED] drm_test_cmdline_hmirror
[07:23:17] [PASSED] drm_test_cmdline_vmirror
[07:23:17] [PASSED] drm_test_cmdline_margin_options
[07:23:17] [PASSED] drm_test_cmdline_multiple_options
[07:23:17] [PASSED] drm_test_cmdline_bpp_extra_and_option
[07:23:17] [PASSED] drm_test_cmdline_extra_and_option
[07:23:17] [PASSED] drm_test_cmdline_freestanding_options
[07:23:17] [PASSED] drm_test_cmdline_freestanding_force_e_and_options
[07:23:17] [PASSED] drm_test_cmdline_panel_orientation
[07:23:17] ================ drm_test_cmdline_invalid =================
[07:23:17] [PASSED] margin_only
[07:23:17] [PASSED] interlace_only
[07:23:17] [PASSED] res_missing_x
[07:23:17] [PASSED] res_missing_y
[07:23:17] [PASSED] res_bad_y
[07:23:17] [PASSED] res_missing_y_bpp
[07:23:17] [PASSED] res_bad_bpp
[07:23:17] [PASSED] res_bad_refresh
[07:23:17] [PASSED] res_bpp_refresh_force_on_off
[07:23:17] [PASSED] res_invalid_mode
[07:23:17] [PASSED] res_bpp_wrong_place_mode
[07:23:17] [PASSED] name_bpp_refresh
[07:23:17] [PASSED] name_refresh
[07:23:17] [PASSED] name_refresh_wrong_mode
[07:23:17] [PASSED] name_refresh_invalid_mode
[07:23:17] [PASSED] rotate_multiple
[07:23:17] [PASSED] rotate_invalid_val
[07:23:17] [PASSED] rotate_truncated
[07:23:17] [PASSED] invalid_option
[07:23:17] [PASSED] invalid_tv_option
[07:23:17] [PASSED] truncated_tv_option
[07:23:17] ============ [PASSED] drm_test_cmdline_invalid =============
[07:23:17] =============== drm_test_cmdline_tv_options ===============
[07:23:17] [PASSED] NTSC
[07:23:17] [PASSED] NTSC_443
[07:23:17] [PASSED] NTSC_J
[07:23:17] [PASSED] PAL
[07:23:17] [PASSED] PAL_M
[07:23:17] [PASSED] PAL_N
[07:23:17] [PASSED] SECAM
[07:23:17] [PASSED] MONO_525
[07:23:17] [PASSED] MONO_625
[07:23:17] =========== [PASSED] drm_test_cmdline_tv_options ===========
[07:23:17] =============== [PASSED] drm_cmdline_parser ================
[07:23:17] ========== drmm_connector_hdmi_init (20 subtests) ==========
[07:23:17] [PASSED] drm_test_connector_hdmi_init_valid
[07:23:17] [PASSED] drm_test_connector_hdmi_init_bpc_8
[07:23:17] [PASSED] drm_test_connector_hdmi_init_bpc_10
[07:23:17] [PASSED] drm_test_connector_hdmi_init_bpc_12
[07:23:17] [PASSED] drm_test_connector_hdmi_init_bpc_invalid
[07:23:17] [PASSED] drm_test_connector_hdmi_init_bpc_null
[07:23:17] [PASSED] drm_test_connector_hdmi_init_formats_empty
[07:23:17] [PASSED] drm_test_connector_hdmi_init_formats_no_rgb
[07:23:17] === drm_test_connector_hdmi_init_formats_yuv420_allowed ===
[07:23:17] [PASSED] supported_formats=0x9 yuv420_allowed=1
[07:23:17] [PASSED] supported_formats=0x9 yuv420_allowed=0
[07:23:17] [PASSED] supported_formats=0x3 yuv420_allowed=1
[07:23:17] [PASSED] supported_formats=0x3 yuv420_allowed=0
[07:23:17] === [PASSED] drm_test_connector_hdmi_init_formats_yuv420_allowed ===
[07:23:17] [PASSED] drm_test_connector_hdmi_init_null_ddc
[07:23:17] [PASSED] drm_test_connector_hdmi_init_null_product
[07:23:17] [PASSED] drm_test_connector_hdmi_init_null_vendor
[07:23:17] [PASSED] drm_test_connector_hdmi_init_product_length_exact
[07:23:17] [PASSED] drm_test_connector_hdmi_init_product_length_too_long
[07:23:17] [PASSED] drm_test_connector_hdmi_init_product_valid
[07:23:17] [PASSED] drm_test_connector_hdmi_init_vendor_length_exact
[07:23:17] [PASSED] drm_test_connector_hdmi_init_vendor_length_too_long
[07:23:17] [PASSED] drm_test_connector_hdmi_init_vendor_valid
[07:23:17] ========= drm_test_connector_hdmi_init_type_valid =========
[07:23:17] [PASSED] HDMI-A
[07:23:17] [PASSED] HDMI-B
[07:23:17] ===== [PASSED] drm_test_connector_hdmi_init_type_valid =====
[07:23:17] ======== drm_test_connector_hdmi_init_type_invalid ========
[07:23:17] [PASSED] Unknown
[07:23:17] [PASSED] VGA
[07:23:17] [PASSED] DVI-I
[07:23:17] [PASSED] DVI-D
[07:23:17] [PASSED] DVI-A
[07:23:17] [PASSED] Composite
[07:23:17] [PASSED] SVIDEO
[07:23:17] [PASSED] LVDS
[07:23:17] [PASSED] Component
[07:23:17] [PASSED] DIN
[07:23:17] [PASSED] DP
[07:23:17] [PASSED] TV
[07:23:17] [PASSED] eDP
[07:23:17] [PASSED] Virtual
[07:23:17] [PASSED] DSI
[07:23:17] [PASSED] DPI
[07:23:17] [PASSED] Writeback
[07:23:17] [PASSED] SPI
[07:23:17] [PASSED] USB
[07:23:17] ==== [PASSED] drm_test_connector_hdmi_init_type_invalid ====
[07:23:17] ============ [PASSED] drmm_connector_hdmi_init =============
[07:23:17] ============= drmm_connector_init (3 subtests) =============
[07:23:17] [PASSED] drm_test_drmm_connector_init
[07:23:17] [PASSED] drm_test_drmm_connector_init_null_ddc
[07:23:17] ========= drm_test_drmm_connector_init_type_valid =========
[07:23:17] [PASSED] Unknown
[07:23:17] [PASSED] VGA
[07:23:17] [PASSED] DVI-I
[07:23:17] [PASSED] DVI-D
[07:23:17] [PASSED] DVI-A
[07:23:17] [PASSED] Composite
[07:23:17] [PASSED] SVIDEO
[07:23:17] [PASSED] LVDS
[07:23:17] [PASSED] Component
[07:23:17] [PASSED] DIN
[07:23:17] [PASSED] DP
[07:23:17] [PASSED] HDMI-A
[07:23:17] [PASSED] HDMI-B
[07:23:17] [PASSED] TV
[07:23:17] [PASSED] eDP
[07:23:17] [PASSED] Virtual
[07:23:17] [PASSED] DSI
[07:23:17] [PASSED] DPI
[07:23:17] [PASSED] Writeback
[07:23:17] [PASSED] SPI
[07:23:17] [PASSED] USB
[07:23:17] ===== [PASSED] drm_test_drmm_connector_init_type_valid =====
[07:23:17] =============== [PASSED] drmm_connector_init ===============
[07:23:17] ========= drm_connector_dynamic_init (6 subtests) ==========
[07:23:17] [PASSED] drm_test_drm_connector_dynamic_init
[07:23:17] [PASSED] drm_test_drm_connector_dynamic_init_null_ddc
[07:23:17] [PASSED] drm_test_drm_connector_dynamic_init_not_added
[07:23:17] [PASSED] drm_test_drm_connector_dynamic_init_properties
[07:23:17] ===== drm_test_drm_connector_dynamic_init_type_valid ======
[07:23:17] [PASSED] Unknown
[07:23:17] [PASSED] VGA
[07:23:17] [PASSED] DVI-I
[07:23:17] [PASSED] DVI-D
[07:23:17] [PASSED] DVI-A
[07:23:17] [PASSED] Composite
[07:23:17] [PASSED] SVIDEO
[07:23:17] [PASSED] LVDS
[07:23:17] [PASSED] Component
[07:23:17] [PASSED] DIN
[07:23:17] [PASSED] DP
[07:23:17] [PASSED] HDMI-A
[07:23:17] [PASSED] HDMI-B
[07:23:17] [PASSED] TV
[07:23:17] [PASSED] eDP
[07:23:17] [PASSED] Virtual
[07:23:17] [PASSED] DSI
[07:23:17] [PASSED] DPI
[07:23:17] [PASSED] Writeback
[07:23:17] [PASSED] SPI
[07:23:17] [PASSED] USB
[07:23:17] = [PASSED] drm_test_drm_connector_dynamic_init_type_valid ==
[07:23:17] ======== drm_test_drm_connector_dynamic_init_name =========
[07:23:17] [PASSED] Unknown
[07:23:17] [PASSED] VGA
[07:23:17] [PASSED] DVI-I
[07:23:17] [PASSED] DVI-D
[07:23:17] [PASSED] DVI-A
[07:23:17] [PASSED] Composite
[07:23:17] [PASSED] SVIDEO
[07:23:17] [PASSED] LVDS
[07:23:17] [PASSED] Component
[07:23:17] [PASSED] DIN
[07:23:17] [PASSED] DP
[07:23:17] [PASSED] HDMI-A
[07:23:17] [PASSED] HDMI-B
[07:23:17] [PASSED] TV
[07:23:17] [PASSED] eDP
[07:23:17] [PASSED] Virtual
[07:23:17] [PASSED] DSI
[07:23:17] [PASSED] DPI
[07:23:17] [PASSED] Writeback
[07:23:17] [PASSED] SPI
[07:23:17] [PASSED] USB
[07:23:17] ==== [PASSED] drm_test_drm_connector_dynamic_init_name =====
[07:23:17] =========== [PASSED] drm_connector_dynamic_init ============
[07:23:17] ==== drm_connector_dynamic_register_early (4 subtests) =====
[07:23:17] [PASSED] drm_test_drm_connector_dynamic_register_early_on_list
[07:23:17] [PASSED] drm_test_drm_connector_dynamic_register_early_defer
[07:23:17] [PASSED] drm_test_drm_connector_dynamic_register_early_no_init
[07:23:17] [PASSED] drm_test_drm_connector_dynamic_register_early_no_mode_object
[07:23:17] ====== [PASSED] drm_connector_dynamic_register_early =======
[07:23:17] ======= drm_connector_dynamic_register (7 subtests) ========
[07:23:17] [PASSED] drm_test_drm_connector_dynamic_register_on_list
[07:23:17] [PASSED] drm_test_drm_connector_dynamic_register_no_defer
[07:23:17] [PASSED] drm_test_drm_connector_dynamic_register_no_init
[07:23:17] [PASSED] drm_test_drm_connector_dynamic_register_mode_object
[07:23:17] [PASSED] drm_test_drm_connector_dynamic_register_sysfs
[07:23:17] [PASSED] drm_test_drm_connector_dynamic_register_sysfs_name
[07:23:17] [PASSED] drm_test_drm_connector_dynamic_register_debugfs
[07:23:17] ========= [PASSED] drm_connector_dynamic_register ==========
[07:23:17] = drm_connector_attach_broadcast_rgb_property (2 subtests) =
[07:23:17] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property
[07:23:17] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property_hdmi_connector
[07:23:17] === [PASSED] drm_connector_attach_broadcast_rgb_property ===
[07:23:17] ========== drm_get_tv_mode_from_name (2 subtests) ==========
[07:23:17] ========== drm_test_get_tv_mode_from_name_valid ===========
[07:23:17] [PASSED] NTSC
[07:23:17] [PASSED] NTSC-443
[07:23:17] [PASSED] NTSC-J
[07:23:17] [PASSED] PAL
[07:23:17] [PASSED] PAL-M
[07:23:17] [PASSED] PAL-N
[07:23:17] [PASSED] SECAM
[07:23:17] [PASSED] Mono
[07:23:17] ====== [PASSED] drm_test_get_tv_mode_from_name_valid =======
[07:23:17] [PASSED] drm_test_get_tv_mode_from_name_truncated
[07:23:17] ============ [PASSED] drm_get_tv_mode_from_name ============
[07:23:17] = drm_test_connector_hdmi_compute_mode_clock (12 subtests) =
[07:23:17] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb
[07:23:17] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc
[07:23:17] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc_vic_1
[07:23:17] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc
[07:23:17] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc_vic_1
[07:23:17] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_double
[07:23:17] = drm_test_connector_hdmi_compute_mode_clock_yuv420_valid =
[07:23:17] [PASSED] VIC 96
[07:23:17] [PASSED] VIC 97
[07:23:17] [PASSED] VIC 101
[07:23:17] [PASSED] VIC 102
[07:23:17] [PASSED] VIC 106
[07:23:17] [PASSED] VIC 107
[07:23:17] === [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_valid ===
[07:23:17] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_10_bpc
[07:23:17] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_12_bpc
[07:23:17] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_8_bpc
[07:23:17] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_10_bpc
[07:23:17] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_12_bpc
[07:23:17] === [PASSED] drm_test_connector_hdmi_compute_mode_clock ====
[07:23:17] == drm_hdmi_connector_get_broadcast_rgb_name (2 subtests) ==
[07:23:17] === drm_test_drm_hdmi_connector_get_broadcast_rgb_name ====
[07:23:17] [PASSED] Automatic
[07:23:17] [PASSED] Full
[07:23:17] [PASSED] Limited 16:235
[07:23:17] === [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name ===
[07:23:17] [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name_invalid
[07:23:17] ==== [PASSED] drm_hdmi_connector_get_broadcast_rgb_name ====
[07:23:17] == drm_hdmi_connector_get_output_format_name (2 subtests) ==
[07:23:17] === drm_test_drm_hdmi_connector_get_output_format_name ====
[07:23:17] [PASSED] RGB
[07:23:17] [PASSED] YUV 4:2:0
[07:23:17] [PASSED] YUV 4:2:2
[07:23:17] [PASSED] YUV 4:4:4
[07:23:17] === [PASSED] drm_test_drm_hdmi_connector_get_output_format_name ===
[07:23:17] [PASSED] drm_test_drm_hdmi_connector_get_output_format_name_invalid
[07:23:17] ==== [PASSED] drm_hdmi_connector_get_output_format_name ====
[07:23:17] ============= drm_damage_helper (21 subtests) ==============
[07:23:17] [PASSED] drm_test_damage_iter_no_damage
[07:23:17] [PASSED] drm_test_damage_iter_no_damage_fractional_src
[07:23:17] [PASSED] drm_test_damage_iter_no_damage_src_moved
[07:23:17] [PASSED] drm_test_damage_iter_no_damage_fractional_src_moved
[07:23:17] [PASSED] drm_test_damage_iter_no_damage_not_visible
[07:23:17] [PASSED] drm_test_damage_iter_no_damage_no_crtc
[07:23:17] [PASSED] drm_test_damage_iter_no_damage_no_fb
[07:23:17] [PASSED] drm_test_damage_iter_simple_damage
[07:23:17] [PASSED] drm_test_damage_iter_single_damage
[07:23:17] [PASSED] drm_test_damage_iter_single_damage_intersect_src
[07:23:17] [PASSED] drm_test_damage_iter_single_damage_outside_src
[07:23:17] [PASSED] drm_test_damage_iter_single_damage_fractional_src
[07:23:17] [PASSED] drm_test_damage_iter_single_damage_intersect_fractional_src
[07:23:17] [PASSED] drm_test_damage_iter_single_damage_outside_fractional_src
[07:23:17] [PASSED] drm_test_damage_iter_single_damage_src_moved
[07:23:17] [PASSED] drm_test_damage_iter_single_damage_fractional_src_moved
[07:23:17] [PASSED] drm_test_damage_iter_damage
[07:23:17] [PASSED] drm_test_damage_iter_damage_one_intersect
[07:23:17] [PASSED] drm_test_damage_iter_damage_one_outside
[07:23:17] [PASSED] drm_test_damage_iter_damage_src_moved
[07:23:17] [PASSED] drm_test_damage_iter_damage_not_visible
[07:23:17] ================ [PASSED] drm_damage_helper ================
[07:23:17] ============== drm_dp_mst_helper (3 subtests) ==============
[07:23:17] ============== drm_test_dp_mst_calc_pbn_mode ==============
[07:23:17] [PASSED] Clock 154000 BPP 30 DSC disabled
[07:23:17] [PASSED] Clock 234000 BPP 30 DSC disabled
[07:23:17] [PASSED] Clock 297000 BPP 24 DSC disabled
[07:23:17] [PASSED] Clock 332880 BPP 24 DSC enabled
[07:23:17] [PASSED] Clock 324540 BPP 24 DSC enabled
[07:23:17] ========== [PASSED] drm_test_dp_mst_calc_pbn_mode ==========
[07:23:17] ============== drm_test_dp_mst_calc_pbn_div ===============
[07:23:17] [PASSED] Link rate 2000000 lane count 4
[07:23:17] [PASSED] Link rate 2000000 lane count 2
[07:23:17] [PASSED] Link rate 2000000 lane count 1
[07:23:17] [PASSED] Link rate 1350000 lane count 4
[07:23:17] [PASSED] Link rate 1350000 lane count 2
[07:23:17] [PASSED] Link rate 1350000 lane count 1
[07:23:17] [PASSED] Link rate 1000000 lane count 4
[07:23:17] [PASSED] Link rate 1000000 lane count 2
[07:23:17] [PASSED] Link rate 1000000 lane count 1
[07:23:17] [PASSED] Link rate 810000 lane count 4
[07:23:17] [PASSED] Link rate 810000 lane count 2
[07:23:17] [PASSED] Link rate 810000 lane count 1
[07:23:17] [PASSED] Link rate 540000 lane count 4
[07:23:17] [PASSED] Link rate 540000 lane count 2
[07:23:17] [PASSED] Link rate 540000 lane count 1
[07:23:17] [PASSED] Link rate 270000 lane count 4
[07:23:17] [PASSED] Link rate 270000 lane count 2
[07:23:17] [PASSED] Link rate 270000 lane count 1
[07:23:17] [PASSED] Link rate 162000 lane count 4
[07:23:17] [PASSED] Link rate 162000 lane count 2
[07:23:17] [PASSED] Link rate 162000 lane count 1
[07:23:17] ========== [PASSED] drm_test_dp_mst_calc_pbn_div ===========
[07:23:17] ========= drm_test_dp_mst_sideband_msg_req_decode =========
[07:23:17] [PASSED] DP_ENUM_PATH_RESOURCES with port number
[07:23:17] [PASSED] DP_POWER_UP_PHY with port number
[07:23:17] [PASSED] DP_POWER_DOWN_PHY with port number
[07:23:17] [PASSED] DP_ALLOCATE_PAYLOAD with SDP stream sinks
[07:23:17] [PASSED] DP_ALLOCATE_PAYLOAD with port number
[07:23:17] [PASSED] DP_ALLOCATE_PAYLOAD with VCPI
[07:23:17] [PASSED] DP_ALLOCATE_PAYLOAD with PBN
[07:23:17] [PASSED] DP_QUERY_PAYLOAD with port number
[07:23:17] [PASSED] DP_QUERY_PAYLOAD with VCPI
[07:23:17] [PASSED] DP_REMOTE_DPCD_READ with port number
[07:23:17] [PASSED] DP_REMOTE_DPCD_READ with DPCD address
[07:23:17] [PASSED] DP_REMOTE_DPCD_READ with max number of bytes
[07:23:17] [PASSED] DP_REMOTE_DPCD_WRITE with port number
[07:23:17] [PASSED] DP_REMOTE_DPCD_WRITE with DPCD address
[07:23:17] [PASSED] DP_REMOTE_DPCD_WRITE with data array
[07:23:17] [PASSED] DP_REMOTE_I2C_READ with port number
[07:23:17] [PASSED] DP_REMOTE_I2C_READ with I2C device ID
[07:23:17] [PASSED] DP_REMOTE_I2C_READ with transactions array
[07:23:17] [PASSED] DP_REMOTE_I2C_WRITE with port number
[07:23:17] [PASSED] DP_REMOTE_I2C_WRITE with I2C device ID
[07:23:17] [PASSED] DP_REMOTE_I2C_WRITE with data array
[07:23:17] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream ID
[07:23:17] [PASSED] DP_QUERY_STREAM_ENC_STATUS with client ID
[07:23:17] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream event
[07:23:17] [PASSED] DP_QUERY_STREAM_ENC_STATUS with valid stream event
[07:23:17] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream behavior
[07:23:17] [PASSED] DP_QUERY_STREAM_ENC_STATUS with a valid stream behavior
[07:23:17] ===== [PASSED] drm_test_dp_mst_sideband_msg_req_decode =====
[07:23:17] ================ [PASSED] drm_dp_mst_helper ================
[07:23:17] ================== drm_exec (7 subtests) ===================
[07:23:17] [PASSED] sanitycheck
[07:23:17] [PASSED] test_lock
[07:23:17] [PASSED] test_lock_unlock
[07:23:17] [PASSED] test_duplicates
[07:23:17] [PASSED] test_prepare
[07:23:17] [PASSED] test_prepare_array
[07:23:17] [PASSED] test_multiple_loops
[07:23:17] ==================== [PASSED] drm_exec =====================
[07:23:17] =========== drm_format_helper_test (17 subtests) ===========
[07:23:17] ============== drm_test_fb_xrgb8888_to_gray8 ==============
[07:23:17] [PASSED] single_pixel_source_buffer
[07:23:17] [PASSED] single_pixel_clip_rectangle
[07:23:17] [PASSED] well_known_colors
[07:23:17] [PASSED] destination_pitch
[07:23:17] ========== [PASSED] drm_test_fb_xrgb8888_to_gray8 ==========
[07:23:17] ============= drm_test_fb_xrgb8888_to_rgb332 ==============
[07:23:17] [PASSED] single_pixel_source_buffer
[07:23:17] [PASSED] single_pixel_clip_rectangle
[07:23:17] [PASSED] well_known_colors
[07:23:17] [PASSED] destination_pitch
[07:23:17] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb332 ==========
[07:23:17] ============= drm_test_fb_xrgb8888_to_rgb565 ==============
[07:23:17] [PASSED] single_pixel_source_buffer
[07:23:17] [PASSED] single_pixel_clip_rectangle
[07:23:17] [PASSED] well_known_colors
[07:23:17] [PASSED] destination_pitch
[07:23:17] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb565 ==========
[07:23:17] ============ drm_test_fb_xrgb8888_to_xrgb1555 =============
[07:23:17] [PASSED] single_pixel_source_buffer
[07:23:17] [PASSED] single_pixel_clip_rectangle
[07:23:17] [PASSED] well_known_colors
[07:23:17] [PASSED] destination_pitch
[07:23:17] ======== [PASSED] drm_test_fb_xrgb8888_to_xrgb1555 =========
[07:23:17] ============ drm_test_fb_xrgb8888_to_argb1555 =============
[07:23:17] [PASSED] single_pixel_source_buffer
[07:23:17] [PASSED] single_pixel_clip_rectangle
[07:23:17] [PASSED] well_known_colors
[07:23:17] [PASSED] destination_pitch
[07:23:17] ======== [PASSED] drm_test_fb_xrgb8888_to_argb1555 =========
[07:23:17] ============ drm_test_fb_xrgb8888_to_rgba5551 =============
[07:23:17] [PASSED] single_pixel_source_buffer
[07:23:17] [PASSED] single_pixel_clip_rectangle
[07:23:17] [PASSED] well_known_colors
[07:23:17] [PASSED] destination_pitch
[07:23:17] ======== [PASSED] drm_test_fb_xrgb8888_to_rgba5551 =========
[07:23:17] ============= drm_test_fb_xrgb8888_to_rgb888 ==============
[07:23:17] [PASSED] single_pixel_source_buffer
[07:23:17] [PASSED] single_pixel_clip_rectangle
[07:23:17] [PASSED] well_known_colors
[07:23:17] [PASSED] destination_pitch
[07:23:17] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb888 ==========
[07:23:17] ============= drm_test_fb_xrgb8888_to_bgr888 ==============
[07:23:17] [PASSED] single_pixel_source_buffer
[07:23:17] [PASSED] single_pixel_clip_rectangle
[07:23:17] [PASSED] well_known_colors
[07:23:17] [PASSED] destination_pitch
[07:23:17] ========= [PASSED] drm_test_fb_xrgb8888_to_bgr888 ==========
[07:23:17] ============ drm_test_fb_xrgb8888_to_argb8888 =============
[07:23:17] [PASSED] single_pixel_source_buffer
[07:23:17] [PASSED] single_pixel_clip_rectangle
[07:23:17] [PASSED] well_known_colors
[07:23:17] [PASSED] destination_pitch
[07:23:17] ======== [PASSED] drm_test_fb_xrgb8888_to_argb8888 =========
[07:23:17] =========== drm_test_fb_xrgb8888_to_xrgb2101010 ===========
[07:23:17] [PASSED] single_pixel_source_buffer
[07:23:17] [PASSED] single_pixel_clip_rectangle
[07:23:17] [PASSED] well_known_colors
[07:23:17] [PASSED] destination_pitch
[07:23:17] ======= [PASSED] drm_test_fb_xrgb8888_to_xrgb2101010 =======
[07:23:17] =========== drm_test_fb_xrgb8888_to_argb2101010 ===========
[07:23:17] [PASSED] single_pixel_source_buffer
[07:23:17] [PASSED] single_pixel_clip_rectangle
[07:23:17] [PASSED] well_known_colors
[07:23:17] [PASSED] destination_pitch
[07:23:17] ======= [PASSED] drm_test_fb_xrgb8888_to_argb2101010 =======
[07:23:17] ============== drm_test_fb_xrgb8888_to_mono ===============
[07:23:17] [PASSED] single_pixel_source_buffer
[07:23:17] [PASSED] single_pixel_clip_rectangle
[07:23:17] [PASSED] well_known_colors
[07:23:17] [PASSED] destination_pitch
[07:23:17] ========== [PASSED] drm_test_fb_xrgb8888_to_mono ===========
[07:23:17] ==================== drm_test_fb_swab =====================
[07:23:17] [PASSED] single_pixel_source_buffer
[07:23:17] [PASSED] single_pixel_clip_rectangle
[07:23:17] [PASSED] well_known_colors
[07:23:17] [PASSED] destination_pitch
[07:23:17] ================ [PASSED] drm_test_fb_swab =================
[07:23:17] ============ drm_test_fb_xrgb8888_to_xbgr8888 =============
[07:23:17] [PASSED] single_pixel_source_buffer
[07:23:17] [PASSED] single_pixel_clip_rectangle
[07:23:17] [PASSED] well_known_colors
[07:23:17] [PASSED] destination_pitch
[07:23:17] ======== [PASSED] drm_test_fb_xrgb8888_to_xbgr8888 =========
[07:23:17] ============ drm_test_fb_xrgb8888_to_abgr8888 =============
[07:23:17] [PASSED] single_pixel_source_buffer
[07:23:17] [PASSED] single_pixel_clip_rectangle
[07:23:17] [PASSED] well_known_colors
[07:23:17] [PASSED] destination_pitch
[07:23:17] ======== [PASSED] drm_test_fb_xrgb8888_to_abgr8888 =========
[07:23:17] ================= drm_test_fb_clip_offset =================
[07:23:17] [PASSED] pass through
[07:23:17] [PASSED] horizontal offset
[07:23:17] [PASSED] vertical offset
[07:23:17] [PASSED] horizontal and vertical offset
[07:23:17] [PASSED] horizontal offset (custom pitch)
[07:23:17] [PASSED] vertical offset (custom pitch)
[07:23:17] [PASSED] horizontal and vertical offset (custom pitch)
[07:23:17] ============= [PASSED] drm_test_fb_clip_offset =============
[07:23:17] =================== drm_test_fb_memcpy ====================
[07:23:17] [PASSED] single_pixel_source_buffer: XR24 little-endian (0x34325258)
[07:23:17] [PASSED] single_pixel_source_buffer: XRA8 little-endian (0x38415258)
[07:23:17] [PASSED] single_pixel_source_buffer: YU24 little-endian (0x34325559)
[07:23:17] [PASSED] single_pixel_clip_rectangle: XB24 little-endian (0x34324258)
[07:23:17] [PASSED] single_pixel_clip_rectangle: XRA8 little-endian (0x38415258)
[07:23:17] [PASSED] single_pixel_clip_rectangle: YU24 little-endian (0x34325559)
[07:23:17] [PASSED] well_known_colors: XB24 little-endian (0x34324258)
[07:23:17] [PASSED] well_known_colors: XRA8 little-endian (0x38415258)
[07:23:17] [PASSED] well_known_colors: YU24 little-endian (0x34325559)
[07:23:17] [PASSED] destination_pitch: XB24 little-endian (0x34324258)
[07:23:17] [PASSED] destination_pitch: XRA8 little-endian (0x38415258)
[07:23:17] [PASSED] destination_pitch: YU24 little-endian (0x34325559)
[07:23:17] =============== [PASSED] drm_test_fb_memcpy ================
[07:23:17] ============= [PASSED] drm_format_helper_test ==============
[07:23:17] ================= drm_format (18 subtests) =================
[07:23:17] [PASSED] drm_test_format_block_width_invalid
[07:23:17] [PASSED] drm_test_format_block_width_one_plane
[07:23:17] [PASSED] drm_test_format_block_width_two_plane
[07:23:17] [PASSED] drm_test_format_block_width_three_plane
[07:23:17] [PASSED] drm_test_format_block_width_tiled
[07:23:17] [PASSED] drm_test_format_block_height_invalid
[07:23:17] [PASSED] drm_test_format_block_height_one_plane
[07:23:17] [PASSED] drm_test_format_block_height_two_plane
[07:23:17] [PASSED] drm_test_format_block_height_three_plane
[07:23:17] [PASSED] drm_test_format_block_height_tiled
[07:23:17] [PASSED] drm_test_format_min_pitch_invalid
[07:23:17] [PASSED] drm_test_format_min_pitch_one_plane_8bpp
[07:23:17] [PASSED] drm_test_format_min_pitch_one_plane_16bpp
[07:23:17] [PASSED] drm_test_format_min_pitch_one_plane_24bpp
[07:23:17] [PASSED] drm_test_format_min_pitch_one_plane_32bpp
[07:23:17] [PASSED] drm_test_format_min_pitch_two_plane
[07:23:17] [PASSED] drm_test_format_min_pitch_three_plane_8bpp
[07:23:17] [PASSED] drm_test_format_min_pitch_tiled
[07:23:17] =================== [PASSED] drm_format ====================
[07:23:17] ============== drm_framebuffer (10 subtests) ===============
[07:23:17] ========== drm_test_framebuffer_check_src_coords ==========
[07:23:17] [PASSED] Success: source fits into fb
[07:23:17] [PASSED] Fail: overflowing fb with x-axis coordinate
[07:23:17] [PASSED] Fail: overflowing fb with y-axis coordinate
[07:23:17] [PASSED] Fail: overflowing fb with source width
[07:23:17] [PASSED] Fail: overflowing fb with source height
[07:23:17] ====== [PASSED] drm_test_framebuffer_check_src_coords ======
[07:23:17] [PASSED] drm_test_framebuffer_cleanup
[07:23:17] =============== drm_test_framebuffer_create ===============
[07:23:17] [PASSED] ABGR8888 normal sizes
[07:23:17] [PASSED] ABGR8888 max sizes
[07:23:17] [PASSED] ABGR8888 pitch greater than min required
[07:23:17] [PASSED] ABGR8888 pitch less than min required
[07:23:17] [PASSED] ABGR8888 Invalid width
[07:23:17] [PASSED] ABGR8888 Invalid buffer handle
[07:23:17] [PASSED] No pixel format
[07:23:17] [PASSED] ABGR8888 Width 0
[07:23:17] [PASSED] ABGR8888 Height 0
[07:23:17] [PASSED] ABGR8888 Out of bound height * pitch combination
[07:23:17] [PASSED] ABGR8888 Large buffer offset
[07:23:17] [PASSED] ABGR8888 Buffer offset for inexistent plane
[07:23:17] [PASSED] ABGR8888 Invalid flag
[07:23:17] [PASSED] ABGR8888 Set DRM_MODE_FB_MODIFIERS without modifiers
[07:23:17] [PASSED] ABGR8888 Valid buffer modifier
[07:23:17] [PASSED] ABGR8888 Invalid buffer modifier(DRM_FORMAT_MOD_SAMSUNG_64_32_TILE)
[07:23:17] [PASSED] ABGR8888 Extra pitches without DRM_MODE_FB_MODIFIERS
[07:23:17] [PASSED] ABGR8888 Extra pitches with DRM_MODE_FB_MODIFIERS
[07:23:17] [PASSED] NV12 Normal sizes
[07:23:17] [PASSED] NV12 Max sizes
[07:23:17] [PASSED] NV12 Invalid pitch
[07:23:17] [PASSED] NV12 Invalid modifier/missing DRM_MODE_FB_MODIFIERS flag
[07:23:17] [PASSED] NV12 different modifier per-plane
[07:23:17] [PASSED] NV12 with DRM_FORMAT_MOD_SAMSUNG_64_32_TILE
[07:23:17] [PASSED] NV12 Valid modifiers without DRM_MODE_FB_MODIFIERS
[07:23:17] [PASSED] NV12 Modifier for inexistent plane
[07:23:17] [PASSED] NV12 Handle for inexistent plane
[07:23:17] [PASSED] NV12 Handle for inexistent plane without DRM_MODE_FB_MODIFIERS
[07:23:17] [PASSED] YVU420 DRM_MODE_FB_MODIFIERS set without modifier
[07:23:17] [PASSED] YVU420 Normal sizes
[07:23:17] [PASSED] YVU420 Max sizes
[07:23:17] [PASSED] YVU420 Invalid pitch
[07:23:17] [PASSED] YVU420 Different pitches
[07:23:17] [PASSED] YVU420 Different buffer offsets/pitches
[07:23:17] [PASSED] YVU420 Modifier set just for plane 0, without DRM_MODE_FB_MODIFIERS
[07:23:17] [PASSED] YVU420 Modifier set just for planes 0, 1, without DRM_MODE_FB_MODIFIERS
[07:23:17] [PASSED] YVU420 Modifier set just for plane 0, 1, with DRM_MODE_FB_MODIFIERS
[07:23:17] [PASSED] YVU420 Valid modifier
[07:23:17] [PASSED] YVU420 Different modifiers per plane
[07:23:17] [PASSED] YVU420 Modifier for inexistent plane
[07:23:17] [PASSED] YUV420_10BIT Invalid modifier(DRM_FORMAT_MOD_LINEAR)
[07:23:17] [PASSED] X0L2 Normal sizes
[07:23:17] [PASSED] X0L2 Max sizes
[07:23:17] [PASSED] X0L2 Invalid pitch
[07:23:17] [PASSED] X0L2 Pitch greater than minimum required
[07:23:17] [PASSED] X0L2 Handle for inexistent plane
[07:23:17] [PASSED] X0L2 Offset for inexistent plane, without DRM_MODE_FB_MODIFIERS set
[07:23:17] [PASSED] X0L2 Modifier without DRM_MODE_FB_MODIFIERS set
[07:23:17] [PASSED] X0L2 Valid modifier
[07:23:17] [PASSED] X0L2 Modifier for inexistent plane
[07:23:17] =========== [PASSED] drm_test_framebuffer_create ===========
[07:23:17] [PASSED] drm_test_framebuffer_free
[07:23:17] [PASSED] drm_test_framebuffer_init
[07:23:17] [PASSED] drm_test_framebuffer_init_bad_format
[07:23:17] [PASSED] drm_test_framebuffer_init_dev_mismatch
[07:23:17] [PASSED] drm_test_framebuffer_lookup
[07:23:17] [PASSED] drm_test_framebuffer_lookup_inexistent
[07:23:17] [PASSED] drm_test_framebuffer_modifiers_not_supported
[07:23:17] ================= [PASSED] drm_framebuffer =================
[07:23:17] ================ drm_gem_shmem (8 subtests) ================
[07:23:17] [PASSED] drm_gem_shmem_test_obj_create
[07:23:17] [PASSED] drm_gem_shmem_test_obj_create_private
[07:23:17] [PASSED] drm_gem_shmem_test_pin_pages
[07:23:17] [PASSED] drm_gem_shmem_test_vmap
[07:23:17] [PASSED] drm_gem_shmem_test_get_pages_sgt
[07:23:17] [PASSED] drm_gem_shmem_test_get_sg_table
[07:23:17] [PASSED] drm_gem_shmem_test_madvise
[07:23:17] [PASSED] drm_gem_shmem_test_purge
[07:23:17] ================== [PASSED] drm_gem_shmem ==================
[07:23:17] === drm_atomic_helper_connector_hdmi_check (27 subtests) ===
[07:23:17] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode
[07:23:17] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode_vic_1
[07:23:17] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode
[07:23:17] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode_vic_1
[07:23:17] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode
[07:23:17] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode_vic_1
[07:23:17] ====== drm_test_check_broadcast_rgb_cea_mode_yuv420 =======
[07:23:17] [PASSED] Automatic
[07:23:17] [PASSED] Full
[07:23:17] [PASSED] Limited 16:235
[07:23:17] == [PASSED] drm_test_check_broadcast_rgb_cea_mode_yuv420 ===
[07:23:17] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_changed
[07:23:17] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_not_changed
[07:23:17] [PASSED] drm_test_check_disable_connector
[07:23:17] [PASSED] drm_test_check_hdmi_funcs_reject_rate
[07:23:17] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_rgb
[07:23:17] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_yuv420
[07:23:17] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_ignore_yuv422
[07:23:17] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_ignore_yuv420
[07:23:17] [PASSED] drm_test_check_driver_unsupported_fallback_yuv420
[07:23:17] [PASSED] drm_test_check_output_bpc_crtc_mode_changed
[07:23:17] [PASSED] drm_test_check_output_bpc_crtc_mode_not_changed
[07:23:17] [PASSED] drm_test_check_output_bpc_dvi
[07:23:17] [PASSED] drm_test_check_output_bpc_format_vic_1
[07:23:17] [PASSED] drm_test_check_output_bpc_format_display_8bpc_only
[07:23:17] [PASSED] drm_test_check_output_bpc_format_display_rgb_only
[07:23:17] [PASSED] drm_test_check_output_bpc_format_driver_8bpc_only
[07:23:17] [PASSED] drm_test_check_output_bpc_format_driver_rgb_only
[07:23:17] [PASSED] drm_test_check_tmds_char_rate_rgb_8bpc
[07:23:17] [PASSED] drm_test_check_tmds_char_rate_rgb_10bpc
[07:23:17] [PASSED] drm_test_check_tmds_char_rate_rgb_12bpc
[07:23:17] ===== [PASSED] drm_atomic_helper_connector_hdmi_check ======
[07:23:17] === drm_atomic_helper_connector_hdmi_reset (6 subtests) ====
[07:23:17] [PASSED] drm_test_check_broadcast_rgb_value
[07:23:17] [PASSED] drm_test_check_bpc_8_value
[07:23:17] [PASSED] drm_test_check_bpc_10_value
[07:23:17] [PASSED] drm_test_check_bpc_12_value
[07:23:17] [PASSED] drm_test_check_format_value
[07:23:17] [PASSED] drm_test_check_tmds_char_value
[07:23:17] ===== [PASSED] drm_atomic_helper_connector_hdmi_reset ======
[07:23:17] = drm_atomic_helper_connector_hdmi_mode_valid (4 subtests) =
[07:23:17] [PASSED] drm_test_check_mode_valid
[07:23:17] [PASSED] drm_test_check_mode_valid_reject
[07:23:17] [PASSED] drm_test_check_mode_valid_reject_rate
[07:23:17] [PASSED] drm_test_check_mode_valid_reject_max_clock
[07:23:17] === [PASSED] drm_atomic_helper_connector_hdmi_mode_valid ===
[07:23:17] ================= drm_managed (2 subtests) =================
[07:23:17] [PASSED] drm_test_managed_release_action
[07:23:17] [PASSED] drm_test_managed_run_action
[07:23:17] =================== [PASSED] drm_managed ===================
[07:23:17] =================== drm_mm (6 subtests) ====================
[07:23:17] [PASSED] drm_test_mm_init
[07:23:17] [PASSED] drm_test_mm_debug
[07:23:17] [PASSED] drm_test_mm_align32
[07:23:17] [PASSED] drm_test_mm_align64
[07:23:17] [PASSED] drm_test_mm_lowest
[07:23:17] [PASSED] drm_test_mm_highest
[07:23:17] ===================== [PASSED] drm_mm ======================
[07:23:17] ============= drm_modes_analog_tv (5 subtests) =============
[07:23:17] [PASSED] drm_test_modes_analog_tv_mono_576i
[07:23:17] [PASSED] drm_test_modes_analog_tv_ntsc_480i
[07:23:17] [PASSED] drm_test_modes_analog_tv_ntsc_480i_inlined
[07:23:17] [PASSED] drm_test_modes_analog_tv_pal_576i
[07:23:17] [PASSED] drm_test_modes_analog_tv_pal_576i_inlined
[07:23:17] =============== [PASSED] drm_modes_analog_tv ===============
[07:23:17] ============== drm_plane_helper (2 subtests) ===============
[07:23:17] =============== drm_test_check_plane_state ================
[07:23:17] [PASSED] clipping_simple
[07:23:17] [PASSED] clipping_rotate_reflect
[07:23:17] [PASSED] positioning_simple
[07:23:17] [PASSED] upscaling
[07:23:17] [PASSED] downscaling
[07:23:17] [PASSED] rounding1
[07:23:17] [PASSED] rounding2
[07:23:17] [PASSED] rounding3
[07:23:17] [PASSED] rounding4
[07:23:17] =========== [PASSED] drm_test_check_plane_state ============
[07:23:17] =========== drm_test_check_invalid_plane_state ============
[07:23:17] [PASSED] positioning_invalid
[07:23:17] [PASSED] upscaling_invalid
[07:23:17] [PASSED] downscaling_invalid
[07:23:17] ======= [PASSED] drm_test_check_invalid_plane_state ========
[07:23:17] ================ [PASSED] drm_plane_helper =================
[07:23:17] ====== drm_connector_helper_tv_get_modes (1 subtest) =======
[07:23:17] ====== drm_test_connector_helper_tv_get_modes_check =======
[07:23:17] [PASSED] None
[07:23:17] [PASSED] PAL
[07:23:17] [PASSED] NTSC
[07:23:17] [PASSED] Both, NTSC Default
[07:23:17] [PASSED] Both, PAL Default
[07:23:17] [PASSED] Both, NTSC Default, with PAL on command-line
[07:23:17] [PASSED] Both, PAL Default, with NTSC on command-line
[07:23:17] == [PASSED] drm_test_connector_helper_tv_get_modes_check ===
[07:23:17] ======== [PASSED] drm_connector_helper_tv_get_modes ========
[07:23:17] ================== drm_rect (9 subtests) ===================
[07:23:17] [PASSED] drm_test_rect_clip_scaled_div_by_zero
[07:23:17] [PASSED] drm_test_rect_clip_scaled_not_clipped
[07:23:17] [PASSED] drm_test_rect_clip_scaled_clipped
[07:23:17] [PASSED] drm_test_rect_clip_scaled_signed_vs_unsigned
[07:23:17] ================= drm_test_rect_intersect =================
[07:23:17] [PASSED] top-left x bottom-right: 2x2+1+1 x 2x2+0+0
[07:23:17] [PASSED] top-right x bottom-left: 2x2+0+0 x 2x2+1-1
[07:23:17] [PASSED] bottom-left x top-right: 2x2+1-1 x 2x2+0+0
[07:23:17] [PASSED] bottom-right x top-left: 2x2+0+0 x 2x2+1+1
[07:23:17] [PASSED] right x left: 2x1+0+0 x 3x1+1+0
[07:23:17] [PASSED] left x right: 3x1+1+0 x 2x1+0+0
[07:23:17] [PASSED] up x bottom: 1x2+0+0 x 1x3+0-1
[07:23:17] [PASSED] bottom x up: 1x3+0-1 x 1x2+0+0
[07:23:17] [PASSED] touching corner: 1x1+0+0 x 2x2+1+1
[07:23:17] [PASSED] touching side: 1x1+0+0 x 1x1+1+0
[07:23:17] [PASSED] equal rects: 2x2+0+0 x 2x2+0+0
[07:23:17] [PASSED] inside another: 2x2+0+0 x 1x1+1+1
[07:23:17] [PASSED] far away: 1x1+0+0 x 1x1+3+6
[07:23:17] [PASSED] points intersecting: 0x0+5+10 x 0x0+5+10
[07:23:17] [PASSED] points not intersecting: 0x0+0+0 x 0x0+5+10
[07:23:17] ============= [PASSED] drm_test_rect_intersect =============
[07:23:17] ================ drm_test_rect_calc_hscale ================
[07:23:17] [PASSED] normal use
[07:23:17] [PASSED] out of max range
[07:23:17] [PASSED] out of min range
[07:23:17] [PASSED] zero dst
[07:23:17] [PASSED] negative src
[07:23:17] [PASSED] negative dst
[07:23:17] ============ [PASSED] drm_test_rect_calc_hscale ============
[07:23:17] ================ drm_test_rect_calc_vscale ================
[07:23:17] [PASSED] normal use
[07:23:17] [PASSED] out of max range
[07:23:17] [PASSED] out of min range
[07:23:17] [PASSED] zero dst
[07:23:17] [PASSED] negative src
[07:23:17] [PASSED] negative dst
[07:23:17] ============ [PASSED] drm_test_rect_calc_vscale ============
[07:23:17] ================== drm_test_rect_rotate ===================
[07:23:17] [PASSED] reflect-x
[07:23:17] [PASSED] reflect-y
[07:23:17] [PASSED] rotate-0
[07:23:17] [PASSED] rotate-90
[07:23:17] [PASSED] rotate-180
[07:23:17] [PASSED] rotate-270
stty: 'standard input': Inappropriate ioctl for device
[07:23:17] ============== [PASSED] drm_test_rect_rotate ===============
[07:23:17] ================ drm_test_rect_rotate_inv =================
[07:23:17] [PASSED] reflect-x
[07:23:17] [PASSED] reflect-y
[07:23:17] [PASSED] rotate-0
[07:23:17] [PASSED] rotate-90
[07:23:17] [PASSED] rotate-180
[07:23:17] [PASSED] rotate-270
[07:23:17] ============ [PASSED] drm_test_rect_rotate_inv =============
[07:23:17] ==================== [PASSED] drm_rect =====================
[07:23:17] ============ drm_sysfb_modeset_test (1 subtest) ============
[07:23:17] ============ drm_test_sysfb_build_fourcc_list =============
[07:23:17] [PASSED] no native formats
[07:23:17] [PASSED] XRGB8888 as native format
[07:23:17] [PASSED] remove duplicates
[07:23:17] [PASSED] convert alpha formats
[07:23:17] [PASSED] random formats
[07:23:17] ======== [PASSED] drm_test_sysfb_build_fourcc_list =========
[07:23:17] ============= [PASSED] drm_sysfb_modeset_test ==============
[07:23:17] ============================================================
[07:23:17] Testing complete. Ran 616 tests: passed: 616
[07:23:17] Elapsed time: 23.358s total, 1.648s configuring, 21.543s building, 0.149s running
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/ttm/tests/.kunitconfig
[07:23:17] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[07:23:19] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[07:23:27] Starting KUnit Kernel (1/1)...
[07:23:27] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[07:23:27] ================= ttm_device (5 subtests) ==================
[07:23:27] [PASSED] ttm_device_init_basic
[07:23:27] [PASSED] ttm_device_init_multiple
[07:23:27] [PASSED] ttm_device_fini_basic
[07:23:27] [PASSED] ttm_device_init_no_vma_man
[07:23:27] ================== ttm_device_init_pools ==================
[07:23:27] [PASSED] No DMA allocations, no DMA32 required
[07:23:27] [PASSED] DMA allocations, DMA32 required
[07:23:27] [PASSED] No DMA allocations, DMA32 required
[07:23:27] [PASSED] DMA allocations, no DMA32 required
[07:23:27] ============== [PASSED] ttm_device_init_pools ==============
[07:23:27] =================== [PASSED] ttm_device ====================
[07:23:27] ================== ttm_pool (8 subtests) ===================
[07:23:27] ================== ttm_pool_alloc_basic ===================
[07:23:27] [PASSED] One page
[07:23:27] [PASSED] More than one page
[07:23:27] [PASSED] Above the allocation limit
[07:23:27] [PASSED] One page, with coherent DMA mappings enabled
[07:23:27] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[07:23:27] ============== [PASSED] ttm_pool_alloc_basic ===============
[07:23:27] ============== ttm_pool_alloc_basic_dma_addr ==============
[07:23:27] [PASSED] One page
[07:23:27] [PASSED] More than one page
[07:23:27] [PASSED] Above the allocation limit
[07:23:27] [PASSED] One page, with coherent DMA mappings enabled
[07:23:27] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[07:23:27] ========== [PASSED] ttm_pool_alloc_basic_dma_addr ==========
[07:23:27] [PASSED] ttm_pool_alloc_order_caching_match
[07:23:27] [PASSED] ttm_pool_alloc_caching_mismatch
[07:23:27] [PASSED] ttm_pool_alloc_order_mismatch
[07:23:27] [PASSED] ttm_pool_free_dma_alloc
[07:23:27] [PASSED] ttm_pool_free_no_dma_alloc
[07:23:27] [PASSED] ttm_pool_fini_basic
[07:23:27] ==================== [PASSED] ttm_pool =====================
[07:23:27] ================ ttm_resource (8 subtests) =================
[07:23:27] ================= ttm_resource_init_basic =================
[07:23:27] [PASSED] Init resource in TTM_PL_SYSTEM
[07:23:27] [PASSED] Init resource in TTM_PL_VRAM
[07:23:27] [PASSED] Init resource in a private placement
[07:23:27] [PASSED] Init resource in TTM_PL_SYSTEM, set placement flags
[07:23:27] ============= [PASSED] ttm_resource_init_basic =============
[07:23:27] [PASSED] ttm_resource_init_pinned
[07:23:27] [PASSED] ttm_resource_fini_basic
[07:23:27] [PASSED] ttm_resource_manager_init_basic
[07:23:27] [PASSED] ttm_resource_manager_usage_basic
[07:23:27] [PASSED] ttm_resource_manager_set_used_basic
[07:23:27] [PASSED] ttm_sys_man_alloc_basic
[07:23:27] [PASSED] ttm_sys_man_free_basic
[07:23:27] ================== [PASSED] ttm_resource ===================
[07:23:27] =================== ttm_tt (15 subtests) ===================
[07:23:27] ==================== ttm_tt_init_basic ====================
[07:23:27] [PASSED] Page-aligned size
[07:23:27] [PASSED] Extra pages requested
[07:23:27] ================ [PASSED] ttm_tt_init_basic ================
[07:23:27] [PASSED] ttm_tt_init_misaligned
[07:23:27] [PASSED] ttm_tt_fini_basic
[07:23:27] [PASSED] ttm_tt_fini_sg
[07:23:27] [PASSED] ttm_tt_fini_shmem
[07:23:27] [PASSED] ttm_tt_create_basic
[07:23:27] [PASSED] ttm_tt_create_invalid_bo_type
[07:23:27] [PASSED] ttm_tt_create_ttm_exists
[07:23:27] [PASSED] ttm_tt_create_failed
[07:23:27] [PASSED] ttm_tt_destroy_basic
[07:23:27] [PASSED] ttm_tt_populate_null_ttm
[07:23:27] [PASSED] ttm_tt_populate_populated_ttm
[07:23:27] [PASSED] ttm_tt_unpopulate_basic
[07:23:27] [PASSED] ttm_tt_unpopulate_empty_ttm
[07:23:27] [PASSED] ttm_tt_swapin_basic
[07:23:27] ===================== [PASSED] ttm_tt ======================
[07:23:27] =================== ttm_bo (14 subtests) ===================
[07:23:27] =========== ttm_bo_reserve_optimistic_no_ticket ===========
[07:23:27] [PASSED] Cannot be interrupted and sleeps
[07:23:27] [PASSED] Cannot be interrupted, locks straight away
[07:23:27] [PASSED] Can be interrupted, sleeps
[07:23:27] ======= [PASSED] ttm_bo_reserve_optimistic_no_ticket =======
[07:23:27] [PASSED] ttm_bo_reserve_locked_no_sleep
[07:23:27] [PASSED] ttm_bo_reserve_no_wait_ticket
[07:23:27] [PASSED] ttm_bo_reserve_double_resv
[07:23:27] [PASSED] ttm_bo_reserve_interrupted
[07:23:27] [PASSED] ttm_bo_reserve_deadlock
[07:23:27] [PASSED] ttm_bo_unreserve_basic
[07:23:27] [PASSED] ttm_bo_unreserve_pinned
[07:23:27] [PASSED] ttm_bo_unreserve_bulk
[07:23:27] [PASSED] ttm_bo_put_basic
[07:23:27] [PASSED] ttm_bo_put_shared_resv
[07:23:27] [PASSED] ttm_bo_pin_basic
[07:23:27] [PASSED] ttm_bo_pin_unpin_resource
[07:23:27] [PASSED] ttm_bo_multiple_pin_one_unpin
[07:23:27] ===================== [PASSED] ttm_bo ======================
[07:23:27] ============== ttm_bo_validate (22 subtests) ===============
[07:23:27] ============== ttm_bo_init_reserved_sys_man ===============
[07:23:27] [PASSED] Buffer object for userspace
[07:23:27] [PASSED] Kernel buffer object
[07:23:27] [PASSED] Shared buffer object
[07:23:27] ========== [PASSED] ttm_bo_init_reserved_sys_man ===========
[07:23:27] ============== ttm_bo_init_reserved_mock_man ==============
[07:23:27] [PASSED] Buffer object for userspace
[07:23:27] [PASSED] Kernel buffer object
[07:23:27] [PASSED] Shared buffer object
[07:23:27] ========== [PASSED] ttm_bo_init_reserved_mock_man ==========
[07:23:27] [PASSED] ttm_bo_init_reserved_resv
[07:23:27] ================== ttm_bo_validate_basic ==================
[07:23:27] [PASSED] Buffer object for userspace
[07:23:27] [PASSED] Kernel buffer object
[07:23:27] [PASSED] Shared buffer object
[07:23:27] ============== [PASSED] ttm_bo_validate_basic ==============
[07:23:27] [PASSED] ttm_bo_validate_invalid_placement
[07:23:27] ============= ttm_bo_validate_same_placement ==============
[07:23:27] [PASSED] System manager
[07:23:27] [PASSED] VRAM manager
[07:23:27] ========= [PASSED] ttm_bo_validate_same_placement ==========
[07:23:27] [PASSED] ttm_bo_validate_failed_alloc
[07:23:27] [PASSED] ttm_bo_validate_pinned
[07:23:27] [PASSED] ttm_bo_validate_busy_placement
[07:23:27] ================ ttm_bo_validate_multihop =================
[07:23:27] [PASSED] Buffer object for userspace
[07:23:27] [PASSED] Kernel buffer object
[07:23:27] [PASSED] Shared buffer object
[07:23:27] ============ [PASSED] ttm_bo_validate_multihop =============
[07:23:27] ========== ttm_bo_validate_no_placement_signaled ==========
[07:23:27] [PASSED] Buffer object in system domain, no page vector
[07:23:27] [PASSED] Buffer object in system domain with an existing page vector
[07:23:27] ====== [PASSED] ttm_bo_validate_no_placement_signaled ======
[07:23:27] ======== ttm_bo_validate_no_placement_not_signaled ========
[07:23:27] [PASSED] Buffer object for userspace
[07:23:27] [PASSED] Kernel buffer object
[07:23:27] [PASSED] Shared buffer object
[07:23:27] ==== [PASSED] ttm_bo_validate_no_placement_not_signaled ====
[07:23:27] [PASSED] ttm_bo_validate_move_fence_signaled
[07:23:27] ========= ttm_bo_validate_move_fence_not_signaled =========
[07:23:27] [PASSED] Waits for GPU
[07:23:27] [PASSED] Tries to lock straight away
[07:23:27] ===== [PASSED] ttm_bo_validate_move_fence_not_signaled =====
[07:23:27] [PASSED] ttm_bo_validate_swapout
[07:23:27] [PASSED] ttm_bo_validate_happy_evict
[07:23:27] [PASSED] ttm_bo_validate_all_pinned_evict
[07:23:27] [PASSED] ttm_bo_validate_allowed_only_evict
[07:23:27] [PASSED] ttm_bo_validate_deleted_evict
[07:23:27] [PASSED] ttm_bo_validate_busy_domain_evict
[07:23:27] [PASSED] ttm_bo_validate_evict_gutting
[07:23:27] [PASSED] ttm_bo_validate_recrusive_evict
stty: 'standard input': Inappropriate ioctl for device
[07:23:27] ================= [PASSED] ttm_bo_validate =================
[07:23:27] ============================================================
[07:23:27] Testing complete. Ran 102 tests: passed: 102
[07:23:27] Elapsed time: 9.937s total, 1.630s configuring, 7.690s building, 0.531s running
+ cleanup
++ stat -c %u:%g /kernel
+ chown -R 1003:1003 /kernel
^ permalink raw reply [flat|nested] 10+ messages in thread
* ✓ Xe.CI.BAT: success for Cleaning up code related to VRAM regions and its initialization - part 2 (rev9)
2025-06-26 7:14 [PATCH v6 0/4] Cleaning up code related to VRAM regions and its initialization - part 2 Piórkowski, Piotr
` (5 preceding siblings ...)
2025-06-26 7:23 ` ✓ CI.KUnit: success " Patchwork
@ 2025-06-26 8:15 ` Patchwork
2025-06-27 6:03 ` ✗ Xe.CI.Full: failure " Patchwork
7 siblings, 0 replies; 10+ messages in thread
From: Patchwork @ 2025-06-26 8:15 UTC (permalink / raw)
To: Piotr Piórkowski; +Cc: intel-xe
[-- Attachment #1: Type: text/plain, Size: 1637 bytes --]
== Series Details ==
Series: Cleaning up code related to VRAM regions and its initialization - part 2 (rev9)
URL : https://patchwork.freedesktop.org/series/149503/
State : success
== Summary ==
CI Bug Log - changes from xe-3307-74f3ed8bab4e5ef51f1c266e8c7ffd1f2a052a73_BAT -> xe-pw-149503v9_BAT
====================================================
Summary
-------
**SUCCESS**
No regressions found.
Participating hosts (9 -> 8)
------------------------------
Missing (1): bat-adlp-vm
Known issues
------------
Here are the changes found in xe-pw-149503v9_BAT that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@kms_flip@basic-plain-flip@b-edp1:
- bat-adlp-7: [PASS][1] -> [DMESG-WARN][2] ([Intel XE#4543]) +1 other test dmesg-warn
[1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3307-74f3ed8bab4e5ef51f1c266e8c7ffd1f2a052a73/bat-adlp-7/igt@kms_flip@basic-plain-flip@b-edp1.html
[2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/bat-adlp-7/igt@kms_flip@basic-plain-flip@b-edp1.html
[Intel XE#4543]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4543
Build changes
-------------
* IGT: IGT_8426 -> IGT_8428
* Linux: xe-3307-74f3ed8bab4e5ef51f1c266e8c7ffd1f2a052a73 -> xe-pw-149503v9
IGT_8426: f87ffec6e23df5f3f044d90924f948e0bbd68c6c @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
IGT_8428: 8428
xe-3307-74f3ed8bab4e5ef51f1c266e8c7ffd1f2a052a73: 74f3ed8bab4e5ef51f1c266e8c7ffd1f2a052a73
xe-pw-149503v9: 149503v9
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/index.html
[-- Attachment #2: Type: text/html, Size: 2216 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* ✗ Xe.CI.Full: failure for Cleaning up code related to VRAM regions and its initialization - part 2 (rev9)
2025-06-26 7:14 [PATCH v6 0/4] Cleaning up code related to VRAM regions and its initialization - part 2 Piórkowski, Piotr
` (6 preceding siblings ...)
2025-06-26 8:15 ` ✓ Xe.CI.BAT: " Patchwork
@ 2025-06-27 6:03 ` Patchwork
7 siblings, 0 replies; 10+ messages in thread
From: Patchwork @ 2025-06-27 6:03 UTC (permalink / raw)
To: Piotr Piórkowski; +Cc: intel-xe
[-- Attachment #1: Type: text/plain, Size: 69151 bytes --]
== Series Details ==
Series: Cleaning up code related to VRAM regions and its initialization - part 2 (rev9)
URL : https://patchwork.freedesktop.org/series/149503/
State : failure
== Summary ==
CI Bug Log - changes from xe-3307-74f3ed8bab4e5ef51f1c266e8c7ffd1f2a052a73_FULL -> xe-pw-149503v9_FULL
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with xe-pw-149503v9_FULL absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in xe-pw-149503v9_FULL, please notify your bug team (I915-ci-infra@lists.freedesktop.org) to allow them
to document this new failure mode, which will reduce false positives in CI.
Participating hosts (4 -> 4)
------------------------------
No changes in participating hosts
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in xe-pw-149503v9_FULL:
### IGT changes ###
#### Possible regressions ####
* igt@kms_hdr@bpc-switch-suspend@pipe-a-hdmi-a-6:
- shard-dg2-set2: NOTRUN -> [INCOMPLETE][1]
[1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-dg2-434/igt@kms_hdr@bpc-switch-suspend@pipe-a-hdmi-a-6.html
#### Warnings ####
* igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-mmap-wc:
- shard-adlp: [DMESG-FAIL][2] ([Intel XE#4543]) -> [FAIL][3]
[2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3307-74f3ed8bab4e5ef51f1c266e8c7ffd1f2a052a73/shard-adlp-1/igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-mmap-wc.html
[3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-adlp-2/igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-mmap-wc.html
New tests
---------
New tests have been introduced between xe-3307-74f3ed8bab4e5ef51f1c266e8c7ffd1f2a052a73_FULL and xe-pw-149503v9_FULL:
### New IGT tests (1) ###
* igt@kms_cursor_crc@cursor-alpha-opaque@pipe-d-hdmi-a-2:
- Statuses : 1 pass(s)
- Exec time: [0.40] s
Known issues
------------
Here are the changes found in xe-pw-149503v9_FULL that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@kms_atomic_transition@plane-all-modeset-transition@pipe-a-hdmi-a-1:
- shard-adlp: [PASS][4] -> [FAIL][5] ([Intel XE#3908]) +1 other test fail
[4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3307-74f3ed8bab4e5ef51f1c266e8c7ffd1f2a052a73/shard-adlp-8/igt@kms_atomic_transition@plane-all-modeset-transition@pipe-a-hdmi-a-1.html
[5]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-adlp-1/igt@kms_atomic_transition@plane-all-modeset-transition@pipe-a-hdmi-a-1.html
* igt@kms_big_fb@4-tiled-8bpp-rotate-270:
- shard-dg2-set2: NOTRUN -> [SKIP][6] ([Intel XE#316])
[6]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-dg2-433/igt@kms_big_fb@4-tiled-8bpp-rotate-270.html
- shard-lnl: NOTRUN -> [SKIP][7] ([Intel XE#1407])
[7]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-lnl-4/igt@kms_big_fb@4-tiled-8bpp-rotate-270.html
* igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180-async-flip:
- shard-adlp: NOTRUN -> [SKIP][8] ([Intel XE#1124]) +3 other tests skip
[8]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-adlp-1/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html
* igt@kms_big_fb@linear-8bpp-rotate-270:
- shard-bmg: NOTRUN -> [SKIP][9] ([Intel XE#2327]) +2 other tests skip
[9]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-6/igt@kms_big_fb@linear-8bpp-rotate-270.html
* igt@kms_big_fb@y-tiled-8bpp-rotate-0:
- shard-adlp: NOTRUN -> [DMESG-FAIL][10] ([Intel XE#4543])
[10]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-adlp-2/igt@kms_big_fb@y-tiled-8bpp-rotate-0.html
* igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-hflip:
- shard-bmg: NOTRUN -> [SKIP][11] ([Intel XE#1124]) +8 other tests skip
[11]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-1/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-hflip.html
* igt@kms_big_fb@yf-tiled-addfb-size-overflow:
- shard-bmg: NOTRUN -> [SKIP][12] ([Intel XE#610])
[12]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-7/igt@kms_big_fb@yf-tiled-addfb-size-overflow.html
* igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-async-flip:
- shard-dg2-set2: NOTRUN -> [SKIP][13] ([Intel XE#1124]) +1 other test skip
[13]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-dg2-434/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html
- shard-lnl: NOTRUN -> [SKIP][14] ([Intel XE#1124]) +2 other tests skip
[14]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-lnl-3/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html
* igt@kms_bw@connected-linear-tiling-2-displays-2560x1440p:
- shard-adlp: NOTRUN -> [SKIP][15] ([Intel XE#2191])
[15]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-adlp-6/igt@kms_bw@connected-linear-tiling-2-displays-2560x1440p.html
- shard-lnl: NOTRUN -> [SKIP][16] ([Intel XE#2191])
[16]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-lnl-2/igt@kms_bw@connected-linear-tiling-2-displays-2560x1440p.html
* igt@kms_bw@connected-linear-tiling-3-displays-2160x1440p:
- shard-bmg: NOTRUN -> [SKIP][17] ([Intel XE#2314] / [Intel XE#2894]) +1 other test skip
[17]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-8/igt@kms_bw@connected-linear-tiling-3-displays-2160x1440p.html
- shard-dg2-set2: NOTRUN -> [SKIP][18] ([Intel XE#2191])
[18]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-dg2-433/igt@kms_bw@connected-linear-tiling-3-displays-2160x1440p.html
* igt@kms_ccs@bad-aux-stride-yf-tiled-ccs@pipe-b-hdmi-a-1:
- shard-adlp: NOTRUN -> [SKIP][19] ([Intel XE#787]) +17 other tests skip
[19]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-adlp-4/igt@kms_ccs@bad-aux-stride-yf-tiled-ccs@pipe-b-hdmi-a-1.html
* igt@kms_ccs@bad-pixel-format-4-tiled-mtl-mc-ccs:
- shard-adlp: NOTRUN -> [SKIP][20] ([Intel XE#455] / [Intel XE#787]) +11 other tests skip
[20]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-adlp-3/igt@kms_ccs@bad-pixel-format-4-tiled-mtl-mc-ccs.html
- shard-bmg: NOTRUN -> [SKIP][21] ([Intel XE#2887]) +7 other tests skip
[21]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-3/igt@kms_ccs@bad-pixel-format-4-tiled-mtl-mc-ccs.html
* igt@kms_ccs@crc-primary-basic-4-tiled-mtl-rc-ccs-cc@pipe-d-dp-2:
- shard-dg2-set2: NOTRUN -> [SKIP][22] ([Intel XE#455] / [Intel XE#787]) +33 other tests skip
[22]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-dg2-432/igt@kms_ccs@crc-primary-basic-4-tiled-mtl-rc-ccs-cc@pipe-d-dp-2.html
* igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-mc-ccs:
- shard-bmg: NOTRUN -> [SKIP][23] ([Intel XE#3432]) +1 other test skip
[23]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-3/igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-mc-ccs.html
* igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-mc-ccs:
- shard-lnl: NOTRUN -> [SKIP][24] ([Intel XE#3432])
[24]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-lnl-2/igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-mc-ccs.html
* igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-mc-ccs@pipe-b-dp-4:
- shard-dg2-set2: NOTRUN -> [SKIP][25] ([Intel XE#787]) +188 other tests skip
[25]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-dg2-436/igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-mc-ccs@pipe-b-dp-4.html
* igt@kms_ccs@crc-sprite-planes-basic-4-tiled-lnl-ccs@pipe-d-hdmi-a-3:
- shard-bmg: NOTRUN -> [SKIP][26] ([Intel XE#2652] / [Intel XE#787]) +12 other tests skip
[26]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-3/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-lnl-ccs@pipe-d-hdmi-a-3.html
* igt@kms_ccs@crc-sprite-planes-basic-4-tiled-mtl-rc-ccs-cc:
- shard-lnl: NOTRUN -> [SKIP][27] ([Intel XE#2887]) +3 other tests skip
[27]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-lnl-1/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-mtl-rc-ccs-cc.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc@pipe-b-dp-4:
- shard-dg2-set2: NOTRUN -> [INCOMPLETE][28] ([Intel XE#1727] / [Intel XE#3113] / [Intel XE#4212] / [Intel XE#4522])
[28]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-dg2-464/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc@pipe-b-dp-4.html
* igt@kms_cdclk@plane-scaling:
- shard-bmg: NOTRUN -> [SKIP][29] ([Intel XE#2724])
[29]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-7/igt@kms_cdclk@plane-scaling.html
* igt@kms_chamelium_edid@dp-edid-change-during-hibernate:
- shard-bmg: NOTRUN -> [SKIP][30] ([Intel XE#2252]) +5 other tests skip
[30]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-7/igt@kms_chamelium_edid@dp-edid-change-during-hibernate.html
- shard-dg2-set2: NOTRUN -> [SKIP][31] ([Intel XE#373]) +4 other tests skip
[31]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-dg2-435/igt@kms_chamelium_edid@dp-edid-change-during-hibernate.html
- shard-lnl: NOTRUN -> [SKIP][32] ([Intel XE#373]) +1 other test skip
[32]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-lnl-7/igt@kms_chamelium_edid@dp-edid-change-during-hibernate.html
* igt@kms_chamelium_hpd@hdmi-hpd-after-suspend:
- shard-adlp: NOTRUN -> [SKIP][33] ([Intel XE#373]) +1 other test skip
[33]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-adlp-3/igt@kms_chamelium_hpd@hdmi-hpd-after-suspend.html
* igt@kms_content_protection@atomic-dpms@pipe-a-dp-2:
- shard-dg2-set2: NOTRUN -> [FAIL][34] ([Intel XE#1178]) +1 other test fail
[34]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-dg2-432/igt@kms_content_protection@atomic-dpms@pipe-a-dp-2.html
* igt@kms_content_protection@legacy:
- shard-bmg: NOTRUN -> [FAIL][35] ([Intel XE#1178]) +1 other test fail
[35]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-1/igt@kms_content_protection@legacy.html
* igt@kms_content_protection@uevent@pipe-a-dp-2:
- shard-bmg: NOTRUN -> [FAIL][36] ([Intel XE#1188])
[36]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-3/igt@kms_content_protection@uevent@pipe-a-dp-2.html
* igt@kms_cursor_crc@cursor-offscreen-max-size:
- shard-bmg: NOTRUN -> [SKIP][37] ([Intel XE#2320]) +2 other tests skip
[37]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-3/igt@kms_cursor_crc@cursor-offscreen-max-size.html
* igt@kms_cursor_crc@cursor-random-max-size:
- shard-dg2-set2: NOTRUN -> [SKIP][38] ([Intel XE#455]) +7 other tests skip
[38]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-dg2-432/igt@kms_cursor_crc@cursor-random-max-size.html
- shard-lnl: NOTRUN -> [SKIP][39] ([Intel XE#1424]) +1 other test skip
[39]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-lnl-3/igt@kms_cursor_crc@cursor-random-max-size.html
* igt@kms_cursor_legacy@cursorb-vs-flipb-atomic:
- shard-bmg: NOTRUN -> [SKIP][40] ([Intel XE#2291])
[40]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-6/igt@kms_cursor_legacy@cursorb-vs-flipb-atomic.html
* igt@kms_cursor_legacy@cursorb-vs-flipb-atomic-transitions-varying-size:
- shard-bmg: [PASS][41] -> [SKIP][42] ([Intel XE#2291]) +5 other tests skip
[41]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3307-74f3ed8bab4e5ef51f1c266e8c7ffd1f2a052a73/shard-bmg-1/igt@kms_cursor_legacy@cursorb-vs-flipb-atomic-transitions-varying-size.html
[42]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-5/igt@kms_cursor_legacy@cursorb-vs-flipb-atomic-transitions-varying-size.html
* igt@kms_cursor_legacy@flip-vs-cursor-atomic:
- shard-bmg: [PASS][43] -> [FAIL][44] ([Intel XE#1475])
[43]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3307-74f3ed8bab4e5ef51f1c266e8c7ffd1f2a052a73/shard-bmg-5/igt@kms_cursor_legacy@flip-vs-cursor-atomic.html
[44]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-5/igt@kms_cursor_legacy@flip-vs-cursor-atomic.html
* igt@kms_cursor_legacy@flip-vs-cursor-legacy:
- shard-bmg: [PASS][45] -> [FAIL][46] ([Intel XE#4633])
[45]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3307-74f3ed8bab4e5ef51f1c266e8c7ffd1f2a052a73/shard-bmg-3/igt@kms_cursor_legacy@flip-vs-cursor-legacy.html
[46]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-3/igt@kms_cursor_legacy@flip-vs-cursor-legacy.html
* igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle:
- shard-bmg: NOTRUN -> [SKIP][47] ([Intel XE#2286])
[47]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-3/igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle.html
* igt@kms_dither@fb-8bpc-vs-panel-6bpc:
- shard-bmg: [PASS][48] -> [SKIP][49] ([Intel XE#1340])
[48]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3307-74f3ed8bab4e5ef51f1c266e8c7ffd1f2a052a73/shard-bmg-1/igt@kms_dither@fb-8bpc-vs-panel-6bpc.html
[49]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-5/igt@kms_dither@fb-8bpc-vs-panel-6bpc.html
* igt@kms_dp_linktrain_fallback@dp-fallback:
- shard-bmg: [PASS][50] -> [SKIP][51] ([Intel XE#4294])
[50]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3307-74f3ed8bab4e5ef51f1c266e8c7ffd1f2a052a73/shard-bmg-7/igt@kms_dp_linktrain_fallback@dp-fallback.html
[51]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-5/igt@kms_dp_linktrain_fallback@dp-fallback.html
* igt@kms_fbc_dirty_rect@fbc-dirty-rectangle-out-visible-area:
- shard-bmg: NOTRUN -> [SKIP][52] ([Intel XE#4422])
[52]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-8/igt@kms_fbc_dirty_rect@fbc-dirty-rectangle-out-visible-area.html
* igt@kms_feature_discovery@display-2x:
- shard-bmg: [PASS][53] -> [SKIP][54] ([Intel XE#2373])
[53]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3307-74f3ed8bab4e5ef51f1c266e8c7ffd1f2a052a73/shard-bmg-7/igt@kms_feature_discovery@display-2x.html
[54]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-5/igt@kms_feature_discovery@display-2x.html
* igt@kms_flip@2x-absolute-wf_vblank-interruptible:
- shard-lnl: NOTRUN -> [SKIP][55] ([Intel XE#1421]) +1 other test skip
[55]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-lnl-1/igt@kms_flip@2x-absolute-wf_vblank-interruptible.html
* igt@kms_flip@2x-blocking-absolute-wf_vblank:
- shard-adlp: NOTRUN -> [SKIP][56] ([Intel XE#310])
[56]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-adlp-4/igt@kms_flip@2x-blocking-absolute-wf_vblank.html
- shard-bmg: NOTRUN -> [SKIP][57] ([Intel XE#2316])
[57]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-5/igt@kms_flip@2x-blocking-absolute-wf_vblank.html
* igt@kms_flip@2x-plain-flip-fb-recreate-interruptible:
- shard-bmg: [PASS][58] -> [SKIP][59] ([Intel XE#2316]) +6 other tests skip
[58]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3307-74f3ed8bab4e5ef51f1c266e8c7ffd1f2a052a73/shard-bmg-4/igt@kms_flip@2x-plain-flip-fb-recreate-interruptible.html
[59]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-5/igt@kms_flip@2x-plain-flip-fb-recreate-interruptible.html
* igt@kms_flip@flip-vs-blocking-wf-vblank@a-edp1:
- shard-lnl: [PASS][60] -> [FAIL][61] ([Intel XE#5337] / [Intel XE#886]) +1 other test fail
[60]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3307-74f3ed8bab4e5ef51f1c266e8c7ffd1f2a052a73/shard-lnl-4/igt@kms_flip@flip-vs-blocking-wf-vblank@a-edp1.html
[61]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-lnl-6/igt@kms_flip@flip-vs-blocking-wf-vblank@a-edp1.html
* igt@kms_flip@flip-vs-expired-vblank-interruptible@d-hdmi-a1:
- shard-adlp: [PASS][62] -> [DMESG-WARN][63] ([Intel XE#4543]) +13 other tests dmesg-warn
[62]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3307-74f3ed8bab4e5ef51f1c266e8c7ffd1f2a052a73/shard-adlp-3/igt@kms_flip@flip-vs-expired-vblank-interruptible@d-hdmi-a1.html
[63]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-adlp-2/igt@kms_flip@flip-vs-expired-vblank-interruptible@d-hdmi-a1.html
* igt@kms_flip@flip-vs-expired-vblank@c-edp1:
- shard-lnl: [PASS][64] -> [FAIL][65] ([Intel XE#301] / [Intel XE#3149])
[64]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3307-74f3ed8bab4e5ef51f1c266e8c7ffd1f2a052a73/shard-lnl-8/igt@kms_flip@flip-vs-expired-vblank@c-edp1.html
[65]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-lnl-7/igt@kms_flip@flip-vs-expired-vblank@c-edp1.html
* igt@kms_flip@flip-vs-suspend-interruptible@a-hdmi-a1:
- shard-adlp: [PASS][66] -> [ABORT][67] ([Intel XE#4847])
[66]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3307-74f3ed8bab4e5ef51f1c266e8c7ffd1f2a052a73/shard-adlp-3/igt@kms_flip@flip-vs-suspend-interruptible@a-hdmi-a1.html
[67]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-adlp-4/igt@kms_flip@flip-vs-suspend-interruptible@a-hdmi-a1.html
* igt@kms_flip@wf_vblank-ts-check@a-edp1:
- shard-lnl: [PASS][68] -> [FAIL][69] ([Intel XE#886]) +1 other test fail
[68]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3307-74f3ed8bab4e5ef51f1c266e8c7ffd1f2a052a73/shard-lnl-7/igt@kms_flip@wf_vblank-ts-check@a-edp1.html
[69]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-lnl-2/igt@kms_flip@wf_vblank-ts-check@a-edp1.html
* igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-upscaling@pipe-a-default-mode:
- shard-lnl: NOTRUN -> [SKIP][70] ([Intel XE#1401]) +1 other test skip
[70]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-lnl-3/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-upscaling@pipe-a-default-mode.html
* igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-downscaling:
- shard-adlp: [PASS][71] -> [DMESG-FAIL][72] ([Intel XE#4543] / [Intel XE#4921]) +1 other test dmesg-fail
[71]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3307-74f3ed8bab4e5ef51f1c266e8c7ffd1f2a052a73/shard-adlp-1/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-downscaling.html
[72]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-adlp-4/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-downscaling.html
* igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling:
- shard-lnl: NOTRUN -> [SKIP][73] ([Intel XE#1401] / [Intel XE#1745]) +1 other test skip
[73]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-lnl-2/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling.html
- shard-bmg: NOTRUN -> [SKIP][74] ([Intel XE#2293] / [Intel XE#2380]) +1 other test skip
[74]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-3/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling.html
* igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling@pipe-a-valid-mode:
- shard-bmg: NOTRUN -> [SKIP][75] ([Intel XE#2293]) +1 other test skip
[75]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-3/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling@pipe-a-valid-mode.html
* igt@kms_flip_tiling@flip-change-tiling@pipe-c-hdmi-a-1-x-to-y:
- shard-adlp: [PASS][76] -> [FAIL][77] ([Intel XE#1874])
[76]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3307-74f3ed8bab4e5ef51f1c266e8c7ffd1f2a052a73/shard-adlp-6/igt@kms_flip_tiling@flip-change-tiling@pipe-c-hdmi-a-1-x-to-y.html
[77]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-adlp-3/igt@kms_flip_tiling@flip-change-tiling@pipe-c-hdmi-a-1-x-to-y.html
* igt@kms_flip_tiling@flip-change-tiling@pipe-c-hdmi-a-1-y-to-x:
- shard-adlp: [PASS][78] -> [DMESG-FAIL][79] ([Intel XE#4543]) +6 other tests dmesg-fail
[78]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3307-74f3ed8bab4e5ef51f1c266e8c7ffd1f2a052a73/shard-adlp-6/igt@kms_flip_tiling@flip-change-tiling@pipe-c-hdmi-a-1-y-to-x.html
[79]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-adlp-3/igt@kms_flip_tiling@flip-change-tiling@pipe-c-hdmi-a-1-y-to-x.html
* igt@kms_frontbuffer_tracking@drrs-1p-primscrn-pri-indfb-draw-render:
- shard-adlp: NOTRUN -> [SKIP][80] ([Intel XE#651]) +2 other tests skip
[80]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-adlp-1/igt@kms_frontbuffer_tracking@drrs-1p-primscrn-pri-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-spr-indfb-fullscreen:
- shard-dg2-set2: NOTRUN -> [SKIP][81] ([Intel XE#651]) +9 other tests skip
[81]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-dg2-434/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-spr-indfb-fullscreen.html
* igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-spr-indfb-move:
- shard-adlp: NOTRUN -> [SKIP][82] ([Intel XE#656]) +9 other tests skip
[82]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-adlp-4/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-spr-indfb-move.html
* igt@kms_frontbuffer_tracking@fbc-1p-pri-indfb-multidraw:
- shard-bmg: NOTRUN -> [SKIP][83] ([Intel XE#4141]) +8 other tests skip
[83]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-8/igt@kms_frontbuffer_tracking@fbc-1p-pri-indfb-multidraw.html
* igt@kms_frontbuffer_tracking@fbcdrrs-1p-offscren-pri-shrfb-draw-render:
- shard-bmg: NOTRUN -> [SKIP][84] ([Intel XE#2311]) +14 other tests skip
[84]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-8/igt@kms_frontbuffer_tracking@fbcdrrs-1p-offscren-pri-shrfb-draw-render.html
* igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-spr-indfb-draw-mmap-wc:
- shard-lnl: NOTRUN -> [SKIP][85] ([Intel XE#651])
[85]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-lnl-1/igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-spr-indfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-blt:
- shard-dg2-set2: NOTRUN -> [SKIP][86] ([Intel XE#653]) +10 other tests skip
[86]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-dg2-432/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-spr-indfb-draw-blt:
- shard-bmg: NOTRUN -> [SKIP][87] ([Intel XE#2312]) +7 other tests skip
[87]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-5/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-spr-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-spr-indfb-draw-render:
- shard-lnl: NOTRUN -> [SKIP][88] ([Intel XE#656]) +8 other tests skip
[88]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-lnl-6/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-spr-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@fbcpsr-tiling-y:
- shard-bmg: NOTRUN -> [SKIP][89] ([Intel XE#2352]) +1 other test skip
[89]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-5/igt@kms_frontbuffer_tracking@fbcpsr-tiling-y.html
- shard-lnl: NOTRUN -> [SKIP][90] ([Intel XE#1469])
[90]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-lnl-4/igt@kms_frontbuffer_tracking@fbcpsr-tiling-y.html
* igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-mmap-wc:
- shard-adlp: NOTRUN -> [SKIP][91] ([Intel XE#653]) +4 other tests skip
[91]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-adlp-1/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@psr-2p-primscrn-indfb-plflip-blt:
- shard-bmg: NOTRUN -> [SKIP][92] ([Intel XE#2313]) +12 other tests skip
[92]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-8/igt@kms_frontbuffer_tracking@psr-2p-primscrn-indfb-plflip-blt.html
* igt@kms_hdmi_inject@inject-4k:
- shard-lnl: NOTRUN -> [SKIP][93] ([Intel XE#1470])
[93]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-lnl-6/igt@kms_hdmi_inject@inject-4k.html
* igt@kms_hdr@bpc-switch-suspend:
- shard-dg2-set2: [PASS][94] -> [INCOMPLETE][95] ([Intel XE#5148])
[94]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3307-74f3ed8bab4e5ef51f1c266e8c7ffd1f2a052a73/shard-dg2-432/igt@kms_hdr@bpc-switch-suspend.html
[95]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-dg2-434/igt@kms_hdr@bpc-switch-suspend.html
* igt@kms_joiner@basic-big-joiner:
- shard-bmg: NOTRUN -> [SKIP][96] ([Intel XE#346])
[96]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-4/igt@kms_joiner@basic-big-joiner.html
* igt@kms_joiner@basic-force-ultra-joiner:
- shard-bmg: NOTRUN -> [SKIP][97] ([Intel XE#2934])
[97]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-6/igt@kms_joiner@basic-force-ultra-joiner.html
* igt@kms_panel_fitting@legacy:
- shard-adlp: NOTRUN -> [SKIP][98] ([Intel XE#455]) +8 other tests skip
[98]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-adlp-4/igt@kms_panel_fitting@legacy.html
- shard-bmg: NOTRUN -> [SKIP][99] ([Intel XE#2486])
[99]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-3/igt@kms_panel_fitting@legacy.html
* igt@kms_plane_cursor@primary@pipe-a-hdmi-a-2-size-256:
- shard-dg2-set2: NOTRUN -> [FAIL][100] ([Intel XE#616]) +3 other tests fail
[100]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-dg2-432/igt@kms_plane_cursor@primary@pipe-a-hdmi-a-2-size-256.html
* igt@kms_plane_cursor@viewport:
- shard-dg2-set2: [PASS][101] -> [FAIL][102] ([Intel XE#616])
[101]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3307-74f3ed8bab4e5ef51f1c266e8c7ffd1f2a052a73/shard-dg2-432/igt@kms_plane_cursor@viewport.html
[102]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-dg2-433/igt@kms_plane_cursor@viewport.html
* igt@kms_plane_lowres@tiling-y:
- shard-bmg: NOTRUN -> [SKIP][103] ([Intel XE#2393])
[103]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-3/igt@kms_plane_lowres@tiling-y.html
* igt@kms_plane_multiple@2x-tiling-none:
- shard-bmg: [PASS][104] -> [SKIP][105] ([Intel XE#4596])
[104]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3307-74f3ed8bab4e5ef51f1c266e8c7ffd1f2a052a73/shard-bmg-4/igt@kms_plane_multiple@2x-tiling-none.html
[105]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-5/igt@kms_plane_multiple@2x-tiling-none.html
* igt@kms_plane_multiple@tiling-x@pipe-b-edp-1:
- shard-lnl: NOTRUN -> [FAIL][106] ([Intel XE#4658]) +3 other tests fail
[106]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-lnl-4/igt@kms_plane_multiple@tiling-x@pipe-b-edp-1.html
* igt@kms_plane_scaling@planes-downscale-factor-0-5-upscale-20x20@pipe-b:
- shard-lnl: NOTRUN -> [SKIP][107] ([Intel XE#2763]) +3 other tests skip
[107]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-lnl-2/igt@kms_plane_scaling@planes-downscale-factor-0-5-upscale-20x20@pipe-b.html
* igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-5:
- shard-bmg: NOTRUN -> [SKIP][108] ([Intel XE#2763]) +4 other tests skip
[108]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-6/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-5.html
* igt@kms_pm_dc@dc3co-vpb-simulation:
- shard-bmg: NOTRUN -> [SKIP][109] ([Intel XE#2391])
[109]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-6/igt@kms_pm_dc@dc3co-vpb-simulation.html
* igt@kms_pm_dc@dc5-psr:
- shard-bmg: NOTRUN -> [SKIP][110] ([Intel XE#2392])
[110]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-5/igt@kms_pm_dc@dc5-psr.html
- shard-adlp: NOTRUN -> [SKIP][111] ([Intel XE#1129])
[111]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-adlp-6/igt@kms_pm_dc@dc5-psr.html
- shard-dg2-set2: NOTRUN -> [SKIP][112] ([Intel XE#1129])
[112]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-dg2-433/igt@kms_pm_dc@dc5-psr.html
- shard-lnl: NOTRUN -> [FAIL][113] ([Intel XE#718])
[113]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-lnl-2/igt@kms_pm_dc@dc5-psr.html
* igt@kms_pm_dc@dc6-psr:
- shard-lnl: [PASS][114] -> [FAIL][115] ([Intel XE#718]) +1 other test fail
[114]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3307-74f3ed8bab4e5ef51f1c266e8c7ffd1f2a052a73/shard-lnl-5/igt@kms_pm_dc@dc6-psr.html
[115]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-lnl-2/igt@kms_pm_dc@dc6-psr.html
* igt@kms_pm_rpm@dpms-mode-unset-lpsp:
- shard-bmg: NOTRUN -> [SKIP][116] ([Intel XE#1439] / [Intel XE#836])
[116]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-3/igt@kms_pm_rpm@dpms-mode-unset-lpsp.html
* igt@kms_pm_rpm@dpms-mode-unset-non-lpsp:
- shard-adlp: NOTRUN -> [SKIP][117] ([Intel XE#836])
[117]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-adlp-4/igt@kms_pm_rpm@dpms-mode-unset-non-lpsp.html
- shard-lnl: NOTRUN -> [SKIP][118] ([Intel XE#1439] / [Intel XE#836])
[118]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-lnl-6/igt@kms_pm_rpm@dpms-mode-unset-non-lpsp.html
* igt@kms_psr2_sf@fbc-psr2-overlay-primary-update-sf-dmg-area:
- shard-bmg: NOTRUN -> [SKIP][119] ([Intel XE#1489]) +4 other tests skip
[119]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-1/igt@kms_psr2_sf@fbc-psr2-overlay-primary-update-sf-dmg-area.html
* igt@kms_psr2_sf@fbc-psr2-primary-plane-update-sf-dmg-area@pipe-a-edp-1:
- shard-lnl: NOTRUN -> [SKIP][120] ([Intel XE#4608]) +1 other test skip
[120]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-lnl-4/igt@kms_psr2_sf@fbc-psr2-primary-plane-update-sf-dmg-area@pipe-a-edp-1.html
* igt@kms_psr2_sf@psr2-overlay-plane-update-continuous-sf:
- shard-adlp: NOTRUN -> [SKIP][121] ([Intel XE#1489])
[121]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-adlp-6/igt@kms_psr2_sf@psr2-overlay-plane-update-continuous-sf.html
- shard-dg2-set2: NOTRUN -> [SKIP][122] ([Intel XE#1489])
[122]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-dg2-436/igt@kms_psr2_sf@psr2-overlay-plane-update-continuous-sf.html
* igt@kms_psr2_su@page_flip-nv12:
- shard-bmg: NOTRUN -> [SKIP][123] ([Intel XE#2387])
[123]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-5/igt@kms_psr2_su@page_flip-nv12.html
* igt@kms_psr@fbc-pr-cursor-blt:
- shard-bmg: NOTRUN -> [SKIP][124] ([Intel XE#2234] / [Intel XE#2850]) +7 other tests skip
[124]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-3/igt@kms_psr@fbc-pr-cursor-blt.html
- shard-lnl: NOTRUN -> [SKIP][125] ([Intel XE#1406])
[125]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-lnl-2/igt@kms_psr@fbc-pr-cursor-blt.html
* igt@kms_psr@fbc-psr-sprite-plane-move:
- shard-dg2-set2: NOTRUN -> [SKIP][126] ([Intel XE#2850] / [Intel XE#929]) +5 other tests skip
[126]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-dg2-433/igt@kms_psr@fbc-psr-sprite-plane-move.html
* igt@kms_psr@psr-cursor-plane-onoff:
- shard-adlp: NOTRUN -> [SKIP][127] ([Intel XE#2850] / [Intel XE#929]) +3 other tests skip
[127]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-adlp-9/igt@kms_psr@psr-cursor-plane-onoff.html
* igt@kms_rotation_crc@bad-pixel-format:
- shard-bmg: NOTRUN -> [SKIP][128] ([Intel XE#3414] / [Intel XE#3904]) +1 other test skip
[128]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-3/igt@kms_rotation_crc@bad-pixel-format.html
* igt@kms_scaling_modes@scaling-mode-full-aspect:
- shard-bmg: NOTRUN -> [SKIP][129] ([Intel XE#2413])
[129]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-7/igt@kms_scaling_modes@scaling-mode-full-aspect.html
* igt@kms_vblank@ts-continuation-suspend:
- shard-adlp: [PASS][130] -> [DMESG-WARN][131] ([Intel XE#2953] / [Intel XE#4173]) +11 other tests dmesg-warn
[130]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3307-74f3ed8bab4e5ef51f1c266e8c7ffd1f2a052a73/shard-adlp-9/igt@kms_vblank@ts-continuation-suspend.html
[131]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-adlp-1/igt@kms_vblank@ts-continuation-suspend.html
* igt@kms_vrr@seamless-rr-switch-virtual:
- shard-bmg: NOTRUN -> [SKIP][132] ([Intel XE#1499])
[132]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-1/igt@kms_vrr@seamless-rr-switch-virtual.html
* igt@xe_copy_basic@mem-copy-linear-0x369:
- shard-adlp: NOTRUN -> [SKIP][133] ([Intel XE#1123])
[133]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-adlp-3/igt@xe_copy_basic@mem-copy-linear-0x369.html
- shard-dg2-set2: NOTRUN -> [SKIP][134] ([Intel XE#1123])
[134]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-dg2-432/igt@xe_copy_basic@mem-copy-linear-0x369.html
* igt@xe_copy_basic@mem-set-linear-0x369:
- shard-dg2-set2: NOTRUN -> [SKIP][135] ([Intel XE#1126])
[135]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-dg2-434/igt@xe_copy_basic@mem-set-linear-0x369.html
* igt@xe_eu_stall@blocking-read:
- shard-dg2-set2: NOTRUN -> [SKIP][136] ([Intel XE#5308])
[136]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-dg2-434/igt@xe_eu_stall@blocking-read.html
* igt@xe_eudebug@basic-read-event:
- shard-adlp: NOTRUN -> [SKIP][137] ([Intel XE#4837]) +4 other tests skip
[137]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-adlp-9/igt@xe_eudebug@basic-read-event.html
* igt@xe_eudebug@basic-vm-bind-metadata-discovery:
- shard-bmg: NOTRUN -> [SKIP][138] ([Intel XE#4837]) +8 other tests skip
[138]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-1/igt@xe_eudebug@basic-vm-bind-metadata-discovery.html
* igt@xe_evict@evict-beng-large-external-cm:
- shard-adlp: NOTRUN -> [SKIP][139] ([Intel XE#261] / [Intel XE#688])
[139]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-adlp-1/igt@xe_evict@evict-beng-large-external-cm.html
- shard-lnl: NOTRUN -> [SKIP][140] ([Intel XE#688])
[140]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-lnl-6/igt@xe_evict@evict-beng-large-external-cm.html
* igt@xe_exec_basic@multigpu-no-exec-bindexecqueue-userptr-invalidate-race:
- shard-adlp: NOTRUN -> [SKIP][141] ([Intel XE#1392])
[141]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-adlp-1/igt@xe_exec_basic@multigpu-no-exec-bindexecqueue-userptr-invalidate-race.html
* igt@xe_exec_basic@multigpu-no-exec-null-defer-mmap:
- shard-dg2-set2: [PASS][142] -> [SKIP][143] ([Intel XE#1392]) +7 other tests skip
[142]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3307-74f3ed8bab4e5ef51f1c266e8c7ffd1f2a052a73/shard-dg2-464/igt@xe_exec_basic@multigpu-no-exec-null-defer-mmap.html
[143]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-dg2-432/igt@xe_exec_basic@multigpu-no-exec-null-defer-mmap.html
* igt@xe_exec_basic@multigpu-once-null-rebind:
- shard-bmg: NOTRUN -> [SKIP][144] ([Intel XE#2322]) +2 other tests skip
[144]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-3/igt@xe_exec_basic@multigpu-once-null-rebind.html
* igt@xe_exec_fault_mode@invalid-va-scratch-nopagefault:
- shard-adlp: NOTRUN -> [SKIP][145] ([Intel XE#288]) +5 other tests skip
[145]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-adlp-1/igt@xe_exec_fault_mode@invalid-va-scratch-nopagefault.html
* igt@xe_exec_fault_mode@once-rebind-imm:
- shard-dg2-set2: NOTRUN -> [SKIP][146] ([Intel XE#288]) +6 other tests skip
[146]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-dg2-433/igt@xe_exec_fault_mode@once-rebind-imm.html
* igt@xe_exec_sip_eudebug@breakpoint-waitsip:
- shard-dg2-set2: NOTRUN -> [SKIP][147] ([Intel XE#4837]) +4 other tests skip
[147]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-dg2-432/igt@xe_exec_sip_eudebug@breakpoint-waitsip.html
- shard-lnl: NOTRUN -> [SKIP][148] ([Intel XE#4837]) +4 other tests skip
[148]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-lnl-3/igt@xe_exec_sip_eudebug@breakpoint-waitsip.html
* igt@xe_exec_system_allocator@many-execqueues-mmap-huge-nomemset:
- shard-bmg: NOTRUN -> [SKIP][149] ([Intel XE#4943]) +12 other tests skip
[149]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-6/igt@xe_exec_system_allocator@many-execqueues-mmap-huge-nomemset.html
* igt@xe_exec_system_allocator@process-many-execqueues-mmap-free-huge:
- shard-lnl: NOTRUN -> [SKIP][150] ([Intel XE#4943]) +4 other tests skip
[150]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-lnl-2/igt@xe_exec_system_allocator@process-many-execqueues-mmap-free-huge.html
* igt@xe_exec_system_allocator@process-many-large-mmap-shared-remap-dontunmap:
- shard-adlp: NOTRUN -> [SKIP][151] ([Intel XE#4915]) +56 other tests skip
[151]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-adlp-3/igt@xe_exec_system_allocator@process-many-large-mmap-shared-remap-dontunmap.html
* igt@xe_exec_system_allocator@threads-many-stride-new-nomemset:
- shard-dg2-set2: NOTRUN -> [SKIP][152] ([Intel XE#4915]) +76 other tests skip
[152]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-dg2-436/igt@xe_exec_system_allocator@threads-many-stride-new-nomemset.html
* igt@xe_fault_injection@inject-fault-probe-function-xe_wa_init:
- shard-adlp: [PASS][153] -> [DMESG-WARN][154] ([Intel XE#4792])
[153]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3307-74f3ed8bab4e5ef51f1c266e8c7ffd1f2a052a73/shard-adlp-4/igt@xe_fault_injection@inject-fault-probe-function-xe_wa_init.html
[154]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-adlp-4/igt@xe_fault_injection@inject-fault-probe-function-xe_wa_init.html
* igt@xe_oa@blocking:
- shard-adlp: NOTRUN -> [SKIP][155] ([Intel XE#2541] / [Intel XE#3573]) +1 other test skip
[155]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-adlp-6/igt@xe_oa@blocking.html
* igt@xe_oa@mi-rpc:
- shard-dg2-set2: NOTRUN -> [SKIP][156] ([Intel XE#2541] / [Intel XE#3573]) +2 other tests skip
[156]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-dg2-435/igt@xe_oa@mi-rpc.html
* igt@xe_pat@pat-index-xelpg:
- shard-adlp: NOTRUN -> [SKIP][157] ([Intel XE#979])
[157]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-adlp-2/igt@xe_pat@pat-index-xelpg.html
- shard-bmg: NOTRUN -> [SKIP][158] ([Intel XE#2236])
[158]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-8/igt@xe_pat@pat-index-xelpg.html
- shard-lnl: NOTRUN -> [SKIP][159] ([Intel XE#979])
[159]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-lnl-1/igt@xe_pat@pat-index-xelpg.html
* igt@xe_pm@s3-basic-exec:
- shard-lnl: NOTRUN -> [SKIP][160] ([Intel XE#584]) +1 other test skip
[160]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-lnl-7/igt@xe_pm@s3-basic-exec.html
* igt@xe_pxp@display-black-pxp-fb:
- shard-dg2-set2: NOTRUN -> [SKIP][161] ([Intel XE#4733])
[161]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-dg2-432/igt@xe_pxp@display-black-pxp-fb.html
* igt@xe_pxp@pxp-stale-bo-exec-post-termination-irq:
- shard-bmg: NOTRUN -> [SKIP][162] ([Intel XE#4733])
[162]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-6/igt@xe_pxp@pxp-stale-bo-exec-post-termination-irq.html
* igt@xe_query@multigpu-query-pxp-status:
- shard-bmg: NOTRUN -> [SKIP][163] ([Intel XE#944])
[163]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-1/igt@xe_query@multigpu-query-pxp-status.html
* igt@xe_sriov_auto_provisioning@selfconfig-reprovision-reduce-numvfs:
- shard-bmg: NOTRUN -> [SKIP][164] ([Intel XE#4130])
[164]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-6/igt@xe_sriov_auto_provisioning@selfconfig-reprovision-reduce-numvfs.html
- shard-dg2-set2: NOTRUN -> [SKIP][165] ([Intel XE#4130])
[165]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-dg2-435/igt@xe_sriov_auto_provisioning@selfconfig-reprovision-reduce-numvfs.html
- shard-lnl: NOTRUN -> [SKIP][166] ([Intel XE#4130])
[166]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-lnl-4/igt@xe_sriov_auto_provisioning@selfconfig-reprovision-reduce-numvfs.html
#### Possible fixes ####
* igt@kms_async_flips@async-flip-with-page-flip-events-linear-atomic@pipe-c-edp-1:
- shard-lnl: [FAIL][167] ([Intel XE#911]) -> [PASS][168] +3 other tests pass
[167]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3307-74f3ed8bab4e5ef51f1c266e8c7ffd1f2a052a73/shard-lnl-3/igt@kms_async_flips@async-flip-with-page-flip-events-linear-atomic@pipe-c-edp-1.html
[168]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-lnl-4/igt@kms_async_flips@async-flip-with-page-flip-events-linear-atomic@pipe-c-edp-1.html
* igt@kms_async_flips@async-flip-with-page-flip-events-tiled@pipe-b-hdmi-a-1-y:
- shard-adlp: [DMESG-WARN][169] ([Intel XE#4543]) -> [PASS][170] +20 other tests pass
[169]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3307-74f3ed8bab4e5ef51f1c266e8c7ffd1f2a052a73/shard-adlp-2/igt@kms_async_flips@async-flip-with-page-flip-events-tiled@pipe-b-hdmi-a-1-y.html
[170]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-adlp-1/igt@kms_async_flips@async-flip-with-page-flip-events-tiled@pipe-b-hdmi-a-1-y.html
* igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-async-flip:
- shard-adlp: [DMESG-FAIL][171] ([Intel XE#4543]) -> [PASS][172] +10 other tests pass
[171]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3307-74f3ed8bab4e5ef51f1c266e8c7ffd1f2a052a73/shard-adlp-2/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html
[172]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-adlp-3/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc@pipe-a-hdmi-a-6:
- shard-dg2-set2: [INCOMPLETE][173] ([Intel XE#1727] / [Intel XE#3113] / [Intel XE#3124]) -> [PASS][174]
[173]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3307-74f3ed8bab4e5ef51f1c266e8c7ffd1f2a052a73/shard-dg2-464/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc@pipe-a-hdmi-a-6.html
[174]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-dg2-464/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc@pipe-a-hdmi-a-6.html
* igt@kms_cursor_legacy@cursor-vs-flip-varying-size:
- shard-bmg: [DMESG-WARN][175] ([Intel XE#3428]) -> [PASS][176]
[175]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3307-74f3ed8bab4e5ef51f1c266e8c7ffd1f2a052a73/shard-bmg-4/igt@kms_cursor_legacy@cursor-vs-flip-varying-size.html
[176]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-1/igt@kms_cursor_legacy@cursor-vs-flip-varying-size.html
* igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions-varying-size:
- shard-bmg: [SKIP][177] ([Intel XE#2291]) -> [PASS][178] +6 other tests pass
[177]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3307-74f3ed8bab4e5ef51f1c266e8c7ffd1f2a052a73/shard-bmg-5/igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions-varying-size.html
[178]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-1/igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions-varying-size.html
* igt@kms_dp_link_training@non-uhbr-sst:
- shard-bmg: [SKIP][179] ([Intel XE#4354]) -> [PASS][180]
[179]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3307-74f3ed8bab4e5ef51f1c266e8c7ffd1f2a052a73/shard-bmg-5/igt@kms_dp_link_training@non-uhbr-sst.html
[180]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-4/igt@kms_dp_link_training@non-uhbr-sst.html
* igt@kms_flip@2x-plain-flip-fb-recreate:
- shard-bmg: [SKIP][181] ([Intel XE#2316]) -> [PASS][182] +8 other tests pass
[181]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3307-74f3ed8bab4e5ef51f1c266e8c7ffd1f2a052a73/shard-bmg-5/igt@kms_flip@2x-plain-flip-fb-recreate.html
[182]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-7/igt@kms_flip@2x-plain-flip-fb-recreate.html
* igt@kms_flip@flip-vs-expired-vblank@a-edp1:
- shard-lnl: [FAIL][183] ([Intel XE#301]) -> [PASS][184]
[183]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3307-74f3ed8bab4e5ef51f1c266e8c7ffd1f2a052a73/shard-lnl-8/igt@kms_flip@flip-vs-expired-vblank@a-edp1.html
[184]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-lnl-7/igt@kms_flip@flip-vs-expired-vblank@a-edp1.html
* igt@kms_flip@flip-vs-suspend-interruptible:
- shard-bmg: [INCOMPLETE][185] ([Intel XE#2049] / [Intel XE#2597]) -> [PASS][186] +1 other test pass
[185]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3307-74f3ed8bab4e5ef51f1c266e8c7ffd1f2a052a73/shard-bmg-7/igt@kms_flip@flip-vs-suspend-interruptible.html
[186]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-4/igt@kms_flip@flip-vs-suspend-interruptible.html
* igt@kms_flip@flip-vs-suspend@d-dp2:
- shard-dg2-set2: [INCOMPLETE][187] ([Intel XE#2049] / [Intel XE#2597]) -> [PASS][188] +1 other test pass
[187]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3307-74f3ed8bab4e5ef51f1c266e8c7ffd1f2a052a73/shard-dg2-432/igt@kms_flip@flip-vs-suspend@d-dp2.html
[188]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-dg2-432/igt@kms_flip@flip-vs-suspend@d-dp2.html
* igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-downscaling@pipe-a-valid-mode:
- shard-adlp: [DMESG-FAIL][189] ([Intel XE#4543] / [Intel XE#4921]) -> [PASS][190] +4 other tests pass
[189]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3307-74f3ed8bab4e5ef51f1c266e8c7ffd1f2a052a73/shard-adlp-6/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-downscaling@pipe-a-valid-mode.html
[190]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-adlp-2/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-downscaling@pipe-a-valid-mode.html
* igt@kms_hdr@static-swap:
- shard-bmg: [SKIP][191] ([Intel XE#1503]) -> [PASS][192] +1 other test pass
[191]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3307-74f3ed8bab4e5ef51f1c266e8c7ffd1f2a052a73/shard-bmg-6/igt@kms_hdr@static-swap.html
[192]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-8/igt@kms_hdr@static-swap.html
* igt@kms_joiner@invalid-modeset-force-big-joiner:
- shard-bmg: [SKIP][193] ([Intel XE#3012]) -> [PASS][194]
[193]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3307-74f3ed8bab4e5ef51f1c266e8c7ffd1f2a052a73/shard-bmg-5/igt@kms_joiner@invalid-modeset-force-big-joiner.html
[194]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-1/igt@kms_joiner@invalid-modeset-force-big-joiner.html
* igt@kms_plane@plane-panning-bottom-right-suspend:
- shard-adlp: [DMESG-WARN][195] ([Intel XE#2953] / [Intel XE#4173]) -> [PASS][196] +7 other tests pass
[195]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3307-74f3ed8bab4e5ef51f1c266e8c7ffd1f2a052a73/shard-adlp-4/igt@kms_plane@plane-panning-bottom-right-suspend.html
[196]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-adlp-6/igt@kms_plane@plane-panning-bottom-right-suspend.html
* igt@kms_plane_multiple@2x-tiling-x:
- shard-bmg: [SKIP][197] ([Intel XE#4596]) -> [PASS][198]
[197]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3307-74f3ed8bab4e5ef51f1c266e8c7ffd1f2a052a73/shard-bmg-5/igt@kms_plane_multiple@2x-tiling-x.html
[198]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-3/igt@kms_plane_multiple@2x-tiling-x.html
* igt@kms_plane_scaling@2x-scaler-multi-pipe:
- shard-bmg: [SKIP][199] ([Intel XE#2571]) -> [PASS][200]
[199]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3307-74f3ed8bab4e5ef51f1c266e8c7ffd1f2a052a73/shard-bmg-6/igt@kms_plane_scaling@2x-scaler-multi-pipe.html
[200]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-4/igt@kms_plane_scaling@2x-scaler-multi-pipe.html
* igt@kms_setmode@clone-exclusive-crtc:
- shard-bmg: [SKIP][201] ([Intel XE#1435]) -> [PASS][202]
[201]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3307-74f3ed8bab4e5ef51f1c266e8c7ffd1f2a052a73/shard-bmg-5/igt@kms_setmode@clone-exclusive-crtc.html
[202]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-8/igt@kms_setmode@clone-exclusive-crtc.html
* igt@kms_vrr@cmrr@pipe-a-edp-1:
- shard-lnl: [FAIL][203] ([Intel XE#4459]) -> [PASS][204] +1 other test pass
[203]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3307-74f3ed8bab4e5ef51f1c266e8c7ffd1f2a052a73/shard-lnl-7/igt@kms_vrr@cmrr@pipe-a-edp-1.html
[204]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-lnl-2/igt@kms_vrr@cmrr@pipe-a-edp-1.html
* igt@xe_eu_stall@non-blocking-re-enable:
- shard-bmg: [DMESG-WARN][205] ([Intel XE#3428] / [Intel XE#5215]) -> [PASS][206]
[205]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3307-74f3ed8bab4e5ef51f1c266e8c7ffd1f2a052a73/shard-bmg-4/igt@xe_eu_stall@non-blocking-re-enable.html
[206]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-4/igt@xe_eu_stall@non-blocking-re-enable.html
* igt@xe_exec_basic@multigpu-no-exec-bindexecqueue-userptr-rebind:
- shard-dg2-set2: [SKIP][207] ([Intel XE#1392]) -> [PASS][208] +8 other tests pass
[207]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3307-74f3ed8bab4e5ef51f1c266e8c7ffd1f2a052a73/shard-dg2-432/igt@xe_exec_basic@multigpu-no-exec-bindexecqueue-userptr-rebind.html
[208]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-dg2-434/igt@xe_exec_basic@multigpu-no-exec-bindexecqueue-userptr-rebind.html
* igt@xe_exec_system_allocator@threads-shared-vm-many-execqueues-new-bo-map:
- shard-lnl: [FAIL][209] ([Intel XE#5165]) -> [PASS][210]
[209]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3307-74f3ed8bab4e5ef51f1c266e8c7ffd1f2a052a73/shard-lnl-7/igt@xe_exec_system_allocator@threads-shared-vm-many-execqueues-new-bo-map.html
[210]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-lnl-5/igt@xe_exec_system_allocator@threads-shared-vm-many-execqueues-new-bo-map.html
* igt@xe_pm@s4-vm-bind-unbind-all:
- shard-bmg: [ABORT][211] ([Intel XE#5255]) -> [PASS][212]
[211]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3307-74f3ed8bab4e5ef51f1c266e8c7ffd1f2a052a73/shard-bmg-6/igt@xe_pm@s4-vm-bind-unbind-all.html
[212]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-3/igt@xe_pm@s4-vm-bind-unbind-all.html
#### Warnings ####
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc:
- shard-dg2-set2: [INCOMPLETE][213] ([Intel XE#1727] / [Intel XE#3113] / [Intel XE#3124]) -> [INCOMPLETE][214] ([Intel XE#1727] / [Intel XE#3113] / [Intel XE#4212] / [Intel XE#4522])
[213]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3307-74f3ed8bab4e5ef51f1c266e8c7ffd1f2a052a73/shard-dg2-464/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc.html
[214]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-dg2-464/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc.html
* igt@kms_content_protection@atomic-dpms:
- shard-bmg: [FAIL][215] ([Intel XE#1178]) -> [SKIP][216] ([Intel XE#2341])
[215]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3307-74f3ed8bab4e5ef51f1c266e8c7ffd1f2a052a73/shard-bmg-3/igt@kms_content_protection@atomic-dpms.html
[216]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-5/igt@kms_content_protection@atomic-dpms.html
* igt@kms_content_protection@lic-type-0@pipe-a-dp-2:
- shard-bmg: [TIMEOUT][217] -> [FAIL][218] ([Intel XE#1178]) +1 other test fail
[217]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3307-74f3ed8bab4e5ef51f1c266e8c7ffd1f2a052a73/shard-bmg-4/igt@kms_content_protection@lic-type-0@pipe-a-dp-2.html
[218]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-7/igt@kms_content_protection@lic-type-0@pipe-a-dp-2.html
* igt@kms_content_protection@uevent:
- shard-bmg: [SKIP][219] ([Intel XE#2341]) -> [FAIL][220] ([Intel XE#1188])
[219]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3307-74f3ed8bab4e5ef51f1c266e8c7ffd1f2a052a73/shard-bmg-6/igt@kms_content_protection@uevent.html
[220]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-3/igt@kms_content_protection@uevent.html
* igt@kms_flip@flip-vs-expired-vblank:
- shard-lnl: [FAIL][221] ([Intel XE#301]) -> [FAIL][222] ([Intel XE#301] / [Intel XE#3149])
[221]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3307-74f3ed8bab4e5ef51f1c266e8c7ffd1f2a052a73/shard-lnl-8/igt@kms_flip@flip-vs-expired-vblank.html
[222]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-lnl-7/igt@kms_flip@flip-vs-expired-vblank.html
* igt@kms_flip@flip-vs-suspend-interruptible:
- shard-adlp: [DMESG-WARN][223] ([Intel XE#2953] / [Intel XE#4173]) -> [ABORT][224] ([Intel XE#4847])
[223]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3307-74f3ed8bab4e5ef51f1c266e8c7ffd1f2a052a73/shard-adlp-3/igt@kms_flip@flip-vs-suspend-interruptible.html
[224]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-adlp-4/igt@kms_flip@flip-vs-suspend-interruptible.html
* igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-pri-indfb-draw-mmap-wc:
- shard-bmg: [SKIP][225] ([Intel XE#2312]) -> [SKIP][226] ([Intel XE#2311]) +19 other tests skip
[225]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3307-74f3ed8bab4e5ef51f1c266e8c7ffd1f2a052a73/shard-bmg-5/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-pri-indfb-draw-mmap-wc.html
[226]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-1/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-pri-indfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-shrfb-pgflip-blt:
- shard-bmg: [SKIP][227] ([Intel XE#4141]) -> [SKIP][228] ([Intel XE#2312]) +6 other tests skip
[227]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3307-74f3ed8bab4e5ef51f1c266e8c7ffd1f2a052a73/shard-bmg-3/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-shrfb-pgflip-blt.html
[228]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-5/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-shrfb-pgflip-blt.html
* igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-onoff:
- shard-bmg: [SKIP][229] ([Intel XE#2312]) -> [SKIP][230] ([Intel XE#4141]) +10 other tests skip
[229]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3307-74f3ed8bab4e5ef51f1c266e8c7ffd1f2a052a73/shard-bmg-5/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-onoff.html
[230]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-8/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-onoff.html
* igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-cur-indfb-draw-mmap-wc:
- shard-bmg: [SKIP][231] ([Intel XE#2311]) -> [SKIP][232] ([Intel XE#2312]) +15 other tests skip
[231]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3307-74f3ed8bab4e5ef51f1c266e8c7ffd1f2a052a73/shard-bmg-8/igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-cur-indfb-draw-mmap-wc.html
[232]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-5/igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-cur-indfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-draw-blt:
- shard-bmg: [SKIP][233] ([Intel XE#2313]) -> [SKIP][234] ([Intel XE#2312]) +13 other tests skip
[233]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3307-74f3ed8bab4e5ef51f1c266e8c7ffd1f2a052a73/shard-bmg-3/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-draw-blt.html
[234]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-5/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-pgflip-blt:
- shard-bmg: [SKIP][235] ([Intel XE#2312]) -> [SKIP][236] ([Intel XE#2313]) +22 other tests skip
[235]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3307-74f3ed8bab4e5ef51f1c266e8c7ffd1f2a052a73/shard-bmg-5/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-pgflip-blt.html
[236]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-bmg-3/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-pgflip-blt.html
* igt@kms_pm_dc@dc3co-vpb-simulation:
- shard-lnl: [SKIP][237] ([Intel XE#1909]) -> [SKIP][238] ([Intel XE#736])
[237]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3307-74f3ed8bab4e5ef51f1c266e8c7ffd1f2a052a73/shard-lnl-2/igt@kms_pm_dc@dc3co-vpb-simulation.html
[238]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-lnl-3/igt@kms_pm_dc@dc3co-vpb-simulation.html
* igt@xe_peer2peer@write:
- shard-dg2-set2: [FAIL][239] ([Intel XE#1173]) -> [SKIP][240] ([Intel XE#1061])
[239]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3307-74f3ed8bab4e5ef51f1c266e8c7ffd1f2a052a73/shard-dg2-435/igt@xe_peer2peer@write.html
[240]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/shard-dg2-432/igt@xe_peer2peer@write.html
[Intel XE#1061]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1061
[Intel XE#1123]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1123
[Intel XE#1124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1124
[Intel XE#1126]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1126
[Intel XE#1129]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1129
[Intel XE#1173]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1173
[Intel XE#1178]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1178
[Intel XE#1188]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1188
[Intel XE#1340]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1340
[Intel XE#1392]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1392
[Intel XE#1401]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1401
[Intel XE#1406]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1406
[Intel XE#1407]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1407
[Intel XE#1421]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1421
[Intel XE#1424]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1424
[Intel XE#1435]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1435
[Intel XE#1439]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1439
[Intel XE#1469]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1469
[Intel XE#1470]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1470
[Intel XE#1475]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1475
[Intel XE#1489]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1489
[Intel XE#1499]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1499
[Intel XE#1503]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1503
[Intel XE#1727]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1727
[Intel XE#1745]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1745
[Intel XE#1874]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1874
[Intel XE#1909]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1909
[Intel XE#2049]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2049
[Intel XE#2191]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2191
[Intel XE#2234]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2234
[Intel XE#2236]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2236
[Intel XE#2252]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2252
[Intel XE#2286]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2286
[Intel XE#2291]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2291
[Intel XE#2293]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2293
[Intel XE#2311]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2311
[Intel XE#2312]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2312
[Intel XE#2313]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2313
[Intel XE#2314]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2314
[Intel XE#2316]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2316
[Intel XE#2320]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2320
[Intel XE#2322]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2322
[Intel XE#2327]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2327
[Intel XE#2341]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2341
[Intel XE#2352]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2352
[Intel XE#2373]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2373
[Intel XE#2380]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2380
[Intel XE#2387]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2387
[Intel XE#2391]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2391
[Intel XE#2392]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2392
[Intel XE#2393]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2393
[Intel XE#2413]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2413
[Intel XE#2486]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2486
[Intel XE#2541]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2541
[Intel XE#2571]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2571
[Intel XE#2597]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2597
[Intel XE#261]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/261
[Intel XE#2652]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2652
[Intel XE#2724]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2724
[Intel XE#2763]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2763
[Intel XE#2850]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2850
[Intel XE#288]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/288
[Intel XE#2887]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2887
[Intel XE#2894]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2894
[Intel XE#2934]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2934
[Intel XE#2953]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2953
[Intel XE#301]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/301
[Intel XE#3012]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3012
[Intel XE#310]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/310
[Intel XE#3113]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3113
[Intel XE#3124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3124
[Intel XE#3149]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3149
[Intel XE#316]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/316
[Intel XE#3414]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3414
[Intel XE#3428]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3428
[Intel XE#3432]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3432
[Intel XE#346]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/346
[Intel XE#3573]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3573
[Intel XE#373]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/373
[Intel XE#3904]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3904
[Intel XE#3908]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3908
[Intel XE#4130]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4130
[Intel XE#4141]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4141
[Intel XE#4173]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4173
[Intel XE#4212]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4212
[Intel XE#4294]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4294
[Intel XE#4354]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4354
[Intel XE#4422]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4422
[Intel XE#4459]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4459
[Intel XE#4522]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4522
[Intel XE#4543]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4543
[Intel XE#455]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/455
[Intel XE#4596]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4596
[Intel XE#4608]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4608
[Intel XE#4633]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4633
[Intel XE#4658]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4658
[Intel XE#4733]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4733
[Intel XE#4792]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4792
[Intel XE#4837]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4837
[Intel XE#4847]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4847
[Intel XE#4915]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4915
[Intel XE#4921]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4921
[Intel XE#4943]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4943
[Intel XE#5148]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5148
[Intel XE#5165]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5165
[Intel XE#5215]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5215
[Intel XE#5255]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5255
[Intel XE#5308]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5308
[Intel XE#5337]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5337
[Intel XE#584]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/584
[Intel XE#610]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/610
[Intel XE#616]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/616
[Intel XE#651]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/651
[Intel XE#653]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/653
[Intel XE#656]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/656
[Intel XE#688]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/688
[Intel XE#718]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/718
[Intel XE#736]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/736
[Intel XE#787]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/787
[Intel XE#836]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/836
[Intel XE#886]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/886
[Intel XE#911]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/911
[Intel XE#929]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/929
[Intel XE#944]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/944
[Intel XE#979]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/979
Build changes
-------------
* IGT: IGT_8426 -> IGT_8428
* Linux: xe-3307-74f3ed8bab4e5ef51f1c266e8c7ffd1f2a052a73 -> xe-pw-149503v9
IGT_8426: f87ffec6e23df5f3f044d90924f948e0bbd68c6c @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
IGT_8428: 8428
xe-3307-74f3ed8bab4e5ef51f1c266e8c7ffd1f2a052a73: 74f3ed8bab4e5ef51f1c266e8c7ffd1f2a052a73
xe-pw-149503v9: 149503v9
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149503v9/index.html
[-- Attachment #2: Type: text/html, Size: 80190 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v6 1/4] drm/xe: Use devm_ioremap_wc for VRAM mapping and drop manual unmap
2025-06-26 7:14 ` [PATCH v6 1/4] drm/xe: Use devm_ioremap_wc for VRAM mapping and drop manual unmap Piórkowski, Piotr
@ 2025-06-27 8:43 ` Matthew Auld
0 siblings, 0 replies; 10+ messages in thread
From: Matthew Auld @ 2025-06-27 8:43 UTC (permalink / raw)
To: Piórkowski, Piotr, intel-xe
On 26/06/2025 08:14, Piórkowski, Piotr wrote:
> From: Piotr Piórkowski <piotr.piorkowski@intel.com>
>
> Let's replace the manual call to ioremap_wc function with devm_ioremap_wc
> function, ensuring that VRAM mappings are automatically released when
> the driver is detached.
> Since devm_ioremap_wc registers the mapping with the device's managed
> resources, the explicit iounmap call in vram_fini is no longer needed,
> so let's remove it.
>
> Signed-off-by: Piotr Piórkowski <piotr.piorkowski@intel.com>
> Suggested-by: Matthew Auld <matthew.auld@intel.com>
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
> ---
> drivers/gpu/drm/xe/xe_vram.c | 6 ++----
> 1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/xe/xe_vram.c b/drivers/gpu/drm/xe/xe_vram.c
> index e421a74fb87c..3a4c84e9efc6 100644
> --- a/drivers/gpu/drm/xe/xe_vram.c
> +++ b/drivers/gpu/drm/xe/xe_vram.c
> @@ -156,7 +156,8 @@ static int determine_lmem_bar_size(struct xe_device *xe)
> xe->mem.vram.dpa_base = 0;
>
> /* set up a map to the total memory area. */
> - xe->mem.vram.mapping = ioremap_wc(xe->mem.vram.io_start, xe->mem.vram.io_size);
> + xe->mem.vram.mapping = devm_ioremap_wc(&pdev->dev, xe->mem.vram.io_start,
> + xe->mem.vram.io_size);
>
> return 0;
> }
> @@ -278,9 +279,6 @@ static void vram_fini(void *arg)
> struct xe_tile *tile;
> int id;
>
> - if (xe->mem.vram.mapping)
> - iounmap(xe->mem.vram.mapping);
> -
> xe->mem.vram.mapping = NULL;
>
> for_each_tile(tile, xe, id)
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2025-06-27 8:43 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-26 7:14 [PATCH v6 0/4] Cleaning up code related to VRAM regions and its initialization - part 2 Piórkowski, Piotr
2025-06-26 7:14 ` [PATCH v6 1/4] drm/xe: Use devm_ioremap_wc for VRAM mapping and drop manual unmap Piórkowski, Piotr
2025-06-27 8:43 ` Matthew Auld
2025-06-26 7:14 ` [PATCH v6 2/4] drm/xe: Use dynamic allocation for tile and device VRAM region structures Piórkowski, Piotr
2025-06-26 7:14 ` [PATCH v6 3/4] drm/xe: Move struct xe_vram_region to a dedicated header Piórkowski, Piotr
2025-06-26 7:14 ` [PATCH v6 4/4] drm/xe: Unify the initialization of VRAM regions Piórkowski, Piotr
2025-06-26 7:22 ` ✗ CI.checkpatch: warning for Cleaning up code related to VRAM regions and its initialization - part 2 (rev9) Patchwork
2025-06-26 7:23 ` ✓ CI.KUnit: success " Patchwork
2025-06-26 8:15 ` ✓ Xe.CI.BAT: " Patchwork
2025-06-27 6:03 ` ✗ Xe.CI.Full: failure " Patchwork
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox