* [Intel-gfx] [PATCH i-g-t v3 1/2] lib/dmabuf_sync_file: move common stuff into lib
@ 2022-12-07 16:52 ` Matthew Auld
0 siblings, 0 replies; 11+ messages in thread
From: Matthew Auld @ 2022-12-07 16:52 UTC (permalink / raw)
To: igt-dev; +Cc: intel-gfx, Andrzej Hajda, Nirmoy Das
So we can use this across different tests.
v2
- Add docs for everything (Petri)
- Add missing copyright and fix headers slightly (Kamil)
v3:
- Just return true/false, for the has() family of functions, instead
of tripping up an assert() (Kamil)
Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Cc: Kamil Konieczny <kamil.konieczny@linux.intel.com>
Cc: Petri Latvala <petri.latvala@intel.com>
Cc: Andrzej Hajda <andrzej.hajda@intel.com>
Cc: Nirmoy Das <nirmoy.das@intel.com>
---
.../igt-gpu-tools/igt-gpu-tools-docs.xml | 1 +
lib/dmabuf_sync_file.c | 208 ++++++++++++++++++
lib/dmabuf_sync_file.h | 26 +++
lib/meson.build | 1 +
tests/dmabuf_sync_file.c | 133 +----------
5 files changed, 240 insertions(+), 129 deletions(-)
create mode 100644 lib/dmabuf_sync_file.c
create mode 100644 lib/dmabuf_sync_file.h
diff --git a/docs/reference/igt-gpu-tools/igt-gpu-tools-docs.xml b/docs/reference/igt-gpu-tools/igt-gpu-tools-docs.xml
index 1ce842f4..102c8a89 100644
--- a/docs/reference/igt-gpu-tools/igt-gpu-tools-docs.xml
+++ b/docs/reference/igt-gpu-tools/igt-gpu-tools-docs.xml
@@ -15,6 +15,7 @@
<chapter>
<title>API Reference</title>
+ <xi:include href="xml/dmabuf_sync_file.xml"/>
<xi:include href="xml/drmtest.xml"/>
<xi:include href="xml/igt_alsa.xml"/>
<xi:include href="xml/igt_audio.xml"/>
diff --git a/lib/dmabuf_sync_file.c b/lib/dmabuf_sync_file.c
new file mode 100644
index 00000000..7803ec67
--- /dev/null
+++ b/lib/dmabuf_sync_file.c
@@ -0,0 +1,208 @@
+// SPDX-License-Identifier: MIT
+/*
+ * Copyright © 2022 Intel Corporation
+ */
+
+#include "igt.h"
+#include "igt_vgem.h"
+#include "sw_sync.h"
+
+#include "dmabuf_sync_file.h"
+
+/**
+ * SECTION: dmabuf_sync_file
+ * @short_description: DMABUF importing/exporting fencing support library
+ * @title: DMABUF Sync File
+ * @include: dmabuf_sync_file.h
+ */
+
+struct igt_dma_buf_sync_file {
+ __u32 flags;
+ __s32 fd;
+};
+
+#define IGT_DMA_BUF_IOCTL_EXPORT_SYNC_FILE _IOWR(DMA_BUF_BASE, 2, struct igt_dma_buf_sync_file)
+#define IGT_DMA_BUF_IOCTL_IMPORT_SYNC_FILE _IOW(DMA_BUF_BASE, 3, struct igt_dma_buf_sync_file)
+
+/**
+ * has_dmabuf_export_sync_file:
+ * @fd: The open drm fd
+ *
+ * Check if the kernel supports exporting a sync file from dmabuf.
+ */
+bool has_dmabuf_export_sync_file(int fd)
+{
+ struct vgem_bo bo;
+ int dmabuf, ret;
+ struct igt_dma_buf_sync_file arg;
+
+ bo.width = 1;
+ bo.height = 1;
+ bo.bpp = 32;
+ vgem_create(fd, &bo);
+
+ dmabuf = prime_handle_to_fd(fd, bo.handle);
+ gem_close(fd, bo.handle);
+
+ arg.flags = DMA_BUF_SYNC_WRITE;
+ arg.fd = -1;
+
+ ret = igt_ioctl(dmabuf, IGT_DMA_BUF_IOCTL_EXPORT_SYNC_FILE, &arg);
+ close(dmabuf);
+
+ return (ret == 0 || errno == ENOTTY);
+}
+
+/**
+ * dmabuf_export_sync_file:
+ * @dmabuf: The dmabuf fd
+ * @flags: The flags to control the behaviour
+ *
+ * Take a snapshot of the current dma-resv fences in the dmabuf, and export as a
+ * syncfile. The @flags should at least specify either DMA_BUF_SYNC_WRITE or
+ * DMA_BUF_SYNC_READ, depending on if we care about the read or write fences.
+ */
+int dmabuf_export_sync_file(int dmabuf, uint32_t flags)
+{
+ struct igt_dma_buf_sync_file arg;
+
+ arg.flags = flags;
+ arg.fd = -1;
+ do_ioctl(dmabuf, IGT_DMA_BUF_IOCTL_EXPORT_SYNC_FILE, &arg);
+
+ return arg.fd;
+}
+
+/**
+ * has_dmabuf_import_sync_file:
+ * @fd: The open drm fd
+ *
+ * Check if the kernel supports importing a sync file into a dmabuf.
+ */
+bool has_dmabuf_import_sync_file(int fd)
+{
+ struct vgem_bo bo;
+ int dmabuf, timeline, fence, ret;
+ struct igt_dma_buf_sync_file arg;
+
+ bo.width = 1;
+ bo.height = 1;
+ bo.bpp = 32;
+ vgem_create(fd, &bo);
+
+ dmabuf = prime_handle_to_fd(fd, bo.handle);
+ gem_close(fd, bo.handle);
+
+ timeline = sw_sync_timeline_create();
+ fence = sw_sync_timeline_create_fence(timeline, 1);
+ sw_sync_timeline_inc(timeline, 1);
+
+ arg.flags = DMA_BUF_SYNC_RW;
+ arg.fd = fence;
+
+ ret = igt_ioctl(dmabuf, IGT_DMA_BUF_IOCTL_IMPORT_SYNC_FILE, &arg);
+ close(dmabuf);
+ close(fence);
+ return (ret == 0 || errno == ENOTTY);
+}
+
+/**
+ * dmabuf_import_sync_file:
+ * @dmabuf: The dmabuf fd
+ * @flags: The flags to control the behaviour
+ * @sync_fd: The sync file (i.e our fence) to import
+ *
+ * Import the sync file @sync_fd, into the dmabuf. The @flags should at least
+ * specify DMA_BUF_SYNC_WRITE or DMA_BUF_SYNC_READ, depending on if we are
+ * importing the @sync_fd as a read or write fence.
+ */
+void dmabuf_import_sync_file(int dmabuf, uint32_t flags, int sync_fd)
+{
+ struct igt_dma_buf_sync_file arg;
+
+ arg.flags = flags;
+ arg.fd = sync_fd;
+ do_ioctl(dmabuf, IGT_DMA_BUF_IOCTL_IMPORT_SYNC_FILE, &arg);
+}
+
+/**
+ * dmabuf_import_timeline_fence:
+ * @dmabuf: The dmabuf fd
+ * @flags: The flags to control the behaviour
+ * @timeline: The sync file timeline where the new fence is created
+ * @seqno: The sequence number to use for the fence
+ *
+ * Create a new fence as part of @timeline, and import as a sync file into the
+ * dmabuf. The @flags should at least specify DMA_BUF_SYNC_WRITE or
+ * DMA_BUF_SYNC_READ, depending on if we are importing the new fence as a read
+ * or write fence.
+ */
+void dmabuf_import_timeline_fence(int dmabuf, uint32_t flags,
+ int timeline, uint32_t seqno)
+{
+ int fence;
+
+ fence = sw_sync_timeline_create_fence(timeline, seqno);
+ dmabuf_import_sync_file(dmabuf, flags, fence);
+ close(fence);
+}
+
+/**
+ * dmabuf_busy:
+ * @dmabuf: The dmabuf fd
+ * @flags: The flags to control the behaviour
+ *
+ * Check if the fences in the dmabuf are still busy. The @flags should at least
+ * specify DMA_BUF_SYNC_WRITE or DMA_BUF_SYNC_READ, depending on if we are
+ * checking if the read or read fences have all signalled. Or DMA_BUF_SYNC_RW if
+ * we care about both.
+ */
+bool dmabuf_busy(int dmabuf, uint32_t flags)
+{
+ struct pollfd pfd = { .fd = dmabuf };
+
+ /* If DMA_BUF_SYNC_WRITE is set, we don't want to set POLLIN or
+ * else poll() may return a non-zero value if there are only read
+ * fences because POLLIN is ready even if POLLOUT isn't.
+ */
+ if (flags & DMA_BUF_SYNC_WRITE)
+ pfd.events |= POLLOUT;
+ else if (flags & DMA_BUF_SYNC_READ)
+ pfd.events |= POLLIN;
+
+ return poll(&pfd, 1, 0) == 0;
+}
+
+/**
+ * sync_file_busy:
+ * @sync_file: The sync file to check
+ *
+ * Check if the @sync_file is still busy or not.
+ */
+bool sync_file_busy(int sync_file)
+{
+ struct pollfd pfd = { .fd = sync_file, .events = POLLIN };
+ return poll(&pfd, 1, 0) == 0;
+}
+
+/**
+ * dmabuf_sync_file_busy:
+ * @dmabuf: The dmabuf fd
+ * @flags: The flags to control the behaviour
+ *
+ * Export the current fences in @dmabuf as a sync file and check if still busy.
+ * The @flags should at least contain DMA_BUF_SYNC_WRITE or DMA_BUF_SYNC_READ,
+ * to specify which fences are to be exported from the @dmabuf and checked if
+ * busy. Or DMA_BUF_SYNC_RW if we care about both.
+ */
+bool dmabuf_sync_file_busy(int dmabuf, uint32_t flags)
+{
+ int sync_file;
+ bool busy;
+
+ sync_file = dmabuf_export_sync_file(dmabuf, flags);
+ busy = sync_file_busy(sync_file);
+ close(sync_file);
+
+ return busy;
+}
diff --git a/lib/dmabuf_sync_file.h b/lib/dmabuf_sync_file.h
new file mode 100644
index 00000000..d642ff30
--- /dev/null
+++ b/lib/dmabuf_sync_file.h
@@ -0,0 +1,26 @@
+/* SPDX-License-Identifier: MIT */
+/*
+ * Copyright © 2022 Intel Corporation
+ */
+
+#ifndef DMABUF_SYNC_FILE_H
+#define DMABUF_SYNC_FILE_H
+
+#ifdef __linux__
+#include <linux/dma-buf.h>
+#endif
+#include <sys/poll.h>
+#include <stdbool.h>
+#include <stdint.h>
+
+bool has_dmabuf_export_sync_file(int fd);
+bool has_dmabuf_import_sync_file(int fd);
+int dmabuf_export_sync_file(int dmabuf, uint32_t flags);
+void dmabuf_import_sync_file(int dmabuf, uint32_t flags, int sync_fd);
+void dmabuf_import_timeline_fence(int dmabuf, uint32_t flags,
+ int timeline, uint32_t seqno);
+bool dmabuf_busy(int dmabuf, uint32_t flags);
+bool sync_file_busy(int sync_file);
+bool dmabuf_sync_file_busy(int dmabuf, uint32_t flags);
+
+#endif
diff --git a/lib/meson.build b/lib/meson.build
index 2c6ebce7..19d9f4f2 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -1,5 +1,6 @@
lib_sources = [
'drmtest.c',
+ 'dmabuf_sync_file.c',
'huc_copy.c',
'i915/gem.c',
'i915/gem_context.c',
diff --git a/tests/dmabuf_sync_file.c b/tests/dmabuf_sync_file.c
index 2179a76d..25bb6ad7 100644
--- a/tests/dmabuf_sync_file.c
+++ b/tests/dmabuf_sync_file.c
@@ -1,140 +1,15 @@
// SPDX-License-Identifier: MIT
+/*
+ * Copyright © 2022 Intel Corporation
+ */
#include "igt.h"
#include "igt_vgem.h"
#include "sw_sync.h"
-
-#include <linux/dma-buf.h>
-#include <sys/poll.h>
+#include "dmabuf_sync_file.h"
IGT_TEST_DESCRIPTION("Tests for sync_file support in dma-buf");
-struct igt_dma_buf_sync_file {
- __u32 flags;
- __s32 fd;
-};
-
-#define IGT_DMA_BUF_IOCTL_EXPORT_SYNC_FILE _IOWR(DMA_BUF_BASE, 2, struct igt_dma_buf_sync_file)
-#define IGT_DMA_BUF_IOCTL_IMPORT_SYNC_FILE _IOW(DMA_BUF_BASE, 3, struct igt_dma_buf_sync_file)
-
-static bool has_dmabuf_export_sync_file(int fd)
-{
- struct vgem_bo bo;
- int dmabuf, ret;
- struct igt_dma_buf_sync_file arg;
-
- bo.width = 1;
- bo.height = 1;
- bo.bpp = 32;
- vgem_create(fd, &bo);
-
- dmabuf = prime_handle_to_fd(fd, bo.handle);
- gem_close(fd, bo.handle);
-
- arg.flags = DMA_BUF_SYNC_WRITE;
- arg.fd = -1;
-
- ret = igt_ioctl(dmabuf, IGT_DMA_BUF_IOCTL_EXPORT_SYNC_FILE, &arg);
- close(dmabuf);
- igt_assert(ret == 0 || errno == ENOTTY);
-
- return ret == 0;
-}
-
-static int dmabuf_export_sync_file(int dmabuf, uint32_t flags)
-{
- struct igt_dma_buf_sync_file arg;
-
- arg.flags = flags;
- arg.fd = -1;
- do_ioctl(dmabuf, IGT_DMA_BUF_IOCTL_EXPORT_SYNC_FILE, &arg);
-
- return arg.fd;
-}
-
-static bool has_dmabuf_import_sync_file(int fd)
-{
- struct vgem_bo bo;
- int dmabuf, timeline, fence, ret;
- struct igt_dma_buf_sync_file arg;
-
- bo.width = 1;
- bo.height = 1;
- bo.bpp = 32;
- vgem_create(fd, &bo);
-
- dmabuf = prime_handle_to_fd(fd, bo.handle);
- gem_close(fd, bo.handle);
-
- timeline = sw_sync_timeline_create();
- fence = sw_sync_timeline_create_fence(timeline, 1);
- sw_sync_timeline_inc(timeline, 1);
-
- arg.flags = DMA_BUF_SYNC_RW;
- arg.fd = fence;
-
- ret = igt_ioctl(dmabuf, IGT_DMA_BUF_IOCTL_IMPORT_SYNC_FILE, &arg);
- close(dmabuf);
- close(fence);
- igt_assert(ret == 0 || errno == ENOTTY);
-
- return ret == 0;
-}
-
-static void dmabuf_import_sync_file(int dmabuf, uint32_t flags, int sync_fd)
-{
- struct igt_dma_buf_sync_file arg;
-
- arg.flags = flags;
- arg.fd = sync_fd;
- do_ioctl(dmabuf, IGT_DMA_BUF_IOCTL_IMPORT_SYNC_FILE, &arg);
-}
-
-static void
-dmabuf_import_timeline_fence(int dmabuf, uint32_t flags,
- int timeline, uint32_t seqno)
-{
- int fence;
-
- fence = sw_sync_timeline_create_fence(timeline, seqno);
- dmabuf_import_sync_file(dmabuf, flags, fence);
- close(fence);
-}
-
-static bool dmabuf_busy(int dmabuf, uint32_t flags)
-{
- struct pollfd pfd = { .fd = dmabuf };
-
- /* If DMA_BUF_SYNC_WRITE is set, we don't want to set POLLIN or
- * else poll() may return a non-zero value if there are only read
- * fences because POLLIN is ready even if POLLOUT isn't.
- */
- if (flags & DMA_BUF_SYNC_WRITE)
- pfd.events |= POLLOUT;
- else if (flags & DMA_BUF_SYNC_READ)
- pfd.events |= POLLIN;
-
- return poll(&pfd, 1, 0) == 0;
-}
-
-static bool sync_file_busy(int sync_file)
-{
- struct pollfd pfd = { .fd = sync_file, .events = POLLIN };
- return poll(&pfd, 1, 0) == 0;
-}
-
-static bool dmabuf_sync_file_busy(int dmabuf, uint32_t flags)
-{
- int sync_file;
- bool busy;
-
- sync_file = dmabuf_export_sync_file(dmabuf, flags);
- busy = sync_file_busy(sync_file);
- close(sync_file);
-
- return busy;
-}
-
static void test_export_basic(int fd)
{
struct vgem_bo bo;
--
2.38.1
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [igt-dev] [PATCH i-g-t v3 1/2] lib/dmabuf_sync_file: move common stuff into lib
@ 2022-12-07 16:52 ` Matthew Auld
0 siblings, 0 replies; 11+ messages in thread
From: Matthew Auld @ 2022-12-07 16:52 UTC (permalink / raw)
To: igt-dev; +Cc: intel-gfx, Petri Latvala, Nirmoy Das
So we can use this across different tests.
v2
- Add docs for everything (Petri)
- Add missing copyright and fix headers slightly (Kamil)
v3:
- Just return true/false, for the has() family of functions, instead
of tripping up an assert() (Kamil)
Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Cc: Kamil Konieczny <kamil.konieczny@linux.intel.com>
Cc: Petri Latvala <petri.latvala@intel.com>
Cc: Andrzej Hajda <andrzej.hajda@intel.com>
Cc: Nirmoy Das <nirmoy.das@intel.com>
---
.../igt-gpu-tools/igt-gpu-tools-docs.xml | 1 +
lib/dmabuf_sync_file.c | 208 ++++++++++++++++++
lib/dmabuf_sync_file.h | 26 +++
lib/meson.build | 1 +
tests/dmabuf_sync_file.c | 133 +----------
5 files changed, 240 insertions(+), 129 deletions(-)
create mode 100644 lib/dmabuf_sync_file.c
create mode 100644 lib/dmabuf_sync_file.h
diff --git a/docs/reference/igt-gpu-tools/igt-gpu-tools-docs.xml b/docs/reference/igt-gpu-tools/igt-gpu-tools-docs.xml
index 1ce842f4..102c8a89 100644
--- a/docs/reference/igt-gpu-tools/igt-gpu-tools-docs.xml
+++ b/docs/reference/igt-gpu-tools/igt-gpu-tools-docs.xml
@@ -15,6 +15,7 @@
<chapter>
<title>API Reference</title>
+ <xi:include href="xml/dmabuf_sync_file.xml"/>
<xi:include href="xml/drmtest.xml"/>
<xi:include href="xml/igt_alsa.xml"/>
<xi:include href="xml/igt_audio.xml"/>
diff --git a/lib/dmabuf_sync_file.c b/lib/dmabuf_sync_file.c
new file mode 100644
index 00000000..7803ec67
--- /dev/null
+++ b/lib/dmabuf_sync_file.c
@@ -0,0 +1,208 @@
+// SPDX-License-Identifier: MIT
+/*
+ * Copyright © 2022 Intel Corporation
+ */
+
+#include "igt.h"
+#include "igt_vgem.h"
+#include "sw_sync.h"
+
+#include "dmabuf_sync_file.h"
+
+/**
+ * SECTION: dmabuf_sync_file
+ * @short_description: DMABUF importing/exporting fencing support library
+ * @title: DMABUF Sync File
+ * @include: dmabuf_sync_file.h
+ */
+
+struct igt_dma_buf_sync_file {
+ __u32 flags;
+ __s32 fd;
+};
+
+#define IGT_DMA_BUF_IOCTL_EXPORT_SYNC_FILE _IOWR(DMA_BUF_BASE, 2, struct igt_dma_buf_sync_file)
+#define IGT_DMA_BUF_IOCTL_IMPORT_SYNC_FILE _IOW(DMA_BUF_BASE, 3, struct igt_dma_buf_sync_file)
+
+/**
+ * has_dmabuf_export_sync_file:
+ * @fd: The open drm fd
+ *
+ * Check if the kernel supports exporting a sync file from dmabuf.
+ */
+bool has_dmabuf_export_sync_file(int fd)
+{
+ struct vgem_bo bo;
+ int dmabuf, ret;
+ struct igt_dma_buf_sync_file arg;
+
+ bo.width = 1;
+ bo.height = 1;
+ bo.bpp = 32;
+ vgem_create(fd, &bo);
+
+ dmabuf = prime_handle_to_fd(fd, bo.handle);
+ gem_close(fd, bo.handle);
+
+ arg.flags = DMA_BUF_SYNC_WRITE;
+ arg.fd = -1;
+
+ ret = igt_ioctl(dmabuf, IGT_DMA_BUF_IOCTL_EXPORT_SYNC_FILE, &arg);
+ close(dmabuf);
+
+ return (ret == 0 || errno == ENOTTY);
+}
+
+/**
+ * dmabuf_export_sync_file:
+ * @dmabuf: The dmabuf fd
+ * @flags: The flags to control the behaviour
+ *
+ * Take a snapshot of the current dma-resv fences in the dmabuf, and export as a
+ * syncfile. The @flags should at least specify either DMA_BUF_SYNC_WRITE or
+ * DMA_BUF_SYNC_READ, depending on if we care about the read or write fences.
+ */
+int dmabuf_export_sync_file(int dmabuf, uint32_t flags)
+{
+ struct igt_dma_buf_sync_file arg;
+
+ arg.flags = flags;
+ arg.fd = -1;
+ do_ioctl(dmabuf, IGT_DMA_BUF_IOCTL_EXPORT_SYNC_FILE, &arg);
+
+ return arg.fd;
+}
+
+/**
+ * has_dmabuf_import_sync_file:
+ * @fd: The open drm fd
+ *
+ * Check if the kernel supports importing a sync file into a dmabuf.
+ */
+bool has_dmabuf_import_sync_file(int fd)
+{
+ struct vgem_bo bo;
+ int dmabuf, timeline, fence, ret;
+ struct igt_dma_buf_sync_file arg;
+
+ bo.width = 1;
+ bo.height = 1;
+ bo.bpp = 32;
+ vgem_create(fd, &bo);
+
+ dmabuf = prime_handle_to_fd(fd, bo.handle);
+ gem_close(fd, bo.handle);
+
+ timeline = sw_sync_timeline_create();
+ fence = sw_sync_timeline_create_fence(timeline, 1);
+ sw_sync_timeline_inc(timeline, 1);
+
+ arg.flags = DMA_BUF_SYNC_RW;
+ arg.fd = fence;
+
+ ret = igt_ioctl(dmabuf, IGT_DMA_BUF_IOCTL_IMPORT_SYNC_FILE, &arg);
+ close(dmabuf);
+ close(fence);
+ return (ret == 0 || errno == ENOTTY);
+}
+
+/**
+ * dmabuf_import_sync_file:
+ * @dmabuf: The dmabuf fd
+ * @flags: The flags to control the behaviour
+ * @sync_fd: The sync file (i.e our fence) to import
+ *
+ * Import the sync file @sync_fd, into the dmabuf. The @flags should at least
+ * specify DMA_BUF_SYNC_WRITE or DMA_BUF_SYNC_READ, depending on if we are
+ * importing the @sync_fd as a read or write fence.
+ */
+void dmabuf_import_sync_file(int dmabuf, uint32_t flags, int sync_fd)
+{
+ struct igt_dma_buf_sync_file arg;
+
+ arg.flags = flags;
+ arg.fd = sync_fd;
+ do_ioctl(dmabuf, IGT_DMA_BUF_IOCTL_IMPORT_SYNC_FILE, &arg);
+}
+
+/**
+ * dmabuf_import_timeline_fence:
+ * @dmabuf: The dmabuf fd
+ * @flags: The flags to control the behaviour
+ * @timeline: The sync file timeline where the new fence is created
+ * @seqno: The sequence number to use for the fence
+ *
+ * Create a new fence as part of @timeline, and import as a sync file into the
+ * dmabuf. The @flags should at least specify DMA_BUF_SYNC_WRITE or
+ * DMA_BUF_SYNC_READ, depending on if we are importing the new fence as a read
+ * or write fence.
+ */
+void dmabuf_import_timeline_fence(int dmabuf, uint32_t flags,
+ int timeline, uint32_t seqno)
+{
+ int fence;
+
+ fence = sw_sync_timeline_create_fence(timeline, seqno);
+ dmabuf_import_sync_file(dmabuf, flags, fence);
+ close(fence);
+}
+
+/**
+ * dmabuf_busy:
+ * @dmabuf: The dmabuf fd
+ * @flags: The flags to control the behaviour
+ *
+ * Check if the fences in the dmabuf are still busy. The @flags should at least
+ * specify DMA_BUF_SYNC_WRITE or DMA_BUF_SYNC_READ, depending on if we are
+ * checking if the read or read fences have all signalled. Or DMA_BUF_SYNC_RW if
+ * we care about both.
+ */
+bool dmabuf_busy(int dmabuf, uint32_t flags)
+{
+ struct pollfd pfd = { .fd = dmabuf };
+
+ /* If DMA_BUF_SYNC_WRITE is set, we don't want to set POLLIN or
+ * else poll() may return a non-zero value if there are only read
+ * fences because POLLIN is ready even if POLLOUT isn't.
+ */
+ if (flags & DMA_BUF_SYNC_WRITE)
+ pfd.events |= POLLOUT;
+ else if (flags & DMA_BUF_SYNC_READ)
+ pfd.events |= POLLIN;
+
+ return poll(&pfd, 1, 0) == 0;
+}
+
+/**
+ * sync_file_busy:
+ * @sync_file: The sync file to check
+ *
+ * Check if the @sync_file is still busy or not.
+ */
+bool sync_file_busy(int sync_file)
+{
+ struct pollfd pfd = { .fd = sync_file, .events = POLLIN };
+ return poll(&pfd, 1, 0) == 0;
+}
+
+/**
+ * dmabuf_sync_file_busy:
+ * @dmabuf: The dmabuf fd
+ * @flags: The flags to control the behaviour
+ *
+ * Export the current fences in @dmabuf as a sync file and check if still busy.
+ * The @flags should at least contain DMA_BUF_SYNC_WRITE or DMA_BUF_SYNC_READ,
+ * to specify which fences are to be exported from the @dmabuf and checked if
+ * busy. Or DMA_BUF_SYNC_RW if we care about both.
+ */
+bool dmabuf_sync_file_busy(int dmabuf, uint32_t flags)
+{
+ int sync_file;
+ bool busy;
+
+ sync_file = dmabuf_export_sync_file(dmabuf, flags);
+ busy = sync_file_busy(sync_file);
+ close(sync_file);
+
+ return busy;
+}
diff --git a/lib/dmabuf_sync_file.h b/lib/dmabuf_sync_file.h
new file mode 100644
index 00000000..d642ff30
--- /dev/null
+++ b/lib/dmabuf_sync_file.h
@@ -0,0 +1,26 @@
+/* SPDX-License-Identifier: MIT */
+/*
+ * Copyright © 2022 Intel Corporation
+ */
+
+#ifndef DMABUF_SYNC_FILE_H
+#define DMABUF_SYNC_FILE_H
+
+#ifdef __linux__
+#include <linux/dma-buf.h>
+#endif
+#include <sys/poll.h>
+#include <stdbool.h>
+#include <stdint.h>
+
+bool has_dmabuf_export_sync_file(int fd);
+bool has_dmabuf_import_sync_file(int fd);
+int dmabuf_export_sync_file(int dmabuf, uint32_t flags);
+void dmabuf_import_sync_file(int dmabuf, uint32_t flags, int sync_fd);
+void dmabuf_import_timeline_fence(int dmabuf, uint32_t flags,
+ int timeline, uint32_t seqno);
+bool dmabuf_busy(int dmabuf, uint32_t flags);
+bool sync_file_busy(int sync_file);
+bool dmabuf_sync_file_busy(int dmabuf, uint32_t flags);
+
+#endif
diff --git a/lib/meson.build b/lib/meson.build
index 2c6ebce7..19d9f4f2 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -1,5 +1,6 @@
lib_sources = [
'drmtest.c',
+ 'dmabuf_sync_file.c',
'huc_copy.c',
'i915/gem.c',
'i915/gem_context.c',
diff --git a/tests/dmabuf_sync_file.c b/tests/dmabuf_sync_file.c
index 2179a76d..25bb6ad7 100644
--- a/tests/dmabuf_sync_file.c
+++ b/tests/dmabuf_sync_file.c
@@ -1,140 +1,15 @@
// SPDX-License-Identifier: MIT
+/*
+ * Copyright © 2022 Intel Corporation
+ */
#include "igt.h"
#include "igt_vgem.h"
#include "sw_sync.h"
-
-#include <linux/dma-buf.h>
-#include <sys/poll.h>
+#include "dmabuf_sync_file.h"
IGT_TEST_DESCRIPTION("Tests for sync_file support in dma-buf");
-struct igt_dma_buf_sync_file {
- __u32 flags;
- __s32 fd;
-};
-
-#define IGT_DMA_BUF_IOCTL_EXPORT_SYNC_FILE _IOWR(DMA_BUF_BASE, 2, struct igt_dma_buf_sync_file)
-#define IGT_DMA_BUF_IOCTL_IMPORT_SYNC_FILE _IOW(DMA_BUF_BASE, 3, struct igt_dma_buf_sync_file)
-
-static bool has_dmabuf_export_sync_file(int fd)
-{
- struct vgem_bo bo;
- int dmabuf, ret;
- struct igt_dma_buf_sync_file arg;
-
- bo.width = 1;
- bo.height = 1;
- bo.bpp = 32;
- vgem_create(fd, &bo);
-
- dmabuf = prime_handle_to_fd(fd, bo.handle);
- gem_close(fd, bo.handle);
-
- arg.flags = DMA_BUF_SYNC_WRITE;
- arg.fd = -1;
-
- ret = igt_ioctl(dmabuf, IGT_DMA_BUF_IOCTL_EXPORT_SYNC_FILE, &arg);
- close(dmabuf);
- igt_assert(ret == 0 || errno == ENOTTY);
-
- return ret == 0;
-}
-
-static int dmabuf_export_sync_file(int dmabuf, uint32_t flags)
-{
- struct igt_dma_buf_sync_file arg;
-
- arg.flags = flags;
- arg.fd = -1;
- do_ioctl(dmabuf, IGT_DMA_BUF_IOCTL_EXPORT_SYNC_FILE, &arg);
-
- return arg.fd;
-}
-
-static bool has_dmabuf_import_sync_file(int fd)
-{
- struct vgem_bo bo;
- int dmabuf, timeline, fence, ret;
- struct igt_dma_buf_sync_file arg;
-
- bo.width = 1;
- bo.height = 1;
- bo.bpp = 32;
- vgem_create(fd, &bo);
-
- dmabuf = prime_handle_to_fd(fd, bo.handle);
- gem_close(fd, bo.handle);
-
- timeline = sw_sync_timeline_create();
- fence = sw_sync_timeline_create_fence(timeline, 1);
- sw_sync_timeline_inc(timeline, 1);
-
- arg.flags = DMA_BUF_SYNC_RW;
- arg.fd = fence;
-
- ret = igt_ioctl(dmabuf, IGT_DMA_BUF_IOCTL_IMPORT_SYNC_FILE, &arg);
- close(dmabuf);
- close(fence);
- igt_assert(ret == 0 || errno == ENOTTY);
-
- return ret == 0;
-}
-
-static void dmabuf_import_sync_file(int dmabuf, uint32_t flags, int sync_fd)
-{
- struct igt_dma_buf_sync_file arg;
-
- arg.flags = flags;
- arg.fd = sync_fd;
- do_ioctl(dmabuf, IGT_DMA_BUF_IOCTL_IMPORT_SYNC_FILE, &arg);
-}
-
-static void
-dmabuf_import_timeline_fence(int dmabuf, uint32_t flags,
- int timeline, uint32_t seqno)
-{
- int fence;
-
- fence = sw_sync_timeline_create_fence(timeline, seqno);
- dmabuf_import_sync_file(dmabuf, flags, fence);
- close(fence);
-}
-
-static bool dmabuf_busy(int dmabuf, uint32_t flags)
-{
- struct pollfd pfd = { .fd = dmabuf };
-
- /* If DMA_BUF_SYNC_WRITE is set, we don't want to set POLLIN or
- * else poll() may return a non-zero value if there are only read
- * fences because POLLIN is ready even if POLLOUT isn't.
- */
- if (flags & DMA_BUF_SYNC_WRITE)
- pfd.events |= POLLOUT;
- else if (flags & DMA_BUF_SYNC_READ)
- pfd.events |= POLLIN;
-
- return poll(&pfd, 1, 0) == 0;
-}
-
-static bool sync_file_busy(int sync_file)
-{
- struct pollfd pfd = { .fd = sync_file, .events = POLLIN };
- return poll(&pfd, 1, 0) == 0;
-}
-
-static bool dmabuf_sync_file_busy(int dmabuf, uint32_t flags)
-{
- int sync_file;
- bool busy;
-
- sync_file = dmabuf_export_sync_file(dmabuf, flags);
- busy = sync_file_busy(sync_file);
- close(sync_file);
-
- return busy;
-}
-
static void test_export_basic(int fd)
{
struct vgem_bo bo;
--
2.38.1
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [Intel-gfx] [PATCH i-g-t v3 2/2] tests/i915/gem_exec_balancer: exercise dmabuf import
2022-12-07 16:52 ` [igt-dev] " Matthew Auld
@ 2022-12-07 16:52 ` Matthew Auld
-1 siblings, 0 replies; 11+ messages in thread
From: Matthew Auld @ 2022-12-07 16:52 UTC (permalink / raw)
To: igt-dev; +Cc: intel-gfx, Andrzej Hajda, Nirmoy Das
With parallel submission it should be easy to get a fence array as the
output fence. Try importing this into dma-buf reservation object, to see
if anything explodes.
v2: (Kamil)
- Use ifdef __linux__ for linux headers
- Add igt_describe() for new test
References: https://gitlab.freedesktop.org/drm/intel/-/issues/7532
Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Cc: Kamil Konieczny <kamil.konieczny@linux.intel.com>
Cc: Andrzej Hajda <andrzej.hajda@intel.com>
Cc: Nirmoy Das <nirmoy.das@intel.com>
Reviewed-by: Andrzej Hajda <andrzej.hajda@intel.com>
---
tests/i915/gem_exec_balancer.c | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)
diff --git a/tests/i915/gem_exec_balancer.c b/tests/i915/gem_exec_balancer.c
index 4300dbd1..d7acdca1 100644
--- a/tests/i915/gem_exec_balancer.c
+++ b/tests/i915/gem_exec_balancer.c
@@ -27,6 +27,7 @@
#include <sys/signal.h>
#include <poll.h>
+#include "dmabuf_sync_file.h"
#include "i915/gem.h"
#include "i915/gem_engine_topology.h"
#include "i915/gem_create.h"
@@ -2856,6 +2857,7 @@ static void logical_sort_siblings(int i915,
#define PARALLEL_SUBMIT_FENCE (0x1 << 3)
#define PARALLEL_CONTEXTS (0x1 << 4)
#define PARALLEL_VIRTUAL (0x1 << 5)
+#define PARALLEL_OUT_FENCE_DMABUF (0x1 << 6)
static void parallel_thread(int i915, unsigned int flags,
struct i915_engine_class_instance *siblings,
@@ -2871,6 +2873,8 @@ static void parallel_thread(int i915, unsigned int flags,
uint32_t target_bo_idx = 0;
uint32_t first_bb_idx = 1;
intel_ctx_cfg_t cfg;
+ uint32_t dmabuf_handle;
+ int dmabuf;
igt_assert(bb_per_execbuf < 32);
@@ -2924,11 +2928,20 @@ static void parallel_thread(int i915, unsigned int flags,
execbuf.buffers_ptr = to_user_pointer(obj);
execbuf.rsvd1 = ctx->id;
+ if (flags & PARALLEL_OUT_FENCE_DMABUF) {
+ dmabuf_handle = gem_create(i915, 4096);
+ dmabuf = prime_handle_to_fd(i915, dmabuf_handle);
+ }
+
for (n = 0; n < PARALLEL_BB_LOOP_COUNT; ++n) {
execbuf.flags &= ~0x3full;
gem_execbuf_wr(i915, &execbuf);
if (flags & PARALLEL_OUT_FENCE) {
+ if (flags & PARALLEL_OUT_FENCE_DMABUF)
+ dmabuf_import_sync_file(dmabuf, DMA_BUF_SYNC_WRITE,
+ execbuf.rsvd2 >> 32);
+
igt_assert_eq(sync_fence_wait(execbuf.rsvd2 >> 32,
1000), 0);
igt_assert_eq(sync_fence_status(execbuf.rsvd2 >> 32), 1);
@@ -2959,6 +2972,11 @@ static void parallel_thread(int i915, unsigned int flags,
if (fence)
close(fence);
+ if (flags & PARALLEL_OUT_FENCE_DMABUF) {
+ gem_close(i915, dmabuf_handle);
+ close(dmabuf);
+ }
+
check_bo(i915, obj[target_bo_idx].handle,
bb_per_execbuf * PARALLEL_BB_LOOP_COUNT, true);
@@ -3420,6 +3438,11 @@ igt_main
igt_subtest("parallel-out-fence")
parallel(i915, PARALLEL_OUT_FENCE);
+ igt_describe("Regression test to check that dmabuf imported sync file can handle fence array");
+ igt_subtest("parallel-dmabuf-import-out-fence")
+ parallel(i915, PARALLEL_OUT_FENCE |
+ PARALLEL_OUT_FENCE_DMABUF);
+
igt_subtest("parallel-keep-in-fence")
parallel(i915, PARALLEL_OUT_FENCE | PARALLEL_IN_FENCE);
--
2.38.1
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [igt-dev] [PATCH i-g-t v3 2/2] tests/i915/gem_exec_balancer: exercise dmabuf import
@ 2022-12-07 16:52 ` Matthew Auld
0 siblings, 0 replies; 11+ messages in thread
From: Matthew Auld @ 2022-12-07 16:52 UTC (permalink / raw)
To: igt-dev; +Cc: intel-gfx, Nirmoy Das
With parallel submission it should be easy to get a fence array as the
output fence. Try importing this into dma-buf reservation object, to see
if anything explodes.
v2: (Kamil)
- Use ifdef __linux__ for linux headers
- Add igt_describe() for new test
References: https://gitlab.freedesktop.org/drm/intel/-/issues/7532
Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Cc: Kamil Konieczny <kamil.konieczny@linux.intel.com>
Cc: Andrzej Hajda <andrzej.hajda@intel.com>
Cc: Nirmoy Das <nirmoy.das@intel.com>
Reviewed-by: Andrzej Hajda <andrzej.hajda@intel.com>
---
tests/i915/gem_exec_balancer.c | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)
diff --git a/tests/i915/gem_exec_balancer.c b/tests/i915/gem_exec_balancer.c
index 4300dbd1..d7acdca1 100644
--- a/tests/i915/gem_exec_balancer.c
+++ b/tests/i915/gem_exec_balancer.c
@@ -27,6 +27,7 @@
#include <sys/signal.h>
#include <poll.h>
+#include "dmabuf_sync_file.h"
#include "i915/gem.h"
#include "i915/gem_engine_topology.h"
#include "i915/gem_create.h"
@@ -2856,6 +2857,7 @@ static void logical_sort_siblings(int i915,
#define PARALLEL_SUBMIT_FENCE (0x1 << 3)
#define PARALLEL_CONTEXTS (0x1 << 4)
#define PARALLEL_VIRTUAL (0x1 << 5)
+#define PARALLEL_OUT_FENCE_DMABUF (0x1 << 6)
static void parallel_thread(int i915, unsigned int flags,
struct i915_engine_class_instance *siblings,
@@ -2871,6 +2873,8 @@ static void parallel_thread(int i915, unsigned int flags,
uint32_t target_bo_idx = 0;
uint32_t first_bb_idx = 1;
intel_ctx_cfg_t cfg;
+ uint32_t dmabuf_handle;
+ int dmabuf;
igt_assert(bb_per_execbuf < 32);
@@ -2924,11 +2928,20 @@ static void parallel_thread(int i915, unsigned int flags,
execbuf.buffers_ptr = to_user_pointer(obj);
execbuf.rsvd1 = ctx->id;
+ if (flags & PARALLEL_OUT_FENCE_DMABUF) {
+ dmabuf_handle = gem_create(i915, 4096);
+ dmabuf = prime_handle_to_fd(i915, dmabuf_handle);
+ }
+
for (n = 0; n < PARALLEL_BB_LOOP_COUNT; ++n) {
execbuf.flags &= ~0x3full;
gem_execbuf_wr(i915, &execbuf);
if (flags & PARALLEL_OUT_FENCE) {
+ if (flags & PARALLEL_OUT_FENCE_DMABUF)
+ dmabuf_import_sync_file(dmabuf, DMA_BUF_SYNC_WRITE,
+ execbuf.rsvd2 >> 32);
+
igt_assert_eq(sync_fence_wait(execbuf.rsvd2 >> 32,
1000), 0);
igt_assert_eq(sync_fence_status(execbuf.rsvd2 >> 32), 1);
@@ -2959,6 +2972,11 @@ static void parallel_thread(int i915, unsigned int flags,
if (fence)
close(fence);
+ if (flags & PARALLEL_OUT_FENCE_DMABUF) {
+ gem_close(i915, dmabuf_handle);
+ close(dmabuf);
+ }
+
check_bo(i915, obj[target_bo_idx].handle,
bb_per_execbuf * PARALLEL_BB_LOOP_COUNT, true);
@@ -3420,6 +3438,11 @@ igt_main
igt_subtest("parallel-out-fence")
parallel(i915, PARALLEL_OUT_FENCE);
+ igt_describe("Regression test to check that dmabuf imported sync file can handle fence array");
+ igt_subtest("parallel-dmabuf-import-out-fence")
+ parallel(i915, PARALLEL_OUT_FENCE |
+ PARALLEL_OUT_FENCE_DMABUF);
+
igt_subtest("parallel-keep-in-fence")
parallel(i915, PARALLEL_OUT_FENCE | PARALLEL_IN_FENCE);
--
2.38.1
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [igt-dev] ✗ Fi.CI.BAT: failure for series starting with [i-g-t,v3,1/2] lib/dmabuf_sync_file: move common stuff into lib
2022-12-07 16:52 ` [igt-dev] " Matthew Auld
(?)
(?)
@ 2022-12-07 19:35 ` Patchwork
2022-12-08 21:32 ` Kamil Konieczny
-1 siblings, 1 reply; 11+ messages in thread
From: Patchwork @ 2022-12-07 19:35 UTC (permalink / raw)
To: Matthew Auld; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 7973 bytes --]
== Series Details ==
Series: series starting with [i-g-t,v3,1/2] lib/dmabuf_sync_file: move common stuff into lib
URL : https://patchwork.freedesktop.org/series/111738/
State : failure
== Summary ==
CI Bug Log - changes from CI_DRM_12478 -> IGTPW_8213
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with IGTPW_8213 absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in IGTPW_8213, please notify your bug team 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_8213/index.html
Participating hosts (39 -> 41)
------------------------------
Additional (4): bat-rpls-2 fi-bwr-2160 fi-tgl-dsi fi-bsw-nick
Missing (2): fi-hsw-4770 fi-rkl-11600
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in IGTPW_8213:
### IGT changes ###
#### Possible regressions ####
* igt@i915_selftest@live@guc_multi_lrc:
- fi-kbl-soraka: [PASS][1] -> [INCOMPLETE][2]
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12478/fi-kbl-soraka/igt@i915_selftest@live@guc_multi_lrc.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/fi-kbl-soraka/igt@i915_selftest@live@guc_multi_lrc.html
#### Suppressed ####
The following results come from untrusted machines, tests, or statuses.
They do not affect the overall result.
* igt@i915_selftest@live@gt_lrc:
- {fi-tgl-dsi}: NOTRUN -> [DMESG-FAIL][3]
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/fi-tgl-dsi/igt@i915_selftest@live@gt_lrc.html
* igt@kms_pipe_crc_basic@suspend-read-crc@pipe-a-dp-2:
- {bat-dg2-11}: [PASS][4] -> [FAIL][5] +1 similar issue
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12478/bat-dg2-11/igt@kms_pipe_crc_basic@suspend-read-crc@pipe-a-dp-2.html
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/bat-dg2-11/igt@kms_pipe_crc_basic@suspend-read-crc@pipe-a-dp-2.html
Known issues
------------
Here are the changes found in IGTPW_8213 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@gem_lmem_swapping@parallel-random-engines:
- fi-bsw-nick: NOTRUN -> [SKIP][6] ([fdo#109271]) +39 similar issues
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/fi-bsw-nick/igt@gem_lmem_swapping@parallel-random-engines.html
* igt@i915_selftest@live@gt_heartbeat:
- fi-kbl-soraka: [PASS][7] -> [DMESG-FAIL][8] ([i915#5334])
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12478/fi-kbl-soraka/igt@i915_selftest@live@gt_heartbeat.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/fi-kbl-soraka/igt@i915_selftest@live@gt_heartbeat.html
* igt@i915_selftest@live@gt_lrc:
- bat-dg1-5: [PASS][9] -> [INCOMPLETE][10] ([i915#4983])
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12478/bat-dg1-5/igt@i915_selftest@live@gt_lrc.html
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/bat-dg1-5/igt@i915_selftest@live@gt_lrc.html
* igt@kms_chamelium@hdmi-hpd-fast:
- fi-bsw-nick: NOTRUN -> [SKIP][11] ([fdo#109271] / [fdo#111827]) +8 similar issues
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/fi-bsw-nick/igt@kms_chamelium@hdmi-hpd-fast.html
* igt@kms_psr@primary_mmap_gtt:
- fi-bwr-2160: NOTRUN -> [SKIP][12] ([fdo#109271]) +54 similar issues
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/fi-bwr-2160/igt@kms_psr@primary_mmap_gtt.html
* igt@runner@aborted:
- bat-dg1-5: NOTRUN -> [FAIL][13] ([i915#4312])
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/bat-dg1-5/igt@runner@aborted.html
#### Possible fixes ####
* igt@kms_cursor_legacy@basic-busy-flip-before-cursor@atomic-transitions:
- fi-bsw-kefka: [FAIL][14] ([i915#6298]) -> [PASS][15]
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12478/fi-bsw-kefka/igt@kms_cursor_legacy@basic-busy-flip-before-cursor@atomic-transitions.html
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/fi-bsw-kefka/igt@kms_cursor_legacy@basic-busy-flip-before-cursor@atomic-transitions.html
* igt@kms_pipe_crc_basic@read-crc@pipe-b-dp-1:
- {bat-adlp-9}: [FAIL][16] -> [PASS][17] +3 similar issues
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12478/bat-adlp-9/igt@kms_pipe_crc_basic@read-crc@pipe-b-dp-1.html
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/bat-adlp-9/igt@kms_pipe_crc_basic@read-crc@pipe-b-dp-1.html
#### Warnings ####
* igt@i915_module_load@load:
- fi-bsw-n3050: [DMESG-WARN][18] ([i915#1982] / [i915#7430]) -> [DMESG-WARN][19] ([i915#7430])
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12478/fi-bsw-n3050/igt@i915_module_load@load.html
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/fi-bsw-n3050/igt@i915_module_load@load.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
[fdo#109284]: https://bugs.freedesktop.org/show_bug.cgi?id=109284
[fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
[fdo#109295]: https://bugs.freedesktop.org/show_bug.cgi?id=109295
[fdo#110189]: https://bugs.freedesktop.org/show_bug.cgi?id=110189
[fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
[i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
[i915#1759]: https://gitlab.freedesktop.org/drm/intel/issues/1759
[i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982
[i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190
[i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282
[i915#3301]: https://gitlab.freedesktop.org/drm/intel/issues/3301
[i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
[i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
[i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
[i915#4258]: https://gitlab.freedesktop.org/drm/intel/issues/4258
[i915#4312]: https://gitlab.freedesktop.org/drm/intel/issues/4312
[i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
[i915#4983]: https://gitlab.freedesktop.org/drm/intel/issues/4983
[i915#5334]: https://gitlab.freedesktop.org/drm/intel/issues/5334
[i915#6298]: https://gitlab.freedesktop.org/drm/intel/issues/6298
[i915#6367]: https://gitlab.freedesktop.org/drm/intel/issues/6367
[i915#6559]: https://gitlab.freedesktop.org/drm/intel/issues/6559
[i915#6621]: https://gitlab.freedesktop.org/drm/intel/issues/6621
[i915#6816]: https://gitlab.freedesktop.org/drm/intel/issues/6816
[i915#6818]: https://gitlab.freedesktop.org/drm/intel/issues/6818
[i915#6949]: https://gitlab.freedesktop.org/drm/intel/issues/6949
[i915#7058]: https://gitlab.freedesktop.org/drm/intel/issues/7058
[i915#7346]: https://gitlab.freedesktop.org/drm/intel/issues/7346
[i915#7430]: https://gitlab.freedesktop.org/drm/intel/issues/7430
[i915#7456]: https://gitlab.freedesktop.org/drm/intel/issues/7456
[i915#7561]: https://gitlab.freedesktop.org/drm/intel/issues/7561
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_7085 -> IGTPW_8213
CI-20190529: 20190529
CI_DRM_12478: f5d2f00fe4daf65ecd6634dec39fbf66b44535e3 @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_8213: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/index.html
IGT_7085: 11af20de3877b23a244b816453bfc41d83591a15 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
Testlist changes
----------------
+igt@gem_exec_balancer@parallel-dmabuf-import-out-fence
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/index.html
[-- Attachment #2: Type: text/html, Size: 7473 bytes --]
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Intel-gfx] [igt-dev] [PATCH i-g-t v3 1/2] lib/dmabuf_sync_file: move common stuff into lib
2022-12-07 16:52 ` [igt-dev] " Matthew Auld
@ 2022-12-08 8:39 ` Das, Nirmoy
-1 siblings, 0 replies; 11+ messages in thread
From: Das, Nirmoy @ 2022-12-08 8:39 UTC (permalink / raw)
To: Matthew Auld, igt-dev; +Cc: intel-gfx, Nirmoy Das
LGTM the series is Reviewed-by: Nirmoy Das <nirmoy.das@intel.com>
On 12/7/2022 5:52 PM, Matthew Auld wrote:
> So we can use this across different tests.
>
> v2
> - Add docs for everything (Petri)
> - Add missing copyright and fix headers slightly (Kamil)
> v3:
> - Just return true/false, for the has() family of functions, instead
> of tripping up an assert() (Kamil)
>
> Signed-off-by: Matthew Auld <matthew.auld@intel.com>
> Cc: Kamil Konieczny <kamil.konieczny@linux.intel.com>
> Cc: Petri Latvala <petri.latvala@intel.com>
> Cc: Andrzej Hajda <andrzej.hajda@intel.com>
> Cc: Nirmoy Das <nirmoy.das@intel.com>
> ---
> .../igt-gpu-tools/igt-gpu-tools-docs.xml | 1 +
> lib/dmabuf_sync_file.c | 208 ++++++++++++++++++
> lib/dmabuf_sync_file.h | 26 +++
> lib/meson.build | 1 +
> tests/dmabuf_sync_file.c | 133 +----------
> 5 files changed, 240 insertions(+), 129 deletions(-)
> create mode 100644 lib/dmabuf_sync_file.c
> create mode 100644 lib/dmabuf_sync_file.h
>
> diff --git a/docs/reference/igt-gpu-tools/igt-gpu-tools-docs.xml b/docs/reference/igt-gpu-tools/igt-gpu-tools-docs.xml
> index 1ce842f4..102c8a89 100644
> --- a/docs/reference/igt-gpu-tools/igt-gpu-tools-docs.xml
> +++ b/docs/reference/igt-gpu-tools/igt-gpu-tools-docs.xml
> @@ -15,6 +15,7 @@
>
> <chapter>
> <title>API Reference</title>
> + <xi:include href="xml/dmabuf_sync_file.xml"/>
> <xi:include href="xml/drmtest.xml"/>
> <xi:include href="xml/igt_alsa.xml"/>
> <xi:include href="xml/igt_audio.xml"/>
> diff --git a/lib/dmabuf_sync_file.c b/lib/dmabuf_sync_file.c
> new file mode 100644
> index 00000000..7803ec67
> --- /dev/null
> +++ b/lib/dmabuf_sync_file.c
> @@ -0,0 +1,208 @@
> +// SPDX-License-Identifier: MIT
> +/*
> + * Copyright © 2022 Intel Corporation
> + */
> +
> +#include "igt.h"
> +#include "igt_vgem.h"
> +#include "sw_sync.h"
> +
> +#include "dmabuf_sync_file.h"
> +
> +/**
> + * SECTION: dmabuf_sync_file
> + * @short_description: DMABUF importing/exporting fencing support library
> + * @title: DMABUF Sync File
> + * @include: dmabuf_sync_file.h
> + */
> +
> +struct igt_dma_buf_sync_file {
> + __u32 flags;
> + __s32 fd;
> +};
> +
> +#define IGT_DMA_BUF_IOCTL_EXPORT_SYNC_FILE _IOWR(DMA_BUF_BASE, 2, struct igt_dma_buf_sync_file)
> +#define IGT_DMA_BUF_IOCTL_IMPORT_SYNC_FILE _IOW(DMA_BUF_BASE, 3, struct igt_dma_buf_sync_file)
> +
> +/**
> + * has_dmabuf_export_sync_file:
> + * @fd: The open drm fd
> + *
> + * Check if the kernel supports exporting a sync file from dmabuf.
> + */
> +bool has_dmabuf_export_sync_file(int fd)
> +{
> + struct vgem_bo bo;
> + int dmabuf, ret;
> + struct igt_dma_buf_sync_file arg;
> +
> + bo.width = 1;
> + bo.height = 1;
> + bo.bpp = 32;
> + vgem_create(fd, &bo);
> +
> + dmabuf = prime_handle_to_fd(fd, bo.handle);
> + gem_close(fd, bo.handle);
> +
> + arg.flags = DMA_BUF_SYNC_WRITE;
> + arg.fd = -1;
> +
> + ret = igt_ioctl(dmabuf, IGT_DMA_BUF_IOCTL_EXPORT_SYNC_FILE, &arg);
> + close(dmabuf);
> +
> + return (ret == 0 || errno == ENOTTY);
> +}
> +
> +/**
> + * dmabuf_export_sync_file:
> + * @dmabuf: The dmabuf fd
> + * @flags: The flags to control the behaviour
> + *
> + * Take a snapshot of the current dma-resv fences in the dmabuf, and export as a
> + * syncfile. The @flags should at least specify either DMA_BUF_SYNC_WRITE or
> + * DMA_BUF_SYNC_READ, depending on if we care about the read or write fences.
> + */
> +int dmabuf_export_sync_file(int dmabuf, uint32_t flags)
> +{
> + struct igt_dma_buf_sync_file arg;
> +
> + arg.flags = flags;
> + arg.fd = -1;
> + do_ioctl(dmabuf, IGT_DMA_BUF_IOCTL_EXPORT_SYNC_FILE, &arg);
> +
> + return arg.fd;
> +}
> +
> +/**
> + * has_dmabuf_import_sync_file:
> + * @fd: The open drm fd
> + *
> + * Check if the kernel supports importing a sync file into a dmabuf.
> + */
> +bool has_dmabuf_import_sync_file(int fd)
> +{
> + struct vgem_bo bo;
> + int dmabuf, timeline, fence, ret;
> + struct igt_dma_buf_sync_file arg;
> +
> + bo.width = 1;
> + bo.height = 1;
> + bo.bpp = 32;
> + vgem_create(fd, &bo);
> +
> + dmabuf = prime_handle_to_fd(fd, bo.handle);
> + gem_close(fd, bo.handle);
> +
> + timeline = sw_sync_timeline_create();
> + fence = sw_sync_timeline_create_fence(timeline, 1);
> + sw_sync_timeline_inc(timeline, 1);
> +
> + arg.flags = DMA_BUF_SYNC_RW;
> + arg.fd = fence;
> +
> + ret = igt_ioctl(dmabuf, IGT_DMA_BUF_IOCTL_IMPORT_SYNC_FILE, &arg);
> + close(dmabuf);
> + close(fence);
> + return (ret == 0 || errno == ENOTTY);
> +}
> +
> +/**
> + * dmabuf_import_sync_file:
> + * @dmabuf: The dmabuf fd
> + * @flags: The flags to control the behaviour
> + * @sync_fd: The sync file (i.e our fence) to import
> + *
> + * Import the sync file @sync_fd, into the dmabuf. The @flags should at least
> + * specify DMA_BUF_SYNC_WRITE or DMA_BUF_SYNC_READ, depending on if we are
> + * importing the @sync_fd as a read or write fence.
> + */
> +void dmabuf_import_sync_file(int dmabuf, uint32_t flags, int sync_fd)
> +{
> + struct igt_dma_buf_sync_file arg;
> +
> + arg.flags = flags;
> + arg.fd = sync_fd;
> + do_ioctl(dmabuf, IGT_DMA_BUF_IOCTL_IMPORT_SYNC_FILE, &arg);
> +}
> +
> +/**
> + * dmabuf_import_timeline_fence:
> + * @dmabuf: The dmabuf fd
> + * @flags: The flags to control the behaviour
> + * @timeline: The sync file timeline where the new fence is created
> + * @seqno: The sequence number to use for the fence
> + *
> + * Create a new fence as part of @timeline, and import as a sync file into the
> + * dmabuf. The @flags should at least specify DMA_BUF_SYNC_WRITE or
> + * DMA_BUF_SYNC_READ, depending on if we are importing the new fence as a read
> + * or write fence.
> + */
> +void dmabuf_import_timeline_fence(int dmabuf, uint32_t flags,
> + int timeline, uint32_t seqno)
> +{
> + int fence;
> +
> + fence = sw_sync_timeline_create_fence(timeline, seqno);
> + dmabuf_import_sync_file(dmabuf, flags, fence);
> + close(fence);
> +}
> +
> +/**
> + * dmabuf_busy:
> + * @dmabuf: The dmabuf fd
> + * @flags: The flags to control the behaviour
> + *
> + * Check if the fences in the dmabuf are still busy. The @flags should at least
> + * specify DMA_BUF_SYNC_WRITE or DMA_BUF_SYNC_READ, depending on if we are
> + * checking if the read or read fences have all signalled. Or DMA_BUF_SYNC_RW if
> + * we care about both.
> + */
> +bool dmabuf_busy(int dmabuf, uint32_t flags)
> +{
> + struct pollfd pfd = { .fd = dmabuf };
> +
> + /* If DMA_BUF_SYNC_WRITE is set, we don't want to set POLLIN or
> + * else poll() may return a non-zero value if there are only read
> + * fences because POLLIN is ready even if POLLOUT isn't.
> + */
> + if (flags & DMA_BUF_SYNC_WRITE)
> + pfd.events |= POLLOUT;
> + else if (flags & DMA_BUF_SYNC_READ)
> + pfd.events |= POLLIN;
> +
> + return poll(&pfd, 1, 0) == 0;
> +}
> +
> +/**
> + * sync_file_busy:
> + * @sync_file: The sync file to check
> + *
> + * Check if the @sync_file is still busy or not.
> + */
> +bool sync_file_busy(int sync_file)
> +{
> + struct pollfd pfd = { .fd = sync_file, .events = POLLIN };
> + return poll(&pfd, 1, 0) == 0;
> +}
> +
> +/**
> + * dmabuf_sync_file_busy:
> + * @dmabuf: The dmabuf fd
> + * @flags: The flags to control the behaviour
> + *
> + * Export the current fences in @dmabuf as a sync file and check if still busy.
> + * The @flags should at least contain DMA_BUF_SYNC_WRITE or DMA_BUF_SYNC_READ,
> + * to specify which fences are to be exported from the @dmabuf and checked if
> + * busy. Or DMA_BUF_SYNC_RW if we care about both.
> + */
> +bool dmabuf_sync_file_busy(int dmabuf, uint32_t flags)
> +{
> + int sync_file;
> + bool busy;
> +
> + sync_file = dmabuf_export_sync_file(dmabuf, flags);
> + busy = sync_file_busy(sync_file);
> + close(sync_file);
> +
> + return busy;
> +}
> diff --git a/lib/dmabuf_sync_file.h b/lib/dmabuf_sync_file.h
> new file mode 100644
> index 00000000..d642ff30
> --- /dev/null
> +++ b/lib/dmabuf_sync_file.h
> @@ -0,0 +1,26 @@
> +/* SPDX-License-Identifier: MIT */
> +/*
> + * Copyright © 2022 Intel Corporation
> + */
> +
> +#ifndef DMABUF_SYNC_FILE_H
> +#define DMABUF_SYNC_FILE_H
> +
> +#ifdef __linux__
> +#include <linux/dma-buf.h>
> +#endif
> +#include <sys/poll.h>
> +#include <stdbool.h>
> +#include <stdint.h>
> +
> +bool has_dmabuf_export_sync_file(int fd);
> +bool has_dmabuf_import_sync_file(int fd);
> +int dmabuf_export_sync_file(int dmabuf, uint32_t flags);
> +void dmabuf_import_sync_file(int dmabuf, uint32_t flags, int sync_fd);
> +void dmabuf_import_timeline_fence(int dmabuf, uint32_t flags,
> + int timeline, uint32_t seqno);
> +bool dmabuf_busy(int dmabuf, uint32_t flags);
> +bool sync_file_busy(int sync_file);
> +bool dmabuf_sync_file_busy(int dmabuf, uint32_t flags);
> +
> +#endif
> diff --git a/lib/meson.build b/lib/meson.build
> index 2c6ebce7..19d9f4f2 100644
> --- a/lib/meson.build
> +++ b/lib/meson.build
> @@ -1,5 +1,6 @@
> lib_sources = [
> 'drmtest.c',
> + 'dmabuf_sync_file.c',
> 'huc_copy.c',
> 'i915/gem.c',
> 'i915/gem_context.c',
> diff --git a/tests/dmabuf_sync_file.c b/tests/dmabuf_sync_file.c
> index 2179a76d..25bb6ad7 100644
> --- a/tests/dmabuf_sync_file.c
> +++ b/tests/dmabuf_sync_file.c
> @@ -1,140 +1,15 @@
> // SPDX-License-Identifier: MIT
> +/*
> + * Copyright © 2022 Intel Corporation
> + */
>
> #include "igt.h"
> #include "igt_vgem.h"
> #include "sw_sync.h"
> -
> -#include <linux/dma-buf.h>
> -#include <sys/poll.h>
> +#include "dmabuf_sync_file.h"
>
> IGT_TEST_DESCRIPTION("Tests for sync_file support in dma-buf");
>
> -struct igt_dma_buf_sync_file {
> - __u32 flags;
> - __s32 fd;
> -};
> -
> -#define IGT_DMA_BUF_IOCTL_EXPORT_SYNC_FILE _IOWR(DMA_BUF_BASE, 2, struct igt_dma_buf_sync_file)
> -#define IGT_DMA_BUF_IOCTL_IMPORT_SYNC_FILE _IOW(DMA_BUF_BASE, 3, struct igt_dma_buf_sync_file)
> -
> -static bool has_dmabuf_export_sync_file(int fd)
> -{
> - struct vgem_bo bo;
> - int dmabuf, ret;
> - struct igt_dma_buf_sync_file arg;
> -
> - bo.width = 1;
> - bo.height = 1;
> - bo.bpp = 32;
> - vgem_create(fd, &bo);
> -
> - dmabuf = prime_handle_to_fd(fd, bo.handle);
> - gem_close(fd, bo.handle);
> -
> - arg.flags = DMA_BUF_SYNC_WRITE;
> - arg.fd = -1;
> -
> - ret = igt_ioctl(dmabuf, IGT_DMA_BUF_IOCTL_EXPORT_SYNC_FILE, &arg);
> - close(dmabuf);
> - igt_assert(ret == 0 || errno == ENOTTY);
> -
> - return ret == 0;
> -}
> -
> -static int dmabuf_export_sync_file(int dmabuf, uint32_t flags)
> -{
> - struct igt_dma_buf_sync_file arg;
> -
> - arg.flags = flags;
> - arg.fd = -1;
> - do_ioctl(dmabuf, IGT_DMA_BUF_IOCTL_EXPORT_SYNC_FILE, &arg);
> -
> - return arg.fd;
> -}
> -
> -static bool has_dmabuf_import_sync_file(int fd)
> -{
> - struct vgem_bo bo;
> - int dmabuf, timeline, fence, ret;
> - struct igt_dma_buf_sync_file arg;
> -
> - bo.width = 1;
> - bo.height = 1;
> - bo.bpp = 32;
> - vgem_create(fd, &bo);
> -
> - dmabuf = prime_handle_to_fd(fd, bo.handle);
> - gem_close(fd, bo.handle);
> -
> - timeline = sw_sync_timeline_create();
> - fence = sw_sync_timeline_create_fence(timeline, 1);
> - sw_sync_timeline_inc(timeline, 1);
> -
> - arg.flags = DMA_BUF_SYNC_RW;
> - arg.fd = fence;
> -
> - ret = igt_ioctl(dmabuf, IGT_DMA_BUF_IOCTL_IMPORT_SYNC_FILE, &arg);
> - close(dmabuf);
> - close(fence);
> - igt_assert(ret == 0 || errno == ENOTTY);
> -
> - return ret == 0;
> -}
> -
> -static void dmabuf_import_sync_file(int dmabuf, uint32_t flags, int sync_fd)
> -{
> - struct igt_dma_buf_sync_file arg;
> -
> - arg.flags = flags;
> - arg.fd = sync_fd;
> - do_ioctl(dmabuf, IGT_DMA_BUF_IOCTL_IMPORT_SYNC_FILE, &arg);
> -}
> -
> -static void
> -dmabuf_import_timeline_fence(int dmabuf, uint32_t flags,
> - int timeline, uint32_t seqno)
> -{
> - int fence;
> -
> - fence = sw_sync_timeline_create_fence(timeline, seqno);
> - dmabuf_import_sync_file(dmabuf, flags, fence);
> - close(fence);
> -}
> -
> -static bool dmabuf_busy(int dmabuf, uint32_t flags)
> -{
> - struct pollfd pfd = { .fd = dmabuf };
> -
> - /* If DMA_BUF_SYNC_WRITE is set, we don't want to set POLLIN or
> - * else poll() may return a non-zero value if there are only read
> - * fences because POLLIN is ready even if POLLOUT isn't.
> - */
> - if (flags & DMA_BUF_SYNC_WRITE)
> - pfd.events |= POLLOUT;
> - else if (flags & DMA_BUF_SYNC_READ)
> - pfd.events |= POLLIN;
> -
> - return poll(&pfd, 1, 0) == 0;
> -}
> -
> -static bool sync_file_busy(int sync_file)
> -{
> - struct pollfd pfd = { .fd = sync_file, .events = POLLIN };
> - return poll(&pfd, 1, 0) == 0;
> -}
> -
> -static bool dmabuf_sync_file_busy(int dmabuf, uint32_t flags)
> -{
> - int sync_file;
> - bool busy;
> -
> - sync_file = dmabuf_export_sync_file(dmabuf, flags);
> - busy = sync_file_busy(sync_file);
> - close(sync_file);
> -
> - return busy;
> -}
> -
> static void test_export_basic(int fd)
> {
> struct vgem_bo bo;
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [igt-dev] [PATCH i-g-t v3 1/2] lib/dmabuf_sync_file: move common stuff into lib
@ 2022-12-08 8:39 ` Das, Nirmoy
0 siblings, 0 replies; 11+ messages in thread
From: Das, Nirmoy @ 2022-12-08 8:39 UTC (permalink / raw)
To: Matthew Auld, igt-dev; +Cc: intel-gfx, Petri Latvala, Nirmoy Das
LGTM the series is Reviewed-by: Nirmoy Das <nirmoy.das@intel.com>
On 12/7/2022 5:52 PM, Matthew Auld wrote:
> So we can use this across different tests.
>
> v2
> - Add docs for everything (Petri)
> - Add missing copyright and fix headers slightly (Kamil)
> v3:
> - Just return true/false, for the has() family of functions, instead
> of tripping up an assert() (Kamil)
>
> Signed-off-by: Matthew Auld <matthew.auld@intel.com>
> Cc: Kamil Konieczny <kamil.konieczny@linux.intel.com>
> Cc: Petri Latvala <petri.latvala@intel.com>
> Cc: Andrzej Hajda <andrzej.hajda@intel.com>
> Cc: Nirmoy Das <nirmoy.das@intel.com>
> ---
> .../igt-gpu-tools/igt-gpu-tools-docs.xml | 1 +
> lib/dmabuf_sync_file.c | 208 ++++++++++++++++++
> lib/dmabuf_sync_file.h | 26 +++
> lib/meson.build | 1 +
> tests/dmabuf_sync_file.c | 133 +----------
> 5 files changed, 240 insertions(+), 129 deletions(-)
> create mode 100644 lib/dmabuf_sync_file.c
> create mode 100644 lib/dmabuf_sync_file.h
>
> diff --git a/docs/reference/igt-gpu-tools/igt-gpu-tools-docs.xml b/docs/reference/igt-gpu-tools/igt-gpu-tools-docs.xml
> index 1ce842f4..102c8a89 100644
> --- a/docs/reference/igt-gpu-tools/igt-gpu-tools-docs.xml
> +++ b/docs/reference/igt-gpu-tools/igt-gpu-tools-docs.xml
> @@ -15,6 +15,7 @@
>
> <chapter>
> <title>API Reference</title>
> + <xi:include href="xml/dmabuf_sync_file.xml"/>
> <xi:include href="xml/drmtest.xml"/>
> <xi:include href="xml/igt_alsa.xml"/>
> <xi:include href="xml/igt_audio.xml"/>
> diff --git a/lib/dmabuf_sync_file.c b/lib/dmabuf_sync_file.c
> new file mode 100644
> index 00000000..7803ec67
> --- /dev/null
> +++ b/lib/dmabuf_sync_file.c
> @@ -0,0 +1,208 @@
> +// SPDX-License-Identifier: MIT
> +/*
> + * Copyright © 2022 Intel Corporation
> + */
> +
> +#include "igt.h"
> +#include "igt_vgem.h"
> +#include "sw_sync.h"
> +
> +#include "dmabuf_sync_file.h"
> +
> +/**
> + * SECTION: dmabuf_sync_file
> + * @short_description: DMABUF importing/exporting fencing support library
> + * @title: DMABUF Sync File
> + * @include: dmabuf_sync_file.h
> + */
> +
> +struct igt_dma_buf_sync_file {
> + __u32 flags;
> + __s32 fd;
> +};
> +
> +#define IGT_DMA_BUF_IOCTL_EXPORT_SYNC_FILE _IOWR(DMA_BUF_BASE, 2, struct igt_dma_buf_sync_file)
> +#define IGT_DMA_BUF_IOCTL_IMPORT_SYNC_FILE _IOW(DMA_BUF_BASE, 3, struct igt_dma_buf_sync_file)
> +
> +/**
> + * has_dmabuf_export_sync_file:
> + * @fd: The open drm fd
> + *
> + * Check if the kernel supports exporting a sync file from dmabuf.
> + */
> +bool has_dmabuf_export_sync_file(int fd)
> +{
> + struct vgem_bo bo;
> + int dmabuf, ret;
> + struct igt_dma_buf_sync_file arg;
> +
> + bo.width = 1;
> + bo.height = 1;
> + bo.bpp = 32;
> + vgem_create(fd, &bo);
> +
> + dmabuf = prime_handle_to_fd(fd, bo.handle);
> + gem_close(fd, bo.handle);
> +
> + arg.flags = DMA_BUF_SYNC_WRITE;
> + arg.fd = -1;
> +
> + ret = igt_ioctl(dmabuf, IGT_DMA_BUF_IOCTL_EXPORT_SYNC_FILE, &arg);
> + close(dmabuf);
> +
> + return (ret == 0 || errno == ENOTTY);
> +}
> +
> +/**
> + * dmabuf_export_sync_file:
> + * @dmabuf: The dmabuf fd
> + * @flags: The flags to control the behaviour
> + *
> + * Take a snapshot of the current dma-resv fences in the dmabuf, and export as a
> + * syncfile. The @flags should at least specify either DMA_BUF_SYNC_WRITE or
> + * DMA_BUF_SYNC_READ, depending on if we care about the read or write fences.
> + */
> +int dmabuf_export_sync_file(int dmabuf, uint32_t flags)
> +{
> + struct igt_dma_buf_sync_file arg;
> +
> + arg.flags = flags;
> + arg.fd = -1;
> + do_ioctl(dmabuf, IGT_DMA_BUF_IOCTL_EXPORT_SYNC_FILE, &arg);
> +
> + return arg.fd;
> +}
> +
> +/**
> + * has_dmabuf_import_sync_file:
> + * @fd: The open drm fd
> + *
> + * Check if the kernel supports importing a sync file into a dmabuf.
> + */
> +bool has_dmabuf_import_sync_file(int fd)
> +{
> + struct vgem_bo bo;
> + int dmabuf, timeline, fence, ret;
> + struct igt_dma_buf_sync_file arg;
> +
> + bo.width = 1;
> + bo.height = 1;
> + bo.bpp = 32;
> + vgem_create(fd, &bo);
> +
> + dmabuf = prime_handle_to_fd(fd, bo.handle);
> + gem_close(fd, bo.handle);
> +
> + timeline = sw_sync_timeline_create();
> + fence = sw_sync_timeline_create_fence(timeline, 1);
> + sw_sync_timeline_inc(timeline, 1);
> +
> + arg.flags = DMA_BUF_SYNC_RW;
> + arg.fd = fence;
> +
> + ret = igt_ioctl(dmabuf, IGT_DMA_BUF_IOCTL_IMPORT_SYNC_FILE, &arg);
> + close(dmabuf);
> + close(fence);
> + return (ret == 0 || errno == ENOTTY);
> +}
> +
> +/**
> + * dmabuf_import_sync_file:
> + * @dmabuf: The dmabuf fd
> + * @flags: The flags to control the behaviour
> + * @sync_fd: The sync file (i.e our fence) to import
> + *
> + * Import the sync file @sync_fd, into the dmabuf. The @flags should at least
> + * specify DMA_BUF_SYNC_WRITE or DMA_BUF_SYNC_READ, depending on if we are
> + * importing the @sync_fd as a read or write fence.
> + */
> +void dmabuf_import_sync_file(int dmabuf, uint32_t flags, int sync_fd)
> +{
> + struct igt_dma_buf_sync_file arg;
> +
> + arg.flags = flags;
> + arg.fd = sync_fd;
> + do_ioctl(dmabuf, IGT_DMA_BUF_IOCTL_IMPORT_SYNC_FILE, &arg);
> +}
> +
> +/**
> + * dmabuf_import_timeline_fence:
> + * @dmabuf: The dmabuf fd
> + * @flags: The flags to control the behaviour
> + * @timeline: The sync file timeline where the new fence is created
> + * @seqno: The sequence number to use for the fence
> + *
> + * Create a new fence as part of @timeline, and import as a sync file into the
> + * dmabuf. The @flags should at least specify DMA_BUF_SYNC_WRITE or
> + * DMA_BUF_SYNC_READ, depending on if we are importing the new fence as a read
> + * or write fence.
> + */
> +void dmabuf_import_timeline_fence(int dmabuf, uint32_t flags,
> + int timeline, uint32_t seqno)
> +{
> + int fence;
> +
> + fence = sw_sync_timeline_create_fence(timeline, seqno);
> + dmabuf_import_sync_file(dmabuf, flags, fence);
> + close(fence);
> +}
> +
> +/**
> + * dmabuf_busy:
> + * @dmabuf: The dmabuf fd
> + * @flags: The flags to control the behaviour
> + *
> + * Check if the fences in the dmabuf are still busy. The @flags should at least
> + * specify DMA_BUF_SYNC_WRITE or DMA_BUF_SYNC_READ, depending on if we are
> + * checking if the read or read fences have all signalled. Or DMA_BUF_SYNC_RW if
> + * we care about both.
> + */
> +bool dmabuf_busy(int dmabuf, uint32_t flags)
> +{
> + struct pollfd pfd = { .fd = dmabuf };
> +
> + /* If DMA_BUF_SYNC_WRITE is set, we don't want to set POLLIN or
> + * else poll() may return a non-zero value if there are only read
> + * fences because POLLIN is ready even if POLLOUT isn't.
> + */
> + if (flags & DMA_BUF_SYNC_WRITE)
> + pfd.events |= POLLOUT;
> + else if (flags & DMA_BUF_SYNC_READ)
> + pfd.events |= POLLIN;
> +
> + return poll(&pfd, 1, 0) == 0;
> +}
> +
> +/**
> + * sync_file_busy:
> + * @sync_file: The sync file to check
> + *
> + * Check if the @sync_file is still busy or not.
> + */
> +bool sync_file_busy(int sync_file)
> +{
> + struct pollfd pfd = { .fd = sync_file, .events = POLLIN };
> + return poll(&pfd, 1, 0) == 0;
> +}
> +
> +/**
> + * dmabuf_sync_file_busy:
> + * @dmabuf: The dmabuf fd
> + * @flags: The flags to control the behaviour
> + *
> + * Export the current fences in @dmabuf as a sync file and check if still busy.
> + * The @flags should at least contain DMA_BUF_SYNC_WRITE or DMA_BUF_SYNC_READ,
> + * to specify which fences are to be exported from the @dmabuf and checked if
> + * busy. Or DMA_BUF_SYNC_RW if we care about both.
> + */
> +bool dmabuf_sync_file_busy(int dmabuf, uint32_t flags)
> +{
> + int sync_file;
> + bool busy;
> +
> + sync_file = dmabuf_export_sync_file(dmabuf, flags);
> + busy = sync_file_busy(sync_file);
> + close(sync_file);
> +
> + return busy;
> +}
> diff --git a/lib/dmabuf_sync_file.h b/lib/dmabuf_sync_file.h
> new file mode 100644
> index 00000000..d642ff30
> --- /dev/null
> +++ b/lib/dmabuf_sync_file.h
> @@ -0,0 +1,26 @@
> +/* SPDX-License-Identifier: MIT */
> +/*
> + * Copyright © 2022 Intel Corporation
> + */
> +
> +#ifndef DMABUF_SYNC_FILE_H
> +#define DMABUF_SYNC_FILE_H
> +
> +#ifdef __linux__
> +#include <linux/dma-buf.h>
> +#endif
> +#include <sys/poll.h>
> +#include <stdbool.h>
> +#include <stdint.h>
> +
> +bool has_dmabuf_export_sync_file(int fd);
> +bool has_dmabuf_import_sync_file(int fd);
> +int dmabuf_export_sync_file(int dmabuf, uint32_t flags);
> +void dmabuf_import_sync_file(int dmabuf, uint32_t flags, int sync_fd);
> +void dmabuf_import_timeline_fence(int dmabuf, uint32_t flags,
> + int timeline, uint32_t seqno);
> +bool dmabuf_busy(int dmabuf, uint32_t flags);
> +bool sync_file_busy(int sync_file);
> +bool dmabuf_sync_file_busy(int dmabuf, uint32_t flags);
> +
> +#endif
> diff --git a/lib/meson.build b/lib/meson.build
> index 2c6ebce7..19d9f4f2 100644
> --- a/lib/meson.build
> +++ b/lib/meson.build
> @@ -1,5 +1,6 @@
> lib_sources = [
> 'drmtest.c',
> + 'dmabuf_sync_file.c',
> 'huc_copy.c',
> 'i915/gem.c',
> 'i915/gem_context.c',
> diff --git a/tests/dmabuf_sync_file.c b/tests/dmabuf_sync_file.c
> index 2179a76d..25bb6ad7 100644
> --- a/tests/dmabuf_sync_file.c
> +++ b/tests/dmabuf_sync_file.c
> @@ -1,140 +1,15 @@
> // SPDX-License-Identifier: MIT
> +/*
> + * Copyright © 2022 Intel Corporation
> + */
>
> #include "igt.h"
> #include "igt_vgem.h"
> #include "sw_sync.h"
> -
> -#include <linux/dma-buf.h>
> -#include <sys/poll.h>
> +#include "dmabuf_sync_file.h"
>
> IGT_TEST_DESCRIPTION("Tests for sync_file support in dma-buf");
>
> -struct igt_dma_buf_sync_file {
> - __u32 flags;
> - __s32 fd;
> -};
> -
> -#define IGT_DMA_BUF_IOCTL_EXPORT_SYNC_FILE _IOWR(DMA_BUF_BASE, 2, struct igt_dma_buf_sync_file)
> -#define IGT_DMA_BUF_IOCTL_IMPORT_SYNC_FILE _IOW(DMA_BUF_BASE, 3, struct igt_dma_buf_sync_file)
> -
> -static bool has_dmabuf_export_sync_file(int fd)
> -{
> - struct vgem_bo bo;
> - int dmabuf, ret;
> - struct igt_dma_buf_sync_file arg;
> -
> - bo.width = 1;
> - bo.height = 1;
> - bo.bpp = 32;
> - vgem_create(fd, &bo);
> -
> - dmabuf = prime_handle_to_fd(fd, bo.handle);
> - gem_close(fd, bo.handle);
> -
> - arg.flags = DMA_BUF_SYNC_WRITE;
> - arg.fd = -1;
> -
> - ret = igt_ioctl(dmabuf, IGT_DMA_BUF_IOCTL_EXPORT_SYNC_FILE, &arg);
> - close(dmabuf);
> - igt_assert(ret == 0 || errno == ENOTTY);
> -
> - return ret == 0;
> -}
> -
> -static int dmabuf_export_sync_file(int dmabuf, uint32_t flags)
> -{
> - struct igt_dma_buf_sync_file arg;
> -
> - arg.flags = flags;
> - arg.fd = -1;
> - do_ioctl(dmabuf, IGT_DMA_BUF_IOCTL_EXPORT_SYNC_FILE, &arg);
> -
> - return arg.fd;
> -}
> -
> -static bool has_dmabuf_import_sync_file(int fd)
> -{
> - struct vgem_bo bo;
> - int dmabuf, timeline, fence, ret;
> - struct igt_dma_buf_sync_file arg;
> -
> - bo.width = 1;
> - bo.height = 1;
> - bo.bpp = 32;
> - vgem_create(fd, &bo);
> -
> - dmabuf = prime_handle_to_fd(fd, bo.handle);
> - gem_close(fd, bo.handle);
> -
> - timeline = sw_sync_timeline_create();
> - fence = sw_sync_timeline_create_fence(timeline, 1);
> - sw_sync_timeline_inc(timeline, 1);
> -
> - arg.flags = DMA_BUF_SYNC_RW;
> - arg.fd = fence;
> -
> - ret = igt_ioctl(dmabuf, IGT_DMA_BUF_IOCTL_IMPORT_SYNC_FILE, &arg);
> - close(dmabuf);
> - close(fence);
> - igt_assert(ret == 0 || errno == ENOTTY);
> -
> - return ret == 0;
> -}
> -
> -static void dmabuf_import_sync_file(int dmabuf, uint32_t flags, int sync_fd)
> -{
> - struct igt_dma_buf_sync_file arg;
> -
> - arg.flags = flags;
> - arg.fd = sync_fd;
> - do_ioctl(dmabuf, IGT_DMA_BUF_IOCTL_IMPORT_SYNC_FILE, &arg);
> -}
> -
> -static void
> -dmabuf_import_timeline_fence(int dmabuf, uint32_t flags,
> - int timeline, uint32_t seqno)
> -{
> - int fence;
> -
> - fence = sw_sync_timeline_create_fence(timeline, seqno);
> - dmabuf_import_sync_file(dmabuf, flags, fence);
> - close(fence);
> -}
> -
> -static bool dmabuf_busy(int dmabuf, uint32_t flags)
> -{
> - struct pollfd pfd = { .fd = dmabuf };
> -
> - /* If DMA_BUF_SYNC_WRITE is set, we don't want to set POLLIN or
> - * else poll() may return a non-zero value if there are only read
> - * fences because POLLIN is ready even if POLLOUT isn't.
> - */
> - if (flags & DMA_BUF_SYNC_WRITE)
> - pfd.events |= POLLOUT;
> - else if (flags & DMA_BUF_SYNC_READ)
> - pfd.events |= POLLIN;
> -
> - return poll(&pfd, 1, 0) == 0;
> -}
> -
> -static bool sync_file_busy(int sync_file)
> -{
> - struct pollfd pfd = { .fd = sync_file, .events = POLLIN };
> - return poll(&pfd, 1, 0) == 0;
> -}
> -
> -static bool dmabuf_sync_file_busy(int dmabuf, uint32_t flags)
> -{
> - int sync_file;
> - bool busy;
> -
> - sync_file = dmabuf_export_sync_file(dmabuf, flags);
> - busy = sync_file_busy(sync_file);
> - close(sync_file);
> -
> - return busy;
> -}
> -
> static void test_export_basic(int fd)
> {
> struct vgem_bo bo;
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [igt-dev] ✗ Fi.CI.BAT: failure for series starting with [i-g-t,v3,1/2] lib/dmabuf_sync_file: move common stuff into lib
2022-12-07 19:35 ` [igt-dev] ✗ Fi.CI.BAT: failure for series starting with [i-g-t,v3,1/2] lib/dmabuf_sync_file: move common stuff into lib Patchwork
@ 2022-12-08 21:32 ` Kamil Konieczny
2022-12-09 6:45 ` Yedireswarapu, SaiX Nandan
0 siblings, 1 reply; 11+ messages in thread
From: Kamil Konieczny @ 2022-12-08 21:32 UTC (permalink / raw)
To: igt-dev; +Cc: Sai Nandan Yedireswarapu
Hi,
On 2022-12-07 at 19:35:09 -0000, Patchwork wrote:
> == Series Details ==
>
> Series: series starting with [i-g-t,v3,1/2] lib/dmabuf_sync_file: move common stuff into lib
> URL : https://patchwork.freedesktop.org/series/111738/
> State : failure
>
> == Summary ==
>
> CI Bug Log - changes from CI_DRM_12478 -> IGTPW_8213
> ====================================================
>
> Summary
> -------
>
> **FAILURE**
>
> Serious unknown changes coming with IGTPW_8213 absolutely need to be
> verified manually.
>
> If you think the reported changes have nothing to do with the changes
> introduced in IGTPW_8213, please notify your bug team 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_8213/index.html
>
> Participating hosts (39 -> 41)
> ------------------------------
>
> Additional (4): bat-rpls-2 fi-bwr-2160 fi-tgl-dsi fi-bsw-nick
> Missing (2): fi-hsw-4770 fi-rkl-11600
>
> Possible new issues
> -------------------
>
> Here are the unknown changes that may have been introduced in IGTPW_8213:
>
> ### IGT changes ###
>
> #### Possible regressions ####
>
> * igt@i915_selftest@live@guc_multi_lrc:
> - fi-kbl-soraka: [PASS][1] -> [INCOMPLETE][2]
> [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12478/fi-kbl-soraka/igt@i915_selftest@live@guc_multi_lrc.html
> [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/fi-kbl-soraka/igt@i915_selftest@live@guc_multi_lrc.html
>
This is unrelated to the changes in gem_exec_balancer and lib.
Regards,
Kamil
>
> #### Suppressed ####
>
> The following results come from untrusted machines, tests, or statuses.
> They do not affect the overall result.
>
> * igt@i915_selftest@live@gt_lrc:
> - {fi-tgl-dsi}: NOTRUN -> [DMESG-FAIL][3]
> [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/fi-tgl-dsi/igt@i915_selftest@live@gt_lrc.html
>
> * igt@kms_pipe_crc_basic@suspend-read-crc@pipe-a-dp-2:
> - {bat-dg2-11}: [PASS][4] -> [FAIL][5] +1 similar issue
> [4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12478/bat-dg2-11/igt@kms_pipe_crc_basic@suspend-read-crc@pipe-a-dp-2.html
> [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/bat-dg2-11/igt@kms_pipe_crc_basic@suspend-read-crc@pipe-a-dp-2.html
>
>
> Known issues
> ------------
>
> Here are the changes found in IGTPW_8213 that come from known issues:
>
> ### IGT changes ###
>
> #### Issues hit ####
>
> * igt@gem_lmem_swapping@parallel-random-engines:
> - fi-bsw-nick: NOTRUN -> [SKIP][6] ([fdo#109271]) +39 similar issues
> [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/fi-bsw-nick/igt@gem_lmem_swapping@parallel-random-engines.html
>
> * igt@i915_selftest@live@gt_heartbeat:
> - fi-kbl-soraka: [PASS][7] -> [DMESG-FAIL][8] ([i915#5334])
> [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12478/fi-kbl-soraka/igt@i915_selftest@live@gt_heartbeat.html
> [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/fi-kbl-soraka/igt@i915_selftest@live@gt_heartbeat.html
>
> * igt@i915_selftest@live@gt_lrc:
> - bat-dg1-5: [PASS][9] -> [INCOMPLETE][10] ([i915#4983])
> [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12478/bat-dg1-5/igt@i915_selftest@live@gt_lrc.html
> [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/bat-dg1-5/igt@i915_selftest@live@gt_lrc.html
>
> * igt@kms_chamelium@hdmi-hpd-fast:
> - fi-bsw-nick: NOTRUN -> [SKIP][11] ([fdo#109271] / [fdo#111827]) +8 similar issues
> [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/fi-bsw-nick/igt@kms_chamelium@hdmi-hpd-fast.html
>
> * igt@kms_psr@primary_mmap_gtt:
> - fi-bwr-2160: NOTRUN -> [SKIP][12] ([fdo#109271]) +54 similar issues
> [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/fi-bwr-2160/igt@kms_psr@primary_mmap_gtt.html
>
> * igt@runner@aborted:
> - bat-dg1-5: NOTRUN -> [FAIL][13] ([i915#4312])
> [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/bat-dg1-5/igt@runner@aborted.html
>
>
> #### Possible fixes ####
>
> * igt@kms_cursor_legacy@basic-busy-flip-before-cursor@atomic-transitions:
> - fi-bsw-kefka: [FAIL][14] ([i915#6298]) -> [PASS][15]
> [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12478/fi-bsw-kefka/igt@kms_cursor_legacy@basic-busy-flip-before-cursor@atomic-transitions.html
> [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/fi-bsw-kefka/igt@kms_cursor_legacy@basic-busy-flip-before-cursor@atomic-transitions.html
>
> * igt@kms_pipe_crc_basic@read-crc@pipe-b-dp-1:
> - {bat-adlp-9}: [FAIL][16] -> [PASS][17] +3 similar issues
> [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12478/bat-adlp-9/igt@kms_pipe_crc_basic@read-crc@pipe-b-dp-1.html
> [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/bat-adlp-9/igt@kms_pipe_crc_basic@read-crc@pipe-b-dp-1.html
>
>
> #### Warnings ####
>
> * igt@i915_module_load@load:
> - fi-bsw-n3050: [DMESG-WARN][18] ([i915#1982] / [i915#7430]) -> [DMESG-WARN][19] ([i915#7430])
> [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12478/fi-bsw-n3050/igt@i915_module_load@load.html
> [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/fi-bsw-n3050/igt@i915_module_load@load.html
>
>
> {name}: This element is suppressed. This means it is ignored when computing
> the status of the difference (SUCCESS, WARNING, or FAILURE).
>
> [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
> [fdo#109284]: https://bugs.freedesktop.org/show_bug.cgi?id=109284
> [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
> [fdo#109295]: https://bugs.freedesktop.org/show_bug.cgi?id=109295
> [fdo#110189]: https://bugs.freedesktop.org/show_bug.cgi?id=110189
> [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
> [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
> [i915#1759]: https://gitlab.freedesktop.org/drm/intel/issues/1759
> [i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982
> [i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190
> [i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282
> [i915#3301]: https://gitlab.freedesktop.org/drm/intel/issues/3301
> [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
> [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
> [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
> [i915#4258]: https://gitlab.freedesktop.org/drm/intel/issues/4258
> [i915#4312]: https://gitlab.freedesktop.org/drm/intel/issues/4312
> [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
> [i915#4983]: https://gitlab.freedesktop.org/drm/intel/issues/4983
> [i915#5334]: https://gitlab.freedesktop.org/drm/intel/issues/5334
> [i915#6298]: https://gitlab.freedesktop.org/drm/intel/issues/6298
> [i915#6367]: https://gitlab.freedesktop.org/drm/intel/issues/6367
> [i915#6559]: https://gitlab.freedesktop.org/drm/intel/issues/6559
> [i915#6621]: https://gitlab.freedesktop.org/drm/intel/issues/6621
> [i915#6816]: https://gitlab.freedesktop.org/drm/intel/issues/6816
> [i915#6818]: https://gitlab.freedesktop.org/drm/intel/issues/6818
> [i915#6949]: https://gitlab.freedesktop.org/drm/intel/issues/6949
> [i915#7058]: https://gitlab.freedesktop.org/drm/intel/issues/7058
> [i915#7346]: https://gitlab.freedesktop.org/drm/intel/issues/7346
> [i915#7430]: https://gitlab.freedesktop.org/drm/intel/issues/7430
> [i915#7456]: https://gitlab.freedesktop.org/drm/intel/issues/7456
> [i915#7561]: https://gitlab.freedesktop.org/drm/intel/issues/7561
>
>
> Build changes
> -------------
>
> * CI: CI-20190529 -> None
> * IGT: IGT_7085 -> IGTPW_8213
>
> CI-20190529: 20190529
> CI_DRM_12478: f5d2f00fe4daf65ecd6634dec39fbf66b44535e3 @ git://anongit.freedesktop.org/gfx-ci/linux
> IGTPW_8213: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/index.html
> IGT_7085: 11af20de3877b23a244b816453bfc41d83591a15 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
>
>
> Testlist changes
> ----------------
>
> +igt@gem_exec_balancer@parallel-dmabuf-import-out-fence
>
> == Logs ==
>
> For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/index.html
^ permalink raw reply [flat|nested] 11+ messages in thread
* [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,v3,1/2] lib/dmabuf_sync_file: move common stuff into lib
2022-12-07 16:52 ` [igt-dev] " Matthew Auld
` (3 preceding siblings ...)
(?)
@ 2022-12-09 6:36 ` Patchwork
-1 siblings, 0 replies; 11+ messages in thread
From: Patchwork @ 2022-12-09 6:36 UTC (permalink / raw)
To: Matthew Auld; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 7661 bytes --]
== Series Details ==
Series: series starting with [i-g-t,v3,1/2] lib/dmabuf_sync_file: move common stuff into lib
URL : https://patchwork.freedesktop.org/series/111738/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_12478 -> IGTPW_8213
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/index.html
Participating hosts (39 -> 41)
------------------------------
Additional (4): bat-rpls-2 fi-bwr-2160 fi-tgl-dsi fi-bsw-nick
Missing (2): fi-hsw-4770 fi-rkl-11600
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in IGTPW_8213:
### IGT changes ###
#### Suppressed ####
The following results come from untrusted machines, tests, or statuses.
They do not affect the overall result.
* igt@i915_selftest@live@gt_lrc:
- {fi-tgl-dsi}: NOTRUN -> [DMESG-FAIL][1]
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/fi-tgl-dsi/igt@i915_selftest@live@gt_lrc.html
* igt@kms_pipe_crc_basic@suspend-read-crc@pipe-a-dp-2:
- {bat-dg2-11}: [PASS][2] -> [FAIL][3] +1 similar issue
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12478/bat-dg2-11/igt@kms_pipe_crc_basic@suspend-read-crc@pipe-a-dp-2.html
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/bat-dg2-11/igt@kms_pipe_crc_basic@suspend-read-crc@pipe-a-dp-2.html
Known issues
------------
Here are the changes found in IGTPW_8213 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@gem_lmem_swapping@parallel-random-engines:
- fi-bsw-nick: NOTRUN -> [SKIP][4] ([fdo#109271]) +39 similar issues
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/fi-bsw-nick/igt@gem_lmem_swapping@parallel-random-engines.html
* igt@i915_selftest@live@gt_heartbeat:
- fi-kbl-soraka: [PASS][5] -> [DMESG-FAIL][6] ([i915#5334])
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12478/fi-kbl-soraka/igt@i915_selftest@live@gt_heartbeat.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/fi-kbl-soraka/igt@i915_selftest@live@gt_heartbeat.html
* igt@i915_selftest@live@gt_lrc:
- bat-dg1-5: [PASS][7] -> [INCOMPLETE][8] ([i915#4983])
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12478/bat-dg1-5/igt@i915_selftest@live@gt_lrc.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/bat-dg1-5/igt@i915_selftest@live@gt_lrc.html
* igt@i915_selftest@live@guc_multi_lrc:
- fi-kbl-soraka: [PASS][9] -> [INCOMPLETE][10] ([i915#5334])
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12478/fi-kbl-soraka/igt@i915_selftest@live@guc_multi_lrc.html
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/fi-kbl-soraka/igt@i915_selftest@live@guc_multi_lrc.html
* igt@kms_chamelium@hdmi-hpd-fast:
- fi-bsw-nick: NOTRUN -> [SKIP][11] ([fdo#109271] / [fdo#111827]) +8 similar issues
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/fi-bsw-nick/igt@kms_chamelium@hdmi-hpd-fast.html
* igt@kms_psr@primary_mmap_gtt:
- fi-bwr-2160: NOTRUN -> [SKIP][12] ([fdo#109271]) +54 similar issues
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/fi-bwr-2160/igt@kms_psr@primary_mmap_gtt.html
* igt@runner@aborted:
- bat-dg1-5: NOTRUN -> [FAIL][13] ([i915#4312])
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/bat-dg1-5/igt@runner@aborted.html
#### Possible fixes ####
* igt@kms_cursor_legacy@basic-busy-flip-before-cursor@atomic-transitions:
- fi-bsw-kefka: [FAIL][14] ([i915#6298]) -> [PASS][15]
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12478/fi-bsw-kefka/igt@kms_cursor_legacy@basic-busy-flip-before-cursor@atomic-transitions.html
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/fi-bsw-kefka/igt@kms_cursor_legacy@basic-busy-flip-before-cursor@atomic-transitions.html
* igt@kms_pipe_crc_basic@read-crc@pipe-b-dp-1:
- {bat-adlp-9}: [FAIL][16] -> [PASS][17] +3 similar issues
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12478/bat-adlp-9/igt@kms_pipe_crc_basic@read-crc@pipe-b-dp-1.html
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/bat-adlp-9/igt@kms_pipe_crc_basic@read-crc@pipe-b-dp-1.html
#### Warnings ####
* igt@i915_module_load@load:
- fi-bsw-n3050: [DMESG-WARN][18] ([i915#1982] / [i915#7430]) -> [DMESG-WARN][19] ([i915#7430])
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12478/fi-bsw-n3050/igt@i915_module_load@load.html
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/fi-bsw-n3050/igt@i915_module_load@load.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
[fdo#109284]: https://bugs.freedesktop.org/show_bug.cgi?id=109284
[fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
[fdo#109295]: https://bugs.freedesktop.org/show_bug.cgi?id=109295
[fdo#110189]: https://bugs.freedesktop.org/show_bug.cgi?id=110189
[fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
[i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
[i915#1759]: https://gitlab.freedesktop.org/drm/intel/issues/1759
[i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982
[i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190
[i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282
[i915#3301]: https://gitlab.freedesktop.org/drm/intel/issues/3301
[i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
[i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
[i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
[i915#4258]: https://gitlab.freedesktop.org/drm/intel/issues/4258
[i915#4312]: https://gitlab.freedesktop.org/drm/intel/issues/4312
[i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
[i915#4983]: https://gitlab.freedesktop.org/drm/intel/issues/4983
[i915#5334]: https://gitlab.freedesktop.org/drm/intel/issues/5334
[i915#6298]: https://gitlab.freedesktop.org/drm/intel/issues/6298
[i915#6367]: https://gitlab.freedesktop.org/drm/intel/issues/6367
[i915#6559]: https://gitlab.freedesktop.org/drm/intel/issues/6559
[i915#6621]: https://gitlab.freedesktop.org/drm/intel/issues/6621
[i915#6816]: https://gitlab.freedesktop.org/drm/intel/issues/6816
[i915#6818]: https://gitlab.freedesktop.org/drm/intel/issues/6818
[i915#6949]: https://gitlab.freedesktop.org/drm/intel/issues/6949
[i915#7058]: https://gitlab.freedesktop.org/drm/intel/issues/7058
[i915#7346]: https://gitlab.freedesktop.org/drm/intel/issues/7346
[i915#7430]: https://gitlab.freedesktop.org/drm/intel/issues/7430
[i915#7456]: https://gitlab.freedesktop.org/drm/intel/issues/7456
[i915#7561]: https://gitlab.freedesktop.org/drm/intel/issues/7561
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_7085 -> IGTPW_8213
CI-20190529: 20190529
CI_DRM_12478: f5d2f00fe4daf65ecd6634dec39fbf66b44535e3 @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_8213: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/index.html
IGT_7085: 11af20de3877b23a244b816453bfc41d83591a15 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
Testlist changes
----------------
+igt@gem_exec_balancer@parallel-dmabuf-import-out-fence
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/index.html
[-- Attachment #2: Type: text/html, Size: 7209 bytes --]
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [igt-dev] ✗ Fi.CI.BAT: failure for series starting with [i-g-t,v3,1/2] lib/dmabuf_sync_file: move common stuff into lib
2022-12-08 21:32 ` Kamil Konieczny
@ 2022-12-09 6:45 ` Yedireswarapu, SaiX Nandan
0 siblings, 0 replies; 11+ messages in thread
From: Yedireswarapu, SaiX Nandan @ 2022-12-09 6:45 UTC (permalink / raw)
To: Kamil Konieczny, igt-dev
Cc: Vudum, Lakshminarayana, Veesam, RavitejaX, Illipilli, TejasreeX
Hi,
Issue re-reported, https://patchwork.freedesktop.org/series/111738/
Thanks,
Y Sai Nandan
-----Original Message-----
From: Kamil Konieczny <kamil.konieczny@linux.intel.com>
Sent: Friday, December 9, 2022 3:03 AM
To: igt-dev@lists.freedesktop.org
Cc: Yedireswarapu, SaiX Nandan <saix.nandan.yedireswarapu@intel.com>
Subject: Re: [igt-dev] ✗ Fi.CI.BAT: failure for series starting with [i-g-t,v3,1/2] lib/dmabuf_sync_file: move common stuff into lib
Hi,
On 2022-12-07 at 19:35:09 -0000, Patchwork wrote:
> == Series Details ==
>
> Series: series starting with [i-g-t,v3,1/2] lib/dmabuf_sync_file: move common stuff into lib
> URL : https://patchwork.freedesktop.org/series/111738/
> State : failure
>
> == Summary ==
>
> CI Bug Log - changes from CI_DRM_12478 -> IGTPW_8213
> ====================================================
>
> Summary
> -------
>
> **FAILURE**
>
> Serious unknown changes coming with IGTPW_8213 absolutely need to be
> verified manually.
>
> If you think the reported changes have nothing to do with the changes
> introduced in IGTPW_8213, please notify your bug team 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_8213/index.html
>
> Participating hosts (39 -> 41)
> ------------------------------
>
> Additional (4): bat-rpls-2 fi-bwr-2160 fi-tgl-dsi fi-bsw-nick
> Missing (2): fi-hsw-4770 fi-rkl-11600
>
> Possible new issues
> -------------------
>
> Here are the unknown changes that may have been introduced in IGTPW_8213:
>
> ### IGT changes ###
>
> #### Possible regressions ####
>
> * igt@i915_selftest@live@guc_multi_lrc:
> - fi-kbl-soraka: [PASS][1] -> [INCOMPLETE][2]
> [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12478/fi-kbl-soraka/igt@i915_selftest@live@guc_multi_lrc.html
> [2]:
> https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/fi-kbl-soraka/igt@
> i915_selftest@live@guc_multi_lrc.html
>
This is unrelated to the changes in gem_exec_balancer and lib.
Regards,
Kamil
>
> #### Suppressed ####
>
> The following results come from untrusted machines, tests, or statuses.
> They do not affect the overall result.
>
> * igt@i915_selftest@live@gt_lrc:
> - {fi-tgl-dsi}: NOTRUN -> [DMESG-FAIL][3]
> [3]:
> https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/fi-tgl-dsi/igt@i91
> 5_selftest@live@gt_lrc.html
>
> * igt@kms_pipe_crc_basic@suspend-read-crc@pipe-a-dp-2:
> - {bat-dg2-11}: [PASS][4] -> [FAIL][5] +1 similar issue
> [4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12478/bat-dg2-11/igt@kms_pipe_crc_basic@suspend-read-crc@pipe-a-dp-2.html
> [5]:
> https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/bat-dg2-11/igt@kms
> _pipe_crc_basic@suspend-read-crc@pipe-a-dp-2.html
>
>
> Known issues
> ------------
>
> Here are the changes found in IGTPW_8213 that come from known issues:
>
> ### IGT changes ###
>
> #### Issues hit ####
>
> * igt@gem_lmem_swapping@parallel-random-engines:
> - fi-bsw-nick: NOTRUN -> [SKIP][6] ([fdo#109271]) +39 similar issues
> [6]:
> https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/fi-bsw-nick/igt@ge
> m_lmem_swapping@parallel-random-engines.html
>
> * igt@i915_selftest@live@gt_heartbeat:
> - fi-kbl-soraka: [PASS][7] -> [DMESG-FAIL][8] ([i915#5334])
> [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12478/fi-kbl-soraka/igt@i915_selftest@live@gt_heartbeat.html
> [8]:
> https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/fi-kbl-soraka/igt@
> i915_selftest@live@gt_heartbeat.html
>
> * igt@i915_selftest@live@gt_lrc:
> - bat-dg1-5: [PASS][9] -> [INCOMPLETE][10] ([i915#4983])
> [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12478/bat-dg1-5/igt@i915_selftest@live@gt_lrc.html
> [10]:
> https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/bat-dg1-5/igt@i915
> _selftest@live@gt_lrc.html
>
> * igt@kms_chamelium@hdmi-hpd-fast:
> - fi-bsw-nick: NOTRUN -> [SKIP][11] ([fdo#109271] / [fdo#111827]) +8 similar issues
> [11]:
> https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/fi-bsw-nick/igt@km
> s_chamelium@hdmi-hpd-fast.html
>
> * igt@kms_psr@primary_mmap_gtt:
> - fi-bwr-2160: NOTRUN -> [SKIP][12] ([fdo#109271]) +54 similar issues
> [12]:
> https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/fi-bwr-2160/igt@km
> s_psr@primary_mmap_gtt.html
>
> * igt@runner@aborted:
> - bat-dg1-5: NOTRUN -> [FAIL][13] ([i915#4312])
> [13]:
> https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/bat-dg1-5/igt@runn
> er@aborted.html
>
>
> #### Possible fixes ####
>
> * igt@kms_cursor_legacy@basic-busy-flip-before-cursor@atomic-transitions:
> - fi-bsw-kefka: [FAIL][14] ([i915#6298]) -> [PASS][15]
> [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12478/fi-bsw-kefka/igt@kms_cursor_legacy@basic-busy-flip-before-cursor@atomic-transitions.html
> [15]:
> https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/fi-bsw-kefka/igt@k
> ms_cursor_legacy@basic-busy-flip-before-cursor@atomic-transitions.html
>
> * igt@kms_pipe_crc_basic@read-crc@pipe-b-dp-1:
> - {bat-adlp-9}: [FAIL][16] -> [PASS][17] +3 similar issues
> [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12478/bat-adlp-9/igt@kms_pipe_crc_basic@read-crc@pipe-b-dp-1.html
> [17]:
> https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/bat-adlp-9/igt@kms
> _pipe_crc_basic@read-crc@pipe-b-dp-1.html
>
>
> #### Warnings ####
>
> * igt@i915_module_load@load:
> - fi-bsw-n3050: [DMESG-WARN][18] ([i915#1982] / [i915#7430]) -> [DMESG-WARN][19] ([i915#7430])
> [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12478/fi-bsw-n3050/igt@i915_module_load@load.html
> [19]:
> https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/fi-bsw-n3050/igt@i
> 915_module_load@load.html
>
>
> {name}: This element is suppressed. This means it is ignored when computing
> the status of the difference (SUCCESS, WARNING, or FAILURE).
>
> [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
> [fdo#109284]: https://bugs.freedesktop.org/show_bug.cgi?id=109284
> [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
> [fdo#109295]: https://bugs.freedesktop.org/show_bug.cgi?id=109295
> [fdo#110189]: https://bugs.freedesktop.org/show_bug.cgi?id=110189
> [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
> [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
> [i915#1759]: https://gitlab.freedesktop.org/drm/intel/issues/1759
> [i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982
> [i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190
> [i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282
> [i915#3301]: https://gitlab.freedesktop.org/drm/intel/issues/3301
> [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
> [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
> [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
> [i915#4258]: https://gitlab.freedesktop.org/drm/intel/issues/4258
> [i915#4312]: https://gitlab.freedesktop.org/drm/intel/issues/4312
> [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
> [i915#4983]: https://gitlab.freedesktop.org/drm/intel/issues/4983
> [i915#5334]: https://gitlab.freedesktop.org/drm/intel/issues/5334
> [i915#6298]: https://gitlab.freedesktop.org/drm/intel/issues/6298
> [i915#6367]: https://gitlab.freedesktop.org/drm/intel/issues/6367
> [i915#6559]: https://gitlab.freedesktop.org/drm/intel/issues/6559
> [i915#6621]: https://gitlab.freedesktop.org/drm/intel/issues/6621
> [i915#6816]: https://gitlab.freedesktop.org/drm/intel/issues/6816
> [i915#6818]: https://gitlab.freedesktop.org/drm/intel/issues/6818
> [i915#6949]: https://gitlab.freedesktop.org/drm/intel/issues/6949
> [i915#7058]: https://gitlab.freedesktop.org/drm/intel/issues/7058
> [i915#7346]: https://gitlab.freedesktop.org/drm/intel/issues/7346
> [i915#7430]: https://gitlab.freedesktop.org/drm/intel/issues/7430
> [i915#7456]: https://gitlab.freedesktop.org/drm/intel/issues/7456
> [i915#7561]: https://gitlab.freedesktop.org/drm/intel/issues/7561
>
>
> Build changes
> -------------
>
> * CI: CI-20190529 -> None
> * IGT: IGT_7085 -> IGTPW_8213
>
> CI-20190529: 20190529
> CI_DRM_12478: f5d2f00fe4daf65ecd6634dec39fbf66b44535e3 @ git://anongit.freedesktop.org/gfx-ci/linux
> IGTPW_8213: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/index.html
> IGT_7085: 11af20de3877b23a244b816453bfc41d83591a15 @
> https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
>
>
> Testlist changes
> ----------------
>
> +igt@gem_exec_balancer@parallel-dmabuf-import-out-fence
>
> == Logs ==
>
> For more details see:
> https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/index.html
^ permalink raw reply [flat|nested] 11+ messages in thread
* [igt-dev] ✓ Fi.CI.IGT: success for series starting with [i-g-t,v3,1/2] lib/dmabuf_sync_file: move common stuff into lib
2022-12-07 16:52 ` [igt-dev] " Matthew Auld
` (4 preceding siblings ...)
(?)
@ 2022-12-09 14:19 ` Patchwork
-1 siblings, 0 replies; 11+ messages in thread
From: Patchwork @ 2022-12-09 14:19 UTC (permalink / raw)
To: Matthew Auld; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 30472 bytes --]
== Series Details ==
Series: series starting with [i-g-t,v3,1/2] lib/dmabuf_sync_file: move common stuff into lib
URL : https://patchwork.freedesktop.org/series/111738/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_12478_full -> IGTPW_8213_full
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/index.html
Participating hosts (14 -> 7)
------------------------------
Missing (7): pig-kbl-iris shard-tglu-9 shard-tglu-10 shard-tglu pig-glk-j5005 pig-skl-6260u shard-rkl
New tests
---------
New tests have been introduced between CI_DRM_12478_full and IGTPW_8213_full:
### New IGT tests (1) ###
* igt@gem_exec_balancer@parallel-dmabuf-import-out-fence:
- Statuses : 3 pass(s) 2 skip(s)
- Exec time: [0.0] s
Known issues
------------
Here are the changes found in IGTPW_8213_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@gem_ctx_sseu@mmap-args:
- shard-tglb: NOTRUN -> [SKIP][1] ([i915#280]) +1 similar issue
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-tglb3/igt@gem_ctx_sseu@mmap-args.html
* igt@gem_exec_fair@basic-pace-share@rcs0:
- shard-tglb: [PASS][2] -> [FAIL][3] ([i915#2842])
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12478/shard-tglb2/igt@gem_exec_fair@basic-pace-share@rcs0.html
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-tglb6/igt@gem_exec_fair@basic-pace-share@rcs0.html
* igt@gem_exec_fair@basic-pace-solo@rcs0:
- shard-apl: NOTRUN -> [FAIL][4] ([i915#2842])
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-apl1/igt@gem_exec_fair@basic-pace-solo@rcs0.html
* igt@gem_exec_fair@basic-pace@vcs1:
- shard-tglb: NOTRUN -> [FAIL][5] ([i915#2842]) +4 similar issues
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-tglb2/igt@gem_exec_fair@basic-pace@vcs1.html
* igt@gem_lmem_swapping@parallel-random-engines:
- shard-tglb: NOTRUN -> [SKIP][6] ([i915#4613])
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-tglb6/igt@gem_lmem_swapping@parallel-random-engines.html
* igt@gem_pwrite@basic-exhaustion:
- shard-apl: NOTRUN -> [WARN][7] ([i915#2658])
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-apl2/igt@gem_pwrite@basic-exhaustion.html
- shard-snb: NOTRUN -> [WARN][8] ([i915#2658])
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-snb7/igt@gem_pwrite@basic-exhaustion.html
- shard-tglb: NOTRUN -> [WARN][9] ([i915#2658])
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-tglb7/igt@gem_pwrite@basic-exhaustion.html
- shard-iclb: NOTRUN -> [WARN][10] ([i915#2658])
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-iclb3/igt@gem_pwrite@basic-exhaustion.html
* igt@gem_pxp@create-regular-context-1:
- shard-tglb: NOTRUN -> [SKIP][11] ([i915#4270])
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-tglb1/igt@gem_pxp@create-regular-context-1.html
* igt@gem_render_copy@yf-tiled-to-vebox-linear:
- shard-iclb: NOTRUN -> [SKIP][12] ([i915#768])
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-iclb5/igt@gem_render_copy@yf-tiled-to-vebox-linear.html
* igt@gen3_render_tiledx_blits:
- shard-iclb: NOTRUN -> [SKIP][13] ([fdo#109289]) +2 similar issues
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-iclb2/igt@gen3_render_tiledx_blits.html
* igt@gen9_exec_parse@allowed-single:
- shard-iclb: NOTRUN -> [SKIP][14] ([i915#2856]) +1 similar issue
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-iclb7/igt@gen9_exec_parse@allowed-single.html
- shard-apl: NOTRUN -> [DMESG-WARN][15] ([i915#5566] / [i915#716])
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-apl8/igt@gen9_exec_parse@allowed-single.html
* igt@gen9_exec_parse@bb-start-cmd:
- shard-tglb: NOTRUN -> [SKIP][16] ([i915#2527] / [i915#2856]) +2 similar issues
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-tglb3/igt@gen9_exec_parse@bb-start-cmd.html
* igt@i915_pm_lpsp@screens-disabled:
- shard-tglb: NOTRUN -> [SKIP][17] ([i915#1902])
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-tglb2/igt@i915_pm_lpsp@screens-disabled.html
* igt@i915_pm_rpm@pc8-residency:
- shard-tglb: NOTRUN -> [SKIP][18] ([fdo#109506] / [i915#2411])
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-tglb3/igt@i915_pm_rpm@pc8-residency.html
* igt@i915_suspend@debugfs-reader:
- shard-apl: [PASS][19] -> [DMESG-WARN][20] ([i915#180]) +1 similar issue
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12478/shard-apl3/igt@i915_suspend@debugfs-reader.html
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-apl7/igt@i915_suspend@debugfs-reader.html
* igt@kms_big_fb@4-tiled-addfb-size-offset-overflow:
- shard-tglb: NOTRUN -> [SKIP][21] ([i915#5286]) +4 similar issues
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-tglb3/igt@kms_big_fb@4-tiled-addfb-size-offset-overflow.html
* igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip:
- shard-iclb: NOTRUN -> [SKIP][22] ([i915#5286]) +2 similar issues
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-iclb5/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip.html
* igt@kms_big_fb@linear-8bpp-rotate-270:
- shard-tglb: NOTRUN -> [SKIP][23] ([fdo#111614])
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-tglb7/igt@kms_big_fb@linear-8bpp-rotate-270.html
* igt@kms_big_fb@yf-tiled-32bpp-rotate-0:
- shard-tglb: NOTRUN -> [SKIP][24] ([fdo#111615]) +4 similar issues
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-tglb1/igt@kms_big_fb@yf-tiled-32bpp-rotate-0.html
* igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip:
- shard-iclb: NOTRUN -> [SKIP][25] ([fdo#110723])
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-iclb8/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip.html
* igt@kms_ccs@pipe-b-bad-pixel-format-y_tiled_gen12_mc_ccs:
- shard-tglb: NOTRUN -> [SKIP][26] ([i915#3689] / [i915#3886]) +1 similar issue
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-tglb6/igt@kms_ccs@pipe-b-bad-pixel-format-y_tiled_gen12_mc_ccs.html
- shard-iclb: NOTRUN -> [SKIP][27] ([fdo#109278] / [i915#3886])
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-iclb1/igt@kms_ccs@pipe-b-bad-pixel-format-y_tiled_gen12_mc_ccs.html
* igt@kms_ccs@pipe-c-crc-sprite-planes-basic-y_tiled_gen12_rc_ccs_cc:
- shard-apl: NOTRUN -> [SKIP][28] ([fdo#109271] / [i915#3886]) +2 similar issues
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-apl1/igt@kms_ccs@pipe-c-crc-sprite-planes-basic-y_tiled_gen12_rc_ccs_cc.html
* igt@kms_ccs@pipe-c-random-ccs-data-4_tiled_dg2_rc_ccs_cc:
- shard-tglb: NOTRUN -> [SKIP][29] ([i915#6095]) +1 similar issue
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-tglb2/igt@kms_ccs@pipe-c-random-ccs-data-4_tiled_dg2_rc_ccs_cc.html
* igt@kms_ccs@pipe-d-bad-rotation-90-4_tiled_dg2_rc_ccs:
- shard-tglb: NOTRUN -> [SKIP][30] ([i915#3689]) +3 similar issues
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-tglb7/igt@kms_ccs@pipe-d-bad-rotation-90-4_tiled_dg2_rc_ccs.html
* igt@kms_ccs@pipe-d-crc-sprite-planes-basic-yf_tiled_ccs:
- shard-tglb: NOTRUN -> [SKIP][31] ([fdo#111615] / [i915#3689]) +2 similar issues
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-tglb3/igt@kms_ccs@pipe-d-crc-sprite-planes-basic-yf_tiled_ccs.html
* igt@kms_chamelium@dp-edid-stress-resolution-4k:
- shard-tglb: NOTRUN -> [SKIP][32] ([fdo#109284] / [fdo#111827]) +4 similar issues
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-tglb5/igt@kms_chamelium@dp-edid-stress-resolution-4k.html
* igt@kms_chamelium@hdmi-aspect-ratio:
- shard-apl: NOTRUN -> [SKIP][33] ([fdo#109271] / [fdo#111827]) +6 similar issues
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-apl2/igt@kms_chamelium@hdmi-aspect-ratio.html
* igt@kms_chamelium@hdmi-frame-dump:
- shard-snb: NOTRUN -> [SKIP][34] ([fdo#109271] / [fdo#111827]) +2 similar issues
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-snb7/igt@kms_chamelium@hdmi-frame-dump.html
- shard-iclb: NOTRUN -> [SKIP][35] ([fdo#109284] / [fdo#111827]) +1 similar issue
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-iclb6/igt@kms_chamelium@hdmi-frame-dump.html
* igt@kms_content_protection@lic:
- shard-iclb: NOTRUN -> [SKIP][36] ([i915#7118])
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-iclb5/igt@kms_content_protection@lic.html
- shard-tglb: NOTRUN -> [SKIP][37] ([i915#7118])
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-tglb3/igt@kms_content_protection@lic.html
* igt@kms_content_protection@lic@pipe-a-dp-1:
- shard-apl: NOTRUN -> [TIMEOUT][38] ([i915#7173])
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-apl2/igt@kms_content_protection@lic@pipe-a-dp-1.html
* igt@kms_content_protection@uevent@pipe-a-dp-1:
- shard-apl: NOTRUN -> [FAIL][39] ([i915#1339])
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-apl1/igt@kms_content_protection@uevent@pipe-a-dp-1.html
* igt@kms_cursor_crc@cursor-rapid-movement-512x512:
- shard-snb: NOTRUN -> [SKIP][40] ([fdo#109271]) +75 similar issues
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-snb5/igt@kms_cursor_crc@cursor-rapid-movement-512x512.html
- shard-tglb: NOTRUN -> [SKIP][41] ([i915#3359])
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-tglb5/igt@kms_cursor_crc@cursor-rapid-movement-512x512.html
- shard-iclb: NOTRUN -> [SKIP][42] ([i915#3359])
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-iclb2/igt@kms_cursor_crc@cursor-rapid-movement-512x512.html
* igt@kms_cursor_legacy@2x-long-flip-vs-cursor-legacy:
- shard-tglb: NOTRUN -> [SKIP][43] ([fdo#109274] / [fdo#111825])
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-tglb6/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-legacy.html
* igt@kms_fbcon_fbt@fbc:
- shard-apl: NOTRUN -> [FAIL][44] ([i915#4767])
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-apl3/igt@kms_fbcon_fbt@fbc.html
- shard-tglb: NOTRUN -> [FAIL][45] ([i915#4767])
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-tglb6/igt@kms_fbcon_fbt@fbc.html
- shard-iclb: NOTRUN -> [FAIL][46] ([i915#4767])
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-iclb1/igt@kms_fbcon_fbt@fbc.html
* igt@kms_flip@2x-flip-vs-dpms-off-vs-modeset:
- shard-iclb: NOTRUN -> [SKIP][47] ([fdo#109274]) +3 similar issues
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-iclb2/igt@kms_flip@2x-flip-vs-dpms-off-vs-modeset.html
* igt@kms_flip@2x-single-buffer-flip-vs-dpms-off-vs-modeset:
- shard-tglb: NOTRUN -> [SKIP][48] ([fdo#109274] / [fdo#111825] / [i915#3637]) +2 similar issues
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-tglb6/igt@kms_flip@2x-single-buffer-flip-vs-dpms-off-vs-modeset.html
* igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-downscaling@pipe-a-valid-mode:
- shard-iclb: NOTRUN -> [SKIP][49] ([i915#2587] / [i915#2672]) +1 similar issue
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-iclb8/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-downscaling@pipe-a-valid-mode.html
* igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling@pipe-a-default-mode:
- shard-iclb: NOTRUN -> [SKIP][50] ([i915#2672]) +7 similar issues
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-iclb2/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling@pipe-a-default-mode.html
* igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-upscaling@pipe-a-valid-mode:
- shard-tglb: NOTRUN -> [SKIP][51] ([i915#2587] / [i915#2672]) +3 similar issues
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-tglb6/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-upscaling@pipe-a-valid-mode.html
* igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-pwrite:
- shard-apl: NOTRUN -> [SKIP][52] ([fdo#109271]) +79 similar issues
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-apl1/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-pwrite.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-mmap-wc:
- shard-tglb: NOTRUN -> [SKIP][53] ([i915#6497]) +5 similar issues
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-tglb5/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-shrfb-draw-mmap-gtt:
- shard-iclb: NOTRUN -> [SKIP][54] ([fdo#109280]) +4 similar issues
[54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-iclb6/igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-shrfb-draw-mmap-gtt.html
* igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-indfb-draw-pwrite:
- shard-tglb: NOTRUN -> [SKIP][55] ([fdo#109280] / [fdo#111825]) +9 similar issues
[55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-tglb6/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-indfb-draw-pwrite.html
* igt@kms_pipe_b_c_ivb@pipe-b-dpms-off-modeset-pipe-c:
- shard-tglb: NOTRUN -> [SKIP][56] ([fdo#109289]) +3 similar issues
[56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-tglb1/igt@kms_pipe_b_c_ivb@pipe-b-dpms-off-modeset-pipe-c.html
* igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation@pipe-d-edp-1:
- shard-tglb: NOTRUN -> [SKIP][57] ([i915#5176]) +3 similar issues
[57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-tglb5/igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation@pipe-d-edp-1.html
* igt@kms_prime@basic-crc-hybrid:
- shard-iclb: NOTRUN -> [SKIP][58] ([i915#6524])
[58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-iclb6/igt@kms_prime@basic-crc-hybrid.html
- shard-tglb: NOTRUN -> [SKIP][59] ([i915#6524])
[59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-tglb1/igt@kms_prime@basic-crc-hybrid.html
* igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area:
- shard-apl: NOTRUN -> [SKIP][60] ([fdo#109271] / [i915#658])
[60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-apl6/igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area.html
* igt@kms_psr2_sf@primary-plane-update-sf-dmg-area:
- shard-tglb: NOTRUN -> [SKIP][61] ([i915#2920]) +1 similar issue
[61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-tglb3/igt@kms_psr2_sf@primary-plane-update-sf-dmg-area.html
* igt@kms_psr@psr2_primary_blt:
- shard-tglb: NOTRUN -> [FAIL][62] ([i915#132] / [i915#3467])
[62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-tglb5/igt@kms_psr@psr2_primary_blt.html
* igt@kms_psr@psr2_sprite_plane_move:
- shard-iclb: [PASS][63] -> [SKIP][64] ([fdo#109441]) +2 similar issues
[63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12478/shard-iclb2/igt@kms_psr@psr2_sprite_plane_move.html
[64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-iclb5/igt@kms_psr@psr2_sprite_plane_move.html
* igt@kms_psr_stress_test@flip-primary-invalidate-overlay:
- shard-tglb: [PASS][65] -> [SKIP][66] ([i915#5519]) +1 similar issue
[65]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12478/shard-tglb2/igt@kms_psr_stress_test@flip-primary-invalidate-overlay.html
[66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-tglb2/igt@kms_psr_stress_test@flip-primary-invalidate-overlay.html
* igt@kms_setmode@basic-clone-single-crtc:
- shard-iclb: NOTRUN -> [SKIP][67] ([i915#3555]) +2 similar issues
[67]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-iclb3/igt@kms_setmode@basic-clone-single-crtc.html
- shard-tglb: NOTRUN -> [SKIP][68] ([i915#3555]) +2 similar issues
[68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-tglb3/igt@kms_setmode@basic-clone-single-crtc.html
* igt@kms_vblank@pipe-d-ts-continuation-idle:
- shard-iclb: NOTRUN -> [SKIP][69] ([fdo#109278]) +7 similar issues
[69]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-iclb7/igt@kms_vblank@pipe-d-ts-continuation-idle.html
* igt@sysfs_clients@split-25:
- shard-apl: NOTRUN -> [SKIP][70] ([fdo#109271] / [i915#2994])
[70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-apl7/igt@sysfs_clients@split-25.html
#### Possible fixes ####
* igt@gem_eio@unwedge-stress:
- {shard-dg1}: [FAIL][71] ([i915#5784]) -> [PASS][72] +1 similar issue
[71]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12478/shard-dg1-17/igt@gem_eio@unwedge-stress.html
[72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-dg1-15/igt@gem_eio@unwedge-stress.html
* igt@i915_pm_dc@dc9-dpms:
- shard-apl: [SKIP][73] ([fdo#109271]) -> [PASS][74]
[73]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12478/shard-apl1/igt@i915_pm_dc@dc9-dpms.html
[74]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-apl8/igt@i915_pm_dc@dc9-dpms.html
* igt@i915_pm_rc6_residency@rc6-idle@vecs0:
- {shard-dg1}: [FAIL][75] ([i915#3591]) -> [PASS][76]
[75]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12478/shard-dg1-19/igt@i915_pm_rc6_residency@rc6-idle@vecs0.html
[76]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-dg1-19/igt@i915_pm_rc6_residency@rc6-idle@vecs0.html
* igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-5@pipe-a-edp-1:
- shard-iclb: [SKIP][77] ([i915#5235]) -> [PASS][78] +2 similar issues
[77]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12478/shard-iclb2/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-5@pipe-a-edp-1.html
[78]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-iclb3/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-5@pipe-a-edp-1.html
* igt@kms_psr@psr2_sprite_render:
- shard-iclb: [SKIP][79] ([fdo#109441]) -> [PASS][80] +1 similar issue
[79]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12478/shard-iclb6/igt@kms_psr@psr2_sprite_render.html
[80]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-iclb2/igt@kms_psr@psr2_sprite_render.html
* igt@kms_psr_stress_test@invalidate-primary-flip-overlay:
- shard-iclb: [SKIP][81] ([i915#5519]) -> [PASS][82]
[81]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12478/shard-iclb7/igt@kms_psr_stress_test@invalidate-primary-flip-overlay.html
[82]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-iclb7/igt@kms_psr_stress_test@invalidate-primary-flip-overlay.html
#### Warnings ####
* igt@kms_psr2_sf@cursor-plane-move-continuous-exceed-fully-sf:
- shard-iclb: [SKIP][83] ([i915#658]) -> [SKIP][84] ([i915#2920])
[83]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12478/shard-iclb7/igt@kms_psr2_sf@cursor-plane-move-continuous-exceed-fully-sf.html
[84]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-iclb2/igt@kms_psr2_sf@cursor-plane-move-continuous-exceed-fully-sf.html
* igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area:
- shard-iclb: [SKIP][85] ([fdo#111068] / [i915#658]) -> [SKIP][86] ([i915#2920])
[85]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12478/shard-iclb6/igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area.html
[86]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-iclb2/igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area.html
* igt@kms_psr2_sf@plane-move-sf-dmg-area:
- shard-iclb: [SKIP][87] ([i915#2920]) -> [SKIP][88] ([fdo#111068] / [i915#658])
[87]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12478/shard-iclb2/igt@kms_psr2_sf@plane-move-sf-dmg-area.html
[88]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-iclb3/igt@kms_psr2_sf@plane-move-sf-dmg-area.html
* igt@runner@aborted:
- shard-apl: ([FAIL][89], [FAIL][90]) ([i915#3002] / [i915#4312]) -> ([FAIL][91], [FAIL][92], [FAIL][93], [FAIL][94], [FAIL][95]) ([fdo#109271] / [i915#180] / [i915#3002] / [i915#4312])
[89]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12478/shard-apl8/igt@runner@aborted.html
[90]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12478/shard-apl8/igt@runner@aborted.html
[91]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-apl7/igt@runner@aborted.html
[92]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-apl8/igt@runner@aborted.html
[93]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-apl3/igt@runner@aborted.html
[94]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-apl8/igt@runner@aborted.html
[95]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/shard-apl1/igt@runner@aborted.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[IGT#2]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/2
[fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
[fdo#109274]: https://bugs.freedesktop.org/show_bug.cgi?id=109274
[fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
[fdo#109280]: https://bugs.freedesktop.org/show_bug.cgi?id=109280
[fdo#109283]: https://bugs.freedesktop.org/show_bug.cgi?id=109283
[fdo#109284]: https://bugs.freedesktop.org/show_bug.cgi?id=109284
[fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289
[fdo#109300]: https://bugs.freedesktop.org/show_bug.cgi?id=109300
[fdo#109302]: https://bugs.freedesktop.org/show_bug.cgi?id=109302
[fdo#109307]: https://bugs.freedesktop.org/show_bug.cgi?id=109307
[fdo#109309]: https://bugs.freedesktop.org/show_bug.cgi?id=109309
[fdo#109314]: https://bugs.freedesktop.org/show_bug.cgi?id=109314
[fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315
[fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
[fdo#109506]: https://bugs.freedesktop.org/show_bug.cgi?id=109506
[fdo#110723]: https://bugs.freedesktop.org/show_bug.cgi?id=110723
[fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068
[fdo#111614]: https://bugs.freedesktop.org/show_bug.cgi?id=111614
[fdo#111615]: https://bugs.freedesktop.org/show_bug.cgi?id=111615
[fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825
[fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
[fdo#112054]: https://bugs.freedesktop.org/show_bug.cgi?id=112054
[fdo#112283]: https://bugs.freedesktop.org/show_bug.cgi?id=112283
[i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
[i915#132]: https://gitlab.freedesktop.org/drm/intel/issues/132
[i915#1339]: https://gitlab.freedesktop.org/drm/intel/issues/1339
[i915#1397]: https://gitlab.freedesktop.org/drm/intel/issues/1397
[i915#1769]: https://gitlab.freedesktop.org/drm/intel/issues/1769
[i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180
[i915#1902]: https://gitlab.freedesktop.org/drm/intel/issues/1902
[i915#2411]: https://gitlab.freedesktop.org/drm/intel/issues/2411
[i915#2434]: https://gitlab.freedesktop.org/drm/intel/issues/2434
[i915#2527]: https://gitlab.freedesktop.org/drm/intel/issues/2527
[i915#2575]: https://gitlab.freedesktop.org/drm/intel/issues/2575
[i915#2587]: https://gitlab.freedesktop.org/drm/intel/issues/2587
[i915#2658]: https://gitlab.freedesktop.org/drm/intel/issues/2658
[i915#2672]: https://gitlab.freedesktop.org/drm/intel/issues/2672
[i915#2705]: https://gitlab.freedesktop.org/drm/intel/issues/2705
[i915#280]: https://gitlab.freedesktop.org/drm/intel/issues/280
[i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842
[i915#2856]: https://gitlab.freedesktop.org/drm/intel/issues/2856
[i915#2920]: https://gitlab.freedesktop.org/drm/intel/issues/2920
[i915#2994]: https://gitlab.freedesktop.org/drm/intel/issues/2994
[i915#3002]: https://gitlab.freedesktop.org/drm/intel/issues/3002
[i915#3281]: https://gitlab.freedesktop.org/drm/intel/issues/3281
[i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282
[i915#3297]: https://gitlab.freedesktop.org/drm/intel/issues/3297
[i915#3299]: https://gitlab.freedesktop.org/drm/intel/issues/3299
[i915#3359]: https://gitlab.freedesktop.org/drm/intel/issues/3359
[i915#3458]: https://gitlab.freedesktop.org/drm/intel/issues/3458
[i915#3467]: https://gitlab.freedesktop.org/drm/intel/issues/3467
[i915#3469]: https://gitlab.freedesktop.org/drm/intel/issues/3469
[i915#3539]: https://gitlab.freedesktop.org/drm/intel/issues/3539
[i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
[i915#3591]: https://gitlab.freedesktop.org/drm/intel/issues/3591
[i915#3637]: https://gitlab.freedesktop.org/drm/intel/issues/3637
[i915#3638]: https://gitlab.freedesktop.org/drm/intel/issues/3638
[i915#3689]: https://gitlab.freedesktop.org/drm/intel/issues/3689
[i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
[i915#3742]: https://gitlab.freedesktop.org/drm/intel/issues/3742
[i915#3886]: https://gitlab.freedesktop.org/drm/intel/issues/3886
[i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077
[i915#4078]: https://gitlab.freedesktop.org/drm/intel/issues/4078
[i915#4079]: https://gitlab.freedesktop.org/drm/intel/issues/4079
[i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083
[i915#426]: https://gitlab.freedesktop.org/drm/intel/issues/426
[i915#4270]: https://gitlab.freedesktop.org/drm/intel/issues/4270
[i915#4312]: https://gitlab.freedesktop.org/drm/intel/issues/4312
[i915#4349]: https://gitlab.freedesktop.org/drm/intel/issues/4349
[i915#4387]: https://gitlab.freedesktop.org/drm/intel/issues/4387
[i915#4538]: https://gitlab.freedesktop.org/drm/intel/issues/4538
[i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
[i915#4767]: https://gitlab.freedesktop.org/drm/intel/issues/4767
[i915#4771]: https://gitlab.freedesktop.org/drm/intel/issues/4771
[i915#4812]: https://gitlab.freedesktop.org/drm/intel/issues/4812
[i915#4818]: https://gitlab.freedesktop.org/drm/intel/issues/4818
[i915#4833]: https://gitlab.freedesktop.org/drm/intel/issues/4833
[i915#4852]: https://gitlab.freedesktop.org/drm/intel/issues/4852
[i915#4854]: https://gitlab.freedesktop.org/drm/intel/issues/4854
[i915#4855]: https://gitlab.freedesktop.org/drm/intel/issues/4855
[i915#4859]: https://gitlab.freedesktop.org/drm/intel/issues/4859
[i915#4860]: https://gitlab.freedesktop.org/drm/intel/issues/4860
[i915#4874]: https://gitlab.freedesktop.org/drm/intel/issues/4874
[i915#4880]: https://gitlab.freedesktop.org/drm/intel/issues/4880
[i915#4881]: https://gitlab.freedesktop.org/drm/intel/issues/4881
[i915#5176]: https://gitlab.freedesktop.org/drm/intel/issues/5176
[i915#5235]: https://gitlab.freedesktop.org/drm/intel/issues/5235
[i915#5286]: https://gitlab.freedesktop.org/drm/intel/issues/5286
[i915#5288]: https://gitlab.freedesktop.org/drm/intel/issues/5288
[i915#5325]: https://gitlab.freedesktop.org/drm/intel/issues/5325
[i915#5439]: https://gitlab.freedesktop.org/drm/intel/issues/5439
[i915#5461]: https://gitlab.freedesktop.org/drm/intel/issues/5461
[i915#5519]: https://gitlab.freedesktop.org/drm/intel/issues/5519
[i915#5563]: https://gitlab.freedesktop.org/drm/intel/issues/5563
[i915#5566]: https://gitlab.freedesktop.org/drm/intel/issues/5566
[i915#5784]: https://gitlab.freedesktop.org/drm/intel/issues/5784
[i915#6095]: https://gitlab.freedesktop.org/drm/intel/issues/6095
[i915#6245]: https://gitlab.freedesktop.org/drm/intel/issues/6245
[i915#6334]: https://gitlab.freedesktop.org/drm/intel/issues/6334
[i915#6493]: https://gitlab.freedesktop.org/drm/intel/issues/6493
[i915#6497]: https://gitlab.freedesktop.org/drm/intel/issues/6497
[i915#6524]: https://gitlab.freedesktop.org/drm/intel/issues/6524
[i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658
[i915#6621]: https://gitlab.freedesktop.org/drm/intel/issues/6621
[i915#6768]: https://gitlab.freedesktop.org/drm/intel/issues/6768
[i915#6946]: https://gitlab.freedesktop.org/drm/intel/issues/6946
[i915#7116]: https://gitlab.freedesktop.org/drm/intel/issues/7116
[i915#7118]: https://gitlab.freedesktop.org/drm/intel/issues/7118
[i915#716]: https://gitlab.freedesktop.org/drm/intel/issues/716
[i915#7173]: https://gitlab.freedesktop.org/drm/intel/issues/7173
[i915#7561]: https://gitlab.freedesktop.org/drm/intel/issues/7561
[i915#7672]: https://gitlab.freedesktop.org/drm/intel/issues/7672
[i915#768]: https://gitlab.freedesktop.org/drm/intel/issues/768
[i915#7681]: https://gitlab.freedesktop.org/drm/intel/issues/7681
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_7085 -> IGTPW_8213
* Piglit: piglit_4509 -> None
CI-20190529: 20190529
CI_DRM_12478: f5d2f00fe4daf65ecd6634dec39fbf66b44535e3 @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_8213: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/index.html
IGT_7085: 11af20de3877b23a244b816453bfc41d83591a15 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8213/index.html
[-- Attachment #2: Type: text/html, Size: 32734 bytes --]
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2022-12-09 14:19 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-12-07 16:52 [Intel-gfx] [PATCH i-g-t v3 1/2] lib/dmabuf_sync_file: move common stuff into lib Matthew Auld
2022-12-07 16:52 ` [igt-dev] " Matthew Auld
2022-12-07 16:52 ` [Intel-gfx] [PATCH i-g-t v3 2/2] tests/i915/gem_exec_balancer: exercise dmabuf import Matthew Auld
2022-12-07 16:52 ` [igt-dev] " Matthew Auld
2022-12-07 19:35 ` [igt-dev] ✗ Fi.CI.BAT: failure for series starting with [i-g-t,v3,1/2] lib/dmabuf_sync_file: move common stuff into lib Patchwork
2022-12-08 21:32 ` Kamil Konieczny
2022-12-09 6:45 ` Yedireswarapu, SaiX Nandan
2022-12-08 8:39 ` [Intel-gfx] [igt-dev] [PATCH i-g-t v3 1/2] " Das, Nirmoy
2022-12-08 8:39 ` Das, Nirmoy
2022-12-09 6:36 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,v3,1/2] " Patchwork
2022-12-09 14:19 ` [igt-dev] ✓ Fi.CI.IGT: " 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.