* [igt-dev] [PATCH i-g-t v8 0/4] Add support for testing writeback connectors
@ 2020-04-24 1:26 Rodrigo Siqueira
2020-04-24 1:26 ` [igt-dev] [PATCH i-g-t v8 1/4] lib/igt_kms: Add writeback support Rodrigo Siqueira
` (7 more replies)
0 siblings, 8 replies; 11+ messages in thread
From: Rodrigo Siqueira @ 2020-04-24 1:26 UTC (permalink / raw)
To: igt-dev, intel-gfx, nd
Cc: Petri Latvala, Simon Ser, Liviu Dudau, Maxime Ripard,
Daniel Vetter, Brian Starkey
Hi,
A couple of months ago, I updated and re-submitted a patchset made by
Brian Starkey and Liviu Dudau for adding a writeback connectors test to
IGT. It is important to highlight that DRM already have writeback
connectors support, which is a way to expose in DRM the hardware
functionality from display engines that allows writing back into memory
the result of the DE's composition of supported planes.
After I resubmitted the patchset, Simon Ser provides a long and detailed
review for all of the patches (thanks Simon). Additionally, Maxime
Ripard tested the previous series in an ARM32 architecture and provided
his feedback for making this patchset portable (thanks Maxime). I
finally had time to go through all the details and prepare this new
version. Follows some notes:
1. Patchset author
Brian Starkey is the original author of this patchset, and I'm just
trying to upstream his changes. Note that during this patch submission,
the mail server from google going to overwrite Brian's mail by mine;
this happens on the mail server side for avoiding malicious users to
send emails as someone else. Note that I could spend time figuring out
how to fix it, but I think this is not worth since I can fix it during
the merge process (if it got accepted).
2. Drop the clone commits from the series
After Simon's review, we decided to drop the last two patches of the
original series since it was related to cloning output, and VKMS does
not support it yet. However, after we finish with this series, I can try
to take a look at this feature or maybe propose it as a GSoC/Outreachy
project.
Most of the changes happened in the second patch.
3. Cross-platform improvements
Thanks
Brian Starkey (4):
lib/igt_kms: Add writeback support
kms_writeback: Add initial writeback tests
lib: Add function to hash a framebuffer
kms_writeback: Add writeback-check-output
lib/igt_fb.c | 63 ++++++
lib/igt_fb.h | 2 +
lib/igt_kms.c | 57 ++++++
lib/igt_kms.h | 6 +
tests/Makefile.sources | 1 +
tests/kms_writeback.c | 443 +++++++++++++++++++++++++++++++++++++++++
tests/meson.build | 1 +
7 files changed, 573 insertions(+)
create mode 100644 tests/kms_writeback.c
--
2.26.0
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 11+ messages in thread
* [igt-dev] [PATCH i-g-t v8 1/4] lib/igt_kms: Add writeback support
2020-04-24 1:26 [igt-dev] [PATCH i-g-t v8 0/4] Add support for testing writeback connectors Rodrigo Siqueira
@ 2020-04-24 1:26 ` Rodrigo Siqueira
2020-04-24 1:26 ` [igt-dev] [PATCH i-g-t v8 2/4] kms_writeback: Add initial writeback tests Rodrigo Siqueira
` (6 subsequent siblings)
7 siblings, 0 replies; 11+ messages in thread
From: Rodrigo Siqueira @ 2020-04-24 1:26 UTC (permalink / raw)
To: igt-dev, intel-gfx, nd
Cc: Petri Latvala, Simon Ser, Liviu Dudau, Simon Ser, Maxime Ripard,
Daniel Vetter, Brian Starkey
From: Brian Starkey <rodrigosiqueiramelo@gmail.com>
Add support in igt_kms for writeback connectors, with the ability
to attach framebuffers.
v5: Rebase and add DRM_CLIENT_CAP_WRITEBACK_CONNECTORS before
drmModeGetResources()
Signed-off-by: Brian Starkey <brian.starkey@arm.com>
[rebased and updated to the latest igt style]
Signed-off-by: Liviu Dudau <liviu.dudau@arm.com>
[rebased and updated to the latest igt style]
Signed-off-by: Rodrigo Siqueira <rodrigosiqueiramelo@gmail.com>
Reviewed-by: Liviu Dudau <liviu.dudau@arm.com>
Reviewed-by: Simon Ser <simon.ser@intel.com>
---
lib/igt_kms.c | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++
lib/igt_kms.h | 6 ++++++
2 files changed, 63 insertions(+)
diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index e9621e7e..67053d8b 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -421,6 +421,9 @@ const char * const igt_connector_prop_names[IGT_NUM_CONNECTOR_PROPS] = {
[IGT_CONNECTOR_LINK_STATUS] = "link-status",
[IGT_CONNECTOR_MAX_BPC] = "max bpc",
[IGT_CONNECTOR_HDR_OUTPUT_METADATA] = "HDR_OUTPUT_METADATA",
+ [IGT_CONNECTOR_WRITEBACK_PIXEL_FORMATS] = "WRITEBACK_PIXEL_FORMATS",
+ [IGT_CONNECTOR_WRITEBACK_FB_ID] = "WRITEBACK_FB_ID",
+ [IGT_CONNECTOR_WRITEBACK_OUT_FENCE_PTR] = "WRITEBACK_OUT_FENCE_PTR",
};
/*
@@ -653,6 +656,7 @@ static const struct type_name connector_type_names[] = {
{ DRM_MODE_CONNECTOR_VIRTUAL, "Virtual" },
{ DRM_MODE_CONNECTOR_DSI, "DSI" },
{ DRM_MODE_CONNECTOR_DPI, "DPI" },
+ { DRM_MODE_CONNECTOR_WRITEBACK, "Writeback" },
{}
};
@@ -1802,6 +1806,14 @@ static void igt_output_reset(igt_output_t *output)
if (igt_output_has_prop(output, IGT_CONNECTOR_HDR_OUTPUT_METADATA))
igt_output_set_prop_value(output,
IGT_CONNECTOR_HDR_OUTPUT_METADATA, 0);
+
+ if (igt_output_has_prop(output, IGT_CONNECTOR_WRITEBACK_FB_ID))
+ igt_output_set_prop_value(output, IGT_CONNECTOR_WRITEBACK_FB_ID, 0);
+ if (igt_output_has_prop(output, IGT_CONNECTOR_WRITEBACK_OUT_FENCE_PTR)) {
+ igt_output_clear_prop_changed(output, IGT_CONNECTOR_WRITEBACK_OUT_FENCE_PTR);
+ output->writeback_out_fence_fd = -1;
+ }
+
}
/**
@@ -1885,6 +1897,8 @@ void igt_display_require(igt_display_t *display, int drm_fd)
display->drm_fd = drm_fd;
+ drmSetClientCap(drm_fd, DRM_CLIENT_CAP_WRITEBACK_CONNECTORS, 1);
+
resources = drmModeGetResources(display->drm_fd);
if (!resources)
goto out;
@@ -2193,6 +2207,11 @@ static void igt_output_fini(igt_output_t *output)
kmstest_free_connector_config(&output->config);
free(output->name);
output->name = NULL;
+
+ if (output->writeback_out_fence_fd != -1) {
+ close(output->writeback_out_fence_fd);
+ output->writeback_out_fence_fd = -1;
+ }
}
/**
@@ -3255,6 +3274,11 @@ static void igt_atomic_prepare_connector_commit(igt_output_t *output, drmModeAto
output->props[i],
output->values[i]));
}
+
+ if (output->writeback_out_fence_fd != -1) {
+ close(output->writeback_out_fence_fd);
+ output->writeback_out_fence_fd = -1;
+ }
}
/*
@@ -3377,6 +3401,16 @@ display_commit_changed(igt_display_t *display, enum igt_commit_style s)
else
/* no modeset in universal commit, no change to crtc. */
output->changed &= 1 << IGT_CONNECTOR_CRTC_ID;
+
+ if (s == COMMIT_ATOMIC) {
+ if (igt_output_is_prop_changed(output, IGT_CONNECTOR_WRITEBACK_OUT_FENCE_PTR))
+ igt_assert(output->writeback_out_fence_fd >= 0);
+
+ output->values[IGT_CONNECTOR_WRITEBACK_OUT_FENCE_PTR] = 0;
+ output->values[IGT_CONNECTOR_WRITEBACK_FB_ID] = 0;
+ igt_output_clear_prop_changed(output, IGT_CONNECTOR_WRITEBACK_FB_ID);
+ igt_output_clear_prop_changed(output, IGT_CONNECTOR_WRITEBACK_OUT_FENCE_PTR);
+ }
}
if (display->first_commit) {
@@ -4049,6 +4083,29 @@ void igt_pipe_request_out_fence(igt_pipe_t *pipe)
igt_pipe_obj_set_prop_value(pipe, IGT_CRTC_OUT_FENCE_PTR, (ptrdiff_t)&pipe->out_fence_fd);
}
+/**
+ * igt_output_set_writeback_fb:
+ * @output: Target output
+ * @fb: Target framebuffer
+ *
+ * This function sets the given @fb to be used as the target framebuffer for the
+ * writeback engine at the next atomic commit. It will also request a writeback
+ * out fence that will contain the fd number of the out fence created by KMS if
+ * the given @fb is valid.
+ */
+void igt_output_set_writeback_fb(igt_output_t *output, struct igt_fb *fb)
+{
+ igt_display_t *display = output->display;
+
+ LOG(display, "%s: output_set_writeback_fb(%d)\n", output->name, fb ? fb->fb_id : 0);
+
+ igt_output_set_prop_value(output, IGT_CONNECTOR_WRITEBACK_FB_ID, fb ? fb->fb_id : 0);
+ /* only request a writeback out fence if the framebuffer is valid */
+ if (fb)
+ igt_output_set_prop_value(output, IGT_CONNECTOR_WRITEBACK_OUT_FENCE_PTR,
+ (ptrdiff_t)&output->writeback_out_fence_fd);
+}
+
/**
* igt_wait_for_vblank_count:
* @drm_fd: A drm file descriptor
diff --git a/lib/igt_kms.h b/lib/igt_kms.h
index adca59ac..aa082ef6 100644
--- a/lib/igt_kms.h
+++ b/lib/igt_kms.h
@@ -127,6 +127,9 @@ enum igt_atomic_connector_properties {
IGT_CONNECTOR_LINK_STATUS,
IGT_CONNECTOR_MAX_BPC,
IGT_CONNECTOR_HDR_OUTPUT_METADATA,
+ IGT_CONNECTOR_WRITEBACK_PIXEL_FORMATS,
+ IGT_CONNECTOR_WRITEBACK_FB_ID,
+ IGT_CONNECTOR_WRITEBACK_OUT_FENCE_PTR,
IGT_NUM_CONNECTOR_PROPS
};
@@ -366,6 +369,8 @@ typedef struct {
bool use_override_mode;
drmModeModeInfo override_mode;
+ int32_t writeback_out_fence_fd;
+
/* bitmask of changed properties */
uint64_t changed;
@@ -425,6 +430,7 @@ igt_output_t *igt_output_from_connector(igt_display_t *display,
drmModeConnector *connector);
void igt_output_refresh(igt_output_t *output);
const drmModeModeInfo *igt_std_1024_mode_get(void);
+void igt_output_set_writeback_fb(igt_output_t *output, struct igt_fb *fb);
igt_plane_t *igt_pipe_get_plane_type(igt_pipe_t *pipe, int plane_type);
int igt_pipe_count_plane_type(igt_pipe_t *pipe, int plane_type);
--
2.26.0
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [igt-dev] [PATCH i-g-t v8 2/4] kms_writeback: Add initial writeback tests
2020-04-24 1:26 [igt-dev] [PATCH i-g-t v8 0/4] Add support for testing writeback connectors Rodrigo Siqueira
2020-04-24 1:26 ` [igt-dev] [PATCH i-g-t v8 1/4] lib/igt_kms: Add writeback support Rodrigo Siqueira
@ 2020-04-24 1:26 ` Rodrigo Siqueira
2020-04-24 1:26 ` [igt-dev] [PATCH i-g-t v8 3/4] lib: Add function to hash a framebuffer Rodrigo Siqueira
` (5 subsequent siblings)
7 siblings, 0 replies; 11+ messages in thread
From: Rodrigo Siqueira @ 2020-04-24 1:26 UTC (permalink / raw)
To: igt-dev, intel-gfx, nd
Cc: Petri Latvala, Simon Ser, Liviu Dudau, Maxime Ripard,
Daniel Vetter, Brian Starkey
From: Brian Starkey <rodrigosiqueiramelo@gmail.com>
Add tests for the WRITEBACK_PIXEL_FORMATS, WRITEBACK_OUT_FENCE_PTR and
WRITEBACK_FB_ID properties on writeback connectors, ensuring their
behaviour is correct.
Changes since V7 (Maxime Ripard and Petri Latvala):
* Utilizes `to_user_pointer` to avoid cast compilation error on ARM 32
bits.
Changes since V6 (Simon Ser):
* Add igt_describe per sub-test
* Remove kmstest_force_connector from kms_writeback_get_output, since
userspace will not do this sort of operation
* Add an igt_debug statement in case we don't use a specific writeback
connector
* Drop flag parameter from do_writeback_test
* Rename invalid_out_fence to test_invalid_parameters
* Drop invalid_fb from writeback_fb_id
* Assert if plane is null on igt_fixture
* Replace all occurrences of igt_fb_mod_to_tiling(0) by
DRM_FORMAT_MOD_LINEAR
* Rename invalid_fb to invalid_output_fb in the sub-test related to
"writeback-invalid-out-fence"
* Replace ret by fb_id in igt_main
Reviewed-by: Liviu Dudau <liviu.dudau@arm.com>
Signed-off-by: Brian Starkey <brian.starkey@arm.com>
[rebased and updated do_writeback_test() function to address feedback]
Signed-off-by: Liviu Dudau <liviu.dudau@arm.com>
Signed-off-by: Rodrigo Siqueira <rodrigosiqueiramelo@gmail.com>
---
tests/Makefile.sources | 1 +
tests/kms_writeback.c | 316 +++++++++++++++++++++++++++++++++++++++++
tests/meson.build | 1 +
3 files changed, 318 insertions(+)
create mode 100644 tests/kms_writeback.c
diff --git a/tests/Makefile.sources b/tests/Makefile.sources
index 32cbbf4f..3e7afa4d 100644
--- a/tests/Makefile.sources
+++ b/tests/Makefile.sources
@@ -86,6 +86,7 @@ TESTS_progs = \
kms_universal_plane \
kms_vblank \
kms_vrr \
+ kms_writeback \
meta_test \
perf \
perf_pmu \
diff --git a/tests/kms_writeback.c b/tests/kms_writeback.c
new file mode 100644
index 00000000..e08eb611
--- /dev/null
+++ b/tests/kms_writeback.c
@@ -0,0 +1,316 @@
+/*
+ * (C) COPYRIGHT 2017 ARM Limited. All rights reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+ * IN THE SOFTWARE.
+ *
+ */
+
+#include <errno.h>
+#include <stdbool.h>
+#include <stdio.h>
+#include <string.h>
+
+#include "igt.h"
+#include "igt_core.h"
+#include "igt_fb.h"
+
+static drmModePropertyBlobRes *get_writeback_formats_blob(igt_output_t *output)
+{
+ drmModePropertyBlobRes *blob = NULL;
+ uint64_t blob_id;
+ int ret;
+
+ ret = kmstest_get_property(output->display->drm_fd,
+ output->config.connector->connector_id,
+ DRM_MODE_OBJECT_CONNECTOR,
+ igt_connector_prop_names[IGT_CONNECTOR_WRITEBACK_PIXEL_FORMATS],
+ NULL, &blob_id, NULL);
+ if (ret)
+ blob = drmModeGetPropertyBlob(output->display->drm_fd, blob_id);
+
+ igt_assert(blob);
+
+ return blob;
+}
+
+static bool check_writeback_config(igt_display_t *display, igt_output_t *output)
+{
+ igt_fb_t input_fb, output_fb;
+ igt_plane_t *plane;
+ uint32_t writeback_format = DRM_FORMAT_XRGB8888;
+ uint64_t tiling = DRM_FORMAT_MOD_LINEAR;
+ int width, height, ret;
+ drmModeModeInfo override_mode = {
+ .clock = 25175,
+ .hdisplay = 640,
+ .hsync_start = 656,
+ .hsync_end = 752,
+ .htotal = 800,
+ .hskew = 0,
+ .vdisplay = 480,
+ .vsync_start = 490,
+ .vsync_end = 492,
+ .vtotal = 525,
+ .vscan = 0,
+ .vrefresh = 60,
+ .flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC,
+ .name = {"640x480-60"},
+ };
+ igt_output_override_mode(output, &override_mode);
+
+ width = override_mode.hdisplay;
+ height = override_mode.vdisplay;
+
+ ret = igt_create_fb(display->drm_fd, width, height, DRM_FORMAT_XRGB8888, tiling, &input_fb);
+ igt_assert(ret >= 0);
+
+ ret = igt_create_fb(display->drm_fd, width, height, writeback_format, tiling, &output_fb);
+ igt_assert(ret >= 0);
+
+ plane = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
+ igt_plane_set_fb(plane, &input_fb);
+ igt_output_set_writeback_fb(output, &output_fb);
+
+ ret = igt_display_try_commit_atomic(display, DRM_MODE_ATOMIC_TEST_ONLY |
+ DRM_MODE_ATOMIC_ALLOW_MODESET, NULL);
+ igt_plane_set_fb(plane, NULL);
+ igt_remove_fb(display->drm_fd, &input_fb);
+ igt_remove_fb(display->drm_fd, &output_fb);
+
+ return !ret;
+}
+
+static igt_output_t *kms_writeback_get_output(igt_display_t *display)
+{
+ int i;
+
+ for (i = 0; i < display->n_outputs; i++) {
+ igt_output_t *output = &display->outputs[i];
+ int j;
+
+ if (output->config.connector->connector_type != DRM_MODE_CONNECTOR_WRITEBACK)
+ continue;
+
+ for (j = 0; j < igt_display_get_n_pipes(display); j++) {
+ igt_output_set_pipe(output, j);
+
+ if (check_writeback_config(display, output)) {
+ igt_debug("Using connector %u:%s on pipe %d\n",
+ output->config.connector->connector_id,
+ output->name, j);
+ return output;
+ }
+ }
+
+ igt_debug("We found %u:%s, but this test will not be able to use it.\n",
+ output->config.connector->connector_id, output->name);
+
+ /* Restore any connectors we don't use, so we don't trip on them later */
+ kmstest_force_connector(display->drm_fd, output->config.connector, FORCE_CONNECTOR_UNSPECIFIED);
+ }
+
+ return NULL;
+}
+
+static void check_writeback_fb_id(igt_output_t *output)
+{
+ uint64_t check_fb_id;
+
+ check_fb_id = igt_output_get_prop(output, IGT_CONNECTOR_WRITEBACK_FB_ID);
+ igt_assert(check_fb_id == 0);
+}
+
+static int do_writeback_test(igt_output_t *output, uint32_t fb_id,
+ int32_t *out_fence_ptr, bool ptr_valid)
+{
+ int ret;
+ igt_display_t *display = output->display;
+ struct kmstest_connector_config *config = &output->config;
+
+ igt_output_set_prop_value(output, IGT_CONNECTOR_CRTC_ID, config->crtc->crtc_id);
+ igt_output_set_prop_value(output, IGT_CONNECTOR_WRITEBACK_FB_ID, fb_id);
+ igt_output_set_prop_value(output, IGT_CONNECTOR_WRITEBACK_OUT_FENCE_PTR, to_user_pointer(out_fence_ptr));
+
+ if (ptr_valid)
+ *out_fence_ptr = 0;
+
+ ret = igt_display_try_commit_atomic(display, DRM_MODE_ATOMIC_ALLOW_MODESET, NULL);
+
+ if (ptr_valid)
+ igt_assert(*out_fence_ptr == -1);
+
+ /* WRITEBACK_FB_ID must always read as zero */
+ check_writeback_fb_id(output);
+
+ return ret;
+}
+
+static void test_invalid_parameters(igt_output_t *output, igt_fb_t *valid_fb, igt_fb_t *invalid_fb)
+{
+ int i, ret;
+ int32_t out_fence;
+ struct {
+ uint32_t fb_id;
+ bool ptr_valid;
+ int32_t *out_fence_ptr;
+ } invalid_tests[] = {
+ {
+ /* No output buffer, but the WRITEBACK_OUT_FENCE_PTR set. */
+ .fb_id = 0,
+ .ptr_valid = true,
+ .out_fence_ptr = &out_fence,
+ },
+ {
+ /* Invalid output buffer. */
+ .fb_id = invalid_fb->fb_id,
+ .ptr_valid = true,
+ .out_fence_ptr = &out_fence,
+ },
+ {
+ /* Invalid WRITEBACK_OUT_FENCE_PTR. */
+ .fb_id = valid_fb->fb_id,
+ .ptr_valid = false,
+ .out_fence_ptr = (int32_t *)0x8,
+ },
+ };
+
+ for (i = 0; i < ARRAY_SIZE(invalid_tests); i++) {
+ ret = do_writeback_test(output, invalid_tests[i].fb_id,
+ invalid_tests[i].out_fence_ptr,
+ invalid_tests[i].ptr_valid);
+ igt_assert(ret != 0);
+ }
+}
+
+static void writeback_fb_id(igt_output_t *output, igt_fb_t *valid_fb, igt_fb_t *invalid_fb)
+{
+
+ int ret;
+
+ /* Valid output buffer */
+ ret = do_writeback_test(output, valid_fb->fb_id, NULL, false);
+ igt_assert(ret == 0);
+
+ /* Invalid object for WRITEBACK_FB_ID */
+ ret = do_writeback_test(output, output->id, NULL, false);
+ igt_assert(ret == -EINVAL);
+
+ /* Zero WRITEBACK_FB_ID */
+ ret = do_writeback_test(output, 0, NULL, false);
+ igt_assert(ret == 0);
+}
+
+igt_main
+{
+ igt_display_t display;
+ igt_output_t *output;
+ igt_plane_t *plane;
+ igt_fb_t input_fb;
+ drmModeModeInfo mode;
+ unsigned int fb_id;
+
+ memset(&display, 0, sizeof(display));
+
+ igt_fixture {
+ display.drm_fd = drm_open_driver_master(DRIVER_ANY);
+ igt_display_require(&display, display.drm_fd);
+
+ kmstest_set_vt_graphics_mode();
+
+ igt_display_require(&display, display.drm_fd);
+
+ igt_require(display.is_atomic);
+
+ output = kms_writeback_get_output(&display);
+ igt_require(output);
+
+ if (output->use_override_mode)
+ memcpy(&mode, &output->override_mode, sizeof(mode));
+ else
+ memcpy(&mode, &output->config.default_mode, sizeof(mode));
+
+ plane = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
+ igt_assert(plane);
+
+ fb_id = igt_create_fb(display.drm_fd, mode.hdisplay,
+ mode.vdisplay,
+ DRM_FORMAT_XRGB8888,
+ DRM_FORMAT_MOD_LINEAR,
+ &input_fb);
+ igt_assert(fb_id >= 0);
+ igt_plane_set_fb(plane, &input_fb);
+ }
+
+ igt_describe("Check the writeback format");
+ igt_subtest("writeback-pixel-formats") {
+ drmModePropertyBlobRes *formats_blob = get_writeback_formats_blob(output);
+ const char *valid_chars = "0123456 ABCGNRUVXY";
+ unsigned int i;
+ char *c;
+
+ /*
+ * We don't have a comprehensive list of formats, so just check
+ * that the blob length is sensible and that it doesn't contain
+ * any outlandish characters
+ */
+ igt_assert(!(formats_blob->length % 4));
+ c = formats_blob->data;
+ for (i = 0; i < formats_blob->length; i++)
+ igt_assert_f(strchr(valid_chars, c[i]),
+ "Unexpected character %c\n", c[i]);
+ drmModeFreePropertyBlob(formats_blob);
+ }
+
+ igt_describe("Writeback has a couple of parameters linked together"
+ "(output framebuffer and fence); this test goes through"
+ "the combination of possible bad options");
+ igt_subtest("writeback-invalid-parameters") {
+ igt_fb_t invalid_output_fb;
+ fb_id = igt_create_fb(display.drm_fd, mode.hdisplay / 2,
+ mode.vdisplay / 2,
+ DRM_FORMAT_XRGB8888,
+ DRM_FORMAT_MOD_LINEAR,
+ &invalid_output_fb);
+ igt_require(fb_id > 0);
+
+ test_invalid_parameters(output, &input_fb, &invalid_output_fb);
+
+ igt_remove_fb(display.drm_fd, &invalid_output_fb);
+ }
+
+ igt_describe("Validate WRITEBACK_FB_ID with valid and invalid options");
+ igt_subtest("writeback-fb-id") {
+ igt_fb_t output_fb;
+ fb_id = igt_create_fb(display.drm_fd, mode.hdisplay, mode.vdisplay,
+ DRM_FORMAT_XRGB8888,
+ DRM_FORMAT_MOD_LINEAR,
+ &output_fb);
+ igt_require(fb_id > 0);
+
+ writeback_fb_id(output, &input_fb, &output_fb);
+
+ igt_remove_fb(display.drm_fd, &output_fb);
+ }
+
+ igt_fixture {
+ igt_remove_fb(display.drm_fd, &input_fb);
+ igt_display_fini(&display);
+ }
+}
diff --git a/tests/meson.build b/tests/meson.build
index 0bdcfbe4..1523668b 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -70,6 +70,7 @@ test_progs = [
'kms_universal_plane',
'kms_vblank',
'kms_vrr',
+ 'kms_writeback',
'meta_test',
'panfrost_get_param',
'panfrost_gem_new',
--
2.26.0
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [igt-dev] [PATCH i-g-t v8 3/4] lib: Add function to hash a framebuffer
2020-04-24 1:26 [igt-dev] [PATCH i-g-t v8 0/4] Add support for testing writeback connectors Rodrigo Siqueira
2020-04-24 1:26 ` [igt-dev] [PATCH i-g-t v8 1/4] lib/igt_kms: Add writeback support Rodrigo Siqueira
2020-04-24 1:26 ` [igt-dev] [PATCH i-g-t v8 2/4] kms_writeback: Add initial writeback tests Rodrigo Siqueira
@ 2020-04-24 1:26 ` Rodrigo Siqueira
2020-04-24 1:26 ` [igt-dev] [PATCH i-g-t v8 4/4] kms_writeback: Add writeback-check-output Rodrigo Siqueira
` (4 subsequent siblings)
7 siblings, 0 replies; 11+ messages in thread
From: Rodrigo Siqueira @ 2020-04-24 1:26 UTC (permalink / raw)
To: igt-dev, intel-gfx, nd
Cc: Petri Latvala, Simon Ser, Liviu Dudau, Simon Ser, Maxime Ripard,
Daniel Vetter, Brian Starkey
From: Brian Starkey <rodrigosiqueiramelo@gmail.com>
To use writeback buffers as a CRC source, we need to be able to hash
them. Implement a simple FVA-1a hashing routine for this purpose.
Doing a bytewise hash on the framebuffer directly can be very slow if
the memory is noncached. By making a copy of each line in the FB first
(which can take advantage of word-access speedup), we can do the hash
on a cached copy, which is much faster (10x speedup on my platform).
Changes since V7 (Maxime Ripard):
* Maxime Ripard:
- Replace `gem_mmap__gtt` by `igt_fb_map_buffer` on `igt_fb_get_crc()`
* Rodrigo Siqueira:
- Rename igt_fb_get_crc to igt_fb_get_fnv1a_crc
Changes since V6 (Simon Ser):
* Use plain uint32_t for FNV1a_OFFSET_BIAS and FNV1a_PRIME
* Return -EINVAL in case fb->num_planes != 1
* Just copy fb->width * cpp instead of copy the whole stride
v5: use igt_memcpy_from_wc() instead of plain memcpy, as suggested by
Chris Wilson
Signed-off-by: Brian Starkey <brian.starkey@arm.com>
[rebased and updated to the most recent API]
Signed-off-by: Liviu Dudau <liviu.dudau@arm.com>
[rebased and updated]
Signed-off-by: Rodrigo Siqueira <rodrigosiqueiramelo@gmail.com>
Reviewed-by: Simon Ser <simon.ser@intel.com>
Reviewed-by: Liviu Dudau <liviu.dudau@arm.com>
---
lib/igt_fb.c | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++++
lib/igt_fb.h | 2 ++
2 files changed, 65 insertions(+)
diff --git a/lib/igt_fb.c b/lib/igt_fb.c
index 5ed586e7..562206b1 100644
--- a/lib/igt_fb.c
+++ b/lib/igt_fb.c
@@ -3785,6 +3785,69 @@ bool igt_fb_supported_format(uint32_t drm_format)
return true;
}
+/*
+ * This implements the FNV-1a hashing algorithm instead of CRC, for
+ * simplicity
+ * http://www.isthe.com/chongo/tech/comp/fnv/index.html
+ *
+ * hash = offset_basis
+ * for each octet_of_data to be hashed
+ * hash = hash xor octet_of_data
+ * hash = hash * FNV_prime
+ * return hash
+ *
+ * 32 bit offset_basis = 2166136261
+ * 32 bit FNV_prime = 224 + 28 + 0x93 = 16777619
+ */
+int igt_fb_get_fnv1a_crc(struct igt_fb *fb, igt_crc_t *crc)
+{
+ const uint32_t FNV1a_OFFSET_BIAS = 2166136261;
+ const uint32_t FNV1a_PRIME = 16777619;
+ uint32_t hash;
+ void *map;
+ char *ptr, *line = NULL;
+ int x, y, cpp = igt_drm_format_to_bpp(fb->drm_format) / 8;
+ uint32_t stride = calc_plane_stride(fb, 0);
+
+ if (fb->num_planes != 1)
+ return -EINVAL;
+
+ ptr = igt_fb_map_buffer(fb->fd, fb);
+ igt_assert(ptr);
+ map = ptr;
+
+ /*
+ * Framebuffers are often uncached, which can make byte-wise accesses
+ * very slow. We copy each line of the FB into a local buffer to speed
+ * up the hashing.
+ */
+ line = malloc(stride);
+ if (!line) {
+ munmap(map, fb->size);
+ return -ENOMEM;
+ }
+
+ hash = FNV1a_OFFSET_BIAS;
+
+ for (y = 0; y < fb->height; y++, ptr += stride) {
+
+ igt_memcpy_from_wc(line, ptr, fb->width * cpp);
+
+ for (x = 0; x < fb->width * cpp; x++) {
+ hash ^= line[x];
+ hash *= FNV1a_PRIME;
+ }
+ }
+
+ crc->n_words = 1;
+ crc->crc[0] = hash;
+
+ free(line);
+ igt_fb_unmap_buffer(fb, map);
+
+ return 0;
+}
+
/**
* igt_format_is_yuv:
* @drm_format: drm fourcc
diff --git a/lib/igt_fb.h b/lib/igt_fb.h
index 587f7a44..4221d8b9 100644
--- a/lib/igt_fb.h
+++ b/lib/igt_fb.h
@@ -207,5 +207,7 @@ int igt_format_plane_bpp(uint32_t drm_format, int plane);
void igt_format_array_fill(uint32_t **formats_array, unsigned int *count,
bool allow_yuv);
+int igt_fb_get_fnv1a_crc(struct igt_fb *fb, igt_crc_t *crc);
+
#endif /* __IGT_FB_H__ */
--
2.26.0
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [igt-dev] [PATCH i-g-t v8 4/4] kms_writeback: Add writeback-check-output
2020-04-24 1:26 [igt-dev] [PATCH i-g-t v8 0/4] Add support for testing writeback connectors Rodrigo Siqueira
` (2 preceding siblings ...)
2020-04-24 1:26 ` [igt-dev] [PATCH i-g-t v8 3/4] lib: Add function to hash a framebuffer Rodrigo Siqueira
@ 2020-04-24 1:26 ` Rodrigo Siqueira
2020-04-24 1:51 ` [igt-dev] ✗ GitLab.Pipeline: failure for Add support for testing writeback connectors (rev2) Patchwork
` (3 subsequent siblings)
7 siblings, 0 replies; 11+ messages in thread
From: Rodrigo Siqueira @ 2020-04-24 1:26 UTC (permalink / raw)
To: igt-dev, intel-gfx, nd
Cc: Petri Latvala, Simon Ser, Liviu Dudau, Maxime Ripard,
Daniel Vetter, Brian Starkey
From: Brian Starkey <rodrigosiqueiramelo@gmail.com>
Add a test which makes commits using the writeback connector, and
checks the output buffer hash to make sure it is/isn't written as
appropriate.
Changes since V7 (Maxime Ripard):
* Make fb_fill cross-platform
Changes since v6 (Simon Ser):
* Add a descriptive error message if sync_fence_wait fail
* Drop color_idx variable
* Compute expected CRC based on input framebuffer in writeback_sequence
* Remove unnecessary parentheses
* Replace int variable for unsigned int
Signed-off-by: Brian Starkey <brian.starkey@arm.com>
[rebased and updated]
Signed-off-by: Rodrigo Siqueira <rodrigosiqueiramelo@gmail.com>
Reviewed-by: Liviu Dudau <liviu.dudau@arm.com>
---
tests/kms_writeback.c | 127 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 127 insertions(+)
diff --git a/tests/kms_writeback.c b/tests/kms_writeback.c
index e08eb611..bba1fb01 100644
--- a/tests/kms_writeback.c
+++ b/tests/kms_writeback.c
@@ -30,6 +30,7 @@
#include "igt.h"
#include "igt_core.h"
#include "igt_fb.h"
+#include "sw_sync.h"
static drmModePropertyBlobRes *get_writeback_formats_blob(igt_output_t *output)
{
@@ -217,6 +218,118 @@ static void writeback_fb_id(igt_output_t *output, igt_fb_t *valid_fb, igt_fb_t *
igt_assert(ret == 0);
}
+static void fill_fb(igt_fb_t *fb, uint32_t pixel)
+{
+ void *ptr;
+
+ igt_assert(fb->drm_format == DRM_FORMAT_XRGB8888);
+
+ ptr = igt_fb_map_buffer(fb->fd, fb);
+ igt_assert(ptr);
+
+ memset(ptr, pixel, fb->strides[0] * fb->height);
+
+ igt_fb_unmap_buffer(fb, ptr);
+}
+
+static void get_and_wait_out_fence(igt_output_t *output)
+{
+ int ret;
+
+ igt_assert(output->writeback_out_fence_fd >= 0);
+
+ ret = sync_fence_wait(output->writeback_out_fence_fd, 1000);
+ igt_assert_f(ret == 0, "sync_fence_wait failed: %s\n", strerror(-ret));
+ close(output->writeback_out_fence_fd);
+ output->writeback_out_fence_fd = -1;
+}
+
+static void writeback_sequence(igt_output_t *output, igt_plane_t *plane,
+ igt_fb_t *in_fb, igt_fb_t *out_fbs[], int n_commits)
+{
+ int i = 0;
+ uint32_t in_fb_colors[2] = { 0xffff0000, 0xff00ff00 };
+ uint32_t clear_color = 0xffffffff;
+
+ igt_crc_t cleared_crc, out_expected;
+
+ for (i = 0; i < n_commits; i++) {
+ /* Change the input color each time */
+ fill_fb(in_fb, in_fb_colors[i % 2]);
+
+ if (out_fbs[i]) {
+ igt_crc_t out_before;
+
+ /* Get the expected CRC */
+ igt_fb_get_fnv1a_crc(in_fb, &out_expected);
+ fill_fb(out_fbs[i], clear_color);
+
+ if (i == 0)
+ igt_fb_get_fnv1a_crc(out_fbs[i], &cleared_crc);
+ igt_fb_get_fnv1a_crc(out_fbs[i], &out_before);
+ igt_assert_crc_equal(&cleared_crc, &out_before);
+ }
+
+ /* Commit */
+ igt_plane_set_fb(plane, in_fb);
+ igt_output_set_writeback_fb(output, out_fbs[i]);
+
+ igt_display_commit_atomic(output->display,
+ DRM_MODE_ATOMIC_ALLOW_MODESET,
+ NULL);
+ if (out_fbs[i])
+ get_and_wait_out_fence(output);
+
+ /* Make sure the old output buffer is untouched */
+ if (i > 0 && out_fbs[i - 1] && out_fbs[i] != out_fbs[i - 1]) {
+ igt_crc_t out_prev;
+ igt_fb_get_fnv1a_crc(out_fbs[i - 1], &out_prev);
+ igt_assert_crc_equal(&cleared_crc, &out_prev);
+ }
+
+ /* Make sure this output buffer is written */
+ if (out_fbs[i]) {
+ igt_crc_t out_after;
+ igt_fb_get_fnv1a_crc(out_fbs[i], &out_after);
+ igt_assert_crc_equal(&out_expected, &out_after);
+
+ /* And clear it, for the next time */
+ fill_fb(out_fbs[i], clear_color);
+ }
+ }
+}
+
+static void writeback_check_output(igt_output_t *output, igt_plane_t *plane,
+ igt_fb_t *input_fb, igt_fb_t *output_fb)
+{
+ igt_fb_t *out_fbs[2] = { 0 };
+ igt_fb_t second_out_fb;
+ unsigned int fb_id;
+
+ /* One commit, with a writeback. */
+ writeback_sequence(output, plane, input_fb, &output_fb, 1);
+
+ /* Two commits, the second with no writeback */
+ out_fbs[0] = output_fb;
+ writeback_sequence(output, plane, input_fb, out_fbs, 2);
+
+ /* Two commits, both with writeback */
+ out_fbs[1] = output_fb;
+ writeback_sequence(output, plane, input_fb, out_fbs, 2);
+
+ fb_id = igt_create_fb(output_fb->fd, output_fb->width, output_fb->height,
+ DRM_FORMAT_XRGB8888,
+ igt_fb_mod_to_tiling(0),
+ &second_out_fb);
+ igt_require(fb_id > 0);
+
+ /* Two commits, with different writeback buffers */
+ out_fbs[1] = &second_out_fb;
+ writeback_sequence(output, plane, input_fb, out_fbs, 2);
+
+ igt_remove_fb(output_fb->fd, &second_out_fb);
+}
+
igt_main
{
igt_display_t display;
@@ -309,6 +422,20 @@ igt_main
igt_remove_fb(display.drm_fd, &output_fb);
}
+ igt_describe("Check writeback output with CRC validation");
+ igt_subtest("writeback-check-output") {
+ igt_fb_t output_fb;
+ fb_id = igt_create_fb(display.drm_fd, mode.hdisplay, mode.vdisplay,
+ DRM_FORMAT_XRGB8888,
+ igt_fb_mod_to_tiling(0),
+ &output_fb);
+ igt_require(fb_id > 0);
+
+ writeback_check_output(output, plane, &input_fb, &output_fb);
+
+ igt_remove_fb(display.drm_fd, &output_fb);
+ }
+
igt_fixture {
igt_remove_fb(display.drm_fd, &input_fb);
igt_display_fini(&display);
--
2.26.0
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [igt-dev] ✗ GitLab.Pipeline: failure for Add support for testing writeback connectors (rev2)
2020-04-24 1:26 [igt-dev] [PATCH i-g-t v8 0/4] Add support for testing writeback connectors Rodrigo Siqueira
` (3 preceding siblings ...)
2020-04-24 1:26 ` [igt-dev] [PATCH i-g-t v8 4/4] kms_writeback: Add writeback-check-output Rodrigo Siqueira
@ 2020-04-24 1:51 ` Patchwork
2020-05-04 11:56 ` Arkadiusz Hiler
2020-04-24 2:02 ` [igt-dev] ✓ Fi.CI.BAT: success " Patchwork
` (2 subsequent siblings)
7 siblings, 1 reply; 11+ messages in thread
From: Patchwork @ 2020-04-24 1:51 UTC (permalink / raw)
To: Rodrigo Siqueira; +Cc: igt-dev
== Series Details ==
Series: Add support for testing writeback connectors (rev2)
URL : https://patchwork.freedesktop.org/series/68352/
State : failure
== Summary ==
ERROR! This series introduces new undocumented tests:
kms_writeback
Can you document them as per the requirement in the [CONTRIBUTING.md]?
[Documentation] has more details on how to do this.
Here are few examples:
https://gitlab.freedesktop.org/drm/igt-gpu-tools/commit/0316695d03aa46108296b27f3982ec93200c7a6e
https://gitlab.freedesktop.org/drm/igt-gpu-tools/commit/443cc658e1e6b492ee17bf4f4d891029eb7a205d
Thanks in advance!
[CONTRIBUTING.md]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/blob/master/CONTRIBUTING.md#L19
[Documentation]: https://drm.pages.freedesktop.org/igt-gpu-tools/igt-gpu-tools-Core.html#igt-describe
Other than that, pipeline status: SUCCESS.
see https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/pipelines/136934 for the overview.
== Logs ==
For more details see: https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/pipelines/136934
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 11+ messages in thread
* [igt-dev] ✓ Fi.CI.BAT: success for Add support for testing writeback connectors (rev2)
2020-04-24 1:26 [igt-dev] [PATCH i-g-t v8 0/4] Add support for testing writeback connectors Rodrigo Siqueira
` (4 preceding siblings ...)
2020-04-24 1:51 ` [igt-dev] ✗ GitLab.Pipeline: failure for Add support for testing writeback connectors (rev2) Patchwork
@ 2020-04-24 2:02 ` Patchwork
2020-04-24 4:39 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
2020-04-29 15:37 ` [Intel-gfx] [PATCH i-g-t v8 0/4] Add support for testing writeback connectors Maxime Ripard
7 siblings, 0 replies; 11+ messages in thread
From: Patchwork @ 2020-04-24 2:02 UTC (permalink / raw)
To: Rodrigo Siqueira; +Cc: igt-dev
== Series Details ==
Series: Add support for testing writeback connectors (rev2)
URL : https://patchwork.freedesktop.org/series/68352/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_8357 -> IGTPW_4504
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/index.html
Known issues
------------
Here are the changes found in IGTPW_4504 that come from known issues:
### IGT changes ###
#### Possible fixes ####
* igt@i915_selftest@live@sanitycheck:
- fi-bwr-2160: [INCOMPLETE][1] ([i915#489]) -> [PASS][2]
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8357/fi-bwr-2160/igt@i915_selftest@live@sanitycheck.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/fi-bwr-2160/igt@i915_selftest@live@sanitycheck.html
* {igt@kms_flip@basic-flip-vs-wf_vblank@a-edp1}:
- fi-bsw-kefka: [FAIL][3] ([i915#34]) -> [PASS][4]
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8357/fi-bsw-kefka/igt@kms_flip@basic-flip-vs-wf_vblank@a-edp1.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/fi-bsw-kefka/igt@kms_flip@basic-flip-vs-wf_vblank@a-edp1.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[i915#34]: https://gitlab.freedesktop.org/drm/intel/issues/34
[i915#489]: https://gitlab.freedesktop.org/drm/intel/issues/489
Participating hosts (49 -> 44)
------------------------------
Additional (1): fi-kbl-7560u
Missing (6): fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-ctg-p8600 fi-byt-clapper fi-bdw-samus
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_5609 -> IGTPW_4504
CI-20190529: 20190529
CI_DRM_8357: 95fef3b4fb9f6c72d65af138cdffb68e0f062910 @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_4504: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/index.html
IGT_5609: c100fe19f7b144538549415e8503093053883ec6 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
== Testlist changes ==
+igt@kms_writeback@writeback-check-output
+igt@kms_writeback@writeback-fb-id
+igt@kms_writeback@writeback-invalid-parameters
+igt@kms_writeback@writeback-pixel-formats
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/index.html
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 11+ messages in thread
* [igt-dev] ✗ Fi.CI.IGT: failure for Add support for testing writeback connectors (rev2)
2020-04-24 1:26 [igt-dev] [PATCH i-g-t v8 0/4] Add support for testing writeback connectors Rodrigo Siqueira
` (5 preceding siblings ...)
2020-04-24 2:02 ` [igt-dev] ✓ Fi.CI.BAT: success " Patchwork
@ 2020-04-24 4:39 ` Patchwork
2020-04-29 15:37 ` [Intel-gfx] [PATCH i-g-t v8 0/4] Add support for testing writeback connectors Maxime Ripard
7 siblings, 0 replies; 11+ messages in thread
From: Patchwork @ 2020-04-24 4:39 UTC (permalink / raw)
To: Rodrigo Siqueira; +Cc: igt-dev
== Series Details ==
Series: Add support for testing writeback connectors (rev2)
URL : https://patchwork.freedesktop.org/series/68352/
State : failure
== Summary ==
CI Bug Log - changes from CI_DRM_8357_full -> IGTPW_4504_full
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with IGTPW_4504_full absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in IGTPW_4504_full, 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_4504/index.html
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in IGTPW_4504_full:
### IGT changes ###
#### Possible regressions ####
* igt@debugfs_test@read_all_entries_display_off:
- shard-snb: [PASS][1] -> [FAIL][2] +2 similar issues
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8357/shard-snb5/igt@debugfs_test@read_all_entries_display_off.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/shard-snb4/igt@debugfs_test@read_all_entries_display_off.html
- shard-glk: [PASS][3] -> [FAIL][4]
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8357/shard-glk2/igt@debugfs_test@read_all_entries_display_off.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/shard-glk4/igt@debugfs_test@read_all_entries_display_off.html
* igt@debugfs_test@read_all_entries_display_on:
- shard-hsw: [PASS][5] -> [FAIL][6] +2 similar issues
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8357/shard-hsw7/igt@debugfs_test@read_all_entries_display_on.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/shard-hsw8/igt@debugfs_test@read_all_entries_display_on.html
- shard-iclb: [PASS][7] -> [FAIL][8] +2 similar issues
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8357/shard-iclb6/igt@debugfs_test@read_all_entries_display_on.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/shard-iclb3/igt@debugfs_test@read_all_entries_display_on.html
- shard-kbl: [PASS][9] -> [FAIL][10] +2 similar issues
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8357/shard-kbl6/igt@debugfs_test@read_all_entries_display_on.html
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/shard-kbl7/igt@debugfs_test@read_all_entries_display_on.html
- shard-apl: [PASS][11] -> [FAIL][12] +2 similar issues
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8357/shard-apl1/igt@debugfs_test@read_all_entries_display_on.html
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/shard-apl2/igt@debugfs_test@read_all_entries_display_on.html
- shard-tglb: [PASS][13] -> [FAIL][14] +2 similar issues
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8357/shard-tglb2/igt@debugfs_test@read_all_entries_display_on.html
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/shard-tglb2/igt@debugfs_test@read_all_entries_display_on.html
* {igt@kms_writeback@writeback-check-output} (NEW):
- shard-iclb: NOTRUN -> [SKIP][15] +3 similar issues
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/shard-iclb2/igt@kms_writeback@writeback-check-output.html
* {igt@kms_writeback@writeback-invalid-parameters} (NEW):
- shard-tglb: NOTRUN -> [SKIP][16] +3 similar issues
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/shard-tglb6/igt@kms_writeback@writeback-invalid-parameters.html
* igt@runner@aborted:
- shard-tglb: NOTRUN -> [FAIL][17]
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/shard-tglb3/igt@runner@aborted.html
#### Warnings ####
* igt@i915_pm_dc@dc3co-vpb-simulation:
- shard-iclb: [SKIP][18] ([i915#588]) -> [INCOMPLETE][19]
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8357/shard-iclb2/igt@i915_pm_dc@dc3co-vpb-simulation.html
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/shard-iclb7/igt@i915_pm_dc@dc3co-vpb-simulation.html
* igt@kms_color_chamelium@pipe-b-ctm-0-75:
- shard-tglb: [SKIP][20] ([fdo#109284] / [fdo#111827]) -> [SKIP][21] +46 similar issues
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8357/shard-tglb5/igt@kms_color_chamelium@pipe-b-ctm-0-75.html
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/shard-tglb3/igt@kms_color_chamelium@pipe-b-ctm-0-75.html
* igt@kms_color_chamelium@pipe-b-ctm-red-to-blue:
- shard-iclb: [SKIP][22] ([fdo#109284] / [fdo#111827]) -> [SKIP][23] +34 similar issues
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8357/shard-iclb2/igt@kms_color_chamelium@pipe-b-ctm-red-to-blue.html
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/shard-iclb7/igt@kms_color_chamelium@pipe-b-ctm-red-to-blue.html
* igt@kms_crtc_background_color:
- shard-iclb: [SKIP][24] ([fdo#109305]) -> [SKIP][25]
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8357/shard-iclb8/igt@kms_crtc_background_color.html
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/shard-iclb8/igt@kms_crtc_background_color.html
- shard-tglb: [SKIP][26] ([i915#274]) -> [SKIP][27]
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8357/shard-tglb5/igt@kms_crtc_background_color.html
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/shard-tglb7/igt@kms_crtc_background_color.html
* igt@kms_invalid_dotclock:
- shard-tglb: [SKIP][28] ([fdo#110577]) -> [SKIP][29]
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8357/shard-tglb8/igt@kms_invalid_dotclock.html
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/shard-tglb1/igt@kms_invalid_dotclock.html
New tests
---------
New tests have been introduced between CI_DRM_8357_full and IGTPW_4504_full:
### New IGT tests (4) ###
* igt@kms_writeback@writeback-check-output:
- Statuses : 7 skip(s)
- Exec time: [0.0] s
* igt@kms_writeback@writeback-fb-id:
- Statuses : 7 skip(s)
- Exec time: [0.0] s
* igt@kms_writeback@writeback-invalid-parameters:
- Statuses : 7 skip(s)
- Exec time: [0.0] s
* igt@kms_writeback@writeback-pixel-formats:
- Statuses : 7 skip(s)
- Exec time: [0.0] s
Known issues
------------
Here are the changes found in IGTPW_4504_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@gem_eio@in-flight-suspend:
- shard-tglb: [PASS][30] -> [INCOMPLETE][31] ([i915#1602] / [i915#456])
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8357/shard-tglb2/igt@gem_eio@in-flight-suspend.html
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/shard-tglb3/igt@gem_eio@in-flight-suspend.html
* igt@gem_exec_suspend@basic-s3:
- shard-apl: [PASS][32] -> [DMESG-WARN][33] ([i915#180])
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8357/shard-apl4/igt@gem_exec_suspend@basic-s3.html
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/shard-apl4/igt@gem_exec_suspend@basic-s3.html
* igt@kms_cursor_crc@pipe-a-cursor-64x64-onscreen:
- shard-kbl: [PASS][34] -> [FAIL][35] ([i915#54] / [i915#93] / [i915#95]) +2 similar issues
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8357/shard-kbl4/igt@kms_cursor_crc@pipe-a-cursor-64x64-onscreen.html
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/shard-kbl6/igt@kms_cursor_crc@pipe-a-cursor-64x64-onscreen.html
- shard-apl: [PASS][36] -> [FAIL][37] ([i915#54] / [i915#95])
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8357/shard-apl3/igt@kms_cursor_crc@pipe-a-cursor-64x64-onscreen.html
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/shard-apl8/igt@kms_cursor_crc@pipe-a-cursor-64x64-onscreen.html
* igt@kms_cursor_crc@pipe-a-cursor-suspend:
- shard-kbl: [PASS][38] -> [DMESG-WARN][39] ([i915#180])
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8357/shard-kbl4/igt@kms_cursor_crc@pipe-a-cursor-suspend.html
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/shard-kbl1/igt@kms_cursor_crc@pipe-a-cursor-suspend.html
* igt@kms_cursor_crc@pipe-c-cursor-64x21-sliding:
- shard-kbl: [PASS][40] -> [DMESG-WARN][41] ([i915#78])
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8357/shard-kbl4/igt@kms_cursor_crc@pipe-c-cursor-64x21-sliding.html
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/shard-kbl2/igt@kms_cursor_crc@pipe-c-cursor-64x21-sliding.html
* igt@kms_cursor_edge_walk@pipe-a-128x128-bottom-edge:
- shard-kbl: [PASS][42] -> [FAIL][43] ([i915#70] / [i915#93] / [i915#95])
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8357/shard-kbl2/igt@kms_cursor_edge_walk@pipe-a-128x128-bottom-edge.html
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/shard-kbl3/igt@kms_cursor_edge_walk@pipe-a-128x128-bottom-edge.html
* igt@kms_draw_crc@draw-method-rgb565-blt-ytiled:
- shard-glk: [PASS][44] -> [FAIL][45] ([i915#52] / [i915#54]) +4 similar issues
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8357/shard-glk2/igt@kms_draw_crc@draw-method-rgb565-blt-ytiled.html
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/shard-glk5/igt@kms_draw_crc@draw-method-rgb565-blt-ytiled.html
* igt@kms_draw_crc@draw-method-xrgb8888-mmap-gtt-untiled:
- shard-apl: [PASS][46] -> [FAIL][47] ([i915#52] / [i915#54] / [i915#95])
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8357/shard-apl1/igt@kms_draw_crc@draw-method-xrgb8888-mmap-gtt-untiled.html
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/shard-apl4/igt@kms_draw_crc@draw-method-xrgb8888-mmap-gtt-untiled.html
- shard-kbl: [PASS][48] -> [FAIL][49] ([i915#177] / [i915#52] / [i915#54] / [i915#93] / [i915#95])
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8357/shard-kbl2/igt@kms_draw_crc@draw-method-xrgb8888-mmap-gtt-untiled.html
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/shard-kbl3/igt@kms_draw_crc@draw-method-xrgb8888-mmap-gtt-untiled.html
* igt@kms_plane_cursor@pipe-a-overlay-size-64:
- shard-apl: [PASS][50] -> [FAIL][51] ([i915#1559] / [i915#95])
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8357/shard-apl3/igt@kms_plane_cursor@pipe-a-overlay-size-64.html
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/shard-apl8/igt@kms_plane_cursor@pipe-a-overlay-size-64.html
- shard-kbl: [PASS][52] -> [FAIL][53] ([i915#1559] / [i915#93] / [i915#95])
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8357/shard-kbl4/igt@kms_plane_cursor@pipe-a-overlay-size-64.html
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/shard-kbl6/igt@kms_plane_cursor@pipe-a-overlay-size-64.html
* igt@kms_psr@psr2_basic:
- shard-iclb: [PASS][54] -> [SKIP][55] ([fdo#109441]) +1 similar issue
[54]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8357/shard-iclb2/igt@kms_psr@psr2_basic.html
[55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/shard-iclb8/igt@kms_psr@psr2_basic.html
#### Possible fixes ####
* igt@i915_pm_rps@waitboost:
- shard-glk: [FAIL][56] ([i915#39]) -> [PASS][57]
[56]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8357/shard-glk1/igt@i915_pm_rps@waitboost.html
[57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/shard-glk2/igt@i915_pm_rps@waitboost.html
* igt@kms_big_fb@linear-32bpp-rotate-180:
- shard-apl: [FAIL][58] ([i915#1119] / [i915#95]) -> [PASS][59]
[58]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8357/shard-apl4/igt@kms_big_fb@linear-32bpp-rotate-180.html
[59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/shard-apl2/igt@kms_big_fb@linear-32bpp-rotate-180.html
- shard-kbl: [FAIL][60] ([i915#1119] / [i915#93] / [i915#95]) -> [PASS][61]
[60]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8357/shard-kbl2/igt@kms_big_fb@linear-32bpp-rotate-180.html
[61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/shard-kbl7/igt@kms_big_fb@linear-32bpp-rotate-180.html
* igt@kms_color@pipe-a-ctm-max:
- shard-kbl: [FAIL][62] ([i915#168] / [i915#93] / [i915#95]) -> [PASS][63]
[62]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8357/shard-kbl2/igt@kms_color@pipe-a-ctm-max.html
[63]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/shard-kbl6/igt@kms_color@pipe-a-ctm-max.html
- shard-apl: [FAIL][64] ([i915#168] / [i915#95]) -> [PASS][65]
[64]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8357/shard-apl4/igt@kms_color@pipe-a-ctm-max.html
[65]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/shard-apl8/igt@kms_color@pipe-a-ctm-max.html
- shard-glk: [FAIL][66] ([i915#168]) -> [PASS][67]
[66]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8357/shard-glk9/igt@kms_color@pipe-a-ctm-max.html
[67]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/shard-glk4/igt@kms_color@pipe-a-ctm-max.html
* igt@kms_cursor_crc@pipe-a-cursor-64x21-sliding:
- shard-apl: [FAIL][68] ([i915#54] / [i915#95]) -> [PASS][69]
[68]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8357/shard-apl7/igt@kms_cursor_crc@pipe-a-cursor-64x21-sliding.html
[69]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/shard-apl6/igt@kms_cursor_crc@pipe-a-cursor-64x21-sliding.html
* igt@kms_cursor_crc@pipe-a-cursor-64x64-random:
- shard-kbl: [FAIL][70] ([i915#54] / [i915#93] / [i915#95]) -> [PASS][71]
[70]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8357/shard-kbl6/igt@kms_cursor_crc@pipe-a-cursor-64x64-random.html
[71]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/shard-kbl1/igt@kms_cursor_crc@pipe-a-cursor-64x64-random.html
* igt@kms_cursor_legacy@2x-long-flip-vs-cursor-legacy:
- shard-glk: [FAIL][72] ([i915#72]) -> [PASS][73]
[72]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8357/shard-glk7/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-legacy.html
[73]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/shard-glk5/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-legacy.html
* igt@kms_draw_crc@draw-method-rgb565-render-ytiled:
- shard-glk: [FAIL][74] ([i915#52] / [i915#54]) -> [PASS][75] +3 similar issues
[74]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8357/shard-glk7/igt@kms_draw_crc@draw-method-rgb565-render-ytiled.html
[75]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/shard-glk8/igt@kms_draw_crc@draw-method-rgb565-render-ytiled.html
* igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a:
- shard-kbl: [FAIL][76] ([i915#53] / [i915#93] / [i915#95]) -> [PASS][77]
[76]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8357/shard-kbl4/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a.html
[77]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/shard-kbl2/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a.html
- shard-apl: [FAIL][78] ([i915#53] / [i915#95]) -> [PASS][79]
[78]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8357/shard-apl4/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a.html
[79]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/shard-apl7/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a.html
* igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes:
- shard-apl: [DMESG-WARN][80] ([i915#180]) -> [PASS][81] +3 similar issues
[80]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8357/shard-apl4/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes.html
[81]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/shard-apl2/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes.html
* igt@kms_plane_alpha_blend@pipe-a-coverage-vs-premult-vs-constant:
- shard-apl: [FAIL][82] ([fdo#108145] / [i915#265] / [i915#95]) -> [PASS][83]
[82]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8357/shard-apl7/igt@kms_plane_alpha_blend@pipe-a-coverage-vs-premult-vs-constant.html
[83]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/shard-apl4/igt@kms_plane_alpha_blend@pipe-a-coverage-vs-premult-vs-constant.html
* igt@kms_plane_cursor@pipe-a-viewport-size-256:
- shard-apl: [FAIL][84] ([i915#1559] / [i915#95]) -> [PASS][85]
[84]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8357/shard-apl8/igt@kms_plane_cursor@pipe-a-viewport-size-256.html
[85]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/shard-apl7/igt@kms_plane_cursor@pipe-a-viewport-size-256.html
- shard-kbl: [FAIL][86] ([i915#1559] / [i915#93] / [i915#95]) -> [PASS][87]
[86]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8357/shard-kbl3/igt@kms_plane_cursor@pipe-a-viewport-size-256.html
[87]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/shard-kbl2/igt@kms_plane_cursor@pipe-a-viewport-size-256.html
* igt@kms_plane_lowres@pipe-a-tiling-x:
- shard-glk: [FAIL][88] ([i915#899]) -> [PASS][89]
[88]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8357/shard-glk1/igt@kms_plane_lowres@pipe-a-tiling-x.html
[89]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/shard-glk7/igt@kms_plane_lowres@pipe-a-tiling-x.html
* igt@kms_psr@psr2_cursor_plane_onoff:
- shard-iclb: [SKIP][90] ([fdo#109441]) -> [PASS][91] +1 similar issue
[90]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8357/shard-iclb3/igt@kms_psr@psr2_cursor_plane_onoff.html
[91]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/shard-iclb2/igt@kms_psr@psr2_cursor_plane_onoff.html
* igt@kms_setmode@basic:
- shard-kbl: [FAIL][92] ([i915#31]) -> [PASS][93]
[92]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8357/shard-kbl2/igt@kms_setmode@basic.html
[93]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/shard-kbl2/igt@kms_setmode@basic.html
* igt@kms_vblank@pipe-b-ts-continuation-suspend:
- shard-apl: [DMESG-WARN][94] ([i915#180] / [i915#95]) -> [PASS][95]
[94]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8357/shard-apl1/igt@kms_vblank@pipe-b-ts-continuation-suspend.html
[95]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/shard-apl1/igt@kms_vblank@pipe-b-ts-continuation-suspend.html
* igt@kms_vblank@pipe-c-ts-continuation-dpms-suspend:
- shard-kbl: [INCOMPLETE][96] ([i915#155]) -> [PASS][97]
[96]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8357/shard-kbl3/igt@kms_vblank@pipe-c-ts-continuation-dpms-suspend.html
[97]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/shard-kbl2/igt@kms_vblank@pipe-c-ts-continuation-dpms-suspend.html
* {igt@perf@blocking-parameterized}:
- shard-iclb: [FAIL][98] ([i915#1542]) -> [PASS][99]
[98]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8357/shard-iclb8/igt@perf@blocking-parameterized.html
[99]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/shard-iclb4/igt@perf@blocking-parameterized.html
* {igt@perf@polling-parameterized}:
- shard-hsw: [FAIL][100] ([i915#1542]) -> [PASS][101]
[100]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8357/shard-hsw1/igt@perf@polling-parameterized.html
[101]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/shard-hsw7/igt@perf@polling-parameterized.html
#### Warnings ####
* igt@i915_pm_dc@dc6-psr:
- shard-tglb: [FAIL][102] ([i915#454]) -> [SKIP][103] ([i915#468])
[102]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8357/shard-tglb5/igt@i915_pm_dc@dc6-psr.html
[103]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/shard-tglb2/igt@i915_pm_dc@dc6-psr.html
* igt@i915_pm_rc6_residency@rc6-idle:
- shard-iclb: [WARN][104] ([i915#1515]) -> [FAIL][105] ([i915#1515])
[104]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8357/shard-iclb7/igt@i915_pm_rc6_residency@rc6-idle.html
[105]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/shard-iclb7/igt@i915_pm_rc6_residency@rc6-idle.html
* igt@i915_pm_rpm@modeset-non-lpsp-stress-no-wait:
- shard-snb: [SKIP][106] ([fdo#109271]) -> [INCOMPLETE][107] ([i915#82])
[106]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8357/shard-snb6/igt@i915_pm_rpm@modeset-non-lpsp-stress-no-wait.html
[107]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/shard-snb1/igt@i915_pm_rpm@modeset-non-lpsp-stress-no-wait.html
* igt@kms_color_chamelium@pipe-a-ctm-blue-to-red:
- shard-snb: [SKIP][108] ([fdo#109271] / [fdo#111827]) -> [SKIP][109] ([fdo#109271]) +44 similar issues
[108]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8357/shard-snb4/igt@kms_color_chamelium@pipe-a-ctm-blue-to-red.html
[109]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/shard-snb4/igt@kms_color_chamelium@pipe-a-ctm-blue-to-red.html
- shard-kbl: [SKIP][110] ([fdo#109271] / [fdo#111827]) -> [SKIP][111] ([fdo#109271]) +45 similar issues
[110]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8357/shard-kbl3/igt@kms_color_chamelium@pipe-a-ctm-blue-to-red.html
[111]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/shard-kbl6/igt@kms_color_chamelium@pipe-a-ctm-blue-to-red.html
* igt@kms_color_chamelium@pipe-a-ctm-limited-range:
- shard-apl: [SKIP][112] ([fdo#109271] / [fdo#111827]) -> [SKIP][113] ([fdo#109271]) +46 similar issues
[112]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8357/shard-apl1/igt@kms_color_chamelium@pipe-a-ctm-limited-range.html
[113]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/shard-apl7/igt@kms_color_chamelium@pipe-a-ctm-limited-range.html
* igt@kms_color_chamelium@pipe-b-ctm-0-5:
- shard-glk: [SKIP][114] ([fdo#109271] / [fdo#111827]) -> [SKIP][115] ([fdo#109271]) +41 similar issues
[114]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8357/shard-glk4/igt@kms_color_chamelium@pipe-b-ctm-0-5.html
[115]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/shard-glk9/igt@kms_color_chamelium@pipe-b-ctm-0-5.html
* igt@kms_color_chamelium@pipe-d-ctm-0-75:
- shard-hsw: [SKIP][116] ([fdo#109271] / [fdo#111827]) -> [SKIP][117] ([fdo#109271]) +45 similar issues
[116]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8357/shard-hsw7/igt@kms_color_chamelium@pipe-d-ctm-0-75.html
[117]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/shard-hsw6/igt@kms_color_chamelium@pipe-d-ctm-0-75.html
* igt@kms_color_chamelium@pipe-d-ctm-negative:
- shard-iclb: [SKIP][118] ([fdo#109278] / [fdo#109284] / [fdo#111827]) -> [SKIP][119] ([fdo#109278]) +10 similar issues
[118]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8357/shard-iclb8/igt@kms_color_chamelium@pipe-d-ctm-negative.html
[119]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/shard-iclb3/igt@kms_color_chamelium@pipe-d-ctm-negative.html
* igt@kms_content_protection@uevent:
- shard-kbl: [FAIL][120] ([i915#357] / [i915#93] / [i915#95]) -> [FAIL][121] ([i915#357])
[120]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8357/shard-kbl1/igt@kms_content_protection@uevent.html
[121]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/shard-kbl6/igt@kms_content_protection@uevent.html
- shard-apl: [FAIL][122] ([i915#357] / [i915#95]) -> [FAIL][123] ([i915#357])
[122]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8357/shard-apl8/igt@kms_content_protection@uevent.html
[123]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/shard-apl4/igt@kms_content_protection@uevent.html
* igt@kms_plane_alpha_blend@pipe-c-alpha-basic:
- shard-kbl: [FAIL][124] ([fdo#108145] / [i915#265]) -> [FAIL][125] ([fdo#108145] / [i915#265] / [i915#93] / [i915#95])
[124]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8357/shard-kbl1/igt@kms_plane_alpha_blend@pipe-c-alpha-basic.html
[125]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/shard-kbl2/igt@kms_plane_alpha_blend@pipe-c-alpha-basic.html
* igt@kms_plane_multiple@atomic-pipe-d-tiling-yf:
- shard-iclb: [SKIP][126] ([fdo#109278] / [fdo#112010] / [fdo#112025]) -> [SKIP][127] ([fdo#109278] / [fdo#112025])
[126]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8357/shard-iclb4/igt@kms_plane_multiple@atomic-pipe-d-tiling-yf.html
[127]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/shard-iclb6/igt@kms_plane_multiple@atomic-pipe-d-tiling-yf.html
* igt@kms_universal_plane@disable-primary-vs-flip-pipe-d:
- shard-iclb: [SKIP][128] ([fdo#109278] / [fdo#112010]) -> [SKIP][129] ([fdo#109278]) +14 similar issues
[128]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8357/shard-iclb7/igt@kms_universal_plane@disable-primary-vs-flip-pipe-d.html
[129]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/shard-iclb8/igt@kms_universal_plane@disable-primary-vs-flip-pipe-d.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
[fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
[fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
[fdo#109284]: https://bugs.freedesktop.org/show_bug.cgi?id=109284
[fdo#109305]: https://bugs.freedesktop.org/show_bug.cgi?id=109305
[fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
[fdo#110577]: https://bugs.freedesktop.org/show_bug.cgi?id=110577
[fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
[fdo#112010]: https://bugs.freedesktop.org/show_bug.cgi?id=112010
[fdo#112025]: https://bugs.freedesktop.org/show_bug.cgi?id=112025
[i915#1119]: https://gitlab.freedesktop.org/drm/intel/issues/1119
[i915#1515]: https://gitlab.freedesktop.org/drm/intel/issues/1515
[i915#1542]: https://gitlab.freedesktop.org/drm/intel/issues/1542
[i915#155]: https://gitlab.freedesktop.org/drm/intel/issues/155
[i915#1559]: https://gitlab.freedesktop.org/drm/intel/issues/1559
[i915#1602]: https://gitlab.freedesktop.org/drm/intel/issues/1602
[i915#168]: https://gitlab.freedesktop.org/drm/intel/issues/168
[i915#177]: https://gitlab.freedesktop.org/drm/intel/issues/177
[i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180
[i915#265]: https://gitlab.freedesktop.org/drm/intel/issues/265
[i915#274]: https://gitlab.freedesktop.org/drm/intel/issues/274
[i915#31]: https://gitlab.freedesktop.org/drm/intel/issues/31
[i915#357]: https://gitlab.freedesktop.org/drm/intel/issues/357
[i915#39]: https://gitlab.freedesktop.org/drm/intel/issues/39
[i915#454]: https://gitlab.freedesktop.org/drm/intel/issues/454
[i915#456]: https://gitlab.freedesktop.org/drm/intel/issues/456
[i915#468]: https://gitlab.freedesktop.org/drm/intel/issues/468
[i915#52]: https://gitlab.freedesktop.org/drm/intel/issues/52
[i915#53]: https://gitlab.freedesktop.org/drm/intel/issues/53
[i915#54]: https://gitlab.freedesktop.org/drm/intel/issues/54
[i915#588]: https://gitlab.freedesktop.org/drm/intel/issues/588
[i915#70]: https://gitlab.freedesktop.org/drm/intel/issues/70
[i915#72]: https://gitlab.freedesktop.org/drm/intel/issues/72
[i915#78]: https://gitlab.freedesktop.org/drm/intel/issues/78
[i915#79]: https://gitlab.freedesktop.org/drm/intel/issues/79
[i915#82]: https://gitlab.freedesktop.org/drm/intel/issues/82
[i915#899]: https://gitlab.freedesktop.org/drm/intel/issues/899
[i915#93]: https://gitlab.freedesktop.org/drm/intel/issues/93
[i915#95]: https://gitlab.freedesktop.org/drm/intel/issues/95
Participating hosts (10 -> 8)
------------------------------
Missing (2): pig-skl-6260u pig-glk-j5005
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_5609 -> IGTPW_4504
* Piglit: piglit_4509 -> None
CI-20190529: 20190529
CI_DRM_8357: 95fef3b4fb9f6c72d65af138cdffb68e0f062910 @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_4504: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/index.html
IGT_5609: c100fe19f7b144538549415e8503093053883ec6 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4504/index.html
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Intel-gfx] [PATCH i-g-t v8 0/4] Add support for testing writeback connectors
2020-04-24 1:26 [igt-dev] [PATCH i-g-t v8 0/4] Add support for testing writeback connectors Rodrigo Siqueira
` (6 preceding siblings ...)
2020-04-24 4:39 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
@ 2020-04-29 15:37 ` Maxime Ripard
7 siblings, 0 replies; 11+ messages in thread
From: Maxime Ripard @ 2020-04-29 15:37 UTC (permalink / raw)
To: Rodrigo Siqueira; +Cc: Simon Ser, intel-gfx, igt-dev, nd
[-- Attachment #1.1: Type: text/plain, Size: 2033 bytes --]
Hi,
On Thu, Apr 23, 2020 at 09:26:01PM -0400, Rodrigo Siqueira wrote:
> A couple of months ago, I updated and re-submitted a patchset made by
> Brian Starkey and Liviu Dudau for adding a writeback connectors test to
> IGT. It is important to highlight that DRM already have writeback
> connectors support, which is a way to expose in DRM the hardware
> functionality from display engines that allows writing back into memory
> the result of the DE's composition of supported planes.
>
> After I resubmitted the patchset, Simon Ser provides a long and detailed
> review for all of the patches (thanks Simon). Additionally, Maxime
> Ripard tested the previous series in an ARM32 architecture and provided
> his feedback for making this patchset portable (thanks Maxime). I
> finally had time to go through all the details and prepare this new
> version. Follows some notes:
>
> 1. Patchset author
>
> Brian Starkey is the original author of this patchset, and I'm just
> trying to upstream his changes. Note that during this patch submission,
> the mail server from google going to overwrite Brian's mail by mine;
> this happens on the mail server side for avoiding malicious users to
> send emails as someone else. Note that I could spend time figuring out
> how to fix it, but I think this is not worth since I can fix it during
> the merge process (if it got accepted).
>
> 2. Drop the clone commits from the series
>
> After Simon's review, we decided to drop the last two patches of the
> original series since it was related to cloning output, and VKMS does
> not support it yet. However, after we finish with this series, I can try
> to take a look at this feature or maybe propose it as a GSoC/Outreachy
> project.
>
> Most of the changes happened in the second patch.
>
> 3. Cross-platform improvements
I just tested it on top of current master (d095827a) on an RPi running in
32bits, it works like a charm.
Tested-by: Maxime Ripard <mripard@kernel.org>
Thanks!
Maxime
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
[-- Attachment #2: Type: text/plain, Size: 160 bytes --]
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [igt-dev] ✗ GitLab.Pipeline: failure for Add support for testing writeback connectors (rev2)
2020-04-24 1:51 ` [igt-dev] ✗ GitLab.Pipeline: failure for Add support for testing writeback connectors (rev2) Patchwork
@ 2020-05-04 11:56 ` Arkadiusz Hiler
2020-05-06 22:56 ` Rodrigo Siqueira
0 siblings, 1 reply; 11+ messages in thread
From: Arkadiusz Hiler @ 2020-05-04 11:56 UTC (permalink / raw)
To: igt-dev
On Fri, Apr 24, 2020 at 01:51:12AM +0000, Patchwork wrote:
> == Series Details ==
>
> Series: Add support for testing writeback connectors (rev2)
> URL : https://patchwork.freedesktop.org/series/68352/
> State : failure
>
> == Summary ==
>
> ERROR! This series introduces new undocumented tests:
>
> kms_writeback
>
> Can you document them as per the requirement in the [CONTRIBUTING.md]?
>
> [Documentation] has more details on how to do this.
>
> Here are few examples:
> https://gitlab.freedesktop.org/drm/igt-gpu-tools/commit/0316695d03aa46108296b27f3982ec93200c7a6e
> https://gitlab.freedesktop.org/drm/igt-gpu-tools/commit/443cc658e1e6b492ee17bf4f4d891029eb7a205d
>
> Thanks in advance!
>
> [CONTRIBUTING.md]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/blob/master/CONTRIBUTING.md#L19
> [Documentation]: https://drm.pages.freedesktop.org/igt-gpu-tools/igt-gpu-tools-Core.html#igt-describe
Hey Rodrigo,
Can you add short test descriptions as explained above?
--
Cheers,
Arek
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [igt-dev] ✗ GitLab.Pipeline: failure for Add support for testing writeback connectors (rev2)
2020-05-04 11:56 ` Arkadiusz Hiler
@ 2020-05-06 22:56 ` Rodrigo Siqueira
0 siblings, 0 replies; 11+ messages in thread
From: Rodrigo Siqueira @ 2020-05-06 22:56 UTC (permalink / raw)
To: Arkadiusz Hiler; +Cc: igt-dev
[-- Attachment #1.1: Type: text/plain, Size: 1394 bytes --]
On 05/04, Arkadiusz Hiler wrote:
> On Fri, Apr 24, 2020 at 01:51:12AM +0000, Patchwork wrote:
> > == Series Details ==
> >
> > Series: Add support for testing writeback connectors (rev2)
> > URL : https://patchwork.freedesktop.org/series/68352/
> > State : failure
> >
> > == Summary ==
> >
> > ERROR! This series introduces new undocumented tests:
> >
> > kms_writeback
> >
> > Can you document them as per the requirement in the [CONTRIBUTING.md]?
> >
> > [Documentation] has more details on how to do this.
> >
> > Here are few examples:
> > https://gitlab.freedesktop.org/drm/igt-gpu-tools/commit/0316695d03aa46108296b27f3982ec93200c7a6e
> > https://gitlab.freedesktop.org/drm/igt-gpu-tools/commit/443cc658e1e6b492ee17bf4f4d891029eb7a205d
> >
> > Thanks in advance!
> >
> > [CONTRIBUTING.md]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/blob/master/CONTRIBUTING.md#L19
> > [Documentation]: https://drm.pages.freedesktop.org/igt-gpu-tools/igt-gpu-tools-Core.html#igt-describe
>
> Hey Rodrigo,
>
> Can you add short test descriptions as explained above?
Hi Arek,
I'm going to add a brief description in the next version. Now, I'm
trying to understand why this series breaks read_all_entries_display_off
and read_all_entries_display_on on i915.
Best Regards
> --
> Cheers,
> Arek
--
Rodrigo Siqueira
https://siqueira.tech
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
[-- Attachment #2: Type: text/plain, Size: 154 bytes --]
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2020-05-06 22:56 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-04-24 1:26 [igt-dev] [PATCH i-g-t v8 0/4] Add support for testing writeback connectors Rodrigo Siqueira
2020-04-24 1:26 ` [igt-dev] [PATCH i-g-t v8 1/4] lib/igt_kms: Add writeback support Rodrigo Siqueira
2020-04-24 1:26 ` [igt-dev] [PATCH i-g-t v8 2/4] kms_writeback: Add initial writeback tests Rodrigo Siqueira
2020-04-24 1:26 ` [igt-dev] [PATCH i-g-t v8 3/4] lib: Add function to hash a framebuffer Rodrigo Siqueira
2020-04-24 1:26 ` [igt-dev] [PATCH i-g-t v8 4/4] kms_writeback: Add writeback-check-output Rodrigo Siqueira
2020-04-24 1:51 ` [igt-dev] ✗ GitLab.Pipeline: failure for Add support for testing writeback connectors (rev2) Patchwork
2020-05-04 11:56 ` Arkadiusz Hiler
2020-05-06 22:56 ` Rodrigo Siqueira
2020-04-24 2:02 ` [igt-dev] ✓ Fi.CI.BAT: success " Patchwork
2020-04-24 4:39 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
2020-04-29 15:37 ` [Intel-gfx] [PATCH i-g-t v8 0/4] Add support for testing writeback connectors Maxime Ripard
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox