* [igt-dev] [PATCH i-g-t, v2] tests/prime_mmap: Add support for local memory
@ 2021-10-14 11:09 apoorva1.singh
2021-10-14 11:40 ` [igt-dev] ✓ Fi.CI.BAT: success for tests/prime_mmap: Add support for local memory (rev2) Patchwork
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: apoorva1.singh @ 2021-10-14 11:09 UTC (permalink / raw)
To: zbigniew.kempczynski, arjun.melkaveri, igt-dev
From: Andrzej Turko <andrzej.turko@linux.intel.com>
Add support for local memory region (Device memory)
v2:
- Replace igt_skip_on() with igt_assert(), as with TTM
backend this test will not be able to run on discrete
currently.
- Fix minor line wrap changes.
Signed-off-by: Andrzej Turko <andrzej.turko@linux.intel.com>
Signed-off-by: Apoorva Singh <apoorva1.singh@intel.com>
Cc: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Cc: Melkaveri, Arjun <arjun.melkaveri@intel.com>
---
tests/prime_mmap.c | 254 +++++++++++++++++++++++++++------------------
1 file changed, 154 insertions(+), 100 deletions(-)
diff --git a/tests/prime_mmap.c b/tests/prime_mmap.c
index a4e4b4b6..adbfaa22 100644
--- a/tests/prime_mmap.c
+++ b/tests/prime_mmap.c
@@ -42,11 +42,14 @@
#include "drm.h"
#include "drmtest.h"
+#include "igt.h"
+#include "igt_collection.h"
#include "i915_drm.h"
#include "i915/gem_create.h"
#include "i915/gem_mman.h"
#include "igt_debugfs.h"
#include "ioctl_wrappers.h"
+#include "i915/intel_memory_region.h"
#define BO_SIZE (16*1024)
@@ -68,119 +71,123 @@ fill_bo(uint32_t handle, size_t size)
}
static void
-fill_bo_cpu(char *ptr)
+fill_bo_cpu(char *ptr, size_t size)
{
- memcpy(ptr, pattern, sizeof(pattern));
+ off_t i;
+ for (i = 0; i < size; i += sizeof(pattern))
+ {
+ memcpy(ptr + i, pattern, sizeof(pattern));
+ }
}
static void
-test_correct(void)
+test_correct(uint32_t region, int size)
{
int dma_buf_fd;
char *ptr1, *ptr2;
uint32_t handle;
- handle = gem_create(fd, BO_SIZE);
- fill_bo(handle, BO_SIZE);
+ handle = gem_create_in_memory_regions(fd, size, region);
+ fill_bo(handle, size);
dma_buf_fd = prime_handle_to_fd(fd, handle);
igt_assert(errno == 0);
/* Check correctness vs GEM_MMAP */
- ptr1 = gem_mmap__device_coherent(fd, handle, 0, BO_SIZE, PROT_READ);
- ptr2 = mmap(NULL, BO_SIZE, PROT_READ, MAP_SHARED, dma_buf_fd, 0);
+ ptr1 = gem_mmap__device_coherent(fd, handle, 0, size, PROT_READ);
+ ptr2 = mmap(NULL, size, PROT_READ, MAP_SHARED, dma_buf_fd, 0);
igt_assert(ptr1 != MAP_FAILED);
igt_assert(ptr2 != MAP_FAILED);
- igt_assert(memcmp(ptr1, ptr2, BO_SIZE) == 0);
+ igt_assert(memcmp(ptr1, ptr2, size) == 0);
/* Check pattern correctness */
igt_assert(memcmp(ptr2, pattern, sizeof(pattern)) == 0);
- munmap(ptr1, BO_SIZE);
- munmap(ptr2, BO_SIZE);
+ munmap(ptr1, size);
+ munmap(ptr2, size);
close(dma_buf_fd);
gem_close(fd, handle);
}
static void
-test_map_unmap(void)
+test_map_unmap(uint32_t region, int size)
{
int dma_buf_fd;
char *ptr;
uint32_t handle;
- handle = gem_create(fd, BO_SIZE);
- fill_bo(handle, BO_SIZE);
+ handle = gem_create_in_memory_regions(fd, size, region);
+ fill_bo(handle, size);
dma_buf_fd = prime_handle_to_fd(fd, handle);
igt_assert(errno == 0);
- ptr = mmap(NULL, BO_SIZE, PROT_READ, MAP_SHARED, dma_buf_fd, 0);
+ ptr = mmap(NULL, size, PROT_READ, MAP_SHARED, dma_buf_fd, 0);
igt_assert(ptr != MAP_FAILED);
igt_assert(memcmp(ptr, pattern, sizeof(pattern)) == 0);
/* Unmap and remap */
- munmap(ptr, BO_SIZE);
- ptr = mmap(NULL, BO_SIZE, PROT_READ, MAP_SHARED, dma_buf_fd, 0);
+ munmap(ptr, size);
+ ptr = mmap(NULL, size, PROT_READ, MAP_SHARED, dma_buf_fd, 0);
igt_assert(ptr != MAP_FAILED);
igt_assert(memcmp(ptr, pattern, sizeof(pattern)) == 0);
- munmap(ptr, BO_SIZE);
+ munmap(ptr, size);
close(dma_buf_fd);
gem_close(fd, handle);
}
/* prime and then unprime and then prime again the same handle */
static void
-test_reprime(void)
+test_reprime(uint32_t region, int size)
{
int dma_buf_fd;
char *ptr;
uint32_t handle;
- handle = gem_create(fd, BO_SIZE);
- fill_bo(handle, BO_SIZE);
+ handle = gem_create_in_memory_regions(fd, size, region);
+ fill_bo(handle, size);
dma_buf_fd = prime_handle_to_fd(fd, handle);
igt_assert(errno == 0);
- ptr = mmap(NULL, BO_SIZE, PROT_READ, MAP_SHARED, dma_buf_fd, 0);
+ ptr = mmap(NULL, size, PROT_READ, MAP_SHARED, dma_buf_fd, 0);
igt_assert(ptr != MAP_FAILED);
igt_assert(memcmp(ptr, pattern, sizeof(pattern)) == 0);
close (dma_buf_fd);
igt_assert(memcmp(ptr, pattern, sizeof(pattern)) == 0);
- munmap(ptr, BO_SIZE);
+ munmap(ptr, size);
dma_buf_fd = prime_handle_to_fd(fd, handle);
- ptr = mmap(NULL, BO_SIZE, PROT_READ, MAP_SHARED, dma_buf_fd, 0);
+ ptr = mmap(NULL, size, PROT_READ, MAP_SHARED, dma_buf_fd, 0);
igt_assert(ptr != MAP_FAILED);
igt_assert(memcmp(ptr, pattern, sizeof(pattern)) == 0);
- munmap(ptr, BO_SIZE);
+ munmap(ptr, size);
close(dma_buf_fd);
gem_close(fd, handle);
}
/* map from another process */
static void
-test_forked(void)
+test_forked(uint32_t region, int size)
{
int dma_buf_fd;
char *ptr;
uint32_t handle;
- handle = gem_create(fd, BO_SIZE);
- fill_bo(handle, BO_SIZE);
+ handle = gem_create_in_memory_regions(fd, size, region);
+ fill_bo(handle, size);
dma_buf_fd = prime_handle_to_fd(fd, handle);
igt_assert(errno == 0);
igt_fork(childno, 1) {
- ptr = mmap(NULL, BO_SIZE, PROT_READ, MAP_SHARED, dma_buf_fd, 0);
+ ptr = mmap(NULL, size, PROT_READ, MAP_SHARED, dma_buf_fd, 0);
igt_assert(ptr != MAP_FAILED);
igt_assert(memcmp(ptr, pattern, sizeof(pattern)) == 0);
- munmap(ptr, BO_SIZE);
+ munmap(ptr, size);
close(dma_buf_fd);
}
close(dma_buf_fd);
@@ -190,13 +197,13 @@ test_forked(void)
/* test simple CPU write */
static void
-test_correct_cpu_write(void)
+test_correct_cpu_write(uint32_t region, int size)
{
int dma_buf_fd;
char *ptr;
uint32_t handle;
- handle = gem_create(fd, BO_SIZE);
+ handle = gem_create_in_memory_regions(fd, size, region);
dma_buf_fd = prime_handle_to_fd_for_mmap(fd, handle);
@@ -204,29 +211,29 @@ test_correct_cpu_write(void)
igt_skip_on(errno == EINVAL);
/* Check correctness of map using write protection (PROT_WRITE) */
- ptr = mmap(NULL, BO_SIZE, PROT_READ | PROT_WRITE, MAP_SHARED, dma_buf_fd, 0);
+ ptr = mmap(NULL, size, PROT_READ | PROT_WRITE, MAP_SHARED, dma_buf_fd, 0);
igt_assert(ptr != MAP_FAILED);
/* Fill bo using CPU */
- fill_bo_cpu(ptr);
+ fill_bo_cpu(ptr, BO_SIZE);
/* Check pattern correctness */
igt_assert(memcmp(ptr, pattern, sizeof(pattern)) == 0);
- munmap(ptr, BO_SIZE);
+ munmap(ptr, size);
close(dma_buf_fd);
gem_close(fd, handle);
}
/* map from another process and then write using CPU */
static void
-test_forked_cpu_write(void)
+test_forked_cpu_write(uint32_t region, int size)
{
int dma_buf_fd;
char *ptr;
uint32_t handle;
- handle = gem_create(fd, BO_SIZE);
+ handle = gem_create_in_memory_regions(fd, size, region);
dma_buf_fd = prime_handle_to_fd_for_mmap(fd, handle);
@@ -234,12 +241,12 @@ test_forked_cpu_write(void)
igt_skip_on(errno == EINVAL);
igt_fork(childno, 1) {
- ptr = mmap(NULL, BO_SIZE, PROT_READ | PROT_WRITE , MAP_SHARED, dma_buf_fd, 0);
+ ptr = mmap(NULL, size, PROT_READ | PROT_WRITE , MAP_SHARED, dma_buf_fd, 0);
igt_assert(ptr != MAP_FAILED);
- fill_bo_cpu(ptr);
+ fill_bo_cpu(ptr, BO_SIZE);
igt_assert(memcmp(ptr, pattern, sizeof(pattern)) == 0);
- munmap(ptr, BO_SIZE);
+ munmap(ptr, size);
close(dma_buf_fd);
}
close(dma_buf_fd);
@@ -248,45 +255,45 @@ test_forked_cpu_write(void)
}
static void
-test_refcounting(void)
+test_refcounting(uint32_t region, int size)
{
int dma_buf_fd;
char *ptr;
uint32_t handle;
- handle = gem_create(fd, BO_SIZE);
- fill_bo(handle, BO_SIZE);
+ handle = gem_create_in_memory_regions(fd, size, region);
+ fill_bo(handle, size);
dma_buf_fd = prime_handle_to_fd(fd, handle);
igt_assert(errno == 0);
/* Close gem object before mapping */
gem_close(fd, handle);
- ptr = mmap(NULL, BO_SIZE, PROT_READ, MAP_SHARED, dma_buf_fd, 0);
+ ptr = mmap(NULL, size, PROT_READ, MAP_SHARED, dma_buf_fd, 0);
igt_assert(ptr != MAP_FAILED);
igt_assert(memcmp(ptr, pattern, sizeof(pattern)) == 0);
- munmap(ptr, BO_SIZE);
+ munmap(ptr, size);
close (dma_buf_fd);
}
/* dup before mmap */
static void
-test_dup(void)
+test_dup(uint32_t region, int size)
{
int dma_buf_fd;
char *ptr;
uint32_t handle;
- handle = gem_create(fd, BO_SIZE);
- fill_bo(handle, BO_SIZE);
+ handle = gem_create_in_memory_regions(fd, size, region);
+ fill_bo(handle, size);
dma_buf_fd = dup(prime_handle_to_fd(fd, handle));
igt_assert(errno == 0);
- ptr = mmap(NULL, BO_SIZE, PROT_READ, MAP_SHARED, dma_buf_fd, 0);
+ ptr = mmap(NULL, size, PROT_READ, MAP_SHARED, dma_buf_fd, 0);
igt_assert(ptr != MAP_FAILED);
igt_assert(memcmp(ptr, pattern, sizeof(pattern)) == 0);
- munmap(ptr, BO_SIZE);
+ munmap(ptr, size);
gem_close(fd, handle);
close (dma_buf_fd);
}
@@ -324,21 +331,21 @@ static bool has_userptr(void)
/* test for mmap(dma_buf_export(userptr)) */
static void
-test_userptr(void)
+test_userptr(uint32_t region, int size)
{
int ret, dma_buf_fd;
void *ptr;
uint32_t handle;
- igt_require(has_userptr());
-
/* create userptr bo */
- ret = posix_memalign(&ptr, 4096, BO_SIZE);
+ ret = posix_memalign(&ptr, 4096, size);
igt_assert_eq(ret, 0);
- /* we are not allowed to export unsynchronized userptr. Just create a normal
- * one */
- gem_userptr(fd, (uint32_t *)ptr, BO_SIZE, 0, 0, &handle);
+ /*
+ * we are not allowed to export unsynchronized userptr. Just create a
+ * normal one
+ */
+ gem_userptr(fd, (uint32_t *)ptr, size, 0, 0, &handle);
/* export userptr */
ret = prime_handle_to_fd_no_assert(handle, DRM_CLOEXEC, &dma_buf_fd);
@@ -352,7 +359,7 @@ test_userptr(void)
/* a userptr doesn't have the obj->base.filp, but can be exported via
* dma-buf, so make sure it fails here */
- ptr = mmap(NULL, BO_SIZE, PROT_READ, MAP_SHARED, dma_buf_fd, 0);
+ ptr = mmap(NULL, size, PROT_READ, MAP_SHARED, dma_buf_fd, 0);
igt_assert(ptr == MAP_FAILED && errno == ENODEV);
free_userptr:
gem_close(fd, handle);
@@ -360,7 +367,7 @@ free_userptr:
}
static void
-test_errors(void)
+test_errors(uint32_t region, int size)
{
int i, dma_buf_fd;
char *ptr;
@@ -369,48 +376,49 @@ test_errors(void)
DRM_RDWR - 1, DRM_RDWR + 1};
/* Test for invalid flags */
- handle = gem_create(fd, BO_SIZE);
- for (i = 0; i < sizeof(invalid_flags) / sizeof(invalid_flags[0]); i++) {
+ handle = gem_create_in_memory_regions(fd, size, region);
+ for (i = 0; i < ARRAY_SIZE(invalid_flags); i++) {
prime_handle_to_fd_no_assert(handle, invalid_flags[i], &dma_buf_fd);
igt_assert_eq(errno, EINVAL);
errno = 0;
}
+ gem_close(fd, handle);
/* Close gem object before priming */
- handle = gem_create(fd, BO_SIZE);
- fill_bo(handle, BO_SIZE);
+ handle = gem_create_in_memory_regions(fd, size, region);
+ fill_bo(handle, size);
gem_close(fd, handle);
prime_handle_to_fd_no_assert(handle, DRM_CLOEXEC, &dma_buf_fd);
igt_assert(dma_buf_fd == -1 && errno == ENOENT);
errno = 0;
/* close fd before mapping */
- handle = gem_create(fd, BO_SIZE);
- fill_bo(handle, BO_SIZE);
+ handle = gem_create_in_memory_regions(fd, size, region);
+ fill_bo(handle, size);
dma_buf_fd = prime_handle_to_fd(fd, handle);
igt_assert(errno == 0);
close(dma_buf_fd);
- ptr = mmap(NULL, BO_SIZE, PROT_READ, MAP_SHARED, dma_buf_fd, 0);
+ ptr = mmap(NULL, size, PROT_READ, MAP_SHARED, dma_buf_fd, 0);
igt_assert(ptr == MAP_FAILED && errno == EBADF);
errno = 0;
gem_close(fd, handle);
/* Map too big */
- handle = gem_create(fd, BO_SIZE);
- fill_bo(handle, BO_SIZE);
+ handle = gem_create_in_memory_regions(fd, size, region);
+ fill_bo(handle, size);
dma_buf_fd = prime_handle_to_fd(fd, handle);
igt_assert(errno == 0);
- ptr = mmap(NULL, BO_SIZE * 2, PROT_READ, MAP_SHARED, dma_buf_fd, 0);
+ ptr = mmap(NULL, size * 2, PROT_READ, MAP_SHARED, dma_buf_fd, 0);
igt_assert(ptr == MAP_FAILED && errno == EINVAL);
errno = 0;
close(dma_buf_fd);
gem_close(fd, handle);
/* Overlapping the end of the buffer */
- handle = gem_create(fd, BO_SIZE);
+ handle = gem_create_in_memory_regions(fd, size, region);
dma_buf_fd = prime_handle_to_fd(fd, handle);
igt_assert(errno == 0);
- ptr = mmap(NULL, BO_SIZE, PROT_READ, MAP_SHARED, dma_buf_fd, BO_SIZE / 2);
+ ptr = mmap(NULL, size, PROT_READ, MAP_SHARED, dma_buf_fd, size / 2);
igt_assert(ptr == MAP_FAILED && errno == EINVAL);
errno = 0;
close(dma_buf_fd);
@@ -419,7 +427,7 @@ test_errors(void)
/* Test for invalid flags on sync ioctl */
static void
-test_invalid_sync_flags(void)
+test_invalid_sync_flags(uint32_t region, int size)
{
int i, dma_buf_fd;
uint32_t handle;
@@ -429,7 +437,7 @@ test_invalid_sync_flags(void)
LOCAL_DMA_BUF_SYNC_RW + 1,
LOCAL_DMA_BUF_SYNC_VALID_FLAGS_MASK + 1};
- handle = gem_create(fd, BO_SIZE);
+ handle = gem_create_in_memory_regions(fd, size, region);
dma_buf_fd = prime_handle_to_fd(fd, handle);
for (i = 0; i < sizeof(invalid_flags) / sizeof(invalid_flags[0]); i++) {
memset(&sync, 0, sizeof(sync));
@@ -442,7 +450,7 @@ test_invalid_sync_flags(void)
}
static void
-test_aperture_limit(void)
+test_aperture_limit(uint32_t region, int size)
{
int dma_buf_fd1, dma_buf_fd2;
char *ptr1, *ptr2;
@@ -452,23 +460,22 @@ test_aperture_limit(void)
uint64_t size2 = (gem_mappable_aperture_size(fd) * 3) / 8;
handle1 = gem_create(fd, size1);
- fill_bo(handle1, BO_SIZE);
-
- dma_buf_fd1 = prime_handle_to_fd(fd, handle1);
+ dma_buf_fd1 = prime_handle_to_fd_for_mmap(fd, handle1);
igt_assert(errno == 0);
- ptr1 = mmap(NULL, size1, PROT_READ, MAP_SHARED, dma_buf_fd1, 0);
+ ptr1 = mmap(NULL, size1, PROT_READ | PROT_WRITE, MAP_SHARED, dma_buf_fd1, 0);
igt_assert(ptr1 != MAP_FAILED);
+ fill_bo_cpu(ptr1, size);
igt_assert(memcmp(ptr1, pattern, sizeof(pattern)) == 0);
handle2 = gem_create(fd, size1);
- fill_bo(handle2, BO_SIZE);
- dma_buf_fd2 = prime_handle_to_fd(fd, handle2);
+ dma_buf_fd2 = prime_handle_to_fd_for_mmap(fd, handle2);
igt_assert(errno == 0);
- ptr2 = mmap(NULL, size2, PROT_READ, MAP_SHARED, dma_buf_fd2, 0);
+ ptr2 = mmap(NULL, size2, PROT_READ | PROT_WRITE, MAP_SHARED, dma_buf_fd2, 0);
igt_assert(ptr2 != MAP_FAILED);
+ fill_bo_cpu(ptr2, size);
igt_assert(memcmp(ptr2, pattern, sizeof(pattern)) == 0);
- igt_assert(memcmp(ptr1, ptr2, BO_SIZE) == 0);
+ igt_assert(memcmp(ptr1, ptr2, size) == 0);
munmap(ptr1, size1);
munmap(ptr2, size2);
@@ -479,29 +486,55 @@ test_aperture_limit(void)
}
static int
-check_for_dma_buf_mmap(void)
+check_for_dma_buf_mmap(struct igt_collection *set)
{
+ struct igt_collection *region;
+ uint32_t reg;
int dma_buf_fd;
char *ptr;
uint32_t handle;
int ret = 1;
- handle = gem_create(fd, BO_SIZE);
- dma_buf_fd = prime_handle_to_fd(fd, handle);
- ptr = mmap(NULL, BO_SIZE, PROT_READ, MAP_SHARED, dma_buf_fd, 0);
- if (ptr != MAP_FAILED)
- ret = 0;
- munmap(ptr, BO_SIZE);
- gem_close(fd, handle);
- close(dma_buf_fd);
+ for_each_combination(region, 1, set) {
+ reg = igt_collection_get_value(region, 0);
+ handle = gem_create_in_memory_regions(fd, BO_SIZE, reg);
+
+ dma_buf_fd = prime_handle_to_fd(fd, handle);
+ ptr = mmap(NULL, BO_SIZE, PROT_READ, MAP_SHARED, dma_buf_fd, 0);
+ if (ptr != MAP_FAILED)
+ ret = 0;
+ munmap(ptr, BO_SIZE);
+ gem_close(fd, handle);
+ close(dma_buf_fd);
+ }
return ret;
}
+#define SKIP_LMEM (1 << 0)
+#define SKIP_USERPTR (1 << 1)
+
+/*
+ * true skips the test
+ */
+static bool check_skip(uint32_t skip, uint32_t region)
+{
+ if ((skip & SKIP_LMEM) && IS_DEVICE_MEMORY_REGION(region))
+ return true;
+
+ if (skip & SKIP_USERPTR)
+ return !has_userptr();
+
+ return false;
+}
+
igt_main
{
+ struct igt_collection *set, *regions;
+ struct drm_i915_query_memory_regions *query_info;
struct {
const char *name;
- void (*fn)(void);
+ void (*fn)(uint32_t, int);
+ uint32_t skip;
} tests[] = {
{ "test_correct", test_correct },
{ "test_map_unmap", test_map_unmap },
@@ -511,25 +544,46 @@ igt_main
{ "test_forked_cpu_write", test_forked_cpu_write },
{ "test_refcounting", test_refcounting },
{ "test_dup", test_dup },
- { "test_userptr", test_userptr },
+ { "test_userptr", test_userptr, SKIP_LMEM | SKIP_USERPTR },
{ "test_errors", test_errors },
{ "test_invalid_sync_flags", test_invalid_sync_flags },
- { "test_aperture_limit", test_aperture_limit },
+ { "test_aperture_limit", test_aperture_limit, SKIP_LMEM },
};
+ uint32_t region;
+ char *ext;
+ int size;
int i;
igt_fixture {
fd = drm_open_driver(DRIVER_INTEL);
- igt_skip_on((check_for_dma_buf_mmap() != 0));
- errno = 0;
- }
+ query_info = gem_get_query_memory_regions(fd);
+ igt_assert(query_info);
- for (i = 0; i < ARRAY_SIZE(tests); i++) {
- igt_subtest(tests[i].name)
- tests[i].fn();
+ set = get_memory_region_set(query_info, I915_SYSTEM_MEMORY,
+ I915_DEVICE_MEMORY);
+ igt_assert(check_for_dma_buf_mmap(set) == 0);
+ errno = 0;
}
- igt_fixture
+ for (i = 0; i < ARRAY_SIZE(tests); i++)
+ igt_subtest_with_dynamic(tests[i].name) {
+ for_each_combination(regions, 1, set) {
+ region = igt_collection_get_value(regions, 0);
+ size = gem_get_batch_size(fd, MEMORY_TYPE_FROM_REGION(region));
+ size = max(size, BO_SIZE);
+ if (check_skip(tests[i].skip, region))
+ continue;
+ ext = memregion_dynamic_subtest_name(regions);
+ igt_dynamic_f("%s-%s", tests[i].name, ext)
+ tests[i].fn(region, size);
+ free(ext);
+ }
+ }
+
+ igt_fixture {
+ free(query_info);
+ igt_collection_destroy(set);
close(fd);
+ }
}
--
2.25.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [igt-dev] ✓ Fi.CI.BAT: success for tests/prime_mmap: Add support for local memory (rev2)
2021-10-14 11:09 [igt-dev] [PATCH i-g-t, v2] tests/prime_mmap: Add support for local memory apoorva1.singh
@ 2021-10-14 11:40 ` Patchwork
2021-10-14 12:31 ` [igt-dev] [PATCH i-g-t, v2] tests/prime_mmap: Add support for local memory Zbigniew Kempczyński
2021-10-14 13:44 ` [igt-dev] ✓ Fi.CI.IGT: success for tests/prime_mmap: Add support for local memory (rev2) Patchwork
2 siblings, 0 replies; 4+ messages in thread
From: Patchwork @ 2021-10-14 11:40 UTC (permalink / raw)
To: apoorva1.singh; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 5367 bytes --]
== Series Details ==
Series: tests/prime_mmap: Add support for local memory (rev2)
URL : https://patchwork.freedesktop.org/series/95508/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_10733 -> IGTPW_6321
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/index.html
Known issues
------------
Here are the changes found in IGTPW_6321 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@amdgpu/amd_basic@query-info:
- fi-tgl-1115g4: NOTRUN -> [SKIP][1] ([fdo#109315])
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/fi-tgl-1115g4/igt@amdgpu/amd_basic@query-info.html
* igt@amdgpu/amd_cs_nop@nop-gfx0:
- fi-tgl-1115g4: NOTRUN -> [SKIP][2] ([fdo#109315] / [i915#2575]) +16 similar issues
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/fi-tgl-1115g4/igt@amdgpu/amd_cs_nop@nop-gfx0.html
* igt@gem_exec_suspend@basic-s0:
- fi-kbl-soraka: [PASS][3] -> [INCOMPLETE][4] ([i915#4221])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10733/fi-kbl-soraka/igt@gem_exec_suspend@basic-s0.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/fi-kbl-soraka/igt@gem_exec_suspend@basic-s0.html
* igt@gem_huc_copy@huc-copy:
- fi-tgl-1115g4: NOTRUN -> [SKIP][5] ([i915#2190])
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/fi-tgl-1115g4/igt@gem_huc_copy@huc-copy.html
* igt@i915_pm_backlight@basic-brightness:
- fi-tgl-1115g4: NOTRUN -> [SKIP][6] ([i915#1155])
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/fi-tgl-1115g4/igt@i915_pm_backlight@basic-brightness.html
* igt@kms_chamelium@common-hpd-after-suspend:
- fi-tgl-1115g4: NOTRUN -> [SKIP][7] ([fdo#111827]) +8 similar issues
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/fi-tgl-1115g4/igt@kms_chamelium@common-hpd-after-suspend.html
* igt@kms_chamelium@dp-crc-fast:
- fi-kbl-7500u: [PASS][8] -> [FAIL][9] ([i915#1372])
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10733/fi-kbl-7500u/igt@kms_chamelium@dp-crc-fast.html
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/fi-kbl-7500u/igt@kms_chamelium@dp-crc-fast.html
* igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic:
- fi-tgl-1115g4: NOTRUN -> [SKIP][10] ([i915#4103]) +1 similar issue
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/fi-tgl-1115g4/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html
* igt@kms_force_connector_basic@force-load-detect:
- fi-tgl-1115g4: NOTRUN -> [SKIP][11] ([fdo#109285])
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/fi-tgl-1115g4/igt@kms_force_connector_basic@force-load-detect.html
* igt@kms_frontbuffer_tracking@basic:
- fi-cml-u2: [PASS][12] -> [DMESG-WARN][13] ([i915#4269])
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10733/fi-cml-u2/igt@kms_frontbuffer_tracking@basic.html
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/fi-cml-u2/igt@kms_frontbuffer_tracking@basic.html
* igt@kms_psr@primary_mmap_gtt:
- fi-tgl-1115g4: NOTRUN -> [SKIP][14] ([i915#1072]) +3 similar issues
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/fi-tgl-1115g4/igt@kms_psr@primary_mmap_gtt.html
* igt@prime_vgem@basic-userptr:
- fi-tgl-1115g4: NOTRUN -> [SKIP][15] ([i915#3301])
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/fi-tgl-1115g4/igt@prime_vgem@basic-userptr.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
[fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315
[fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
[fdo#112080]: https://bugs.freedesktop.org/show_bug.cgi?id=112080
[i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
[i915#1155]: https://gitlab.freedesktop.org/drm/intel/issues/1155
[i915#1372]: https://gitlab.freedesktop.org/drm/intel/issues/1372
[i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190
[i915#2575]: https://gitlab.freedesktop.org/drm/intel/issues/2575
[i915#3301]: https://gitlab.freedesktop.org/drm/intel/issues/3301
[i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
[i915#4221]: https://gitlab.freedesktop.org/drm/intel/issues/4221
[i915#4269]: https://gitlab.freedesktop.org/drm/intel/issues/4269
[i915#533]: https://gitlab.freedesktop.org/drm/intel/issues/533
Participating hosts (38 -> 38)
------------------------------
Additional (2): fi-jsl-1 fi-tgl-1115g4
Missing (2): fi-bsw-cyan fi-hsw-4200u
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_6245 -> IGTPW_6321
CI-20190529: 20190529
CI_DRM_10733: 1e6cbb9f4ad6ee0fa0f204d4ae5e4c476e037615 @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_6321: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/index.html
IGT_6245: 477076d55a3cc53b8bfabae5af59114c8cd74827 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/index.html
[-- Attachment #2: Type: text/html, Size: 6201 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [igt-dev] [PATCH i-g-t, v2] tests/prime_mmap: Add support for local memory
2021-10-14 11:09 [igt-dev] [PATCH i-g-t, v2] tests/prime_mmap: Add support for local memory apoorva1.singh
2021-10-14 11:40 ` [igt-dev] ✓ Fi.CI.BAT: success for tests/prime_mmap: Add support for local memory (rev2) Patchwork
@ 2021-10-14 12:31 ` Zbigniew Kempczyński
2021-10-14 13:44 ` [igt-dev] ✓ Fi.CI.IGT: success for tests/prime_mmap: Add support for local memory (rev2) Patchwork
2 siblings, 0 replies; 4+ messages in thread
From: Zbigniew Kempczyński @ 2021-10-14 12:31 UTC (permalink / raw)
To: apoorva1.singh; +Cc: arjun.melkaveri, igt-dev
On Thu, Oct 14, 2021 at 04:39:22PM +0530, apoorva1.singh@intel.com wrote:
> From: Andrzej Turko <andrzej.turko@linux.intel.com>
>
> Add support for local memory region (Device memory)
>
> v2:
> - Replace igt_skip_on() with igt_assert(), as with TTM
> backend this test will not be able to run on discrete
> currently.
> - Fix minor line wrap changes.
>
> Signed-off-by: Andrzej Turko <andrzej.turko@linux.intel.com>
> Signed-off-by: Apoorva Singh <apoorva1.singh@intel.com>
> Cc: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
> Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
> Cc: Melkaveri, Arjun <arjun.melkaveri@intel.com>
> ---
> tests/prime_mmap.c | 254 +++++++++++++++++++++++++++------------------
> 1 file changed, 154 insertions(+), 100 deletions(-)
>
> diff --git a/tests/prime_mmap.c b/tests/prime_mmap.c
> index a4e4b4b6..adbfaa22 100644
> --- a/tests/prime_mmap.c
> +++ b/tests/prime_mmap.c
> @@ -42,11 +42,14 @@
>
> #include "drm.h"
> #include "drmtest.h"
> +#include "igt.h"
> +#include "igt_collection.h"
> #include "i915_drm.h"
> #include "i915/gem_create.h"
> #include "i915/gem_mman.h"
> #include "igt_debugfs.h"
> #include "ioctl_wrappers.h"
> +#include "i915/intel_memory_region.h"
>
> #define BO_SIZE (16*1024)
>
> @@ -68,119 +71,123 @@ fill_bo(uint32_t handle, size_t size)
> }
>
> static void
> -fill_bo_cpu(char *ptr)
> +fill_bo_cpu(char *ptr, size_t size)
> {
> - memcpy(ptr, pattern, sizeof(pattern));
> + off_t i;
> + for (i = 0; i < size; i += sizeof(pattern))
> + {
> + memcpy(ptr + i, pattern, sizeof(pattern));
> + }
> }
>
> static void
> -test_correct(void)
> +test_correct(uint32_t region, int size)
> {
> int dma_buf_fd;
> char *ptr1, *ptr2;
> uint32_t handle;
>
> - handle = gem_create(fd, BO_SIZE);
> - fill_bo(handle, BO_SIZE);
> + handle = gem_create_in_memory_regions(fd, size, region);
> + fill_bo(handle, size);
>
> dma_buf_fd = prime_handle_to_fd(fd, handle);
> igt_assert(errno == 0);
>
> /* Check correctness vs GEM_MMAP */
> - ptr1 = gem_mmap__device_coherent(fd, handle, 0, BO_SIZE, PROT_READ);
> - ptr2 = mmap(NULL, BO_SIZE, PROT_READ, MAP_SHARED, dma_buf_fd, 0);
> + ptr1 = gem_mmap__device_coherent(fd, handle, 0, size, PROT_READ);
> + ptr2 = mmap(NULL, size, PROT_READ, MAP_SHARED, dma_buf_fd, 0);
> igt_assert(ptr1 != MAP_FAILED);
> igt_assert(ptr2 != MAP_FAILED);
> - igt_assert(memcmp(ptr1, ptr2, BO_SIZE) == 0);
> + igt_assert(memcmp(ptr1, ptr2, size) == 0);
>
> /* Check pattern correctness */
> igt_assert(memcmp(ptr2, pattern, sizeof(pattern)) == 0);
>
> - munmap(ptr1, BO_SIZE);
> - munmap(ptr2, BO_SIZE);
> + munmap(ptr1, size);
> + munmap(ptr2, size);
> close(dma_buf_fd);
> gem_close(fd, handle);
> }
>
> static void
> -test_map_unmap(void)
> +test_map_unmap(uint32_t region, int size)
> {
> int dma_buf_fd;
> char *ptr;
> uint32_t handle;
>
> - handle = gem_create(fd, BO_SIZE);
> - fill_bo(handle, BO_SIZE);
> + handle = gem_create_in_memory_regions(fd, size, region);
> + fill_bo(handle, size);
>
> dma_buf_fd = prime_handle_to_fd(fd, handle);
> igt_assert(errno == 0);
>
> - ptr = mmap(NULL, BO_SIZE, PROT_READ, MAP_SHARED, dma_buf_fd, 0);
> + ptr = mmap(NULL, size, PROT_READ, MAP_SHARED, dma_buf_fd, 0);
> igt_assert(ptr != MAP_FAILED);
> igt_assert(memcmp(ptr, pattern, sizeof(pattern)) == 0);
>
> /* Unmap and remap */
> - munmap(ptr, BO_SIZE);
> - ptr = mmap(NULL, BO_SIZE, PROT_READ, MAP_SHARED, dma_buf_fd, 0);
> + munmap(ptr, size);
> + ptr = mmap(NULL, size, PROT_READ, MAP_SHARED, dma_buf_fd, 0);
> igt_assert(ptr != MAP_FAILED);
> igt_assert(memcmp(ptr, pattern, sizeof(pattern)) == 0);
>
> - munmap(ptr, BO_SIZE);
> + munmap(ptr, size);
> close(dma_buf_fd);
> gem_close(fd, handle);
> }
>
> /* prime and then unprime and then prime again the same handle */
> static void
> -test_reprime(void)
> +test_reprime(uint32_t region, int size)
> {
> int dma_buf_fd;
> char *ptr;
> uint32_t handle;
>
> - handle = gem_create(fd, BO_SIZE);
> - fill_bo(handle, BO_SIZE);
> + handle = gem_create_in_memory_regions(fd, size, region);
> + fill_bo(handle, size);
>
> dma_buf_fd = prime_handle_to_fd(fd, handle);
> igt_assert(errno == 0);
>
> - ptr = mmap(NULL, BO_SIZE, PROT_READ, MAP_SHARED, dma_buf_fd, 0);
> + ptr = mmap(NULL, size, PROT_READ, MAP_SHARED, dma_buf_fd, 0);
> igt_assert(ptr != MAP_FAILED);
> igt_assert(memcmp(ptr, pattern, sizeof(pattern)) == 0);
>
> close (dma_buf_fd);
> igt_assert(memcmp(ptr, pattern, sizeof(pattern)) == 0);
> - munmap(ptr, BO_SIZE);
> + munmap(ptr, size);
>
> dma_buf_fd = prime_handle_to_fd(fd, handle);
> - ptr = mmap(NULL, BO_SIZE, PROT_READ, MAP_SHARED, dma_buf_fd, 0);
> + ptr = mmap(NULL, size, PROT_READ, MAP_SHARED, dma_buf_fd, 0);
> igt_assert(ptr != MAP_FAILED);
> igt_assert(memcmp(ptr, pattern, sizeof(pattern)) == 0);
>
> - munmap(ptr, BO_SIZE);
> + munmap(ptr, size);
> close(dma_buf_fd);
> gem_close(fd, handle);
> }
>
> /* map from another process */
> static void
> -test_forked(void)
> +test_forked(uint32_t region, int size)
> {
> int dma_buf_fd;
> char *ptr;
> uint32_t handle;
>
> - handle = gem_create(fd, BO_SIZE);
> - fill_bo(handle, BO_SIZE);
> + handle = gem_create_in_memory_regions(fd, size, region);
> + fill_bo(handle, size);
>
> dma_buf_fd = prime_handle_to_fd(fd, handle);
> igt_assert(errno == 0);
>
> igt_fork(childno, 1) {
> - ptr = mmap(NULL, BO_SIZE, PROT_READ, MAP_SHARED, dma_buf_fd, 0);
> + ptr = mmap(NULL, size, PROT_READ, MAP_SHARED, dma_buf_fd, 0);
> igt_assert(ptr != MAP_FAILED);
> igt_assert(memcmp(ptr, pattern, sizeof(pattern)) == 0);
> - munmap(ptr, BO_SIZE);
> + munmap(ptr, size);
> close(dma_buf_fd);
> }
> close(dma_buf_fd);
> @@ -190,13 +197,13 @@ test_forked(void)
>
> /* test simple CPU write */
> static void
> -test_correct_cpu_write(void)
> +test_correct_cpu_write(uint32_t region, int size)
> {
> int dma_buf_fd;
> char *ptr;
> uint32_t handle;
>
> - handle = gem_create(fd, BO_SIZE);
> + handle = gem_create_in_memory_regions(fd, size, region);
>
> dma_buf_fd = prime_handle_to_fd_for_mmap(fd, handle);
>
> @@ -204,29 +211,29 @@ test_correct_cpu_write(void)
> igt_skip_on(errno == EINVAL);
>
> /* Check correctness of map using write protection (PROT_WRITE) */
> - ptr = mmap(NULL, BO_SIZE, PROT_READ | PROT_WRITE, MAP_SHARED, dma_buf_fd, 0);
> + ptr = mmap(NULL, size, PROT_READ | PROT_WRITE, MAP_SHARED, dma_buf_fd, 0);
> igt_assert(ptr != MAP_FAILED);
>
> /* Fill bo using CPU */
> - fill_bo_cpu(ptr);
> + fill_bo_cpu(ptr, BO_SIZE);
>
> /* Check pattern correctness */
> igt_assert(memcmp(ptr, pattern, sizeof(pattern)) == 0);
>
> - munmap(ptr, BO_SIZE);
> + munmap(ptr, size);
> close(dma_buf_fd);
> gem_close(fd, handle);
> }
>
> /* map from another process and then write using CPU */
> static void
> -test_forked_cpu_write(void)
> +test_forked_cpu_write(uint32_t region, int size)
> {
> int dma_buf_fd;
> char *ptr;
> uint32_t handle;
>
> - handle = gem_create(fd, BO_SIZE);
> + handle = gem_create_in_memory_regions(fd, size, region);
>
> dma_buf_fd = prime_handle_to_fd_for_mmap(fd, handle);
>
> @@ -234,12 +241,12 @@ test_forked_cpu_write(void)
> igt_skip_on(errno == EINVAL);
>
> igt_fork(childno, 1) {
> - ptr = mmap(NULL, BO_SIZE, PROT_READ | PROT_WRITE , MAP_SHARED, dma_buf_fd, 0);
> + ptr = mmap(NULL, size, PROT_READ | PROT_WRITE , MAP_SHARED, dma_buf_fd, 0);
> igt_assert(ptr != MAP_FAILED);
> - fill_bo_cpu(ptr);
> + fill_bo_cpu(ptr, BO_SIZE);
>
> igt_assert(memcmp(ptr, pattern, sizeof(pattern)) == 0);
> - munmap(ptr, BO_SIZE);
> + munmap(ptr, size);
> close(dma_buf_fd);
> }
> close(dma_buf_fd);
> @@ -248,45 +255,45 @@ test_forked_cpu_write(void)
> }
>
> static void
> -test_refcounting(void)
> +test_refcounting(uint32_t region, int size)
> {
> int dma_buf_fd;
> char *ptr;
> uint32_t handle;
>
> - handle = gem_create(fd, BO_SIZE);
> - fill_bo(handle, BO_SIZE);
> + handle = gem_create_in_memory_regions(fd, size, region);
> + fill_bo(handle, size);
>
> dma_buf_fd = prime_handle_to_fd(fd, handle);
> igt_assert(errno == 0);
> /* Close gem object before mapping */
> gem_close(fd, handle);
>
> - ptr = mmap(NULL, BO_SIZE, PROT_READ, MAP_SHARED, dma_buf_fd, 0);
> + ptr = mmap(NULL, size, PROT_READ, MAP_SHARED, dma_buf_fd, 0);
> igt_assert(ptr != MAP_FAILED);
> igt_assert(memcmp(ptr, pattern, sizeof(pattern)) == 0);
> - munmap(ptr, BO_SIZE);
> + munmap(ptr, size);
> close (dma_buf_fd);
> }
>
> /* dup before mmap */
> static void
> -test_dup(void)
> +test_dup(uint32_t region, int size)
> {
> int dma_buf_fd;
> char *ptr;
> uint32_t handle;
>
> - handle = gem_create(fd, BO_SIZE);
> - fill_bo(handle, BO_SIZE);
> + handle = gem_create_in_memory_regions(fd, size, region);
> + fill_bo(handle, size);
>
> dma_buf_fd = dup(prime_handle_to_fd(fd, handle));
> igt_assert(errno == 0);
>
> - ptr = mmap(NULL, BO_SIZE, PROT_READ, MAP_SHARED, dma_buf_fd, 0);
> + ptr = mmap(NULL, size, PROT_READ, MAP_SHARED, dma_buf_fd, 0);
> igt_assert(ptr != MAP_FAILED);
> igt_assert(memcmp(ptr, pattern, sizeof(pattern)) == 0);
> - munmap(ptr, BO_SIZE);
> + munmap(ptr, size);
> gem_close(fd, handle);
> close (dma_buf_fd);
> }
> @@ -324,21 +331,21 @@ static bool has_userptr(void)
>
> /* test for mmap(dma_buf_export(userptr)) */
> static void
> -test_userptr(void)
> +test_userptr(uint32_t region, int size)
> {
> int ret, dma_buf_fd;
> void *ptr;
> uint32_t handle;
>
> - igt_require(has_userptr());
> -
> /* create userptr bo */
> - ret = posix_memalign(&ptr, 4096, BO_SIZE);
> + ret = posix_memalign(&ptr, 4096, size);
> igt_assert_eq(ret, 0);
>
> - /* we are not allowed to export unsynchronized userptr. Just create a normal
> - * one */
You've also unnecessary touched this line. With this minor nit fixed:
Reviewed-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
--
Zbigniew
> - gem_userptr(fd, (uint32_t *)ptr, BO_SIZE, 0, 0, &handle);
> + /*
> + * we are not allowed to export unsynchronized userptr. Just create a
> + * normal one
> + */
> + gem_userptr(fd, (uint32_t *)ptr, size, 0, 0, &handle);
>
> /* export userptr */
> ret = prime_handle_to_fd_no_assert(handle, DRM_CLOEXEC, &dma_buf_fd);
> @@ -352,7 +359,7 @@ test_userptr(void)
>
> /* a userptr doesn't have the obj->base.filp, but can be exported via
> * dma-buf, so make sure it fails here */
> - ptr = mmap(NULL, BO_SIZE, PROT_READ, MAP_SHARED, dma_buf_fd, 0);
> + ptr = mmap(NULL, size, PROT_READ, MAP_SHARED, dma_buf_fd, 0);
> igt_assert(ptr == MAP_FAILED && errno == ENODEV);
> free_userptr:
> gem_close(fd, handle);
> @@ -360,7 +367,7 @@ free_userptr:
> }
>
> static void
> -test_errors(void)
> +test_errors(uint32_t region, int size)
> {
> int i, dma_buf_fd;
> char *ptr;
> @@ -369,48 +376,49 @@ test_errors(void)
> DRM_RDWR - 1, DRM_RDWR + 1};
>
> /* Test for invalid flags */
> - handle = gem_create(fd, BO_SIZE);
> - for (i = 0; i < sizeof(invalid_flags) / sizeof(invalid_flags[0]); i++) {
> + handle = gem_create_in_memory_regions(fd, size, region);
> + for (i = 0; i < ARRAY_SIZE(invalid_flags); i++) {
> prime_handle_to_fd_no_assert(handle, invalid_flags[i], &dma_buf_fd);
> igt_assert_eq(errno, EINVAL);
> errno = 0;
> }
> + gem_close(fd, handle);
>
> /* Close gem object before priming */
> - handle = gem_create(fd, BO_SIZE);
> - fill_bo(handle, BO_SIZE);
> + handle = gem_create_in_memory_regions(fd, size, region);
> + fill_bo(handle, size);
> gem_close(fd, handle);
> prime_handle_to_fd_no_assert(handle, DRM_CLOEXEC, &dma_buf_fd);
> igt_assert(dma_buf_fd == -1 && errno == ENOENT);
> errno = 0;
>
> /* close fd before mapping */
> - handle = gem_create(fd, BO_SIZE);
> - fill_bo(handle, BO_SIZE);
> + handle = gem_create_in_memory_regions(fd, size, region);
> + fill_bo(handle, size);
> dma_buf_fd = prime_handle_to_fd(fd, handle);
> igt_assert(errno == 0);
> close(dma_buf_fd);
> - ptr = mmap(NULL, BO_SIZE, PROT_READ, MAP_SHARED, dma_buf_fd, 0);
> + ptr = mmap(NULL, size, PROT_READ, MAP_SHARED, dma_buf_fd, 0);
> igt_assert(ptr == MAP_FAILED && errno == EBADF);
> errno = 0;
> gem_close(fd, handle);
>
> /* Map too big */
> - handle = gem_create(fd, BO_SIZE);
> - fill_bo(handle, BO_SIZE);
> + handle = gem_create_in_memory_regions(fd, size, region);
> + fill_bo(handle, size);
> dma_buf_fd = prime_handle_to_fd(fd, handle);
> igt_assert(errno == 0);
> - ptr = mmap(NULL, BO_SIZE * 2, PROT_READ, MAP_SHARED, dma_buf_fd, 0);
> + ptr = mmap(NULL, size * 2, PROT_READ, MAP_SHARED, dma_buf_fd, 0);
> igt_assert(ptr == MAP_FAILED && errno == EINVAL);
> errno = 0;
> close(dma_buf_fd);
> gem_close(fd, handle);
>
> /* Overlapping the end of the buffer */
> - handle = gem_create(fd, BO_SIZE);
> + handle = gem_create_in_memory_regions(fd, size, region);
> dma_buf_fd = prime_handle_to_fd(fd, handle);
> igt_assert(errno == 0);
> - ptr = mmap(NULL, BO_SIZE, PROT_READ, MAP_SHARED, dma_buf_fd, BO_SIZE / 2);
> + ptr = mmap(NULL, size, PROT_READ, MAP_SHARED, dma_buf_fd, size / 2);
> igt_assert(ptr == MAP_FAILED && errno == EINVAL);
> errno = 0;
> close(dma_buf_fd);
> @@ -419,7 +427,7 @@ test_errors(void)
>
> /* Test for invalid flags on sync ioctl */
> static void
> -test_invalid_sync_flags(void)
> +test_invalid_sync_flags(uint32_t region, int size)
> {
> int i, dma_buf_fd;
> uint32_t handle;
> @@ -429,7 +437,7 @@ test_invalid_sync_flags(void)
> LOCAL_DMA_BUF_SYNC_RW + 1,
> LOCAL_DMA_BUF_SYNC_VALID_FLAGS_MASK + 1};
>
> - handle = gem_create(fd, BO_SIZE);
> + handle = gem_create_in_memory_regions(fd, size, region);
> dma_buf_fd = prime_handle_to_fd(fd, handle);
> for (i = 0; i < sizeof(invalid_flags) / sizeof(invalid_flags[0]); i++) {
> memset(&sync, 0, sizeof(sync));
> @@ -442,7 +450,7 @@ test_invalid_sync_flags(void)
> }
>
> static void
> -test_aperture_limit(void)
> +test_aperture_limit(uint32_t region, int size)
> {
> int dma_buf_fd1, dma_buf_fd2;
> char *ptr1, *ptr2;
> @@ -452,23 +460,22 @@ test_aperture_limit(void)
> uint64_t size2 = (gem_mappable_aperture_size(fd) * 3) / 8;
>
> handle1 = gem_create(fd, size1);
> - fill_bo(handle1, BO_SIZE);
> -
> - dma_buf_fd1 = prime_handle_to_fd(fd, handle1);
> + dma_buf_fd1 = prime_handle_to_fd_for_mmap(fd, handle1);
> igt_assert(errno == 0);
> - ptr1 = mmap(NULL, size1, PROT_READ, MAP_SHARED, dma_buf_fd1, 0);
> + ptr1 = mmap(NULL, size1, PROT_READ | PROT_WRITE, MAP_SHARED, dma_buf_fd1, 0);
> igt_assert(ptr1 != MAP_FAILED);
> + fill_bo_cpu(ptr1, size);
> igt_assert(memcmp(ptr1, pattern, sizeof(pattern)) == 0);
>
> handle2 = gem_create(fd, size1);
> - fill_bo(handle2, BO_SIZE);
> - dma_buf_fd2 = prime_handle_to_fd(fd, handle2);
> + dma_buf_fd2 = prime_handle_to_fd_for_mmap(fd, handle2);
> igt_assert(errno == 0);
> - ptr2 = mmap(NULL, size2, PROT_READ, MAP_SHARED, dma_buf_fd2, 0);
> + ptr2 = mmap(NULL, size2, PROT_READ | PROT_WRITE, MAP_SHARED, dma_buf_fd2, 0);
> igt_assert(ptr2 != MAP_FAILED);
> + fill_bo_cpu(ptr2, size);
> igt_assert(memcmp(ptr2, pattern, sizeof(pattern)) == 0);
>
> - igt_assert(memcmp(ptr1, ptr2, BO_SIZE) == 0);
> + igt_assert(memcmp(ptr1, ptr2, size) == 0);
>
> munmap(ptr1, size1);
> munmap(ptr2, size2);
> @@ -479,29 +486,55 @@ test_aperture_limit(void)
> }
>
> static int
> -check_for_dma_buf_mmap(void)
> +check_for_dma_buf_mmap(struct igt_collection *set)
> {
> + struct igt_collection *region;
> + uint32_t reg;
> int dma_buf_fd;
> char *ptr;
> uint32_t handle;
> int ret = 1;
>
> - handle = gem_create(fd, BO_SIZE);
> - dma_buf_fd = prime_handle_to_fd(fd, handle);
> - ptr = mmap(NULL, BO_SIZE, PROT_READ, MAP_SHARED, dma_buf_fd, 0);
> - if (ptr != MAP_FAILED)
> - ret = 0;
> - munmap(ptr, BO_SIZE);
> - gem_close(fd, handle);
> - close(dma_buf_fd);
> + for_each_combination(region, 1, set) {
> + reg = igt_collection_get_value(region, 0);
> + handle = gem_create_in_memory_regions(fd, BO_SIZE, reg);
> +
> + dma_buf_fd = prime_handle_to_fd(fd, handle);
> + ptr = mmap(NULL, BO_SIZE, PROT_READ, MAP_SHARED, dma_buf_fd, 0);
> + if (ptr != MAP_FAILED)
> + ret = 0;
> + munmap(ptr, BO_SIZE);
> + gem_close(fd, handle);
> + close(dma_buf_fd);
> + }
> return ret;
> }
>
> +#define SKIP_LMEM (1 << 0)
> +#define SKIP_USERPTR (1 << 1)
> +
> +/*
> + * true skips the test
> + */
> +static bool check_skip(uint32_t skip, uint32_t region)
> +{
> + if ((skip & SKIP_LMEM) && IS_DEVICE_MEMORY_REGION(region))
> + return true;
> +
> + if (skip & SKIP_USERPTR)
> + return !has_userptr();
> +
> + return false;
> +}
> +
> igt_main
> {
> + struct igt_collection *set, *regions;
> + struct drm_i915_query_memory_regions *query_info;
> struct {
> const char *name;
> - void (*fn)(void);
> + void (*fn)(uint32_t, int);
> + uint32_t skip;
> } tests[] = {
> { "test_correct", test_correct },
> { "test_map_unmap", test_map_unmap },
> @@ -511,25 +544,46 @@ igt_main
> { "test_forked_cpu_write", test_forked_cpu_write },
> { "test_refcounting", test_refcounting },
> { "test_dup", test_dup },
> - { "test_userptr", test_userptr },
> + { "test_userptr", test_userptr, SKIP_LMEM | SKIP_USERPTR },
> { "test_errors", test_errors },
> { "test_invalid_sync_flags", test_invalid_sync_flags },
> - { "test_aperture_limit", test_aperture_limit },
> + { "test_aperture_limit", test_aperture_limit, SKIP_LMEM },
> };
> + uint32_t region;
> + char *ext;
> + int size;
> int i;
>
> igt_fixture {
> fd = drm_open_driver(DRIVER_INTEL);
> - igt_skip_on((check_for_dma_buf_mmap() != 0));
> - errno = 0;
> - }
>
> + query_info = gem_get_query_memory_regions(fd);
> + igt_assert(query_info);
>
> - for (i = 0; i < ARRAY_SIZE(tests); i++) {
> - igt_subtest(tests[i].name)
> - tests[i].fn();
> + set = get_memory_region_set(query_info, I915_SYSTEM_MEMORY,
> + I915_DEVICE_MEMORY);
> + igt_assert(check_for_dma_buf_mmap(set) == 0);
> + errno = 0;
> }
>
> - igt_fixture
> + for (i = 0; i < ARRAY_SIZE(tests); i++)
> + igt_subtest_with_dynamic(tests[i].name) {
> + for_each_combination(regions, 1, set) {
> + region = igt_collection_get_value(regions, 0);
> + size = gem_get_batch_size(fd, MEMORY_TYPE_FROM_REGION(region));
> + size = max(size, BO_SIZE);
> + if (check_skip(tests[i].skip, region))
> + continue;
> + ext = memregion_dynamic_subtest_name(regions);
> + igt_dynamic_f("%s-%s", tests[i].name, ext)
> + tests[i].fn(region, size);
> + free(ext);
> + }
> + }
> +
> + igt_fixture {
> + free(query_info);
> + igt_collection_destroy(set);
> close(fd);
> + }
> }
> --
> 2.25.1
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* [igt-dev] ✓ Fi.CI.IGT: success for tests/prime_mmap: Add support for local memory (rev2)
2021-10-14 11:09 [igt-dev] [PATCH i-g-t, v2] tests/prime_mmap: Add support for local memory apoorva1.singh
2021-10-14 11:40 ` [igt-dev] ✓ Fi.CI.BAT: success for tests/prime_mmap: Add support for local memory (rev2) Patchwork
2021-10-14 12:31 ` [igt-dev] [PATCH i-g-t, v2] tests/prime_mmap: Add support for local memory Zbigniew Kempczyński
@ 2021-10-14 13:44 ` Patchwork
2 siblings, 0 replies; 4+ messages in thread
From: Patchwork @ 2021-10-14 13:44 UTC (permalink / raw)
To: apoorva1.singh; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 30271 bytes --]
== Series Details ==
Series: tests/prime_mmap: Add support for local memory (rev2)
URL : https://patchwork.freedesktop.org/series/95508/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_10733_full -> IGTPW_6321_full
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/index.html
New tests
---------
New tests have been introduced between CI_DRM_10733_full and IGTPW_6321_full:
### New IGT tests (12) ###
* igt@prime_mmap@test_aperture_limit@test_aperture_limit-smem:
- Statuses : 6 pass(s)
- Exec time: [0.01, 0.07] s
* igt@prime_mmap@test_correct@test_correct-smem:
- Statuses : 5 pass(s)
- Exec time: [0.00, 0.01] s
* igt@prime_mmap@test_correct_cpu_write@test_correct_cpu_write-smem:
- Statuses : 6 pass(s)
- Exec time: [0.0, 0.00] s
* igt@prime_mmap@test_dup@test_dup-smem:
- Statuses : 5 pass(s)
- Exec time: [0.00, 0.01] s
* igt@prime_mmap@test_errors@test_errors-smem:
- Statuses : 4 pass(s)
- Exec time: [0.01, 0.02] s
* igt@prime_mmap@test_forked@test_forked-smem:
- Statuses : 4 pass(s)
- Exec time: [0.01, 0.04] s
* igt@prime_mmap@test_forked_cpu_write@test_forked_cpu_write-smem:
- Statuses : 5 pass(s)
- Exec time: [0.01, 0.03] s
* igt@prime_mmap@test_invalid_sync_flags@test_invalid_sync_flags-smem:
- Statuses : 5 pass(s)
- Exec time: [0.0] s
* igt@prime_mmap@test_map_unmap@test_map_unmap-smem:
- Statuses : 6 pass(s)
- Exec time: [0.00, 0.01] s
* igt@prime_mmap@test_refcounting@test_refcounting-smem:
- Statuses : 5 pass(s)
- Exec time: [0.00, 0.01] s
* igt@prime_mmap@test_reprime@test_reprime-smem:
- Statuses : 6 pass(s)
- Exec time: [0.00, 0.01] s
* igt@prime_mmap@test_userptr@test_userptr-smem:
- Statuses : 5 pass(s)
- Exec time: [0.0] s
Known issues
------------
Here are the changes found in IGTPW_6321_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@feature_discovery@psr2:
- shard-iclb: [PASS][1] -> [SKIP][2] ([i915#658])
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10733/shard-iclb2/igt@feature_discovery@psr2.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-iclb3/igt@feature_discovery@psr2.html
* igt@gem_create@create-massive:
- shard-snb: NOTRUN -> [DMESG-WARN][3] ([i915#3002]) +1 similar issue
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-snb2/igt@gem_create@create-massive.html
* igt@gem_ctx_persistence@legacy-engines-mixed:
- shard-snb: NOTRUN -> [SKIP][4] ([fdo#109271] / [i915#1099]) +5 similar issues
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-snb2/igt@gem_ctx_persistence@legacy-engines-mixed.html
* igt@gem_eio@in-flight-suspend:
- shard-tglb: [PASS][5] -> [INCOMPLETE][6] ([i915#456]) +2 similar issues
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10733/shard-tglb8/igt@gem_eio@in-flight-suspend.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-tglb7/igt@gem_eio@in-flight-suspend.html
* igt@gem_eio@unwedge-stress:
- shard-iclb: [PASS][7] -> [TIMEOUT][8] ([i915#2369] / [i915#2481] / [i915#3070])
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10733/shard-iclb5/igt@gem_eio@unwedge-stress.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-iclb8/igt@gem_eio@unwedge-stress.html
- shard-snb: NOTRUN -> [FAIL][9] ([i915#3354])
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-snb6/igt@gem_eio@unwedge-stress.html
* igt@gem_exec_fair@basic-pace@bcs0:
- shard-tglb: NOTRUN -> [FAIL][10] ([i915#2842]) +4 similar issues
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-tglb7/igt@gem_exec_fair@basic-pace@bcs0.html
* igt@gem_exec_fair@basic-pace@vcs0:
- shard-kbl: NOTRUN -> [FAIL][11] ([i915#2842])
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-kbl3/igt@gem_exec_fair@basic-pace@vcs0.html
- shard-glk: NOTRUN -> [FAIL][12] ([i915#2842])
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-glk8/igt@gem_exec_fair@basic-pace@vcs0.html
* igt@gem_exec_fair@basic-pace@vcs1:
- shard-iclb: NOTRUN -> [FAIL][13] ([i915#2842]) +4 similar issues
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-iclb4/igt@gem_exec_fair@basic-pace@vcs1.html
* igt@gem_exec_params@secure-non-master:
- shard-tglb: NOTRUN -> [SKIP][14] ([fdo#112283])
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-tglb5/igt@gem_exec_params@secure-non-master.html
* igt@gem_pread@exhaustion:
- shard-glk: NOTRUN -> [WARN][15] ([i915#2658])
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-glk9/igt@gem_pread@exhaustion.html
- shard-apl: NOTRUN -> [WARN][16] ([i915#2658])
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-apl7/igt@gem_pread@exhaustion.html
* igt@gem_pxp@display-protected-crc:
- shard-iclb: NOTRUN -> [SKIP][17] ([i915#4270])
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-iclb7/igt@gem_pxp@display-protected-crc.html
- shard-tglb: NOTRUN -> [SKIP][18] ([i915#4270])
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-tglb3/igt@gem_pxp@display-protected-crc.html
* igt@gem_render_copy@x-tiled-to-vebox-yf-tiled:
- shard-kbl: NOTRUN -> [SKIP][19] ([fdo#109271]) +84 similar issues
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-kbl7/igt@gem_render_copy@x-tiled-to-vebox-yf-tiled.html
- shard-iclb: NOTRUN -> [SKIP][20] ([i915#768])
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-iclb2/igt@gem_render_copy@x-tiled-to-vebox-yf-tiled.html
* igt@gem_userptr_blits@dmabuf-sync:
- shard-kbl: NOTRUN -> [SKIP][21] ([fdo#109271] / [i915#3323])
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-kbl1/igt@gem_userptr_blits@dmabuf-sync.html
- shard-iclb: NOTRUN -> [SKIP][22] ([i915#3323])
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-iclb3/igt@gem_userptr_blits@dmabuf-sync.html
- shard-apl: NOTRUN -> [SKIP][23] ([fdo#109271] / [i915#3323])
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-apl6/igt@gem_userptr_blits@dmabuf-sync.html
- shard-glk: NOTRUN -> [SKIP][24] ([fdo#109271] / [i915#3323])
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-glk2/igt@gem_userptr_blits@dmabuf-sync.html
- shard-tglb: NOTRUN -> [SKIP][25] ([i915#3323])
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-tglb8/igt@gem_userptr_blits@dmabuf-sync.html
* igt@gem_userptr_blits@input-checking:
- shard-apl: NOTRUN -> [DMESG-WARN][26] ([i915#3002])
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-apl3/igt@gem_userptr_blits@input-checking.html
* igt@gen7_exec_parse@oacontrol-tracking:
- shard-iclb: NOTRUN -> [SKIP][27] ([fdo#109289])
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-iclb3/igt@gen7_exec_parse@oacontrol-tracking.html
- shard-tglb: NOTRUN -> [SKIP][28] ([fdo#109289])
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-tglb5/igt@gen7_exec_parse@oacontrol-tracking.html
* igt@gen9_exec_parse@bb-start-param:
- shard-tglb: NOTRUN -> [SKIP][29] ([i915#2856]) +1 similar issue
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-tglb2/igt@gen9_exec_parse@bb-start-param.html
* igt@i915_pm_dc@dc6-psr:
- shard-iclb: [PASS][30] -> [FAIL][31] ([i915#454])
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10733/shard-iclb5/igt@i915_pm_dc@dc6-psr.html
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-iclb3/igt@i915_pm_dc@dc6-psr.html
* igt@i915_pm_lpsp@kms-lpsp@kms-lpsp-dp:
- shard-kbl: NOTRUN -> [SKIP][32] ([fdo#109271] / [i915#1937])
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-kbl6/igt@i915_pm_lpsp@kms-lpsp@kms-lpsp-dp.html
* igt@i915_pm_rpm@modeset-non-lpsp:
- shard-tglb: NOTRUN -> [SKIP][33] ([fdo#111644] / [i915#1397] / [i915#2411])
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-tglb8/igt@i915_pm_rpm@modeset-non-lpsp.html
* igt@kms_big_fb@linear-32bpp-rotate-0:
- shard-glk: [PASS][34] -> [DMESG-WARN][35] ([i915#118])
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10733/shard-glk5/igt@kms_big_fb@linear-32bpp-rotate-0.html
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-glk1/igt@kms_big_fb@linear-32bpp-rotate-0.html
* igt@kms_big_fb@x-tiled-8bpp-rotate-270:
- shard-tglb: NOTRUN -> [SKIP][36] ([fdo#111614])
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-tglb8/igt@kms_big_fb@x-tiled-8bpp-rotate-270.html
* igt@kms_big_fb@yf-tiled-64bpp-rotate-0:
- shard-tglb: NOTRUN -> [SKIP][37] ([fdo#111615]) +2 similar issues
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-tglb3/igt@kms_big_fb@yf-tiled-64bpp-rotate-0.html
* igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip:
- shard-apl: NOTRUN -> [SKIP][38] ([fdo#109271] / [i915#3777]) +4 similar issues
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-apl7/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip.html
* igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0:
- shard-apl: NOTRUN -> [SKIP][39] ([fdo#109271]) +289 similar issues
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-apl6/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0.html
- shard-iclb: NOTRUN -> [SKIP][40] ([fdo#110723])
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-iclb1/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0.html
* igt@kms_ccs@pipe-a-bad-pixel-format-y_tiled_ccs:
- shard-tglb: NOTRUN -> [SKIP][41] ([i915#3689]) +4 similar issues
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-tglb2/igt@kms_ccs@pipe-a-bad-pixel-format-y_tiled_ccs.html
* igt@kms_ccs@pipe-b-bad-aux-stride-y_tiled_gen12_rc_ccs_cc:
- shard-glk: NOTRUN -> [SKIP][42] ([fdo#109271] / [i915#3886]) +3 similar issues
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-glk1/igt@kms_ccs@pipe-b-bad-aux-stride-y_tiled_gen12_rc_ccs_cc.html
- shard-kbl: NOTRUN -> [SKIP][43] ([fdo#109271] / [i915#3886]) +3 similar issues
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-kbl6/igt@kms_ccs@pipe-b-bad-aux-stride-y_tiled_gen12_rc_ccs_cc.html
* igt@kms_ccs@pipe-b-ccs-on-another-bo-y_tiled_gen12_mc_ccs:
- shard-tglb: NOTRUN -> [SKIP][44] ([i915#3689] / [i915#3886]) +2 similar issues
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-tglb3/igt@kms_ccs@pipe-b-ccs-on-another-bo-y_tiled_gen12_mc_ccs.html
* igt@kms_ccs@pipe-c-ccs-on-another-bo-y_tiled_gen12_rc_ccs_cc:
- shard-iclb: NOTRUN -> [SKIP][45] ([fdo#109278] / [i915#3886]) +1 similar issue
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-iclb3/igt@kms_ccs@pipe-c-ccs-on-another-bo-y_tiled_gen12_rc_ccs_cc.html
- shard-apl: NOTRUN -> [SKIP][46] ([fdo#109271] / [i915#3886]) +13 similar issues
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-apl2/igt@kms_ccs@pipe-c-ccs-on-another-bo-y_tiled_gen12_rc_ccs_cc.html
* igt@kms_chamelium@dp-crc-multiple:
- shard-apl: NOTRUN -> [SKIP][47] ([fdo#109271] / [fdo#111827]) +30 similar issues
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-apl2/igt@kms_chamelium@dp-crc-multiple.html
* igt@kms_chamelium@dp-hpd-storm:
- shard-glk: NOTRUN -> [SKIP][48] ([fdo#109271] / [fdo#111827]) +3 similar issues
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-glk1/igt@kms_chamelium@dp-hpd-storm.html
* igt@kms_chamelium@vga-hpd-fast:
- shard-tglb: NOTRUN -> [SKIP][49] ([fdo#109284] / [fdo#111827]) +12 similar issues
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-tglb5/igt@kms_chamelium@vga-hpd-fast.html
* igt@kms_chamelium@vga-hpd-for-each-pipe:
- shard-kbl: NOTRUN -> [SKIP][50] ([fdo#109271] / [fdo#111827]) +10 similar issues
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-kbl1/igt@kms_chamelium@vga-hpd-for-each-pipe.html
* igt@kms_color_chamelium@pipe-a-ctm-blue-to-red:
- shard-iclb: NOTRUN -> [SKIP][51] ([fdo#109284] / [fdo#111827]) +3 similar issues
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-iclb8/igt@kms_color_chamelium@pipe-a-ctm-blue-to-red.html
* igt@kms_color_chamelium@pipe-c-ctm-red-to-blue:
- shard-snb: NOTRUN -> [SKIP][52] ([fdo#109271] / [fdo#111827]) +16 similar issues
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-snb6/igt@kms_color_chamelium@pipe-c-ctm-red-to-blue.html
* igt@kms_color_chamelium@pipe-d-ctm-blue-to-red:
- shard-iclb: NOTRUN -> [SKIP][53] ([fdo#109278] / [fdo#109284] / [fdo#111827])
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-iclb6/igt@kms_color_chamelium@pipe-d-ctm-blue-to-red.html
* igt@kms_content_protection@atomic-dpms:
- shard-tglb: NOTRUN -> [SKIP][54] ([fdo#111828]) +1 similar issue
[54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-tglb1/igt@kms_content_protection@atomic-dpms.html
- shard-kbl: NOTRUN -> [TIMEOUT][55] ([i915#1319])
[55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-kbl3/igt@kms_content_protection@atomic-dpms.html
- shard-iclb: NOTRUN -> [SKIP][56] ([fdo#109300] / [fdo#111066])
[56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-iclb6/igt@kms_content_protection@atomic-dpms.html
* igt@kms_cursor_crc@pipe-a-cursor-32x32-onscreen:
- shard-iclb: NOTRUN -> [SKIP][57] ([fdo#109278]) +7 similar issues
[57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-iclb6/igt@kms_cursor_crc@pipe-a-cursor-32x32-onscreen.html
- shard-tglb: NOTRUN -> [SKIP][58] ([i915#3319]) +1 similar issue
[58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-tglb1/igt@kms_cursor_crc@pipe-a-cursor-32x32-onscreen.html
* igt@kms_cursor_crc@pipe-a-cursor-512x170-random:
- shard-tglb: NOTRUN -> [SKIP][59] ([fdo#109279] / [i915#3359]) +3 similar issues
[59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-tglb2/igt@kms_cursor_crc@pipe-a-cursor-512x170-random.html
- shard-iclb: NOTRUN -> [SKIP][60] ([fdo#109278] / [fdo#109279]) +1 similar issue
[60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-iclb6/igt@kms_cursor_crc@pipe-a-cursor-512x170-random.html
* igt@kms_cursor_crc@pipe-c-cursor-512x170-rapid-movement:
- shard-tglb: NOTRUN -> [SKIP][61] ([i915#3359]) +5 similar issues
[61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-tglb7/igt@kms_cursor_crc@pipe-c-cursor-512x170-rapid-movement.html
* igt@kms_cursor_crc@pipe-d-cursor-size-change:
- shard-tglb: [PASS][62] -> [FAIL][63] ([i915#2124])
[62]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10733/shard-tglb2/igt@kms_cursor_crc@pipe-d-cursor-size-change.html
[63]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-tglb5/igt@kms_cursor_crc@pipe-d-cursor-size-change.html
* igt@kms_cursor_legacy@2x-long-flip-vs-cursor-legacy:
- shard-iclb: NOTRUN -> [SKIP][64] ([fdo#109274] / [fdo#109278])
[64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-iclb5/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-legacy.html
* igt@kms_cursor_legacy@pipe-d-single-bo:
- shard-glk: NOTRUN -> [SKIP][65] ([fdo#109271] / [i915#533])
[65]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-glk5/igt@kms_cursor_legacy@pipe-d-single-bo.html
- shard-kbl: NOTRUN -> [SKIP][66] ([fdo#109271] / [i915#533])
[66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-kbl1/igt@kms_cursor_legacy@pipe-d-single-bo.html
* igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions:
- shard-tglb: NOTRUN -> [SKIP][67] ([i915#4103])
[67]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-tglb6/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions.html
* igt@kms_dsc@basic-dsc-enable:
- shard-iclb: NOTRUN -> [SKIP][68] ([i915#3840])
[68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-iclb1/igt@kms_dsc@basic-dsc-enable.html
* igt@kms_fbcon_fbt@fbc-suspend:
- shard-apl: [PASS][69] -> [INCOMPLETE][70] ([i915#180] / [i915#1982])
[69]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10733/shard-apl3/igt@kms_fbcon_fbt@fbc-suspend.html
[70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-apl8/igt@kms_fbcon_fbt@fbc-suspend.html
* igt@kms_flip@2x-plain-flip-ts-check-interruptible:
- shard-iclb: NOTRUN -> [SKIP][71] ([fdo#109274]) +1 similar issue
[71]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-iclb7/igt@kms_flip@2x-plain-flip-ts-check-interruptible.html
* igt@kms_flip@flip-vs-expired-vblank@c-dp1:
- shard-apl: NOTRUN -> [FAIL][72] ([i915#79])
[72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-apl3/igt@kms_flip@flip-vs-expired-vblank@c-dp1.html
* igt@kms_flip@flip-vs-suspend-interruptible@a-dp1:
- shard-kbl: [PASS][73] -> [DMESG-WARN][74] ([i915#180]) +4 similar issues
[73]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10733/shard-kbl3/igt@kms_flip@flip-vs-suspend-interruptible@a-dp1.html
[74]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-kbl4/igt@kms_flip@flip-vs-suspend-interruptible@a-dp1.html
- shard-apl: [PASS][75] -> [DMESG-WARN][76] ([i915#180] / [i915#1982])
[75]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10733/shard-apl8/igt@kms_flip@flip-vs-suspend-interruptible@a-dp1.html
[76]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-apl2/igt@kms_flip@flip-vs-suspend-interruptible@a-dp1.html
* igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs:
- shard-tglb: NOTRUN -> [SKIP][77] ([i915#2587])
[77]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-tglb2/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs.html
* igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs:
- shard-apl: NOTRUN -> [SKIP][78] ([fdo#109271] / [i915#2672])
[78]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-apl6/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-indfb-draw-mmap-wc:
- shard-glk: NOTRUN -> [SKIP][79] ([fdo#109271]) +45 similar issues
[79]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-glk6/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-indfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-render:
- shard-snb: NOTRUN -> [SKIP][80] ([fdo#109271]) +418 similar issues
[80]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-snb7/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-render.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-spr-indfb-draw-pwrite:
- shard-iclb: NOTRUN -> [SKIP][81] ([fdo#109280]) +5 similar issues
[81]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-iclb5/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-spr-indfb-draw-pwrite.html
* igt@kms_frontbuffer_tracking@psr-2p-scndscrn-spr-indfb-draw-pwrite:
- shard-tglb: NOTRUN -> [SKIP][82] ([fdo#111825]) +28 similar issues
[82]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-tglb6/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-spr-indfb-draw-pwrite.html
* igt@kms_pipe_crc_basic@suspend-read-crc-pipe-d:
- shard-apl: NOTRUN -> [SKIP][83] ([fdo#109271] / [i915#533]) +2 similar issues
[83]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-apl8/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-d.html
* igt@kms_plane_alpha_blend@pipe-b-alpha-7efc:
- shard-kbl: NOTRUN -> [FAIL][84] ([fdo#108145] / [i915#265])
[84]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-kbl3/igt@kms_plane_alpha_blend@pipe-b-alpha-7efc.html
* igt@kms_plane_alpha_blend@pipe-b-constant-alpha-max:
- shard-apl: NOTRUN -> [FAIL][85] ([fdo#108145] / [i915#265]) +3 similar issues
[85]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-apl7/igt@kms_plane_alpha_blend@pipe-b-constant-alpha-max.html
* igt@kms_plane_lowres@pipe-c-tiling-yf:
- shard-tglb: NOTRUN -> [SKIP][86] ([fdo#112054]) +1 similar issue
[86]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-tglb5/igt@kms_plane_lowres@pipe-c-tiling-yf.html
* igt@kms_prime@basic-crc@first-to-second:
- shard-tglb: NOTRUN -> [SKIP][87] ([i915#1836])
[87]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-tglb2/igt@kms_prime@basic-crc@first-to-second.html
* igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area-4:
- shard-tglb: NOTRUN -> [SKIP][88] ([i915#2920]) +1 similar issue
[88]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-tglb6/igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area-4.html
* igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-2:
- shard-kbl: NOTRUN -> [SKIP][89] ([fdo#109271] / [i915#658]) +1 similar issue
[89]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-kbl7/igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-2.html
* igt@kms_psr2_su@frontbuffer:
- shard-tglb: NOTRUN -> [SKIP][90] ([i915#1911])
[90]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-tglb5/igt@kms_psr2_su@frontbuffer.html
* igt@kms_psr2_su@page_flip:
- shard-apl: NOTRUN -> [SKIP][91] ([fdo#109271] / [i915#658]) +4 similar issues
[91]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-apl6/igt@kms_psr2_su@page_flip.html
* igt@kms_psr@psr2_basic:
- shard-tglb: NOTRUN -> [FAIL][92] ([i915#132] / [i915#3467]) +1 similar issue
[92]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-tglb5/igt@kms_psr@psr2_basic.html
- shard-iclb: NOTRUN -> [SKIP][93] ([fdo#109441])
[93]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-iclb1/igt@kms_psr@psr2_basic.html
* igt@kms_psr@psr2_primary_mmap_cpu:
- shard-iclb: [PASS][94] -> [SKIP][95] ([fdo#109441])
[94]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10733/shard-iclb2/igt@kms_psr@psr2_primary_mmap_cpu.html
[95]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-iclb3/igt@kms_psr@psr2_primary_mmap_cpu.html
* igt@nouveau_crc@pipe-b-source-rg:
- shard-iclb: NOTRUN -> [SKIP][96] ([i915#2530])
[96]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-iclb1/igt@nouveau_crc@pipe-b-source-rg.html
- shard-tglb: NOTRUN -> [SKIP][97] ([i915#2530]) +2 similar issues
[97]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-tglb5/igt@nouveau_crc@pipe-b-source-rg.html
* igt@prime_nv_api@i915_nv_reimport_twice_check_flink_name:
- shard-tglb: NOTRUN -> [SKIP][98] ([fdo#109291]) +3 similar issues
[98]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-tglb3/igt@prime_nv_api@i915_nv_reimport_twice_check_flink_name.html
- shard-iclb: NOTRUN -> [SKIP][99] ([fdo#109291]) +1 similar issue
[99]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-iclb1/igt@prime_nv_api@i915_nv_reimport_twice_check_flink_name.html
* igt@prime_vgem@fence-read-hang:
- shard-tglb: NOTRUN -> [SKIP][100] ([fdo#109295])
[100]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-tglb5/igt@prime_vgem@fence-read-hang.html
- shard-iclb: NOTRUN -> [SKIP][101] ([fdo#109295])
[101]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-iclb8/igt@prime_vgem@fence-read-hang.html
* igt@runner@aborted:
- shard-snb: NOTRUN -> ([FAIL][102], [FAIL][103]) ([i915#3002])
[102]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-snb2/igt@runner@aborted.html
[103]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-snb6/igt@runner@aborted.html
* igt@sysfs_clients@sema-50:
- shard-apl: NOTRUN -> [SKIP][104] ([fdo#109271] / [i915#2994]) +4 similar issues
[104]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-apl7/igt@sysfs_clients@sema-50.html
- shard-glk: NOTRUN -> [SKIP][105] ([fdo#109271] / [i915#2994]) +2 similar issues
[105]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-glk5/igt@sysfs_clients@sema-50.html
* igt@sysfs_clients@split-10:
- shard-iclb: NOTRUN -> [SKIP][106] ([i915#2994])
[106]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-iclb6/igt@sysfs_clients@split-10.html
- shard-tglb: NOTRUN -> [SKIP][107] ([i915#2994])
[107]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-tglb1/igt@sysfs_clients@split-10.html
- shard-kbl: NOTRUN -> [SKIP][108] ([fdo#109271] / [i915#2994])
[108]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-kbl3/igt@sysfs_clients@split-10.html
#### Possible fixes ####
* igt@gem_eio@unwedge-stress:
- shard-tglb: [TIMEOUT][109] ([i915#2369] / [i915#3063] / [i915#3648]) -> [PASS][110]
[109]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10733/shard-tglb3/igt@gem_eio@unwedge-stress.html
[110]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-tglb5/igt@gem_eio@unwedge-stress.html
* igt@gem_exec_fair@basic-pace-share@rcs0:
- shard-tglb: [FAIL][111] ([i915#2842]) -> [PASS][112]
[111]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10733/shard-tglb6/igt@gem_exec_fair@basic-pace-share@rcs0.html
[112]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-tglb2/igt@gem_exec_fair@basic-pace-share@rcs0.html
- shard-glk: [FAIL][113] ([i915#2842]) -> [PASS][114] +1 similar issue
[113]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10733/shard-glk5/igt@gem_exec_fair@basic-pace-share@rcs0.html
[114]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-glk8/igt@gem_exec_fair@basic-pace-share@rcs0.html
* igt@gem_exec_whisper@basic-queues-priority-all:
- shard-glk: [DMESG-WARN][115] ([i915#118]) -> [PASS][116]
[115]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10733/shard-glk8/igt@gem_exec_whisper@basic-queues-priority-all.html
[116]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-glk9/igt@gem_exec_whisper@basic-queues-priority-all.html
* igt@i915_pm_dc@dc6-dpms:
- shard-iclb: [FAIL][117] ([i915#454]) -> [PASS][118]
[117]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10733/shard-iclb3/igt@i915_pm_dc@dc6-dpms.html
[118]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-iclb5/igt@i915_pm_dc@dc6-dpms.html
* igt@kms_cursor_crc@pipe-c-cursor-suspend:
- shard-kbl: [DMESG-WARN][119] ([i915#180]) -> [PASS][120]
[119]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10733/shard-kbl4/igt@kms_cursor_crc@pipe-c-cursor-suspend.html
[120]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-kbl6/igt@kms_cursor_crc@pipe-c-cursor-suspend.html
* igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic:
- shard-glk: [FAIL][121] ([i915#72]) -> [PASS][122]
[121]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10733/shard-glk1/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic.html
[122]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-glk1/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic.html
* igt@kms_flip@flip-vs-suspend-interruptible@a-edp1:
- shard-tglb: [INCOMPLETE][123] ([i915#2411] / [i915#456]) -> [PASS][124] +1 similar issue
[123]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10733/shard-tglb7/igt@kms_flip@flip-vs-suspend-interruptible@a-edp1.html
[124]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-tglb6/igt@kms_flip@flip-vs-suspend-interruptible@a-edp1.html
* igt@kms_flip@flip-vs-suspend-interruptible@c-dp1:
- shard-apl: [DMESG-WARN][125] ([i915#180]) -> [PASS][126] +5 similar issues
[125]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10733/shard-apl8/igt@kms_flip@flip-vs-suspend-interruptible@c-dp1.html
[126]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-apl2/igt@kms_flip@flip-vs-suspend-interruptible@c-dp1.html
* igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile:
- shard-iclb: [SKIP][127] ([i915#3701]) -> [PASS][128]
[127]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10733/shard-iclb2/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile.html
[128]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-iclb1/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile.html
* igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b:
- shard-tglb: [INCOMPLETE][129] ([i915#456]) -> [PASS][130]
[129]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10733/shard-tglb7/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b.html
[130]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-tglb3/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b.html
* igt@kms_psr@psr2_cursor_mmap_cpu:
- shard-iclb: [SKIP][131] ([fdo#109441]) -> [PASS][132] +2 similar issues
[131]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10733/shard-iclb4/igt@kms_psr@psr2_cursor_mmap_cpu.html
[132]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/shard-iclb2/igt@kms_psr@psr2_cursor_mmap_cpu.htm
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6321/index.html
[-- Attachment #2: Type: text/html, Size: 34073 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2021-10-14 13:44 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-14 11:09 [igt-dev] [PATCH i-g-t, v2] tests/prime_mmap: Add support for local memory apoorva1.singh
2021-10-14 11:40 ` [igt-dev] ✓ Fi.CI.BAT: success for tests/prime_mmap: Add support for local memory (rev2) Patchwork
2021-10-14 12:31 ` [igt-dev] [PATCH i-g-t, v2] tests/prime_mmap: Add support for local memory Zbigniew Kempczyński
2021-10-14 13:44 ` [igt-dev] ✓ Fi.CI.IGT: success for tests/prime_mmap: Add support for local memory (rev2) Patchwork
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.