* [PATCH v1 0/4] Test panthor repeated mappings
@ 2026-03-13 17:58 Adrián Larumbe
2026-03-13 17:58 ` [PATCH v1 1/4] drm-uapi/panthor: Sync panthor uapi Adrián Larumbe
` (6 more replies)
0 siblings, 7 replies; 9+ messages in thread
From: Adrián Larumbe @ 2026-03-13 17:58 UTC (permalink / raw)
To: igt-dev, Petri Latvala, Arkadiusz Hiler, Kamil Konieczny,
Juha-Pekka Heikkila, Bhanuprakash Modem
Cc: Boris Brezillon, Steven Price, Liviu Dudau, Adrián Larumbe,
Daniel Almeida, Janne Grunau, Danilo Krummrich, kernel
This patch series adds IGT tests to validate Panthor's repeated mappings
functionality. They are meant to support sparse bindings in Vulkan, but we
found it necessary to test it separately to make sure all corner remap and
unmap cases intersecting with repeated VA's are covered.
Kernel changes necessary for the tests to work can be found at [1]
[1] https://lore.kernel.org/dri-devel/20260313150956.1618635-1-adrian.larumbe@collabora.com/T/#t
Adrián Larumbe (4):
drm-uapi/panthor: Sync panthor uapi
panthor: Move issue_store_multiple into library file
test/panthor: Add support for repeated mappings
tests/panthor: Add VM_BIND repeat tests
include/drm-uapi/panthor_drm.h | 190 +++++++++-
lib/igt_panthor.c | 42 ++-
lib/igt_panthor.h | 13 +-
tests/panthor/meson.build | 1 +
tests/panthor/panthor_group.c | 34 +-
tests/panthor/panthor_vm.c | 3 +-
tests/panthor/panthor_vm_repeat.c | 555 ++++++++++++++++++++++++++++++
7 files changed, 800 insertions(+), 38 deletions(-)
create mode 100644 tests/panthor/panthor_vm_repeat.c
base-commit: d3c67e0f1fa76ac3d71095825bbc9df0d307e4fc
--
2.53.0
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v1 1/4] drm-uapi/panthor: Sync panthor uapi
2026-03-13 17:58 [PATCH v1 0/4] Test panthor repeated mappings Adrián Larumbe
@ 2026-03-13 17:58 ` Adrián Larumbe
2026-03-16 12:21 ` Kamil Konieczny
2026-03-13 17:58 ` [PATCH v1 2/4] panthor: Move issue_store_multiple into library file Adrián Larumbe
` (5 subsequent siblings)
6 siblings, 1 reply; 9+ messages in thread
From: Adrián Larumbe @ 2026-03-13 17:58 UTC (permalink / raw)
To: igt-dev, Petri Latvala, Arkadiusz Hiler, Kamil Konieczny,
Juha-Pekka Heikkila, Bhanuprakash Modem
Cc: Boris Brezillon, Steven Price, Liviu Dudau, Adrián Larumbe,
Daniel Almeida, Janne Grunau, Danilo Krummrich, kernel
Pull it from drm-misc-next.
Signed-off-by: Adrián Larumbe <adrian.larumbe@collabora.com>
---
include/drm-uapi/panthor_drm.h | 190 ++++++++++++++++++++++++++++++++-
1 file changed, 187 insertions(+), 3 deletions(-)
diff --git a/include/drm-uapi/panthor_drm.h b/include/drm-uapi/panthor_drm.h
index 467d365ed7ba..46217ce2c0f5 100644
--- a/include/drm-uapi/panthor_drm.h
+++ b/include/drm-uapi/panthor_drm.h
@@ -144,6 +144,16 @@ enum drm_panthor_ioctl_id {
* pgoff_t size.
*/
DRM_PANTHOR_SET_USER_MMIO_OFFSET,
+
+ /** @DRM_PANTHOR_BO_SYNC: Sync BO data to/from the device */
+ DRM_PANTHOR_BO_SYNC,
+
+ /**
+ * @DRM_PANTHOR_BO_QUERY_INFO: Query information about a BO.
+ *
+ * This is useful for imported BOs.
+ */
+ DRM_PANTHOR_BO_QUERY_INFO,
};
/**
@@ -236,6 +246,9 @@ enum drm_panthor_dev_query_type {
/** @DRM_PANTHOR_DEV_QUERY_CSIF_INFO: Query command-stream interface information. */
DRM_PANTHOR_DEV_QUERY_CSIF_INFO,
+ /** @DRM_PANTHOR_DEV_QUERY_MMU_INFO: Query MMU information. */
+ DRM_PANTHOR_DEV_QUERY_MMU_INFO,
+
/** @DRM_PANTHOR_DEV_QUERY_TIMESTAMP_INFO: Query timestamp information. */
DRM_PANTHOR_DEV_QUERY_TIMESTAMP_INFO,
@@ -245,6 +258,26 @@ enum drm_panthor_dev_query_type {
DRM_PANTHOR_DEV_QUERY_GROUP_PRIORITIES_INFO,
};
+/**
+ * enum drm_panthor_gpu_coherency: Type of GPU coherency
+ */
+enum drm_panthor_gpu_coherency {
+ /**
+ * @DRM_PANTHOR_GPU_COHERENCY_ACE_LITE: ACE Lite coherency.
+ */
+ DRM_PANTHOR_GPU_COHERENCY_ACE_LITE = 0,
+
+ /**
+ * @DRM_PANTHOR_GPU_COHERENCY_ACE: ACE coherency.
+ */
+ DRM_PANTHOR_GPU_COHERENCY_ACE = 1,
+
+ /**
+ * @DRM_PANTHOR_GPU_COHERENCY_NONE: No coherency.
+ */
+ DRM_PANTHOR_GPU_COHERENCY_NONE = 31,
+};
+
/**
* struct drm_panthor_gpu_info - GPU information
*
@@ -301,7 +334,16 @@ struct drm_panthor_gpu_info {
*/
__u32 thread_max_barrier_size;
- /** @coherency_features: Coherency features. */
+ /**
+ * @coherency_features: Coherency features.
+ *
+ * Combination of drm_panthor_gpu_coherency flags.
+ *
+ * Note that this is just what the coherency protocols supported by the
+ * GPU, but the actual coherency in place depends on the SoC
+ * integration and is reflected by
+ * drm_panthor_gpu_info::selected_coherency.
+ */
__u32 coherency_features;
/** @texture_features: Texture features. */
@@ -310,8 +352,12 @@ struct drm_panthor_gpu_info {
/** @as_present: Bitmask encoding the number of address-space exposed by the MMU. */
__u32 as_present;
- /** @pad0: MBZ. */
- __u32 pad0;
+ /**
+ * @selected_coherency: Coherency selected for this device.
+ *
+ * One of drm_panthor_gpu_coherency.
+ */
+ __u32 selected_coherency;
/** @shader_present: Bitmask encoding the shader cores exposed by the GPU. */
__u64 shader_present;
@@ -366,6 +412,16 @@ struct drm_panthor_csif_info {
__u32 pad;
};
+/**
+ * struct drm_panthor_mmu_info - MMU information
+ *
+ * Structure grouping all queryable information relating to the MMU.
+ */
+struct drm_panthor_mmu_info {
+ /** @page_size_bitmap: Allowed page sizes */
+ __u64 page_size_bitmap;
+};
+
/**
* struct drm_panthor_timestamp_info - Timestamp information
*
@@ -499,6 +555,17 @@ enum drm_panthor_vm_bind_op_flags {
*/
DRM_PANTHOR_VM_BIND_OP_MAP_UNCACHED = 1 << 2,
+ /**
+ * @DRM_PANTHOR_VM_BIND_OP_MAP_REPEAT: Repeat a BO range
+ *
+ * Only valid with DRM_PANTHOR_VM_BIND_OP_TYPE_MAP.
+ *
+ * When this is set, a BO range is repeated over the VA range.
+ * drm_panthor_vm_bind_op::bo_repeat_range defines the size of the
+ * BO range to repeat.
+ */
+ DRM_PANTHOR_VM_BIND_OP_MAP_REPEAT = 1 << 3,
+
/**
* @DRM_PANTHOR_VM_BIND_OP_TYPE_MASK: Mask used to determine the type of operation.
*/
@@ -563,6 +630,15 @@ struct drm_panthor_vm_bind_op {
*/
struct drm_panthor_obj_array syncs;
+ /**
+ * @bo_repeat_range: The size of the range to be repeated.
+ *
+ * Must be zero if DRM_PANTHOR_VM_BIND_OP_MAP_REPEAT is not set in
+ * flags.
+ *
+ * Size must be a multiple of bo_repeat_range.
+ */
+ __u64 bo_repeat_range;
};
/**
@@ -638,6 +714,15 @@ struct drm_panthor_vm_get_state {
enum drm_panthor_bo_flags {
/** @DRM_PANTHOR_BO_NO_MMAP: The buffer object will never be CPU-mapped in userspace. */
DRM_PANTHOR_BO_NO_MMAP = (1 << 0),
+
+ /**
+ * @DRM_PANTHOR_BO_WB_MMAP: Force "Write-Back Cacheable" CPU mapping.
+ *
+ * CPU map the buffer object in userspace by forcing the "Write-Back
+ * Cacheable" cacheability attribute. The mapping otherwise uses the
+ * "Non-Cacheable" attribute if the GPU is not IO coherent.
+ */
+ DRM_PANTHOR_BO_WB_MMAP = (1 << 1),
};
/**
@@ -1040,6 +1125,101 @@ struct drm_panthor_set_user_mmio_offset {
__u64 offset;
};
+/**
+ * enum drm_panthor_bo_sync_op_type - BO sync type
+ */
+enum drm_panthor_bo_sync_op_type {
+ /** @DRM_PANTHOR_BO_SYNC_CPU_CACHE_FLUSH: Flush CPU caches. */
+ DRM_PANTHOR_BO_SYNC_CPU_CACHE_FLUSH = 0,
+
+ /** @DRM_PANTHOR_BO_SYNC_CPU_CACHE_FLUSH_AND_INVALIDATE: Flush and invalidate CPU caches. */
+ DRM_PANTHOR_BO_SYNC_CPU_CACHE_FLUSH_AND_INVALIDATE = 1,
+};
+
+/**
+ * struct drm_panthor_bo_sync_op - BO map sync op
+ */
+struct drm_panthor_bo_sync_op {
+ /** @handle: Handle of the buffer object to sync. */
+ __u32 handle;
+
+ /** @type: Type of operation. */
+ __u32 type;
+
+ /**
+ * @offset: Offset into the BO at which the sync range starts.
+ *
+ * This will be rounded down to the nearest cache line as needed.
+ */
+ __u64 offset;
+
+ /**
+ * @size: Size of the range to sync
+ *
+ * @size + @offset will be rounded up to the nearest cache line as
+ * needed.
+ */
+ __u64 size;
+};
+
+/**
+ * struct drm_panthor_bo_sync - BO map sync request
+ */
+struct drm_panthor_bo_sync {
+ /**
+ * @ops: Array of struct drm_panthor_bo_sync_op sync operations.
+ */
+ struct drm_panthor_obj_array ops;
+};
+
+/**
+ * enum drm_panthor_bo_extra_flags - Set of flags returned on a BO_QUERY_INFO request
+ *
+ * Those are flags reflecting BO properties that are not directly coming from the flags
+ * passed are creation time, or information on BOs that were imported from other drivers.
+ */
+enum drm_panthor_bo_extra_flags {
+ /**
+ * @DRM_PANTHOR_BO_IS_IMPORTED: BO has been imported from an external driver.
+ *
+ * Note that imported dma-buf handles are not flagged as imported if they
+ * where exported by panthor. Only buffers that are coming from other drivers
+ * (dma heaps, other GPUs, display controllers, V4L, ...).
+ *
+ * It's also important to note that all imported BOs are mapped cached and can't
+ * be considered IO-coherent even if the GPU is. This means they require explicit
+ * syncs that must go through the DRM_PANTHOR_BO_SYNC ioctl (userland cache
+ * maintenance is not allowed in that case, because extra operations might be
+ * needed to make changes visible to the CPU/device, like buffer migration when the
+ * exporter is a GPU with its own VRAM).
+ */
+ DRM_PANTHOR_BO_IS_IMPORTED = (1 << 0),
+};
+
+/**
+ * struct drm_panthor_bo_query_info - Query BO info
+ */
+struct drm_panthor_bo_query_info {
+ /** @handle: Handle of the buffer object to query flags on. */
+ __u32 handle;
+
+ /**
+ * @extra_flags: Combination of enum drm_panthor_bo_extra_flags flags.
+ */
+ __u32 extra_flags;
+
+ /**
+ * @create_flags: Flags passed at creation time.
+ *
+ * Combination of enum drm_panthor_bo_flags flags.
+ * Will be zero if the buffer comes from a different driver.
+ */
+ __u32 create_flags;
+
+ /** @pad: Will be zero on return. */
+ __u32 pad;
+};
+
/**
* DRM_IOCTL_PANTHOR() - Build a Panthor IOCTL number
* @__access: Access type. Must be R, W or RW.
@@ -1086,6 +1266,10 @@ enum {
DRM_IOCTL_PANTHOR(WR, BO_SET_LABEL, bo_set_label),
DRM_IOCTL_PANTHOR_SET_USER_MMIO_OFFSET =
DRM_IOCTL_PANTHOR(WR, SET_USER_MMIO_OFFSET, set_user_mmio_offset),
+ DRM_IOCTL_PANTHOR_BO_SYNC =
+ DRM_IOCTL_PANTHOR(WR, BO_SYNC, bo_sync),
+ DRM_IOCTL_PANTHOR_BO_QUERY_INFO =
+ DRM_IOCTL_PANTHOR(WR, BO_QUERY_INFO, bo_query_info),
};
#if defined(__cplusplus)
--
2.53.0
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v1 2/4] panthor: Move issue_store_multiple into library file
2026-03-13 17:58 [PATCH v1 0/4] Test panthor repeated mappings Adrián Larumbe
2026-03-13 17:58 ` [PATCH v1 1/4] drm-uapi/panthor: Sync panthor uapi Adrián Larumbe
@ 2026-03-13 17:58 ` Adrián Larumbe
2026-03-13 17:58 ` [PATCH v1 3/4] test/panthor: Add support for repeated mappings Adrián Larumbe
` (4 subsequent siblings)
6 siblings, 0 replies; 9+ messages in thread
From: Adrián Larumbe @ 2026-03-13 17:58 UTC (permalink / raw)
To: igt-dev, Petri Latvala, Arkadiusz Hiler, Kamil Konieczny,
Juha-Pekka Heikkila, Bhanuprakash Modem
Cc: Boris Brezillon, Steven Price, Liviu Dudau, Adrián Larumbe,
Daniel Almeida, Janne Grunau, Danilo Krummrich, kernel
Goal of this move is making it available for other test groups.
Signed-off-by: Adrián Larumbe <adrian.larumbe@collabora.com>
---
lib/igt_panthor.c | 38 +++++++++++++++++++++++++++++++++++
lib/igt_panthor.h | 1 +
tests/panthor/panthor_group.c | 34 +++----------------------------
3 files changed, 42 insertions(+), 31 deletions(-)
diff --git a/lib/igt_panthor.c b/lib/igt_panthor.c
index 49b427d4f162..3c96a40b7c45 100644
--- a/lib/igt_panthor.c
+++ b/lib/igt_panthor.c
@@ -371,3 +371,41 @@ void igt_panthor_free_bo(int fd, struct panthor_bo *bo)
gem_close(fd, bo->handle);
}
+
+/**
+ * igt_panthor_issue_store_multiple:
+ * @cs: command stream kernel VA
+ * @device_va: device virtual address for the store instruction
+ * @constant: immediate operand value to embedded in store instruction
+ *
+ * Perform an immediate operand store in the VA of device_va
+ */
+size_t
+igt_panthor_issue_store_multiple(uint8_t *cs, uint64_t device_va, uint32_t constant)
+{
+ const uint8_t kernel_va_reg = 68;
+ const uint8_t constant_reg = 70;
+ uint64_t instrs[] = {
+ /* MOV48: Load the source register ([r68; r69]) with the kernel address */
+ cs_mov48(kernel_va_reg, device_va),
+ /* MOV32: Load a known constant into r70 */
+ cs_mov32(constant_reg, constant),
+ /* STORE_MULTIPLE: Store the first register to the address pointed
+ * to by [r68; r69]
+ */
+ cs_stm32(kernel_va_reg, constant_reg, 0),
+ /* FLUSH all Wait for all cores */
+ cs_wait(0xff, false),
+ /* MOV32: Clear r70 to 0 */
+ cs_mov32(constant_reg, 0),
+ /* FLUSH_CACHE: Clean and invalidate all caches */
+ cs_flush(CS_FLUSH_MODE_CLEAN_AND_INVALIDATE,
+ CS_FLUSH_MODE_CLEAN_AND_INVALIDATE,
+ CS_FLUSH_MODE_INVALIDATE,
+ 0, constant_reg, 1),
+ cs_wait(0xff, false),
+ };
+
+ memcpy(cs, instrs, sizeof(instrs));
+ return sizeof(instrs);
+}
diff --git a/lib/igt_panthor.h b/lib/igt_panthor.h
index 97a2b749707d..a4756e8e88ab 100644
--- a/lib/igt_panthor.h
+++ b/lib/igt_panthor.h
@@ -37,6 +37,7 @@ void igt_panthor_group_submit_simple(int fd, uint32_t group_handle,
uint32_t stream_size, uint32_t syncobj_handle,
int err);
uint64_t igt_panthor_get_first_core(uint64_t cores_present);
+size_t igt_panthor_issue_store_multiple(uint8_t *cs, uint64_t device_va, uint32_t constant);
static inline void igt_panthor_vm_bind(int fd, uint32_t vm_id, uint32_t bo_handle,
uint64_t va, uint64_t size, uint32_t flags, int err)
diff --git a/tests/panthor/panthor_group.c b/tests/panthor/panthor_group.c
index 13636e60c0e7..f2058c59786c 100644
--- a/tests/panthor/panthor_group.c
+++ b/tests/panthor/panthor_group.c
@@ -10,36 +10,6 @@
#include "igt_syncobj.h"
#include "panthor_drm.h"
-static size_t
-issue_store_multiple(uint8_t *cs, uint64_t kernel_va, uint32_t constant)
-{
- const uint8_t kernel_va_reg = 68;
- const uint8_t constant_reg = 70;
- uint64_t instrs[] = {
- /* MOV48: Load the source register ([r68; r69]) with the kernel address */
- cs_mov48(kernel_va_reg, kernel_va),
- /* MOV32: Load a known constant into r70 */
- cs_mov32(constant_reg, constant),
- /* STORE_MULTIPLE: Store the first register to the address pointed
- * to by [r68; r69]
- */
- cs_stm32(kernel_va_reg, constant_reg, 0),
- /* FLUSH all Wait for all cores */
- cs_wait(0xff, false),
- /* MOV32: Clear r70 to 0 */
- cs_mov32(constant_reg, 0),
- /* FLUSH_CACHE: Clean and invalidate all caches */
- cs_flush(CS_FLUSH_MODE_CLEAN_AND_INVALIDATE,
- CS_FLUSH_MODE_CLEAN_AND_INVALIDATE,
- CS_FLUSH_MODE_INVALIDATE,
- 0, constant_reg, 1),
- cs_wait(0xff, false),
- };
-
- memcpy(cs, instrs, sizeof(instrs));
- return sizeof(instrs);
-}
-
int igt_main() {
int fd;
@@ -94,7 +64,9 @@ int igt_main() {
result_bo.size, DRM_PANTHOR_VM_BIND_OP_TYPE_MAP, 0);
result_gpu_addr = INITIAL_VA + 4096;
- command_stream_size = issue_store_multiple(cmd_buf_bo.map, result_gpu_addr, 0xdeadbeef);
+ command_stream_size = igt_panthor_issue_store_multiple(cmd_buf_bo.map,
+ result_gpu_addr,
+ 0xdeadbeef);
group_handle = igt_panthor_group_create_simple(fd, vm_id, 0);
igt_assert_neq(group_handle, 0);
--
2.53.0
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v1 3/4] test/panthor: Add support for repeated mappings
2026-03-13 17:58 [PATCH v1 0/4] Test panthor repeated mappings Adrián Larumbe
2026-03-13 17:58 ` [PATCH v1 1/4] drm-uapi/panthor: Sync panthor uapi Adrián Larumbe
2026-03-13 17:58 ` [PATCH v1 2/4] panthor: Move issue_store_multiple into library file Adrián Larumbe
@ 2026-03-13 17:58 ` Adrián Larumbe
2026-03-13 17:58 ` [PATCH v1 4/4] tests/panthor: Add VM_BIND repeat tests Adrián Larumbe
` (3 subsequent siblings)
6 siblings, 0 replies; 9+ messages in thread
From: Adrián Larumbe @ 2026-03-13 17:58 UTC (permalink / raw)
To: igt-dev, Petri Latvala, Arkadiusz Hiler, Kamil Konieczny,
Juha-Pekka Heikkila, Bhanuprakash Modem
Cc: Boris Brezillon, Steven Price, Liviu Dudau, Adrián Larumbe,
Daniel Almeida, Janne Grunau, Danilo Krummrich, kernel
Reflect this in the IGT function interface for VM_BIND.
Signed-off-by: Adrián Larumbe <adrian.larumbe@collabora.com>
---
lib/igt_panthor.c | 4 +++-
lib/igt_panthor.h | 12 ++++++++++--
tests/panthor/panthor_vm.c | 3 ++-
3 files changed, 15 insertions(+), 4 deletions(-)
diff --git a/lib/igt_panthor.c b/lib/igt_panthor.c
index 3c96a40b7c45..6e231c10ec73 100644
--- a/lib/igt_panthor.c
+++ b/lib/igt_panthor.c
@@ -235,7 +235,8 @@ void igt_panthor_vm_destroy(int fd, uint32_t vm_id, int err)
* Bind a buffer object to a virtual address in the specified VM.
*/
void igt_panthor_vm_bind_offset(int fd, uint32_t vm_id, uint32_t bo_handle, uint64_t va,
- uint64_t size, uint64_t offset, uint32_t flags, int err)
+ uint64_t size, uint64_t offset, uint32_t flags, int err,
+ uint64_t repeat)
{
struct drm_panthor_vm_bind_op bind_op = {
.flags = flags,
@@ -243,6 +244,7 @@ void igt_panthor_vm_bind_offset(int fd, uint32_t vm_id, uint32_t bo_handle, uint
.bo_offset = offset,
.va = va,
.size = size,
+ .bo_repeat_range = repeat,
};
struct drm_panthor_vm_bind vm_bind = {
diff --git a/lib/igt_panthor.h b/lib/igt_panthor.h
index a4756e8e88ab..02ff79083161 100644
--- a/lib/igt_panthor.h
+++ b/lib/igt_panthor.h
@@ -20,7 +20,8 @@ void igt_panthor_query(int fd, int32_t type, void *data, size_t size, int err);
void igt_panthor_vm_create(int fd, uint32_t *vm_id, int err);
void igt_panthor_vm_destroy(int fd, uint32_t vm_id, int err);
void igt_panthor_vm_bind_offset(int fd, uint32_t vm_id, uint32_t bo_handle, uint64_t va,
- uint64_t size, uint64_t ofsfet, uint32_t flags, int err);
+ uint64_t size, uint64_t ofsfet, uint32_t flags, int err,
+ uint64_t repeat);
void igt_panthor_bo_create(int fd, struct panthor_bo *bo, uint64_t size, uint32_t flags, int err);
uint64_t igt_panthor_bo_mmap_offset(int fd, uint32_t handle, int err);
void igt_panthor_free_bo(int fd, struct panthor_bo *bo);
@@ -42,7 +43,14 @@ size_t igt_panthor_issue_store_multiple(uint8_t *cs, uint64_t device_va, uint32_
static inline void igt_panthor_vm_bind(int fd, uint32_t vm_id, uint32_t bo_handle,
uint64_t va, uint64_t size, uint32_t flags, int err)
{
- igt_panthor_vm_bind_offset(fd, vm_id, bo_handle, va, size, 0, flags, err);
+ igt_panthor_vm_bind_offset(fd, vm_id, bo_handle, va, size, 0, flags, err, 0);
+}
+
+static inline void igt_panthor_vm_bind_repeat(int fd, uint32_t vm_id, uint32_t bo_handle,
+ uint64_t va, uint64_t size, uint32_t flags, int err,
+ uint64_t repeat)
+{
+ igt_panthor_vm_bind_offset(fd, vm_id, bo_handle, va, size, 0, flags, err, repeat);
}
enum cs_opcode {
diff --git a/tests/panthor/panthor_vm.c b/tests/panthor/panthor_vm.c
index 76a669843f5c..bbd5fe94d0e0 100644
--- a/tests/panthor/panthor_vm.c
+++ b/tests/panthor/panthor_vm.c
@@ -4,6 +4,7 @@
#include "igt.h"
#include "igt_core.h"
#include "igt_panthor.h"
+#include "igt_syncobj.h"
#include "panthor_drm.h"
int igt_main() {
@@ -146,7 +147,7 @@ int igt_main() {
igt_panthor_bo_create(fd, &bo, bo_size, 0, 0);
igt_panthor_vm_bind_offset(fd, vm_id, bo.handle, 0x200000,
- SZ_4M, SZ_2M, DRM_PANTHOR_VM_BIND_OP_TYPE_MAP, 0);
+ SZ_4M, SZ_2M, DRM_PANTHOR_VM_BIND_OP_TYPE_MAP, 0, 0);
igt_panthor_vm_bind(fd, vm_id, 0, 0x200000, bo_size,
DRM_PANTHOR_VM_BIND_OP_TYPE_UNMAP, 0);
--
2.53.0
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v1 4/4] tests/panthor: Add VM_BIND repeat tests
2026-03-13 17:58 [PATCH v1 0/4] Test panthor repeated mappings Adrián Larumbe
` (2 preceding siblings ...)
2026-03-13 17:58 ` [PATCH v1 3/4] test/panthor: Add support for repeated mappings Adrián Larumbe
@ 2026-03-13 17:58 ` Adrián Larumbe
2026-03-13 18:28 ` ✓ Xe.CI.BAT: success for Test panthor repeated mappings Patchwork
` (2 subsequent siblings)
6 siblings, 0 replies; 9+ messages in thread
From: Adrián Larumbe @ 2026-03-13 17:58 UTC (permalink / raw)
To: igt-dev, Petri Latvala, Arkadiusz Hiler, Kamil Konieczny,
Juha-Pekka Heikkila, Bhanuprakash Modem
Cc: Boris Brezillon, Steven Price, Liviu Dudau, Adrián Larumbe,
Daniel Almeida, Janne Grunau, Danilo Krummrich, kernel
In a separate file for the time being, but should eventually be
incorporated into panthor_vm.c.
Signed-off-by: Adrián Larumbe <adrian.larumbe@collabora.com>
---
tests/panthor/meson.build | 1 +
tests/panthor/panthor_vm_repeat.c | 555 ++++++++++++++++++++++++++++++
2 files changed, 556 insertions(+)
create mode 100644 tests/panthor/panthor_vm_repeat.c
diff --git a/tests/panthor/meson.build b/tests/panthor/meson.build
index 42a46e9934a9..fe5220b88430 100644
--- a/tests/panthor/meson.build
+++ b/tests/panthor/meson.build
@@ -3,6 +3,7 @@ panthor_progs = [
'panthor_group',
'panthor_query',
'panthor_vm',
+ 'panthor_vm_repeat',
]
foreach prog : panthor_progs
diff --git a/tests/panthor/panthor_vm_repeat.c b/tests/panthor/panthor_vm_repeat.c
new file mode 100644
index 000000000000..13a0e4f4b356
--- /dev/null
+++ b/tests/panthor/panthor_vm_repeat.c
@@ -0,0 +1,555 @@
+// SPDX-License-Identifier: MIT
+// SPDX-FileCopyrightText: Copyright (C) 2025 Collabora Ltd.
+
+#include "igt.h"
+#include "igt_core.h"
+#include "igt_panthor.h"
+#include "igt_syncobj.h"
+#include "panthor_drm.h"
+
+int
+igt_main()
+{
+ int fd;
+
+ igt_fixture() {
+ fd = drm_open_driver(DRIVER_PANTHOR);
+ }
+
+ igt_describe("Create and destroy a VM");
+ igt_subtest("vm_create_destroy") {
+ uint32_t vm_id;
+
+ igt_panthor_vm_create(fd, &vm_id, 0);
+ igt_assert_neq(vm_id, 0);
+
+ igt_panthor_vm_destroy(fd, vm_id, 0);
+ }
+
+ igt_subtest("vm_bind_repeat") {
+ uint32_t vm_id;
+ struct panthor_bo bo;
+ uint64_t bo_size = SZ_4K;
+ uint64_t map_size = SZ_4K * 4;
+
+ igt_panthor_vm_create(fd, &vm_id, 0);
+ igt_assert(vm_id != 0);
+
+ igt_panthor_bo_create(fd, &bo, bo_size, 0, 0);
+ igt_panthor_vm_bind_repeat(fd, vm_id, bo.handle, SZ_2M,
+ map_size,
+ DRM_PANTHOR_VM_BIND_OP_TYPE_MAP |
+ DRM_PANTHOR_VM_BIND_OP_MAP_REPEAT, 0,
+ bo_size);
+ igt_panthor_vm_destroy(fd, vm_id, 0);
+ }
+
+ igt_subtest("vm_bind_repeat_write") {
+ uint32_t vm_id;
+ uint32_t group_handle;
+ struct panthor_bo cmd_buf_bo = { };
+ struct panthor_bo result_bo = { };
+ uint64_t command_stream_gpu_addr;
+ uint32_t command_stream_size;
+ uint64_t result_gpu_addr;
+ uint32_t syncobj_handle;
+ const int INITIAL_VA_CS = 0x1000000;
+ const int INITIAL_VA = 0x2000000;
+ const uint64_t map_size = SZ_4K * 4;
+ const uint64_t repeat_bo_size = SZ_4K;
+
+ igt_panthor_vm_create(fd, &vm_id, 0);
+
+ igt_panthor_bo_create_mapped(fd, &cmd_buf_bo, 4096, 0, 0);
+ igt_panthor_vm_bind(fd, vm_id, cmd_buf_bo.handle, INITIAL_VA_CS,
+ cmd_buf_bo.size,
+ DRM_PANTHOR_VM_BIND_OP_TYPE_MAP, 0);
+ command_stream_gpu_addr = INITIAL_VA_CS;
+
+ /* Create the BO to receive the result of the store. */
+ igt_panthor_bo_create_mapped(fd, &result_bo, repeat_bo_size, 0,
+ 0);
+ /* Also bind the result BO. */
+ igt_panthor_vm_bind_repeat(fd, vm_id, result_bo.handle,
+ INITIAL_VA, map_size,
+ DRM_PANTHOR_VM_BIND_OP_TYPE_MAP |
+ DRM_PANTHOR_VM_BIND_OP_MAP_REPEAT, 0,
+ repeat_bo_size);
+ result_gpu_addr = INITIAL_VA;
+
+ command_stream_size =
+ igt_panthor_issue_store_multiple(cmd_buf_bo.map,
+ result_gpu_addr,
+ 0xdeadbeef);
+
+ group_handle = igt_panthor_group_create_simple(fd, vm_id, 0);
+ igt_assert_neq(group_handle, 0);
+ syncobj_handle = syncobj_create(fd, 0);
+
+ igt_panthor_group_submit_simple(fd, group_handle, 0,
+ command_stream_gpu_addr,
+ command_stream_size,
+ syncobj_handle, 0);
+
+ igt_assert(syncobj_wait
+ (fd, &syncobj_handle, 1, INT64_MAX, 0, NULL));
+
+ igt_assert_eq(*(uint32_t *)result_bo.map, 0xdeadbeef);
+
+ syncobj_destroy(fd, syncobj_handle);
+
+ result_gpu_addr = INITIAL_VA + 2 * SZ_4K;
+ command_stream_size =
+ igt_panthor_issue_store_multiple(cmd_buf_bo.map,
+ result_gpu_addr,
+ 0xdeadbaaf);
+ syncobj_handle = syncobj_create(fd, 0);
+ igt_panthor_group_submit_simple(fd, group_handle, 0,
+ command_stream_gpu_addr,
+ command_stream_size,
+ syncobj_handle, 0);
+ igt_assert(syncobj_wait
+ (fd, &syncobj_handle, 1, INT64_MAX, 0, NULL));
+ igt_assert_eq(*(uint32_t *)result_bo.map, 0xdeadbaaf);
+ syncobj_destroy(fd, syncobj_handle);
+
+ igt_panthor_group_destroy(fd, group_handle, 0);
+
+ igt_panthor_vm_destroy(fd, vm_id, 0);
+
+ igt_panthor_free_bo(fd, &cmd_buf_bo);
+ igt_panthor_free_bo(fd, &result_bo);
+ }
+
+ igt_subtest("vm_bind_repeat_partial_unmap_start_size_unaligned") {
+ uint32_t vm_id;
+ struct panthor_bo bo;
+ const uint64_t repeat_bo_size = SZ_2M;
+ uint64_t map_size = repeat_bo_size * 3;
+ const int INITIAL_VA = SZ_4M;
+
+ igt_panthor_vm_create(fd, &vm_id, 0);
+ igt_assert(vm_id != 0);
+
+ igt_panthor_bo_create(fd, &bo, repeat_bo_size, 0, 0);
+ igt_panthor_vm_bind_repeat(fd, vm_id, bo.handle, INITIAL_VA,
+ map_size,
+ DRM_PANTHOR_VM_BIND_OP_TYPE_MAP |
+ DRM_PANTHOR_VM_BIND_OP_MAP_REPEAT, 0,
+ repeat_bo_size);
+ igt_panthor_vm_bind(fd, vm_id, 0, INITIAL_VA, SZ_4K * 2,
+ DRM_PANTHOR_VM_BIND_OP_TYPE_UNMAP, EINVAL);
+ igt_panthor_vm_destroy(fd, vm_id, 0);
+ }
+
+ igt_subtest("vm_bind_repeat_partial_unmap_start_size_aligned") {
+ uint32_t vm_id;
+ struct panthor_bo bo;
+ const uint64_t repeat_bo_size = SZ_2M;
+ uint64_t map_size = repeat_bo_size * 3;
+ const int INITIAL_VA = SZ_4M;
+
+ igt_panthor_vm_create(fd, &vm_id, 0);
+ igt_assert(vm_id != 0);
+
+ igt_panthor_bo_create(fd, &bo, repeat_bo_size, 0, 0);
+ igt_panthor_vm_bind_repeat(fd, vm_id, bo.handle, INITIAL_VA,
+ map_size,
+ DRM_PANTHOR_VM_BIND_OP_TYPE_MAP |
+ DRM_PANTHOR_VM_BIND_OP_MAP_REPEAT, 0,
+ repeat_bo_size);
+ igt_panthor_vm_bind(fd, vm_id, 0, INITIAL_VA, repeat_bo_size,
+ DRM_PANTHOR_VM_BIND_OP_TYPE_UNMAP, 0);
+ igt_panthor_vm_destroy(fd, vm_id, 0);
+ }
+
+ igt_subtest
+ ("vm_bind_repeat_partial_unmap_start_size_unaligned_no_gpupage_multiple") {
+ uint32_t vm_id;
+ struct panthor_bo bo;
+ const uint64_t repeat_bo_size = SZ_2M;
+ uint64_t map_size = repeat_bo_size * 3;
+ const int INITIAL_VA = SZ_4M;
+
+ igt_panthor_vm_create(fd, &vm_id, 0);
+ igt_assert(vm_id != 0);
+
+ igt_panthor_bo_create(fd, &bo, repeat_bo_size, 0, 0);
+ igt_panthor_vm_bind_repeat(fd, vm_id, bo.handle, INITIAL_VA,
+ map_size,
+ DRM_PANTHOR_VM_BIND_OP_TYPE_MAP |
+ DRM_PANTHOR_VM_BIND_OP_MAP_REPEAT, 0,
+ repeat_bo_size);
+ igt_panthor_vm_bind(fd, vm_id, 0, INITIAL_VA, 4 * SZ_64K,
+ DRM_PANTHOR_VM_BIND_OP_TYPE_UNMAP, EINVAL);
+ igt_panthor_vm_destroy(fd, vm_id, 0);
+ }
+
+ igt_subtest("vm_bind_repeat_partial_unmap_below_start") {
+ uint32_t vm_id;
+ struct panthor_bo bo;
+ const uint64_t repeat_bo_size = SZ_2M;
+ uint64_t map_size = repeat_bo_size * 3;
+ const int INITIAL_VA = SZ_4M;
+
+ igt_panthor_vm_create(fd, &vm_id, 0);
+ igt_assert(vm_id != 0);
+
+ igt_panthor_bo_create(fd, &bo, repeat_bo_size, 0, 0);
+ igt_panthor_vm_bind_repeat(fd, vm_id, bo.handle, INITIAL_VA,
+ map_size,
+ DRM_PANTHOR_VM_BIND_OP_TYPE_MAP |
+ DRM_PANTHOR_VM_BIND_OP_MAP_REPEAT, 0,
+ repeat_bo_size);
+ igt_panthor_vm_bind(fd, vm_id, 0, INITIAL_VA - repeat_bo_size,
+ repeat_bo_size * 3,
+ DRM_PANTHOR_VM_BIND_OP_TYPE_UNMAP, 0);
+ igt_panthor_vm_destroy(fd, vm_id, 0);
+ }
+
+ igt_subtest("vm_bind_repeat_partial_unmap_above_start") {
+ uint32_t vm_id;
+ struct panthor_bo bo;
+ const uint64_t repeat_bo_size = SZ_2M;
+ uint64_t map_size = repeat_bo_size * 3;
+ const int INITIAL_VA = SZ_4M;
+
+ igt_panthor_vm_create(fd, &vm_id, 0);
+ igt_assert(vm_id != 0);
+
+ igt_panthor_bo_create(fd, &bo, repeat_bo_size, 0, 0);
+ igt_panthor_vm_bind_repeat(fd, vm_id, bo.handle, INITIAL_VA,
+ map_size,
+ DRM_PANTHOR_VM_BIND_OP_TYPE_MAP |
+ DRM_PANTHOR_VM_BIND_OP_MAP_REPEAT, 0,
+ repeat_bo_size);
+ igt_panthor_vm_bind(fd, vm_id, 0, INITIAL_VA + repeat_bo_size,
+ repeat_bo_size,
+ DRM_PANTHOR_VM_BIND_OP_TYPE_UNMAP, 0);
+ igt_panthor_vm_destroy(fd, vm_id, 0);
+ }
+
+ igt_subtest("vm_bind_repeat_remap") {
+ uint32_t vm_id;
+ struct panthor_bo bo;
+ struct panthor_bo bo2;
+ const uint64_t repeat_bo_size = SZ_2M;
+ uint64_t map_size = repeat_bo_size * 3;
+ const int INITIAL_VA = SZ_4M;
+
+ igt_panthor_vm_create(fd, &vm_id, 0);
+ igt_assert(vm_id != 0);
+
+ igt_panthor_bo_create(fd, &bo, repeat_bo_size, 0, 0);
+ igt_panthor_vm_bind_repeat(fd, vm_id, bo.handle, INITIAL_VA,
+ map_size,
+ DRM_PANTHOR_VM_BIND_OP_TYPE_MAP |
+ DRM_PANTHOR_VM_BIND_OP_MAP_REPEAT, 0,
+ repeat_bo_size);
+ igt_panthor_bo_create(fd, &bo2, SZ_8M, 0, 0);
+
+ /* Now attempt normal VM_BIND's that intersect with the previous chunk */
+
+ igt_panthor_vm_bind(fd, vm_id, bo2.handle,
+ INITIAL_VA + repeat_bo_size,
+ repeat_bo_size * 2,
+ DRM_PANTHOR_VM_BIND_OP_TYPE_MAP, 0);
+
+ igt_panthor_vm_destroy(fd, vm_id, 0);
+ }
+
+ igt_subtest("vm_bind_repeat_remap_start_unaligned") {
+ uint32_t vm_id;
+ struct panthor_bo bo;
+ struct panthor_bo bo2;
+ const uint64_t repeat_bo_size = SZ_2M;
+ uint64_t map_size = repeat_bo_size * 3;
+ const int INITIAL_VA = SZ_4M;
+
+ igt_panthor_vm_create(fd, &vm_id, 0);
+ igt_assert(vm_id != 0);
+
+ igt_panthor_bo_create(fd, &bo, repeat_bo_size, 0, 0);
+ igt_panthor_vm_bind_repeat(fd, vm_id, bo.handle, INITIAL_VA,
+ map_size,
+ DRM_PANTHOR_VM_BIND_OP_TYPE_MAP |
+ DRM_PANTHOR_VM_BIND_OP_MAP_REPEAT, 0,
+ repeat_bo_size);
+ igt_panthor_bo_create(fd, &bo2, SZ_8M, 0, 0);
+
+ /* Now attempt normal VM_BIND's that intersect with the previous chunk */
+
+ igt_panthor_vm_bind(fd, vm_id, bo2.handle,
+ INITIAL_VA + map_size - SZ_1M, SZ_4M,
+ DRM_PANTHOR_VM_BIND_OP_TYPE_MAP, EINVAL);
+
+ igt_panthor_vm_destroy(fd, vm_id, 0);
+ }
+
+ igt_subtest("vm_bind_repeat_remap_start_size_unaligned") {
+ uint32_t vm_id;
+ struct panthor_bo bo;
+ struct panthor_bo bo2;
+ const uint64_t repeat_bo_size = SZ_2M;
+ uint64_t map_size = repeat_bo_size * 3;
+ const int INITIAL_VA = SZ_4M;
+
+ igt_panthor_vm_create(fd, &vm_id, 0);
+ igt_assert(vm_id != 0);
+
+ igt_panthor_bo_create(fd, &bo, repeat_bo_size, 0, 0);
+ igt_panthor_vm_bind_repeat(fd, vm_id, bo.handle, INITIAL_VA,
+ map_size,
+ DRM_PANTHOR_VM_BIND_OP_TYPE_MAP |
+ DRM_PANTHOR_VM_BIND_OP_MAP_REPEAT, 0,
+ repeat_bo_size);
+ igt_panthor_bo_create(fd, &bo2, SZ_8M, 0, 0);
+
+ /* Now attempt normal VM_BIND's that intersect with the previous chunk */
+
+ igt_panthor_vm_bind(fd, vm_id, bo2.handle,
+ INITIAL_VA + map_size - SZ_1M, SZ_1M,
+ DRM_PANTHOR_VM_BIND_OP_TYPE_MAP, EINVAL);
+
+ igt_panthor_vm_destroy(fd, vm_id, 0);
+ }
+
+ igt_subtest("vm_bind_repeat_remap_start_size_aligned") {
+ uint32_t vm_id;
+ struct panthor_bo bo;
+ struct panthor_bo bo2;
+ const uint64_t repeat_bo_size = SZ_2M;
+ uint64_t map_size = repeat_bo_size * 3;
+ const int INITIAL_VA = SZ_4M;
+
+ igt_panthor_vm_create(fd, &vm_id, 0);
+ igt_assert(vm_id != 0);
+
+ igt_panthor_bo_create(fd, &bo, repeat_bo_size, 0, 0);
+ igt_panthor_vm_bind_repeat(fd, vm_id, bo.handle, INITIAL_VA,
+ map_size,
+ DRM_PANTHOR_VM_BIND_OP_TYPE_MAP |
+ DRM_PANTHOR_VM_BIND_OP_MAP_REPEAT, 0,
+ repeat_bo_size);
+
+ igt_panthor_bo_create(fd, &bo2, SZ_8M, 0, 0);
+
+ /* Now attempt normal VM_BIND's that intersect with the previous chunk */
+
+ igt_panthor_vm_bind(fd, vm_id, bo2.handle,
+ INITIAL_VA + map_size - SZ_2M, SZ_4M,
+ DRM_PANTHOR_VM_BIND_OP_TYPE_MAP, 0);
+
+ igt_panthor_vm_destroy(fd, vm_id, 0);
+ }
+
+ igt_subtest("vm_bind_repeat_remap_aligned_split_original_va") {
+ uint32_t vm_id;
+ struct panthor_bo bo;
+ struct panthor_bo bo2;
+ const uint64_t repeat_bo_size = SZ_2M;
+ uint64_t map_size = repeat_bo_size * 3;
+ const int INITIAL_VA = SZ_4M;
+
+ igt_panthor_vm_create(fd, &vm_id, 0);
+ igt_assert(vm_id != 0);
+
+ igt_panthor_bo_create(fd, &bo, repeat_bo_size, 0, 0);
+ igt_panthor_vm_bind_repeat(fd, vm_id, bo.handle, INITIAL_VA,
+ map_size,
+ DRM_PANTHOR_VM_BIND_OP_TYPE_MAP |
+ DRM_PANTHOR_VM_BIND_OP_MAP_REPEAT, 0,
+ repeat_bo_size);
+
+ igt_panthor_bo_create(fd, &bo2, SZ_8M, 0, 0);
+
+ /* Now attempt normal VM_BIND's that intersect with the previous chunk */
+
+ igt_panthor_vm_bind(fd, vm_id, bo2.handle,
+ INITIAL_VA + repeat_bo_size, repeat_bo_size,
+ DRM_PANTHOR_VM_BIND_OP_TYPE_MAP, 0);
+
+ igt_panthor_vm_destroy(fd, vm_id, 0);
+ }
+
+ igt_subtest("vm_bind_repeat_remap_start_aligned_size_unaligned") {
+ uint32_t vm_id;
+ struct panthor_bo bo;
+ struct panthor_bo bo2;
+ const uint64_t repeat_bo_size = SZ_2M;
+ uint64_t map_size = repeat_bo_size * 3;
+ const int INITIAL_VA = SZ_4M;
+
+ igt_panthor_vm_create(fd, &vm_id, 0);
+ igt_assert(vm_id != 0);
+
+ igt_panthor_bo_create(fd, &bo, repeat_bo_size, 0, 0);
+ igt_panthor_vm_bind_repeat(fd, vm_id, bo.handle, INITIAL_VA,
+ map_size,
+ DRM_PANTHOR_VM_BIND_OP_TYPE_MAP |
+ DRM_PANTHOR_VM_BIND_OP_MAP_REPEAT, 0,
+ repeat_bo_size);
+
+ igt_panthor_bo_create(fd, &bo2, SZ_8M, 0, 0);
+
+ /* Now attempt normal VM_BIND's that intersect with the previous chunk */
+
+ igt_panthor_vm_bind(fd, vm_id, bo2.handle,
+ INITIAL_VA + repeat_bo_size, SZ_1M,
+ DRM_PANTHOR_VM_BIND_OP_TYPE_MAP, EINVAL);
+
+ igt_panthor_vm_destroy(fd, vm_id, 0);
+ }
+
+ igt_subtest("vm_bind_repeat_remap_aligned_intersect_left") {
+ uint32_t vm_id;
+ struct panthor_bo bo;
+ struct panthor_bo bo2;
+ const uint64_t repeat_bo_size = SZ_2M;
+ uint64_t map_size = repeat_bo_size * 3;
+ const int INITIAL_VA = SZ_4M;
+
+ igt_panthor_vm_create(fd, &vm_id, 0);
+ igt_assert(vm_id != 0);
+
+ igt_panthor_bo_create(fd, &bo, repeat_bo_size, 0, 0);
+ igt_panthor_vm_bind_repeat(fd, vm_id, bo.handle, INITIAL_VA,
+ map_size,
+ DRM_PANTHOR_VM_BIND_OP_TYPE_MAP |
+ DRM_PANTHOR_VM_BIND_OP_MAP_REPEAT, 0,
+ repeat_bo_size);
+
+ igt_panthor_bo_create(fd, &bo2, SZ_8M, 0, 0);
+
+ /* Now attempt normal VM_BIND's that intersect with the previous chunk */
+
+ igt_panthor_vm_bind(fd, vm_id, bo2.handle,
+ INITIAL_VA - repeat_bo_size,
+ repeat_bo_size * 2,
+ DRM_PANTHOR_VM_BIND_OP_TYPE_MAP, 0);
+
+ igt_panthor_vm_destroy(fd, vm_id, 0);
+ }
+
+ igt_subtest("vm_bind_repeat_remap_size_unaligned_intersect_left") {
+ uint32_t vm_id;
+ struct panthor_bo bo;
+ struct panthor_bo bo2;
+ const uint64_t repeat_bo_size = SZ_2M;
+ uint64_t map_size = repeat_bo_size * 3;
+ const int INITIAL_VA = SZ_4M;
+
+ igt_panthor_vm_create(fd, &vm_id, 0);
+ igt_assert(vm_id != 0);
+
+ igt_panthor_bo_create(fd, &bo, repeat_bo_size, 0, 0);
+ igt_panthor_vm_bind_repeat(fd, vm_id, bo.handle, INITIAL_VA,
+ map_size,
+ DRM_PANTHOR_VM_BIND_OP_TYPE_MAP |
+ DRM_PANTHOR_VM_BIND_OP_MAP_REPEAT, 0,
+ repeat_bo_size);
+
+ igt_panthor_bo_create(fd, &bo2, SZ_8M, 0, 0);
+
+ /* Now attempt normal VM_BIND's that intersect with the previous chunk */
+
+ igt_panthor_vm_bind(fd, vm_id, bo2.handle,
+ INITIAL_VA - repeat_bo_size,
+ repeat_bo_size * SZ_1M,
+ DRM_PANTHOR_VM_BIND_OP_TYPE_MAP, EINVAL);
+
+ igt_panthor_vm_destroy(fd, vm_id, 0);
+ }
+
+ igt_subtest("vm_bind_repeat_remap_start_aligned_intersect_right") {
+ uint32_t vm_id;
+ struct panthor_bo bo;
+ struct panthor_bo bo2;
+ const uint64_t repeat_bo_size = SZ_2M;
+ uint64_t map_size = repeat_bo_size * 3;
+ const int INITIAL_VA = SZ_4M;
+
+ igt_panthor_vm_create(fd, &vm_id, 0);
+ igt_assert(vm_id != 0);
+
+ igt_panthor_bo_create(fd, &bo, repeat_bo_size, 0, 0);
+ igt_panthor_vm_bind_repeat(fd, vm_id, bo.handle, INITIAL_VA,
+ map_size,
+ DRM_PANTHOR_VM_BIND_OP_TYPE_MAP |
+ DRM_PANTHOR_VM_BIND_OP_MAP_REPEAT, 0,
+ repeat_bo_size);
+
+ igt_panthor_bo_create(fd, &bo2, SZ_8M, 0, 0);
+
+ /* Now attempt normal VM_BIND's that intersect with the previous chunk */
+
+ igt_panthor_vm_bind(fd, vm_id, bo2.handle,
+ INITIAL_VA + map_size - repeat_bo_size,
+ repeat_bo_size + SZ_4K * 6,
+ DRM_PANTHOR_VM_BIND_OP_TYPE_MAP, 0);
+
+ igt_panthor_vm_destroy(fd, vm_id, 0);
+ }
+
+ igt_subtest("vm_bind_repeat_remap_wrap_around_va") {
+ uint32_t vm_id;
+ struct panthor_bo bo;
+ struct panthor_bo bo2;
+ const uint64_t repeat_bo_size = SZ_2M;
+ uint64_t map_size = repeat_bo_size * 3;
+ const int INITIAL_VA = SZ_4M;
+
+ igt_panthor_vm_create(fd, &vm_id, 0);
+ igt_assert(vm_id != 0);
+
+ igt_panthor_bo_create(fd, &bo, repeat_bo_size, 0, 0);
+ igt_panthor_vm_bind_repeat(fd, vm_id, bo.handle, INITIAL_VA,
+ map_size,
+ DRM_PANTHOR_VM_BIND_OP_TYPE_MAP |
+ DRM_PANTHOR_VM_BIND_OP_MAP_REPEAT, 0,
+ repeat_bo_size);
+
+ igt_panthor_bo_create(fd, &bo2, SZ_8M, 0, 0);
+
+ /* Now attempt normal VM_BIND's that intersect with the previous chunk */
+
+ igt_panthor_vm_bind(fd, vm_id, bo2.handle,
+ INITIAL_VA - repeat_bo_size, SZ_8M,
+ DRM_PANTHOR_VM_BIND_OP_TYPE_MAP, 0);
+
+ igt_panthor_vm_destroy(fd, vm_id, 0);
+ }
+
+ igt_subtest("vm_bind_repeat_high_vas") {
+ uint32_t vm_id;
+ struct panthor_bo bo;
+ struct panthor_bo bo2;
+ const uint64_t repeat_bo_size = SZ_4K;
+ uint64_t map_size = 16 * repeat_bo_size;
+ const uint64_t INITIAL_VA = 0x7fffffff0000;
+
+ igt_panthor_vm_create(fd, &vm_id, 0);
+ igt_assert(vm_id != 0);
+
+ igt_panthor_bo_create(fd, &bo, repeat_bo_size, 0, 0);
+ igt_panthor_vm_bind_repeat(fd, vm_id, bo.handle, INITIAL_VA,
+ map_size,
+ DRM_PANTHOR_VM_BIND_OP_TYPE_MAP |
+ DRM_PANTHOR_VM_BIND_OP_MAP_REPEAT, 0,
+ repeat_bo_size);
+
+ igt_panthor_bo_create(fd, &bo2, map_size, 0, 0);
+
+ /* Now attempt normal VM_BIND's that intersect with the previous chunk */
+
+ igt_panthor_vm_bind(fd, vm_id, bo2.handle,
+ INITIAL_VA, repeat_bo_size,
+ DRM_PANTHOR_VM_BIND_OP_TYPE_MAP, 0);
+
+ igt_panthor_vm_destroy(fd, vm_id, 0);
+ }
+
+ igt_fixture() {
+ drm_close_driver(fd);
+ }
+}
--
2.53.0
^ permalink raw reply related [flat|nested] 9+ messages in thread
* ✓ Xe.CI.BAT: success for Test panthor repeated mappings
2026-03-13 17:58 [PATCH v1 0/4] Test panthor repeated mappings Adrián Larumbe
` (3 preceding siblings ...)
2026-03-13 17:58 ` [PATCH v1 4/4] tests/panthor: Add VM_BIND repeat tests Adrián Larumbe
@ 2026-03-13 18:28 ` Patchwork
2026-03-13 19:05 ` ✗ i915.CI.BAT: failure " Patchwork
2026-03-14 22:35 ` ✗ Xe.CI.FULL: " Patchwork
6 siblings, 0 replies; 9+ messages in thread
From: Patchwork @ 2026-03-13 18:28 UTC (permalink / raw)
To: Adrián Larumbe; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 2090 bytes --]
== Series Details ==
Series: Test panthor repeated mappings
URL : https://patchwork.freedesktop.org/series/163210/
State : success
== Summary ==
CI Bug Log - changes from XEIGT_8803_BAT -> XEIGTPW_14761_BAT
====================================================
Summary
-------
**SUCCESS**
No regressions found.
Participating hosts (14 -> 14)
------------------------------
No changes in participating hosts
Known issues
------------
Here are the changes found in XEIGTPW_14761_BAT that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@kms_flip@basic-flip-vs-wf_vblank@c-edp1:
- bat-adlp-7: [PASS][1] -> [DMESG-WARN][2] ([Intel XE#7483])
[1]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8803/bat-adlp-7/igt@kms_flip@basic-flip-vs-wf_vblank@c-edp1.html
[2]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/bat-adlp-7/igt@kms_flip@basic-flip-vs-wf_vblank@c-edp1.html
#### Possible fixes ####
* igt@kms_flip@basic-flip-vs-wf_vblank@d-edp1:
- bat-adlp-7: [DMESG-WARN][3] ([Intel XE#7483]) -> [PASS][4]
[3]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8803/bat-adlp-7/igt@kms_flip@basic-flip-vs-wf_vblank@d-edp1.html
[4]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/bat-adlp-7/igt@kms_flip@basic-flip-vs-wf_vblank@d-edp1.html
* igt@xe_waitfence@reltime:
- bat-dg2-oem2: [FAIL][5] ([Intel XE#6520]) -> [PASS][6]
[5]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8803/bat-dg2-oem2/igt@xe_waitfence@reltime.html
[6]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/bat-dg2-oem2/igt@xe_waitfence@reltime.html
[Intel XE#6520]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6520
[Intel XE#7483]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7483
Build changes
-------------
* IGT: IGT_8803 -> IGTPW_14761
IGTPW_14761: 14761
IGT_8803: 8803
xe-4714-16a11d47689b9199a72e080ddd2267f006b545df: 16a11d47689b9199a72e080ddd2267f006b545df
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/index.html
[-- Attachment #2: Type: text/html, Size: 2784 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
* ✗ i915.CI.BAT: failure for Test panthor repeated mappings
2026-03-13 17:58 [PATCH v1 0/4] Test panthor repeated mappings Adrián Larumbe
` (4 preceding siblings ...)
2026-03-13 18:28 ` ✓ Xe.CI.BAT: success for Test panthor repeated mappings Patchwork
@ 2026-03-13 19:05 ` Patchwork
2026-03-14 22:35 ` ✗ Xe.CI.FULL: " Patchwork
6 siblings, 0 replies; 9+ messages in thread
From: Patchwork @ 2026-03-13 19:05 UTC (permalink / raw)
To: Adrián Larumbe; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 4153 bytes --]
== Series Details ==
Series: Test panthor repeated mappings
URL : https://patchwork.freedesktop.org/series/163210/
State : failure
== Summary ==
CI Bug Log - changes from IGT_8803 -> IGTPW_14761
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with IGTPW_14761 absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in IGTPW_14761, please notify your bug team (I915-ci-infra@lists.freedesktop.org) to allow them
to document this new failure mode, which will reduce false positives in CI.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14761/index.html
Participating hosts (41 -> 40)
------------------------------
Additional (1): fi-pnv-d510
Missing (2): bat-dg2-13 fi-snb-2520m
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in IGTPW_14761:
### IGT changes ###
#### Possible regressions ####
* igt@i915_selftest@live:
- bat-rpls-4: [PASS][1] -> [INCOMPLETE][2] +1 other test incomplete
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8803/bat-rpls-4/igt@i915_selftest@live.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14761/bat-rpls-4/igt@i915_selftest@live.html
- fi-skl-6600u: [PASS][3] -> [INCOMPLETE][4] +1 other test incomplete
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8803/fi-skl-6600u/igt@i915_selftest@live.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14761/fi-skl-6600u/igt@i915_selftest@live.html
Known issues
------------
Here are the changes found in IGTPW_14761 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@i915_selftest@live:
- bat-dg2-8: [PASS][5] -> [DMESG-FAIL][6] ([i915#12061]) +1 other test dmesg-fail
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8803/bat-dg2-8/igt@i915_selftest@live.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14761/bat-dg2-8/igt@i915_selftest@live.html
* igt@i915_selftest@live@workarounds:
- bat-mtlp-9: [PASS][7] -> [DMESG-FAIL][8] ([i915#12061]) +1 other test dmesg-fail
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8803/bat-mtlp-9/igt@i915_selftest@live@workarounds.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14761/bat-mtlp-9/igt@i915_selftest@live@workarounds.html
* igt@kms_hdmi_inject@inject-audio:
- fi-tgl-1115g4: [PASS][9] -> [FAIL][10] ([i915#14867])
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8803/fi-tgl-1115g4/igt@kms_hdmi_inject@inject-audio.html
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14761/fi-tgl-1115g4/igt@kms_hdmi_inject@inject-audio.html
* igt@kms_psr@psr-primary-mmap-gtt:
- fi-pnv-d510: NOTRUN -> [SKIP][11] +35 other tests skip
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14761/fi-pnv-d510/igt@kms_psr@psr-primary-mmap-gtt.html
#### Possible fixes ####
* igt@i915_pm_rpm@module-reload:
- bat-adls-6: [SKIP][12] -> [PASS][13]
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8803/bat-adls-6/igt@i915_pm_rpm@module-reload.html
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14761/bat-adls-6/igt@i915_pm_rpm@module-reload.html
* igt@i915_selftest@live:
- bat-mtlp-8: [DMESG-FAIL][14] ([i915#12061]) -> [PASS][15] +1 other test pass
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8803/bat-mtlp-8/igt@i915_selftest@live.html
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14761/bat-mtlp-8/igt@i915_selftest@live.html
[i915#12061]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12061
[i915#14867]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14867
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_8803 -> IGTPW_14761
CI-20190529: 20190529
CI_DRM_18144: 16a11d47689b9199a72e080ddd2267f006b545df @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_14761: 14761
IGT_8803: 8803
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14761/index.html
[-- Attachment #2: Type: text/html, Size: 5100 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
* ✗ Xe.CI.FULL: failure for Test panthor repeated mappings
2026-03-13 17:58 [PATCH v1 0/4] Test panthor repeated mappings Adrián Larumbe
` (5 preceding siblings ...)
2026-03-13 19:05 ` ✗ i915.CI.BAT: failure " Patchwork
@ 2026-03-14 22:35 ` Patchwork
6 siblings, 0 replies; 9+ messages in thread
From: Patchwork @ 2026-03-14 22:35 UTC (permalink / raw)
To: Adrián Larumbe; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 55925 bytes --]
== Series Details ==
Series: Test panthor repeated mappings
URL : https://patchwork.freedesktop.org/series/163210/
State : failure
== Summary ==
CI Bug Log - changes from XEIGT_8803_FULL -> XEIGTPW_14761_FULL
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with XEIGTPW_14761_FULL absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in XEIGTPW_14761_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 (2 -> 2)
------------------------------
No changes in participating hosts
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in XEIGTPW_14761_FULL:
### IGT changes ###
#### Possible regressions ####
* igt@kms_bw@linear-tiling-1-displays-3840x2160p:
- shard-lnl: NOTRUN -> [SKIP][1]
[1]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-lnl-1/igt@kms_bw@linear-tiling-1-displays-3840x2160p.html
* igt@kms_flip@flip-vs-panning@a-edp1:
- shard-lnl: [PASS][2] -> [INCOMPLETE][3] +1 other test incomplete
[2]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8803/shard-lnl-2/igt@kms_flip@flip-vs-panning@a-edp1.html
[3]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-lnl-1/igt@kms_flip@flip-vs-panning@a-edp1.html
#### Warnings ####
* igt@kms_bw@connected-linear-tiling-2-displays-2160x1440p:
- shard-bmg: [SKIP][4] ([Intel XE#2314] / [Intel XE#2894] / [Intel XE#7373]) -> [SKIP][5]
[4]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8803/shard-bmg-5/igt@kms_bw@connected-linear-tiling-2-displays-2160x1440p.html
[5]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-3/igt@kms_bw@connected-linear-tiling-2-displays-2160x1440p.html
Known issues
------------
Here are the changes found in XEIGTPW_14761_FULL that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@intel_hwmon@hwmon-write:
- shard-bmg: NOTRUN -> [FAIL][6] ([Intel XE#4665] / [Intel XE#7445])
[6]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-9/igt@intel_hwmon@hwmon-write.html
* igt@kms_atomic_transition@plane-all-modeset-transition-internal-panels:
- shard-bmg: NOTRUN -> [SKIP][7] ([Intel XE#2370]) +1 other test skip
[7]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-4/igt@kms_atomic_transition@plane-all-modeset-transition-internal-panels.html
* igt@kms_atomic_transition@plane-all-transition-nonblocking:
- shard-bmg: [PASS][8] -> [ABORT][9] ([Intel XE#5545]) +1 other test abort
[8]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8803/shard-bmg-9/igt@kms_atomic_transition@plane-all-transition-nonblocking.html
[9]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-2/igt@kms_atomic_transition@plane-all-transition-nonblocking.html
* igt@kms_big_fb@4-tiled-32bpp-rotate-90:
- shard-bmg: NOTRUN -> [SKIP][10] ([Intel XE#2327]) +5 other tests skip
[10]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-4/igt@kms_big_fb@4-tiled-32bpp-rotate-90.html
- shard-lnl: NOTRUN -> [SKIP][11] ([Intel XE#1407]) +1 other test skip
[11]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-lnl-8/igt@kms_big_fb@4-tiled-32bpp-rotate-90.html
* igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip:
- shard-lnl: NOTRUN -> [SKIP][12] ([Intel XE#3658] / [Intel XE#7360])
[12]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-lnl-2/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip.html
* igt@kms_big_fb@y-tiled-16bpp-rotate-180:
- shard-bmg: NOTRUN -> [SKIP][13] ([Intel XE#1124]) +11 other tests skip
[13]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-3/igt@kms_big_fb@y-tiled-16bpp-rotate-180.html
* igt@kms_big_fb@yf-tiled-addfb:
- shard-bmg: NOTRUN -> [SKIP][14] ([Intel XE#2328] / [Intel XE#7367])
[14]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-4/igt@kms_big_fb@yf-tiled-addfb.html
* igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip:
- shard-lnl: NOTRUN -> [SKIP][15] ([Intel XE#1124]) +1 other test skip
[15]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-lnl-8/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip.html
* igt@kms_bw@connected-linear-tiling-3-displays-3840x2160p:
- shard-bmg: NOTRUN -> [SKIP][16] ([Intel XE#2314] / [Intel XE#2894] / [Intel XE#7373]) +2 other tests skip
[16]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-4/igt@kms_bw@connected-linear-tiling-3-displays-3840x2160p.html
* igt@kms_bw@linear-tiling-4-displays-3840x2160p:
- shard-bmg: NOTRUN -> [SKIP][17] ([Intel XE#367] / [Intel XE#7354]) +2 other tests skip
[17]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-10/igt@kms_bw@linear-tiling-4-displays-3840x2160p.html
* igt@kms_ccs@bad-pixel-format-4-tiled-mtl-rc-ccs-cc:
- shard-lnl: NOTRUN -> [SKIP][18] ([Intel XE#2887]) +2 other tests skip
[18]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-lnl-3/igt@kms_ccs@bad-pixel-format-4-tiled-mtl-rc-ccs-cc.html
* igt@kms_ccs@bad-rotation-90-y-tiled-gen12-rc-ccs-cc:
- shard-bmg: NOTRUN -> [SKIP][19] ([Intel XE#2887]) +10 other tests skip
[19]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-2/igt@kms_ccs@bad-rotation-90-y-tiled-gen12-rc-ccs-cc.html
* igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs:
- shard-bmg: [PASS][20] -> [INCOMPLETE][21] ([Intel XE#7084]) +1 other test incomplete
[20]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8803/shard-bmg-3/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs.html
[21]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-3/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs.html
* igt@kms_ccs@crc-primary-suspend-4-tiled-lnl-ccs@pipe-d-hdmi-a-3:
- shard-bmg: NOTRUN -> [SKIP][22] ([Intel XE#2652]) +17 other tests skip
[22]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-8/igt@kms_ccs@crc-primary-suspend-4-tiled-lnl-ccs@pipe-d-hdmi-a-3.html
* igt@kms_chamelium_color@ctm-max:
- shard-lnl: NOTRUN -> [SKIP][23] ([Intel XE#306] / [Intel XE#7358])
[23]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-lnl-4/igt@kms_chamelium_color@ctm-max.html
- shard-bmg: NOTRUN -> [SKIP][24] ([Intel XE#2325] / [Intel XE#7358])
[24]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-9/igt@kms_chamelium_color@ctm-max.html
* igt@kms_chamelium_frames@hdmi-frame-dump:
- shard-lnl: NOTRUN -> [SKIP][25] ([Intel XE#373]) +1 other test skip
[25]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-lnl-4/igt@kms_chamelium_frames@hdmi-frame-dump.html
* igt@kms_chamelium_hpd@dp-hpd-for-each-pipe:
- shard-bmg: NOTRUN -> [SKIP][26] ([Intel XE#2252]) +7 other tests skip
[26]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-7/igt@kms_chamelium_hpd@dp-hpd-for-each-pipe.html
* igt@kms_content_protection@dp-mst-type-0-suspend-resume:
- shard-lnl: NOTRUN -> [SKIP][27] ([Intel XE#6974])
[27]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-lnl-3/igt@kms_content_protection@dp-mst-type-0-suspend-resume.html
- shard-bmg: NOTRUN -> [SKIP][28] ([Intel XE#6974])
[28]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-6/igt@kms_content_protection@dp-mst-type-0-suspend-resume.html
* igt@kms_content_protection@lic-type-1:
- shard-bmg: NOTRUN -> [SKIP][29] ([Intel XE#2341]) +1 other test skip
[29]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-9/igt@kms_content_protection@lic-type-1.html
* igt@kms_content_protection@suspend-resume@pipe-a-dp-2:
- shard-bmg: NOTRUN -> [FAIL][30] ([Intel XE#1178] / [Intel XE#3304] / [Intel XE#7374]) +2 other tests fail
[30]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-7/igt@kms_content_protection@suspend-resume@pipe-a-dp-2.html
* igt@kms_content_protection@uevent-hdcp14:
- shard-bmg: NOTRUN -> [FAIL][31] ([Intel XE#6707] / [Intel XE#7439]) +1 other test fail
[31]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-7/igt@kms_content_protection@uevent-hdcp14.html
* igt@kms_cursor_crc@cursor-onscreen-512x512:
- shard-lnl: NOTRUN -> [SKIP][32] ([Intel XE#2321] / [Intel XE#7355])
[32]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-lnl-1/igt@kms_cursor_crc@cursor-onscreen-512x512.html
- shard-bmg: NOTRUN -> [SKIP][33] ([Intel XE#2321] / [Intel XE#7355])
[33]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-3/igt@kms_cursor_crc@cursor-onscreen-512x512.html
* igt@kms_cursor_crc@cursor-random-32x32:
- shard-bmg: NOTRUN -> [SKIP][34] ([Intel XE#2320]) +2 other tests skip
[34]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-8/igt@kms_cursor_crc@cursor-random-32x32.html
* igt@kms_cursor_crc@cursor-rapid-movement-256x85:
- shard-lnl: NOTRUN -> [SKIP][35] ([Intel XE#1424])
[35]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-lnl-1/igt@kms_cursor_crc@cursor-rapid-movement-256x85.html
* igt@kms_cursor_legacy@2x-long-cursor-vs-flip-atomic:
- shard-lnl: NOTRUN -> [SKIP][36] ([Intel XE#309] / [Intel XE#7343])
[36]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-lnl-4/igt@kms_cursor_legacy@2x-long-cursor-vs-flip-atomic.html
* igt@kms_cursor_legacy@cursorb-vs-flipa-atomic:
- shard-bmg: [PASS][37] -> [SKIP][38] ([Intel XE#2291]) +1 other test skip
[37]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8803/shard-bmg-10/igt@kms_cursor_legacy@cursorb-vs-flipa-atomic.html
[38]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-5/igt@kms_cursor_legacy@cursorb-vs-flipa-atomic.html
* igt@kms_cursor_legacy@flip-vs-cursor-legacy:
- shard-bmg: NOTRUN -> [FAIL][39] ([Intel XE#7571])
[39]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-10/igt@kms_cursor_legacy@flip-vs-cursor-legacy.html
* igt@kms_dither@fb-8bpc-vs-panel-6bpc:
- shard-bmg: [PASS][40] -> [SKIP][41] ([Intel XE#1340])
[40]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8803/shard-bmg-8/igt@kms_dither@fb-8bpc-vs-panel-6bpc.html
[41]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-5/igt@kms_dither@fb-8bpc-vs-panel-6bpc.html
* igt@kms_dsc@dsc-basic:
- shard-bmg: NOTRUN -> [SKIP][42] ([Intel XE#2244])
[42]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-6/igt@kms_dsc@dsc-basic.html
* igt@kms_flip@2x-nonexisting-fb:
- shard-bmg: [PASS][43] -> [SKIP][44] ([Intel XE#2316]) +5 other tests skip
[43]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8803/shard-bmg-4/igt@kms_flip@2x-nonexisting-fb.html
[44]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-5/igt@kms_flip@2x-nonexisting-fb.html
* igt@kms_flip@flip-vs-expired-vblank-interruptible@b-edp1:
- shard-lnl: [PASS][45] -> [FAIL][46] ([Intel XE#301]) +1 other test fail
[45]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8803/shard-lnl-3/igt@kms_flip@flip-vs-expired-vblank-interruptible@b-edp1.html
[46]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-lnl-6/igt@kms_flip@flip-vs-expired-vblank-interruptible@b-edp1.html
* igt@kms_flip@flip-vs-suspend-interruptible@c-hdmi-a3:
- shard-bmg: NOTRUN -> [INCOMPLETE][47] ([Intel XE#2049] / [Intel XE#2597])
[47]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-10/igt@kms_flip@flip-vs-suspend-interruptible@c-hdmi-a3.html
* igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling:
- shard-lnl: NOTRUN -> [SKIP][48] ([Intel XE#7178] / [Intel XE#7351])
[48]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-lnl-2/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling.html
* igt@kms_flip_scaled_crc@flip-32bpp-yuv-linear-to-32bpp-yuv-linear-reflect-x:
- shard-bmg: NOTRUN -> [SKIP][49] ([Intel XE#7179])
[49]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-9/igt@kms_flip_scaled_crc@flip-32bpp-yuv-linear-to-32bpp-yuv-linear-reflect-x.html
* igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling:
- shard-bmg: NOTRUN -> [SKIP][50] ([Intel XE#7178] / [Intel XE#7349]) +1 other test skip
[50]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-7/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling.html
* igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-upscaling:
- shard-bmg: NOTRUN -> [SKIP][51] ([Intel XE#7178] / [Intel XE#7351]) +3 other tests skip
[51]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-5/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-upscaling.html
* igt@kms_force_connector_basic@force-edid:
- shard-lnl: NOTRUN -> [SKIP][52] ([Intel XE#352])
[52]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-lnl-5/igt@kms_force_connector_basic@force-edid.html
* igt@kms_frontbuffer_tracking@drrs-1p-primscrn-shrfb-plflip-blt:
- shard-lnl: NOTRUN -> [SKIP][53] ([Intel XE#6312] / [Intel XE#651]) +1 other test skip
[53]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-lnl-8/igt@kms_frontbuffer_tracking@drrs-1p-primscrn-shrfb-plflip-blt.html
* igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-blt:
- shard-bmg: NOTRUN -> [SKIP][54] ([Intel XE#4141]) +13 other tests skip
[54]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-7/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-shrfb-plflip-blt:
- shard-bmg: NOTRUN -> [SKIP][55] ([Intel XE#2311]) +22 other tests skip
[55]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-4/igt@kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-shrfb-plflip-blt.html
* igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-spr-indfb-draw-mmap-wc:
- shard-lnl: NOTRUN -> [SKIP][56] ([Intel XE#656]) +7 other tests skip
[56]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-lnl-7/igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-spr-indfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbcpsr-abgr161616f-draw-render:
- shard-bmg: NOTRUN -> [SKIP][57] ([Intel XE#7061] / [Intel XE#7356]) +2 other tests skip
[57]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-9/igt@kms_frontbuffer_tracking@fbcpsr-abgr161616f-draw-render.html
- shard-lnl: NOTRUN -> [SKIP][58] ([Intel XE#7061] / [Intel XE#7356])
[58]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-lnl-7/igt@kms_frontbuffer_tracking@fbcpsr-abgr161616f-draw-render.html
* igt@kms_frontbuffer_tracking@fbcpsr-tiling-y:
- shard-bmg: NOTRUN -> [SKIP][59] ([Intel XE#2352] / [Intel XE#7399])
[59]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-6/igt@kms_frontbuffer_tracking@fbcpsr-tiling-y.html
* igt@kms_frontbuffer_tracking@psr-2p-scndscrn-cur-indfb-onoff:
- shard-bmg: NOTRUN -> [SKIP][60] ([Intel XE#2313]) +25 other tests skip
[60]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-4/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-cur-indfb-onoff.html
* igt@kms_frontbuffer_tracking@psr-2p-scndscrn-indfb-pgflip-blt:
- shard-bmg: NOTRUN -> [SKIP][61] ([Intel XE#2312]) +3 other tests skip
[61]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-5/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-indfb-pgflip-blt.html
* igt@kms_hdr@static-toggle-suspend:
- shard-bmg: [PASS][62] -> [SKIP][63] ([Intel XE#1503])
[62]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8803/shard-bmg-6/igt@kms_hdr@static-toggle-suspend.html
[63]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-5/igt@kms_hdr@static-toggle-suspend.html
* igt@kms_plane@pixel-format-4-tiled-dg2-rc-ccs-cc-modifier-source-clamping:
- shard-lnl: NOTRUN -> [SKIP][64] ([Intel XE#7283])
[64]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-lnl-1/igt@kms_plane@pixel-format-4-tiled-dg2-rc-ccs-cc-modifier-source-clamping.html
* igt@kms_plane@pixel-format-4-tiled-dg2-rc-ccs-modifier-source-clamping:
- shard-bmg: NOTRUN -> [SKIP][65] ([Intel XE#7283]) +1 other test skip
[65]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-5/igt@kms_plane@pixel-format-4-tiled-dg2-rc-ccs-modifier-source-clamping.html
* igt@kms_plane_multiple@tiling-y:
- shard-bmg: NOTRUN -> [SKIP][66] ([Intel XE#5020] / [Intel XE#7348])
[66]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-5/igt@kms_plane_multiple@tiling-y.html
* igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-5@pipe-b:
- shard-bmg: NOTRUN -> [SKIP][67] ([Intel XE#2763] / [Intel XE#6886]) +4 other tests skip
[67]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-6/igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-5@pipe-b.html
* igt@kms_pm_backlight@fade-with-dpms:
- shard-bmg: NOTRUN -> [SKIP][68] ([Intel XE#7376] / [Intel XE#870])
[68]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-4/igt@kms_pm_backlight@fade-with-dpms.html
* igt@kms_pm_rpm@dpms-lpsp:
- shard-bmg: NOTRUN -> [SKIP][69] ([Intel XE#1439] / [Intel XE#3141] / [Intel XE#7383] / [Intel XE#836]) +1 other test skip
[69]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-5/igt@kms_pm_rpm@dpms-lpsp.html
* igt@kms_psr2_sf@fbc-psr2-overlay-plane-move-continuous-exceed-sf:
- shard-lnl: NOTRUN -> [SKIP][70] ([Intel XE#2893] / [Intel XE#4608] / [Intel XE#7304])
[70]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-lnl-4/igt@kms_psr2_sf@fbc-psr2-overlay-plane-move-continuous-exceed-sf.html
* igt@kms_psr2_sf@fbc-psr2-overlay-plane-move-continuous-exceed-sf@pipe-a-edp-1:
- shard-lnl: NOTRUN -> [SKIP][71] ([Intel XE#4608])
[71]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-lnl-4/igt@kms_psr2_sf@fbc-psr2-overlay-plane-move-continuous-exceed-sf@pipe-a-edp-1.html
* igt@kms_psr2_sf@fbc-psr2-overlay-plane-move-continuous-exceed-sf@pipe-b-edp-1:
- shard-lnl: NOTRUN -> [SKIP][72] ([Intel XE#4608] / [Intel XE#7304])
[72]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-lnl-4/igt@kms_psr2_sf@fbc-psr2-overlay-plane-move-continuous-exceed-sf@pipe-b-edp-1.html
* igt@kms_psr2_sf@pr-overlay-plane-update-sf-dmg-area:
- shard-lnl: NOTRUN -> [SKIP][73] ([Intel XE#2893] / [Intel XE#7304])
[73]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-lnl-5/igt@kms_psr2_sf@pr-overlay-plane-update-sf-dmg-area.html
* igt@kms_psr2_sf@psr2-plane-move-sf-dmg-area:
- shard-bmg: NOTRUN -> [SKIP][74] ([Intel XE#1489]) +5 other tests skip
[74]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-7/igt@kms_psr2_sf@psr2-plane-move-sf-dmg-area.html
* igt@kms_psr2_su@page_flip-nv12:
- shard-bmg: NOTRUN -> [SKIP][75] ([Intel XE#2387] / [Intel XE#7429])
[75]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-5/igt@kms_psr2_su@page_flip-nv12.html
* igt@kms_psr@fbc-pr-cursor-plane-move:
- shard-lnl: NOTRUN -> [SKIP][76] ([Intel XE#1406])
[76]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-lnl-6/igt@kms_psr@fbc-pr-cursor-plane-move.html
* igt@kms_psr@psr-primary-page-flip:
- shard-bmg: NOTRUN -> [SKIP][77] ([Intel XE#2234] / [Intel XE#2850]) +9 other tests skip
[77]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-9/igt@kms_psr@psr-primary-page-flip.html
* igt@kms_rotation_crc@sprite-rotation-90:
- shard-bmg: NOTRUN -> [SKIP][78] ([Intel XE#3414] / [Intel XE#3904] / [Intel XE#7342])
[78]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-6/igt@kms_rotation_crc@sprite-rotation-90.html
* igt@kms_setmode@basic-clone-single-crtc:
- shard-bmg: NOTRUN -> [SKIP][79] ([Intel XE#1435])
[79]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-8/igt@kms_setmode@basic-clone-single-crtc.html
* igt@kms_sharpness_filter@invalid-filter-with-scaling-mode:
- shard-bmg: NOTRUN -> [SKIP][80] ([Intel XE#6503]) +1 other test skip
[80]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-8/igt@kms_sharpness_filter@invalid-filter-with-scaling-mode.html
* igt@kms_vrr@cmrr:
- shard-bmg: NOTRUN -> [SKIP][81] ([Intel XE#2168] / [Intel XE#7444])
[81]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-9/igt@kms_vrr@cmrr.html
* igt@kms_vrr@seamless-rr-switch-virtual@pipe-a-edp-1:
- shard-lnl: [PASS][82] -> [FAIL][83] ([Intel XE#2142]) +1 other test fail
[82]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8803/shard-lnl-4/igt@kms_vrr@seamless-rr-switch-virtual@pipe-a-edp-1.html
[83]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-lnl-1/igt@kms_vrr@seamless-rr-switch-virtual@pipe-a-edp-1.html
* igt@xe_compute@eu-busy-10s:
- shard-bmg: NOTRUN -> [SKIP][84] ([Intel XE#6599]) +1 other test skip
[84]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-9/igt@xe_compute@eu-busy-10s.html
* igt@xe_eudebug@basic-exec-queues-enable:
- shard-bmg: NOTRUN -> [SKIP][85] ([Intel XE#4837]) +9 other tests skip
[85]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-10/igt@xe_eudebug@basic-exec-queues-enable.html
* igt@xe_eudebug_online@set-breakpoint-faultable:
- shard-bmg: NOTRUN -> [SKIP][86] ([Intel XE#4837] / [Intel XE#6665]) +1 other test skip
[86]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-2/igt@xe_eudebug_online@set-breakpoint-faultable.html
* igt@xe_evict@evict-threads-small-multi-queue:
- shard-bmg: NOTRUN -> [SKIP][87] ([Intel XE#7140]) +2 other tests skip
[87]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-4/igt@xe_evict@evict-threads-small-multi-queue.html
* igt@xe_evict_ccs@evict-overcommit-parallel-nofree-reopen:
- shard-lnl: NOTRUN -> [SKIP][88] ([Intel XE#6540] / [Intel XE#688]) +3 other tests skip
[88]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-lnl-5/igt@xe_evict_ccs@evict-overcommit-parallel-nofree-reopen.html
* igt@xe_exec_balancer@once-parallel-userptr:
- shard-lnl: NOTRUN -> [SKIP][89] ([Intel XE#7482]) +4 other tests skip
[89]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-lnl-6/igt@xe_exec_balancer@once-parallel-userptr.html
* igt@xe_exec_basic@multigpu-many-execqueues-many-vm-bindexecqueue-userptr:
- shard-bmg: NOTRUN -> [SKIP][90] ([Intel XE#2322] / [Intel XE#7372]) +6 other tests skip
[90]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-4/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-bindexecqueue-userptr.html
* igt@xe_exec_basic@multigpu-once-null-rebind:
- shard-lnl: NOTRUN -> [SKIP][91] ([Intel XE#1392]) +1 other test skip
[91]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-lnl-8/igt@xe_exec_basic@multigpu-once-null-rebind.html
* igt@xe_exec_fault_mode@many-execqueues-multi-queue-rebind-imm:
- shard-lnl: NOTRUN -> [SKIP][92] ([Intel XE#7136]) +2 other tests skip
[92]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-lnl-2/igt@xe_exec_fault_mode@many-execqueues-multi-queue-rebind-imm.html
* igt@xe_exec_fault_mode@twice-multi-queue-userptr:
- shard-bmg: NOTRUN -> [SKIP][93] ([Intel XE#7136]) +10 other tests skip
[93]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-5/igt@xe_exec_fault_mode@twice-multi-queue-userptr.html
* igt@xe_exec_multi_queue@few-execs-preempt-mode-dyn-priority-smem:
- shard-bmg: NOTRUN -> [SKIP][94] ([Intel XE#6874]) +24 other tests skip
[94]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-4/igt@xe_exec_multi_queue@few-execs-preempt-mode-dyn-priority-smem.html
* igt@xe_exec_multi_queue@two-queues-priority-smem:
- shard-lnl: NOTRUN -> [SKIP][95] ([Intel XE#6874]) +6 other tests skip
[95]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-lnl-4/igt@xe_exec_multi_queue@two-queues-priority-smem.html
* igt@xe_exec_sip_eudebug@breakpoint-writesip:
- shard-lnl: NOTRUN -> [SKIP][96] ([Intel XE#4837]) +2 other tests skip
[96]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-lnl-8/igt@xe_exec_sip_eudebug@breakpoint-writesip.html
* igt@xe_exec_threads@threads-multi-queue-cm-fd-rebind:
- shard-bmg: NOTRUN -> [SKIP][97] ([Intel XE#7138]) +5 other tests skip
[97]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-5/igt@xe_exec_threads@threads-multi-queue-cm-fd-rebind.html
* igt@xe_exec_threads@threads-multi-queue-userptr-invalidate-race:
- shard-lnl: NOTRUN -> [SKIP][98] ([Intel XE#7138]) +1 other test skip
[98]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-lnl-8/igt@xe_exec_threads@threads-multi-queue-userptr-invalidate-race.html
* igt@xe_fault_injection@exec-queue-create-fail-xe_pxp_exec_queue_add:
- shard-bmg: NOTRUN -> [SKIP][99] ([Intel XE#6281] / [Intel XE#7426])
[99]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-4/igt@xe_fault_injection@exec-queue-create-fail-xe_pxp_exec_queue_add.html
* igt@xe_live_ktest@xe_bo@xe_ccs_migrate_kunit:
- shard-bmg: NOTRUN -> [SKIP][100] ([Intel XE#2229])
[100]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-3/igt@xe_live_ktest@xe_bo@xe_ccs_migrate_kunit.html
* igt@xe_live_ktest@xe_eudebug:
- shard-lnl: NOTRUN -> [SKIP][101] ([Intel XE#2833])
[101]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-lnl-7/igt@xe_live_ktest@xe_eudebug.html
- shard-bmg: NOTRUN -> [SKIP][102] ([Intel XE#2833])
[102]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-9/igt@xe_live_ktest@xe_eudebug.html
* igt@xe_media_fill@media-fill:
- shard-bmg: NOTRUN -> [SKIP][103] ([Intel XE#2459] / [Intel XE#2596] / [Intel XE#7321] / [Intel XE#7453])
[103]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-6/igt@xe_media_fill@media-fill.html
* igt@xe_multigpu_svm@mgpu-atomic-op-basic:
- shard-bmg: NOTRUN -> [SKIP][104] ([Intel XE#6964]) +2 other tests skip
[104]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-3/igt@xe_multigpu_svm@mgpu-atomic-op-basic.html
- shard-lnl: NOTRUN -> [SKIP][105] ([Intel XE#6964])
[105]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-lnl-8/igt@xe_multigpu_svm@mgpu-atomic-op-basic.html
* igt@xe_pat@xa-app-transient-media-on:
- shard-bmg: NOTRUN -> [SKIP][106] ([Intel XE#7590])
[106]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-10/igt@xe_pat@xa-app-transient-media-on.html
* igt@xe_pm@d3cold-i2c:
- shard-bmg: NOTRUN -> [SKIP][107] ([Intel XE#5694] / [Intel XE#7370])
[107]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-3/igt@xe_pm@d3cold-i2c.html
* igt@xe_pxp@pxp-stale-bo-bind-post-termination-irq:
- shard-bmg: NOTRUN -> [SKIP][108] ([Intel XE#4733] / [Intel XE#7417]) +1 other test skip
[108]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-7/igt@xe_pxp@pxp-stale-bo-bind-post-termination-irq.html
* igt@xe_query@multigpu-query-pxp-status:
- shard-lnl: NOTRUN -> [SKIP][109] ([Intel XE#944])
[109]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-lnl-7/igt@xe_query@multigpu-query-pxp-status.html
- shard-bmg: NOTRUN -> [SKIP][110] ([Intel XE#944]) +1 other test skip
[110]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-9/igt@xe_query@multigpu-query-pxp-status.html
* igt@xe_survivability@i2c-functionality:
- shard-lnl: NOTRUN -> [SKIP][111] ([Intel XE#6529] / [Intel XE#7331] / [Intel XE#7388])
[111]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-lnl-8/igt@xe_survivability@i2c-functionality.html
#### Possible fixes ####
* igt@kms_bw@connected-linear-tiling-1-displays-2560x1440p:
- shard-bmg: [SKIP][112] -> [PASS][113]
[112]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8803/shard-bmg-8/igt@kms_bw@connected-linear-tiling-1-displays-2560x1440p.html
[113]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-9/igt@kms_bw@connected-linear-tiling-1-displays-2560x1440p.html
* igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic:
- shard-bmg: [SKIP][114] ([Intel XE#2291]) -> [PASS][115] +1 other test pass
[114]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8803/shard-bmg-5/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic.html
[115]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-9/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic.html
* igt@kms_cursor_legacy@cursorb-vs-flipb-varying-size:
- shard-bmg: [SKIP][116] ([Intel XE#2291] / [Intel XE#7343]) -> [PASS][117]
[116]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8803/shard-bmg-5/igt@kms_cursor_legacy@cursorb-vs-flipb-varying-size.html
[117]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-9/igt@kms_cursor_legacy@cursorb-vs-flipb-varying-size.html
* igt@kms_flip@2x-flip-vs-absolute-wf_vblank-interruptible:
- shard-bmg: [SKIP][118] ([Intel XE#2316]) -> [PASS][119] +5 other tests pass
[118]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8803/shard-bmg-5/igt@kms_flip@2x-flip-vs-absolute-wf_vblank-interruptible.html
[119]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-6/igt@kms_flip@2x-flip-vs-absolute-wf_vblank-interruptible.html
* igt@kms_flip@flip-vs-suspend-interruptible@b-dp2:
- shard-bmg: [INCOMPLETE][120] ([Intel XE#2049] / [Intel XE#2597]) -> [PASS][121]
[120]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8803/shard-bmg-9/igt@kms_flip@flip-vs-suspend-interruptible@b-dp2.html
[121]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-10/igt@kms_flip@flip-vs-suspend-interruptible@b-dp2.html
* igt@kms_flip@wf_vblank-ts-check@a-edp1:
- shard-lnl: [FAIL][122] ([Intel XE#3098]) -> [PASS][123] +1 other test pass
[122]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8803/shard-lnl-1/igt@kms_flip@wf_vblank-ts-check@a-edp1.html
[123]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-lnl-7/igt@kms_flip@wf_vblank-ts-check@a-edp1.html
* igt@kms_plane_cursor@primary:
- shard-bmg: [INCOMPLETE][124] -> [PASS][125]
[124]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8803/shard-bmg-3/igt@kms_plane_cursor@primary.html
[125]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-5/igt@kms_plane_cursor@primary.html
* igt@kms_setmode@basic@pipe-a-edp-1:
- shard-lnl: [FAIL][126] ([Intel XE#6361]) -> [PASS][127] +1 other test pass
[126]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8803/shard-lnl-7/igt@kms_setmode@basic@pipe-a-edp-1.html
[127]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-lnl-6/igt@kms_setmode@basic@pipe-a-edp-1.html
* igt@kms_setmode@invalid-clone-single-crtc-stealing:
- shard-bmg: [SKIP][128] ([Intel XE#1435]) -> [PASS][129]
[128]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8803/shard-bmg-5/igt@kms_setmode@invalid-clone-single-crtc-stealing.html
[129]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-3/igt@kms_setmode@invalid-clone-single-crtc-stealing.html
* igt@kms_vblank@ts-continuation-suspend:
- shard-bmg: [ABORT][130] ([Intel XE#5545]) -> [PASS][131] +1 other test pass
[130]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8803/shard-bmg-2/igt@kms_vblank@ts-continuation-suspend.html
[131]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-10/igt@kms_vblank@ts-continuation-suspend.html
* igt@kms_vblank@ts-continuation-suspend@pipe-d-dp-2:
- shard-bmg: [DMESG-WARN][132] -> [PASS][133]
[132]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8803/shard-bmg-2/igt@kms_vblank@ts-continuation-suspend@pipe-d-dp-2.html
[133]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-10/igt@kms_vblank@ts-continuation-suspend@pipe-d-dp-2.html
* igt@xe_evict@evict-beng-mixed-many-threads-small:
- shard-bmg: [INCOMPLETE][134] ([Intel XE#6321]) -> [PASS][135]
[134]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8803/shard-bmg-8/igt@xe_evict@evict-beng-mixed-many-threads-small.html
[135]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-8/igt@xe_evict@evict-beng-mixed-many-threads-small.html
* igt@xe_exec_compute_mode@twice-basic:
- shard-bmg: [SKIP][136] ([Intel XE#6557] / [Intel XE#6703]) -> [PASS][137]
[136]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8803/shard-bmg-2/igt@xe_exec_compute_mode@twice-basic.html
[137]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-6/igt@xe_exec_compute_mode@twice-basic.html
* igt@xe_exec_system_allocator@many-stride-mmap-free-huge:
- shard-bmg: [DMESG-FAIL][138] ([Intel XE#5545] / [Intel XE#6652]) -> [PASS][139]
[138]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8803/shard-bmg-2/igt@xe_exec_system_allocator@many-stride-mmap-free-huge.html
[139]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-4/igt@xe_exec_system_allocator@many-stride-mmap-free-huge.html
* igt@xe_sriov_vram@vf-access-provisioned:
- shard-bmg: [SKIP][140] ([Intel XE#6703]) -> [PASS][141] +66 other tests pass
[140]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8803/shard-bmg-2/igt@xe_sriov_vram@vf-access-provisioned.html
[141]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-2/igt@xe_sriov_vram@vf-access-provisioned.html
#### Warnings ####
* igt@kms_ccs@crc-primary-basic-4-tiled-dg2-rc-ccs-cc:
- shard-bmg: [SKIP][142] ([Intel XE#6703]) -> [SKIP][143] ([Intel XE#2887]) +1 other test skip
[142]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8803/shard-bmg-2/igt@kms_ccs@crc-primary-basic-4-tiled-dg2-rc-ccs-cc.html
[143]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-7/igt@kms_ccs@crc-primary-basic-4-tiled-dg2-rc-ccs-cc.html
* igt@kms_chamelium_hpd@dp-hpd-storm-disable:
- shard-bmg: [SKIP][144] ([Intel XE#6703]) -> [SKIP][145] ([Intel XE#2252])
[144]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8803/shard-bmg-2/igt@kms_chamelium_hpd@dp-hpd-storm-disable.html
[145]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-8/igt@kms_chamelium_hpd@dp-hpd-storm-disable.html
* igt@kms_content_protection@legacy:
- shard-bmg: [FAIL][146] ([Intel XE#1178] / [Intel XE#3304] / [Intel XE#7374]) -> [SKIP][147] ([Intel XE#2341]) +1 other test skip
[146]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8803/shard-bmg-10/igt@kms_content_protection@legacy.html
[147]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-5/igt@kms_content_protection@legacy.html
* igt@kms_content_protection@suspend-resume:
- shard-bmg: [SKIP][148] ([Intel XE#6705]) -> [FAIL][149] ([Intel XE#1178] / [Intel XE#3304] / [Intel XE#7374])
[148]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8803/shard-bmg-5/igt@kms_content_protection@suspend-resume.html
[149]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-7/igt@kms_content_protection@suspend-resume.html
* igt@kms_cursor_crc@cursor-rapid-movement-64x21:
- shard-bmg: [SKIP][150] ([Intel XE#6703]) -> [SKIP][151] ([Intel XE#2320])
[150]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8803/shard-bmg-2/igt@kms_cursor_crc@cursor-rapid-movement-64x21.html
[151]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-3/igt@kms_cursor_crc@cursor-rapid-movement-64x21.html
* igt@kms_feature_discovery@dp-mst:
- shard-bmg: [SKIP][152] ([Intel XE#6703]) -> [SKIP][153] ([Intel XE#2375])
[152]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8803/shard-bmg-2/igt@kms_feature_discovery@dp-mst.html
[153]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-4/igt@kms_feature_discovery@dp-mst.html
* igt@kms_frontbuffer_tracking@drrs-2p-primscrn-pri-indfb-draw-mmap-wc:
- shard-bmg: [SKIP][154] ([Intel XE#2311]) -> [SKIP][155] ([Intel XE#2312]) +7 other tests skip
[154]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8803/shard-bmg-10/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-pri-indfb-draw-mmap-wc.html
[155]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-5/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-pri-indfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@drrs-abgr161616f-draw-blt:
- shard-bmg: [SKIP][156] ([Intel XE#6703]) -> [SKIP][157] ([Intel XE#7061] / [Intel XE#7356])
[156]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8803/shard-bmg-2/igt@kms_frontbuffer_tracking@drrs-abgr161616f-draw-blt.html
[157]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-6/igt@kms_frontbuffer_tracking@drrs-abgr161616f-draw-blt.html
* igt@kms_frontbuffer_tracking@fbc-2p-primscrn-indfb-msflip-blt:
- shard-bmg: [SKIP][158] ([Intel XE#4141]) -> [SKIP][159] ([Intel XE#2312]) +2 other tests skip
[158]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8803/shard-bmg-9/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-indfb-msflip-blt.html
[159]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-5/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-indfb-msflip-blt.html
* igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-shrfb-msflip-blt:
- shard-bmg: [SKIP][160] ([Intel XE#6557] / [Intel XE#6703]) -> [SKIP][161] ([Intel XE#4141])
[160]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8803/shard-bmg-2/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-shrfb-msflip-blt.html
[161]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-4/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-shrfb-msflip-blt.html
* igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-render:
- shard-bmg: [SKIP][162] ([Intel XE#2312]) -> [SKIP][163] ([Intel XE#4141]) +4 other tests skip
[162]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8803/shard-bmg-5/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-render.html
[163]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-4/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-cur-indfb-draw-mmap-wc:
- shard-bmg: [SKIP][164] ([Intel XE#2312]) -> [SKIP][165] ([Intel XE#2311]) +9 other tests skip
[164]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8803/shard-bmg-5/igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-cur-indfb-draw-mmap-wc.html
[165]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-2/igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-cur-indfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbcdrrs-rgb565-draw-mmap-wc:
- shard-bmg: [SKIP][166] ([Intel XE#6703]) -> [SKIP][167] ([Intel XE#2311]) +2 other tests skip
[166]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8803/shard-bmg-2/igt@kms_frontbuffer_tracking@fbcdrrs-rgb565-draw-mmap-wc.html
[167]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-7/igt@kms_frontbuffer_tracking@fbcdrrs-rgb565-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@psr-2p-scndscrn-shrfb-pgflip-blt:
- shard-bmg: [SKIP][168] ([Intel XE#2312]) -> [SKIP][169] ([Intel XE#2313]) +10 other tests skip
[168]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8803/shard-bmg-5/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-shrfb-pgflip-blt.html
[169]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-3/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-shrfb-pgflip-blt.html
* igt@kms_frontbuffer_tracking@psr-2p-scndscrn-spr-indfb-draw-mmap-wc:
- shard-bmg: [SKIP][170] ([Intel XE#2313]) -> [SKIP][171] ([Intel XE#2312]) +8 other tests skip
[170]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8803/shard-bmg-3/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-spr-indfb-draw-mmap-wc.html
[171]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-5/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-spr-indfb-draw-mmap-wc.html
* igt@kms_psr2_sf@pr-overlay-plane-move-continuous-sf:
- shard-bmg: [SKIP][172] ([Intel XE#6703]) -> [SKIP][173] ([Intel XE#1489])
[172]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8803/shard-bmg-2/igt@kms_psr2_sf@pr-overlay-plane-move-continuous-sf.html
[173]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-4/igt@kms_psr2_sf@pr-overlay-plane-move-continuous-sf.html
* igt@kms_psr@fbc-psr-primary-render:
- shard-bmg: [SKIP][174] ([Intel XE#6703]) -> [SKIP][175] ([Intel XE#2234] / [Intel XE#2850]) +1 other test skip
[174]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8803/shard-bmg-2/igt@kms_psr@fbc-psr-primary-render.html
[175]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-10/igt@kms_psr@fbc-psr-primary-render.html
* igt@kms_tiled_display@basic-test-pattern-with-chamelium:
- shard-bmg: [SKIP][176] ([Intel XE#6703]) -> [SKIP][177] ([Intel XE#2426] / [Intel XE#5848])
[176]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8803/shard-bmg-2/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
[177]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-8/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
* igt@kms_vrr@lobf:
- shard-bmg: [SKIP][178] ([Intel XE#6703]) -> [SKIP][179] ([Intel XE#2168] / [Intel XE#7444])
[178]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8803/shard-bmg-2/igt@kms_vrr@lobf.html
[179]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-5/igt@kms_vrr@lobf.html
* igt@xe_eudebug@basic-client-th:
- shard-bmg: [SKIP][180] ([Intel XE#6703]) -> [SKIP][181] ([Intel XE#4837])
[180]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8803/shard-bmg-2/igt@xe_eudebug@basic-client-th.html
[181]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-3/igt@xe_eudebug@basic-client-th.html
* igt@xe_eudebug_online@pagefault-write:
- shard-bmg: [SKIP][182] ([Intel XE#6703]) -> [SKIP][183] ([Intel XE#4837] / [Intel XE#6665])
[182]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8803/shard-bmg-2/igt@xe_eudebug_online@pagefault-write.html
[183]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-8/igt@xe_eudebug_online@pagefault-write.html
* igt@xe_exec_basic@multigpu-many-execqueues-many-vm-userptr-invalidate-race:
- shard-bmg: [SKIP][184] ([Intel XE#6703]) -> [SKIP][185] ([Intel XE#2322] / [Intel XE#7372])
[184]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8803/shard-bmg-2/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-userptr-invalidate-race.html
[185]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-8/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-userptr-invalidate-race.html
* igt@xe_exec_fault_mode@once-multi-queue-userptr-invalidate-race-prefetch:
- shard-bmg: [SKIP][186] ([Intel XE#6703]) -> [SKIP][187] ([Intel XE#7136]) +1 other test skip
[186]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8803/shard-bmg-2/igt@xe_exec_fault_mode@once-multi-queue-userptr-invalidate-race-prefetch.html
[187]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-5/igt@xe_exec_fault_mode@once-multi-queue-userptr-invalidate-race-prefetch.html
* igt@xe_exec_multi_queue@many-queues-preempt-mode-fault-basic:
- shard-bmg: [SKIP][188] ([Intel XE#6703]) -> [SKIP][189] ([Intel XE#6874])
[188]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8803/shard-bmg-2/igt@xe_exec_multi_queue@many-queues-preempt-mode-fault-basic.html
[189]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-5/igt@xe_exec_multi_queue@many-queues-preempt-mode-fault-basic.html
* igt@xe_exec_threads@threads-multi-queue-mixed-userptr:
- shard-bmg: [SKIP][190] ([Intel XE#6703]) -> [SKIP][191] ([Intel XE#7138])
[190]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8803/shard-bmg-2/igt@xe_exec_threads@threads-multi-queue-mixed-userptr.html
[191]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/shard-bmg-4/igt@xe_exec_threads@threads-multi-queue-mixed-userptr.html
[Intel XE#1124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1124
[Intel XE#1178]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1178
[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#1406]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1406
[Intel XE#1407]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1407
[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#1489]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1489
[Intel XE#1503]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1503
[Intel XE#2049]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2049
[Intel XE#2142]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2142
[Intel XE#2168]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2168
[Intel XE#2229]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2229
[Intel XE#2234]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2234
[Intel XE#2244]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2244
[Intel XE#2252]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2252
[Intel XE#2291]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2291
[Intel XE#2311]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2311
[Intel XE#2312]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2312
[Intel XE#2313]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2313
[Intel XE#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#2321]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2321
[Intel XE#2322]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2322
[Intel XE#2325]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2325
[Intel XE#2327]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2327
[Intel XE#2328]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2328
[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#2370]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2370
[Intel XE#2375]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2375
[Intel XE#2387]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2387
[Intel XE#2426]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2426
[Intel XE#2459]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2459
[Intel XE#2596]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2596
[Intel XE#2597]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2597
[Intel XE#2652]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2652
[Intel XE#2763]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2763
[Intel XE#2833]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2833
[Intel XE#2850]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2850
[Intel XE#2887]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2887
[Intel XE#2893]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2893
[Intel XE#2894]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2894
[Intel XE#301]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/301
[Intel XE#306]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/306
[Intel XE#309]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/309
[Intel XE#3098]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3098
[Intel XE#3141]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3141
[Intel XE#3304]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3304
[Intel XE#3414]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3414
[Intel XE#352]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/352
[Intel XE#3658]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3658
[Intel XE#367]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/367
[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#4141]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4141
[Intel XE#4608]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4608
[Intel XE#4665]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4665
[Intel XE#4733]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4733
[Intel XE#4837]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4837
[Intel XE#5020]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5020
[Intel XE#5545]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5545
[Intel XE#5694]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5694
[Intel XE#5848]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5848
[Intel XE#6281]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6281
[Intel XE#6312]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6312
[Intel XE#6321]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6321
[Intel XE#6361]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6361
[Intel XE#6503]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6503
[Intel XE#651]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/651
[Intel XE#6529]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6529
[Intel XE#6540]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6540
[Intel XE#6557]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6557
[Intel XE#656]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/656
[Intel XE#6599]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6599
[Intel XE#6652]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6652
[Intel XE#6665]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6665
[Intel XE#6703]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6703
[Intel XE#6705]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6705
[Intel XE#6707]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6707
[Intel XE#6874]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6874
[Intel XE#688]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/688
[Intel XE#6886]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6886
[Intel XE#6964]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6964
[Intel XE#6974]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6974
[Intel XE#7061]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7061
[Intel XE#7084]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7084
[Intel XE#7136]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7136
[Intel XE#7138]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7138
[Intel XE#7140]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7140
[Intel XE#7178]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7178
[Intel XE#7179]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7179
[Intel XE#7283]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7283
[Intel XE#7304]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7304
[Intel XE#7321]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7321
[Intel XE#7331]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7331
[Intel XE#7342]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7342
[Intel XE#7343]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7343
[Intel XE#7348]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7348
[Intel XE#7349]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7349
[Intel XE#7351]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7351
[Intel XE#7354]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7354
[Intel XE#7355]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7355
[Intel XE#7356]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7356
[Intel XE#7358]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7358
[Intel XE#7360]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7360
[Intel XE#7367]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7367
[Intel XE#7370]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7370
[Intel XE#7372]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7372
[Intel XE#7373]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7373
[Intel XE#7374]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7374
[Intel XE#7376]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7376
[Intel XE#7383]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7383
[Intel XE#7388]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7388
[Intel XE#7399]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7399
[Intel XE#7417]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7417
[Intel XE#7426]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7426
[Intel XE#7429]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7429
[Intel XE#7439]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7439
[Intel XE#7444]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7444
[Intel XE#7445]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7445
[Intel XE#7453]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7453
[Intel XE#7482]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7482
[Intel XE#7571]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7571
[Intel XE#7590]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7590
[Intel XE#836]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/836
[Intel XE#870]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/870
[Intel XE#944]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/944
Build changes
-------------
* IGT: IGT_8803 -> IGTPW_14761
IGTPW_14761: 14761
IGT_8803: 8803
xe-4714-16a11d47689b9199a72e080ddd2267f006b545df: 16a11d47689b9199a72e080ddd2267f006b545df
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14761/index.html
[-- Attachment #2: Type: text/html, Size: 65828 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v1 1/4] drm-uapi/panthor: Sync panthor uapi
2026-03-13 17:58 ` [PATCH v1 1/4] drm-uapi/panthor: Sync panthor uapi Adrián Larumbe
@ 2026-03-16 12:21 ` Kamil Konieczny
0 siblings, 0 replies; 9+ messages in thread
From: Kamil Konieczny @ 2026-03-16 12:21 UTC (permalink / raw)
To: Adrián Larumbe
Cc: igt-dev, Petri Latvala, Arkadiusz Hiler, Juha-Pekka Heikkila,
Bhanuprakash Modem, Boris Brezillon, Steven Price, Liviu Dudau,
Daniel Almeida, Janne Grunau, Danilo Krummrich, kernel
Hi Adrián,
On 2026-03-13 at 17:58:28 +0000, Adrián Larumbe wrote:
> Pull it from drm-misc-next.
Please bring it from drm-next, I see there are more commits, so write
here something like:
Synchronize panthor uapi with drm-next kernel up to 5c3c3e7b654d,
which includes the following changes:
commit 5c3c3e7b654d ("drm/panthor: Fix kerneldoc in uAPI header")
commit cd2c9c3015e6 ("drm/panthor: Add flag to map GEM object Write-Back Cacheable")
commit c146c82f862e ("drm/panthor: Add an ioctl to query BO flags")
commit e06177ec7a36 ("drm/panthor: Add a PANTHOR_BO_SYNC ioctl")
commit ea78ec982653 ("drm/panthor: Expose the selected coherency protocol to the UMD")
Also, please sync it with latest commit ("drm/panthor: Fix kerneldoc in uAPI header")
so subject would be like:
Subject: Re: [PATCH v1 1/4] drm-uapi/panthor: Sync panthor uapi with kernel up to 5c3c3e7b654d
Regards,
Kamil
>
> Signed-off-by: Adrián Larumbe <adrian.larumbe@collabora.com>
> ---
> include/drm-uapi/panthor_drm.h | 190 ++++++++++++++++++++++++++++++++-
> 1 file changed, 187 insertions(+), 3 deletions(-)
>
> diff --git a/include/drm-uapi/panthor_drm.h b/include/drm-uapi/panthor_drm.h
> index 467d365ed7ba..46217ce2c0f5 100644
> --- a/include/drm-uapi/panthor_drm.h
> +++ b/include/drm-uapi/panthor_drm.h
> @@ -144,6 +144,16 @@ enum drm_panthor_ioctl_id {
> * pgoff_t size.
> */
> DRM_PANTHOR_SET_USER_MMIO_OFFSET,
> +
> + /** @DRM_PANTHOR_BO_SYNC: Sync BO data to/from the device */
> + DRM_PANTHOR_BO_SYNC,
> +
> + /**
> + * @DRM_PANTHOR_BO_QUERY_INFO: Query information about a BO.
> + *
> + * This is useful for imported BOs.
> + */
> + DRM_PANTHOR_BO_QUERY_INFO,
> };
>
> /**
> @@ -236,6 +246,9 @@ enum drm_panthor_dev_query_type {
> /** @DRM_PANTHOR_DEV_QUERY_CSIF_INFO: Query command-stream interface information. */
> DRM_PANTHOR_DEV_QUERY_CSIF_INFO,
>
> + /** @DRM_PANTHOR_DEV_QUERY_MMU_INFO: Query MMU information. */
> + DRM_PANTHOR_DEV_QUERY_MMU_INFO,
> +
> /** @DRM_PANTHOR_DEV_QUERY_TIMESTAMP_INFO: Query timestamp information. */
> DRM_PANTHOR_DEV_QUERY_TIMESTAMP_INFO,
>
> @@ -245,6 +258,26 @@ enum drm_panthor_dev_query_type {
> DRM_PANTHOR_DEV_QUERY_GROUP_PRIORITIES_INFO,
> };
>
> +/**
> + * enum drm_panthor_gpu_coherency: Type of GPU coherency
> + */
> +enum drm_panthor_gpu_coherency {
> + /**
> + * @DRM_PANTHOR_GPU_COHERENCY_ACE_LITE: ACE Lite coherency.
> + */
> + DRM_PANTHOR_GPU_COHERENCY_ACE_LITE = 0,
> +
> + /**
> + * @DRM_PANTHOR_GPU_COHERENCY_ACE: ACE coherency.
> + */
> + DRM_PANTHOR_GPU_COHERENCY_ACE = 1,
> +
> + /**
> + * @DRM_PANTHOR_GPU_COHERENCY_NONE: No coherency.
> + */
> + DRM_PANTHOR_GPU_COHERENCY_NONE = 31,
> +};
> +
> /**
> * struct drm_panthor_gpu_info - GPU information
> *
> @@ -301,7 +334,16 @@ struct drm_panthor_gpu_info {
> */
> __u32 thread_max_barrier_size;
>
> - /** @coherency_features: Coherency features. */
> + /**
> + * @coherency_features: Coherency features.
> + *
> + * Combination of drm_panthor_gpu_coherency flags.
> + *
> + * Note that this is just what the coherency protocols supported by the
> + * GPU, but the actual coherency in place depends on the SoC
> + * integration and is reflected by
> + * drm_panthor_gpu_info::selected_coherency.
> + */
> __u32 coherency_features;
>
> /** @texture_features: Texture features. */
> @@ -310,8 +352,12 @@ struct drm_panthor_gpu_info {
> /** @as_present: Bitmask encoding the number of address-space exposed by the MMU. */
> __u32 as_present;
>
> - /** @pad0: MBZ. */
> - __u32 pad0;
> + /**
> + * @selected_coherency: Coherency selected for this device.
> + *
> + * One of drm_panthor_gpu_coherency.
> + */
> + __u32 selected_coherency;
>
> /** @shader_present: Bitmask encoding the shader cores exposed by the GPU. */
> __u64 shader_present;
> @@ -366,6 +412,16 @@ struct drm_panthor_csif_info {
> __u32 pad;
> };
>
> +/**
> + * struct drm_panthor_mmu_info - MMU information
> + *
> + * Structure grouping all queryable information relating to the MMU.
> + */
> +struct drm_panthor_mmu_info {
> + /** @page_size_bitmap: Allowed page sizes */
> + __u64 page_size_bitmap;
> +};
> +
> /**
> * struct drm_panthor_timestamp_info - Timestamp information
> *
> @@ -499,6 +555,17 @@ enum drm_panthor_vm_bind_op_flags {
> */
> DRM_PANTHOR_VM_BIND_OP_MAP_UNCACHED = 1 << 2,
>
> + /**
> + * @DRM_PANTHOR_VM_BIND_OP_MAP_REPEAT: Repeat a BO range
> + *
> + * Only valid with DRM_PANTHOR_VM_BIND_OP_TYPE_MAP.
> + *
> + * When this is set, a BO range is repeated over the VA range.
> + * drm_panthor_vm_bind_op::bo_repeat_range defines the size of the
> + * BO range to repeat.
> + */
> + DRM_PANTHOR_VM_BIND_OP_MAP_REPEAT = 1 << 3,
> +
> /**
> * @DRM_PANTHOR_VM_BIND_OP_TYPE_MASK: Mask used to determine the type of operation.
> */
> @@ -563,6 +630,15 @@ struct drm_panthor_vm_bind_op {
> */
> struct drm_panthor_obj_array syncs;
>
> + /**
> + * @bo_repeat_range: The size of the range to be repeated.
> + *
> + * Must be zero if DRM_PANTHOR_VM_BIND_OP_MAP_REPEAT is not set in
> + * flags.
> + *
> + * Size must be a multiple of bo_repeat_range.
> + */
> + __u64 bo_repeat_range;
> };
>
> /**
> @@ -638,6 +714,15 @@ struct drm_panthor_vm_get_state {
> enum drm_panthor_bo_flags {
> /** @DRM_PANTHOR_BO_NO_MMAP: The buffer object will never be CPU-mapped in userspace. */
> DRM_PANTHOR_BO_NO_MMAP = (1 << 0),
> +
> + /**
> + * @DRM_PANTHOR_BO_WB_MMAP: Force "Write-Back Cacheable" CPU mapping.
> + *
> + * CPU map the buffer object in userspace by forcing the "Write-Back
> + * Cacheable" cacheability attribute. The mapping otherwise uses the
> + * "Non-Cacheable" attribute if the GPU is not IO coherent.
> + */
> + DRM_PANTHOR_BO_WB_MMAP = (1 << 1),
> };
>
> /**
> @@ -1040,6 +1125,101 @@ struct drm_panthor_set_user_mmio_offset {
> __u64 offset;
> };
>
> +/**
> + * enum drm_panthor_bo_sync_op_type - BO sync type
> + */
> +enum drm_panthor_bo_sync_op_type {
> + /** @DRM_PANTHOR_BO_SYNC_CPU_CACHE_FLUSH: Flush CPU caches. */
> + DRM_PANTHOR_BO_SYNC_CPU_CACHE_FLUSH = 0,
> +
> + /** @DRM_PANTHOR_BO_SYNC_CPU_CACHE_FLUSH_AND_INVALIDATE: Flush and invalidate CPU caches. */
> + DRM_PANTHOR_BO_SYNC_CPU_CACHE_FLUSH_AND_INVALIDATE = 1,
> +};
> +
> +/**
> + * struct drm_panthor_bo_sync_op - BO map sync op
> + */
> +struct drm_panthor_bo_sync_op {
> + /** @handle: Handle of the buffer object to sync. */
> + __u32 handle;
> +
> + /** @type: Type of operation. */
> + __u32 type;
> +
> + /**
> + * @offset: Offset into the BO at which the sync range starts.
> + *
> + * This will be rounded down to the nearest cache line as needed.
> + */
> + __u64 offset;
> +
> + /**
> + * @size: Size of the range to sync
> + *
> + * @size + @offset will be rounded up to the nearest cache line as
> + * needed.
> + */
> + __u64 size;
> +};
> +
> +/**
> + * struct drm_panthor_bo_sync - BO map sync request
> + */
> +struct drm_panthor_bo_sync {
> + /**
> + * @ops: Array of struct drm_panthor_bo_sync_op sync operations.
> + */
> + struct drm_panthor_obj_array ops;
> +};
> +
> +/**
> + * enum drm_panthor_bo_extra_flags - Set of flags returned on a BO_QUERY_INFO request
> + *
> + * Those are flags reflecting BO properties that are not directly coming from the flags
> + * passed are creation time, or information on BOs that were imported from other drivers.
> + */
> +enum drm_panthor_bo_extra_flags {
> + /**
> + * @DRM_PANTHOR_BO_IS_IMPORTED: BO has been imported from an external driver.
> + *
> + * Note that imported dma-buf handles are not flagged as imported if they
> + * where exported by panthor. Only buffers that are coming from other drivers
> + * (dma heaps, other GPUs, display controllers, V4L, ...).
> + *
> + * It's also important to note that all imported BOs are mapped cached and can't
> + * be considered IO-coherent even if the GPU is. This means they require explicit
> + * syncs that must go through the DRM_PANTHOR_BO_SYNC ioctl (userland cache
> + * maintenance is not allowed in that case, because extra operations might be
> + * needed to make changes visible to the CPU/device, like buffer migration when the
> + * exporter is a GPU with its own VRAM).
> + */
> + DRM_PANTHOR_BO_IS_IMPORTED = (1 << 0),
> +};
> +
> +/**
> + * struct drm_panthor_bo_query_info - Query BO info
> + */
> +struct drm_panthor_bo_query_info {
> + /** @handle: Handle of the buffer object to query flags on. */
> + __u32 handle;
> +
> + /**
> + * @extra_flags: Combination of enum drm_panthor_bo_extra_flags flags.
> + */
> + __u32 extra_flags;
> +
> + /**
> + * @create_flags: Flags passed at creation time.
> + *
> + * Combination of enum drm_panthor_bo_flags flags.
> + * Will be zero if the buffer comes from a different driver.
> + */
> + __u32 create_flags;
> +
> + /** @pad: Will be zero on return. */
> + __u32 pad;
> +};
> +
> /**
> * DRM_IOCTL_PANTHOR() - Build a Panthor IOCTL number
> * @__access: Access type. Must be R, W or RW.
> @@ -1086,6 +1266,10 @@ enum {
> DRM_IOCTL_PANTHOR(WR, BO_SET_LABEL, bo_set_label),
> DRM_IOCTL_PANTHOR_SET_USER_MMIO_OFFSET =
> DRM_IOCTL_PANTHOR(WR, SET_USER_MMIO_OFFSET, set_user_mmio_offset),
> + DRM_IOCTL_PANTHOR_BO_SYNC =
> + DRM_IOCTL_PANTHOR(WR, BO_SYNC, bo_sync),
> + DRM_IOCTL_PANTHOR_BO_QUERY_INFO =
> + DRM_IOCTL_PANTHOR(WR, BO_QUERY_INFO, bo_query_info),
> };
>
> #if defined(__cplusplus)
> --
> 2.53.0
>
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2026-03-16 12:21 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-13 17:58 [PATCH v1 0/4] Test panthor repeated mappings Adrián Larumbe
2026-03-13 17:58 ` [PATCH v1 1/4] drm-uapi/panthor: Sync panthor uapi Adrián Larumbe
2026-03-16 12:21 ` Kamil Konieczny
2026-03-13 17:58 ` [PATCH v1 2/4] panthor: Move issue_store_multiple into library file Adrián Larumbe
2026-03-13 17:58 ` [PATCH v1 3/4] test/panthor: Add support for repeated mappings Adrián Larumbe
2026-03-13 17:58 ` [PATCH v1 4/4] tests/panthor: Add VM_BIND repeat tests Adrián Larumbe
2026-03-13 18:28 ` ✓ Xe.CI.BAT: success for Test panthor repeated mappings Patchwork
2026-03-13 19:05 ` ✗ i915.CI.BAT: failure " Patchwork
2026-03-14 22:35 ` ✗ Xe.CI.FULL: " Patchwork
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox