* [igt-dev] [PATCH 2/2] tests/i915/i915_pm_backlight: Create dynamic subtests
2022-11-08 13:03 [igt-dev] [PATCH 0/2] tests/i915/i915_pm_backlight: " Nidhi Gupta
@ 2022-11-08 13:03 ` Nidhi Gupta
2022-11-09 9:26 ` Kamil Konieczny
0 siblings, 1 reply; 10+ messages in thread
From: Nidhi Gupta @ 2022-11-08 13:03 UTC (permalink / raw)
To: igt-dev; +Cc: Nidhi Gupta
Modified the test to include dynamic subtests.
Signed-off-by: Nidhi Gupta <nidhi1.gupta@intel.com>
---
tests/i915/i915_pm_backlight.c | 109 +++++++++++++++++++++--------------------
1 file changed, 56 insertions(+), 53 deletions(-)
diff --git a/tests/i915/i915_pm_backlight.c b/tests/i915/i915_pm_backlight.c
index fdf1315..9fe9f45 100644
--- a/tests/i915/i915_pm_backlight.c
+++ b/tests/i915/i915_pm_backlight.c
@@ -66,7 +66,8 @@ static int backlight_read(int *result, const char *fname, struct context *contex
char dst[512];
int r, e;
- igt_assert(snprintf(full, PATH_MAX, "%s/%s/%s", BACKLIGHT_PATH, context->path, fname) < PATH_MAX);
+ if (snprintf(full, PATH_MAX, "%s/%s/%s", BACKLIGHT_PATH, context->path, fname) > PATH_MAX)
+ return -errno;
fd = open(full, O_RDONLY);
if (fd == -1)
return -errno;
@@ -90,7 +91,8 @@ static int backlight_write(int value, const char *fname, struct context *context
char src[64];
int len;
- igt_assert(snprintf(full, PATH_MAX, "%s/%s/%s", BACKLIGHT_PATH, context->path, fname) < PATH_MAX);
+ if (snprintf(full, PATH_MAX, "%s/%s/%s", BACKLIGHT_PATH, context->path, fname) > PATH_MAX)
+ return -errno;
fd = open(full, O_WRONLY);
if (fd == -1)
return -errno;
@@ -163,30 +165,32 @@ static void test_fade(struct context *context)
}
}
-static void
-test_fade_with_dpms(struct context *context, igt_output_t *output)
+static int
+check_dpms(igt_output_t *output)
{
- igt_require(igt_setup_runtime_pm(output->display->drm_fd));
+ if ((igt_setup_runtime_pm(output->display->drm_fd)) == 0)
+ return -errno;
kmstest_set_connector_dpms(output->display->drm_fd,
output->config.connector,
DRM_MODE_DPMS_OFF);
- igt_require(igt_wait_for_pm_status(IGT_RUNTIME_PM_STATUS_SUSPENDED));
+ if ((igt_wait_for_pm_status(IGT_RUNTIME_PM_STATUS_SUSPENDED)) == 0)
+ return -errno;
kmstest_set_connector_dpms(output->display->drm_fd,
output->config.connector,
DRM_MODE_DPMS_ON);
- igt_assert(igt_wait_for_pm_status(IGT_RUNTIME_PM_STATUS_ACTIVE));
+ if ((igt_wait_for_pm_status(IGT_RUNTIME_PM_STATUS_ACTIVE)) == 0)
+ return -errno;
+
+ return 1;
- test_fade(context);
}
static void
-test_fade_with_suspend(struct context *context, igt_output_t *output)
+check_suspend(igt_output_t *output)
{
igt_system_suspend_autoresume(SUSPEND_STATE_MEM, SUSPEND_TEST_NONE);
-
- test_fade(context);
}
static void test_cleanup(igt_display_t *display, igt_output_t *output)
@@ -228,13 +232,25 @@ static void test_setup(igt_display_t display, igt_output_t *output)
igt_main
{
- int old, fd;
- int i = 0;
+ int old[NUM_EDP_OUTPUTS], fd;
+ int i = 0, ret = 0;
igt_display_t display;
igt_output_t *output;
char file_path_n[PATH_MAX] = "";
bool dual_edp = false;
struct context contexts[NUM_EDP_OUTPUTS];
+ struct {
+ const char *name;
+ const char *desc;
+ void (*test_t) (struct context *);
+ int flags;
+ } tests[] = {
+ { "basic-brightness", "desc", test_brightness, TEST_NONE },
+ { "bad-brightness", "desc", test_bad_brightness, TEST_NONE },
+ { "fade", "desc", test_fade, TEST_NONE },
+ { "fade-with-dpms", "desc", test_fade, TEST_DPMS },
+ { "fade-with-suspend", "desc", test_fade, TEST_SUSPEND },
+ };
igt_fixture {
bool found = false;
@@ -289,54 +305,41 @@ igt_main
igt_require_f(found, "No valid output found.\n");
}
- igt_subtest("basic-brightness") {
- for (int j = 0; j < (dual_edp ? 2 : 1); j++) {
- test_setup(display, &contexts->output[j]);
- igt_assert(backlight_read(&contexts[j].max, "max_brightness", &contexts[j]) > -1);
- test_brightness(&contexts[j]);
- test_cleanup(&display, output);
- }
- }
- igt_subtest("bad-brightness") {
- for (int j = 0; j < (dual_edp ? 2 : 1); j++) {
- test_setup(display, &contexts->output[j]);
- igt_assert(backlight_read(&contexts[j].max, "max_brightness", &contexts[j]) > -1);
- test_bad_brightness(&contexts[j]);
- test_cleanup(&display, output);
- }
- }
- igt_subtest("fade") {
- for (int j = 0; j < (dual_edp ? 2 : 1); j++) {
- test_setup(display, &contexts->output[j]);
- igt_assert(backlight_read(&contexts[j].max, "max_brightness", &contexts[j]) > -1);
- test_fade(&contexts[j]);
- test_cleanup(&display, output);
- }
- }
- igt_subtest("fade_with_dpms") {
- for (int j = 0; j < (dual_edp ? 2 : 1); j++) {
- test_setup(display, &contexts->output[j]);
- igt_assert(backlight_read(&contexts[j].max, "max_brightness", &contexts[j]) > -1);
- test_fade_with_dpms(&contexts[j], output);
- test_cleanup(&display, output);
- }
- }
- igt_subtest("fade_with_suspend") {
- for (int j = 0; j < (dual_edp ? 2 : 1); j++) {
- test_setup(display, &contexts->output[j]);
- igt_assert(backlight_read(&contexts[j].max, "max_brightness", &contexts[j]) > -1);
- test_fade_with_suspend(&contexts[j], output);
- test_cleanup(&display, output);
+ for (i = 0; i < ARRAY_SIZE(tests); i++) {
+ igt_describe(tests[i].desc);
+ igt_subtest_with_dynamic(tests[i].name) {
+ for (int j = 0; j < (dual_edp ? 2 : 1); j++) {
+ test_setup(display, &contexts->output[j]);
+
+ if (backlight_read(&old[j], "brightness", &contexts[j]))
+ continue;
+
+ if (tests[i].flags == TEST_DPMS) {
+ ret = check_dpms(contexts[j].output);
+ if (ret == 0)
+ continue;
+ }
+
+ if (tests[i].flags == TEST_SUSPEND)
+ check_suspend(contexts[j].output);
+
+ igt_dynamic_f("%s", igt_output_name(contexts[j].output)) {
+ igt_assert(backlight_read(&contexts[j].max, "max_brightness", &contexts[j]) > -1);
+ tests[i].test_t(&contexts[j]);
+ }
+
+ test_cleanup(&display, output);
+ }
+ /* TODO: Add tests for dual eDP. */
}
}
-
igt_fixture {
/* Restore old brightness */
for (int j = 0; j < (dual_edp ? 2 : 1); j++) {
- backlight_write(old, "brightness", &contexts[j]);
+ backlight_write(old[j], "brightness", &contexts[j]);
}
igt_display_fini(&display);
--
1.9.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [igt-dev] [PATCH 2/2] tests/i915/i915_pm_backlight: Create dynamic subtests
2022-11-08 13:03 ` [igt-dev] [PATCH 2/2] tests/i915/i915_pm_backlight: Create dynamic subtests Nidhi Gupta
@ 2022-11-09 9:26 ` Kamil Konieczny
0 siblings, 0 replies; 10+ messages in thread
From: Kamil Konieczny @ 2022-11-09 9:26 UTC (permalink / raw)
To: igt-dev; +Cc: Nidhi Gupta
Hi Nidhi,
On 2022-11-08 at 18:33:03 +0530, Nidhi Gupta wrote:
> Modified the test to include dynamic subtests.
>
> Signed-off-by: Nidhi Gupta <nidhi1.gupta@intel.com>
> ---
> tests/i915/i915_pm_backlight.c | 109 +++++++++++++++++++++--------------------
> 1 file changed, 56 insertions(+), 53 deletions(-)
>
> diff --git a/tests/i915/i915_pm_backlight.c b/tests/i915/i915_pm_backlight.c
> index fdf1315..9fe9f45 100644
> --- a/tests/i915/i915_pm_backlight.c
> +++ b/tests/i915/i915_pm_backlight.c
> @@ -66,7 +66,8 @@ static int backlight_read(int *result, const char *fname, struct context *contex
> char dst[512];
> int r, e;
>
> - igt_assert(snprintf(full, PATH_MAX, "%s/%s/%s", BACKLIGHT_PATH, context->path, fname) < PATH_MAX);
> + if (snprintf(full, PATH_MAX, "%s/%s/%s", BACKLIGHT_PATH, context->path, fname) > PATH_MAX)
> + return -errno;
> fd = open(full, O_RDONLY);
> if (fd == -1)
> return -errno;
> @@ -90,7 +91,8 @@ static int backlight_write(int value, const char *fname, struct context *context
> char src[64];
> int len;
>
> - igt_assert(snprintf(full, PATH_MAX, "%s/%s/%s", BACKLIGHT_PATH, context->path, fname) < PATH_MAX);
> + if (snprintf(full, PATH_MAX, "%s/%s/%s", BACKLIGHT_PATH, context->path, fname) > PATH_MAX)
> + return -errno;
> fd = open(full, O_WRONLY);
> if (fd == -1)
> return -errno;
> @@ -163,30 +165,32 @@ static void test_fade(struct context *context)
> }
> }
>
> -static void
> -test_fade_with_dpms(struct context *context, igt_output_t *output)
> +static int
> +check_dpms(igt_output_t *output)
> {
> - igt_require(igt_setup_runtime_pm(output->display->drm_fd));
> + if ((igt_setup_runtime_pm(output->display->drm_fd)) == 0)
> + return -errno;
>
> kmstest_set_connector_dpms(output->display->drm_fd,
> output->config.connector,
> DRM_MODE_DPMS_OFF);
> - igt_require(igt_wait_for_pm_status(IGT_RUNTIME_PM_STATUS_SUSPENDED));
> + if ((igt_wait_for_pm_status(IGT_RUNTIME_PM_STATUS_SUSPENDED)) == 0)
> + return -errno;
>
> kmstest_set_connector_dpms(output->display->drm_fd,
> output->config.connector,
> DRM_MODE_DPMS_ON);
> - igt_assert(igt_wait_for_pm_status(IGT_RUNTIME_PM_STATUS_ACTIVE));
> + if ((igt_wait_for_pm_status(IGT_RUNTIME_PM_STATUS_ACTIVE)) == 0)
> + return -errno;
> +
> + return 1;
>
> - test_fade(context);
> }
>
> static void
> -test_fade_with_suspend(struct context *context, igt_output_t *output)
> +check_suspend(igt_output_t *output)
> {
> igt_system_suspend_autoresume(SUSPEND_STATE_MEM, SUSPEND_TEST_NONE);
> -
> - test_fade(context);
> }
>
> static void test_cleanup(igt_display_t *display, igt_output_t *output)
> @@ -228,13 +232,25 @@ static void test_setup(igt_display_t display, igt_output_t *output)
>
> igt_main
> {
> - int old, fd;
> - int i = 0;
> + int old[NUM_EDP_OUTPUTS], fd;
> + int i = 0, ret = 0;
> igt_display_t display;
> igt_output_t *output;
> char file_path_n[PATH_MAX] = "";
> bool dual_edp = false;
> struct context contexts[NUM_EDP_OUTPUTS];
> + struct {
> + const char *name;
> + const char *desc;
> + void (*test_t) (struct context *);
> + int flags;
> + } tests[] = {
> + { "basic-brightness", "desc", test_brightness, TEST_NONE },
-------------------------------------- ^
Please do not put dummy descriptions, either write it correctly
from the start or do it in separate patch.
Regards,
Kamil
> + { "bad-brightness", "desc", test_bad_brightness, TEST_NONE },
> + { "fade", "desc", test_fade, TEST_NONE },
> + { "fade-with-dpms", "desc", test_fade, TEST_DPMS },
> + { "fade-with-suspend", "desc", test_fade, TEST_SUSPEND },
> + };
>
> igt_fixture {
> bool found = false;
> @@ -289,54 +305,41 @@ igt_main
> igt_require_f(found, "No valid output found.\n");
> }
>
> - igt_subtest("basic-brightness") {
> - for (int j = 0; j < (dual_edp ? 2 : 1); j++) {
> - test_setup(display, &contexts->output[j]);
> - igt_assert(backlight_read(&contexts[j].max, "max_brightness", &contexts[j]) > -1);
> - test_brightness(&contexts[j]);
> - test_cleanup(&display, output);
> - }
> - }
>
> - igt_subtest("bad-brightness") {
> - for (int j = 0; j < (dual_edp ? 2 : 1); j++) {
> - test_setup(display, &contexts->output[j]);
> - igt_assert(backlight_read(&contexts[j].max, "max_brightness", &contexts[j]) > -1);
> - test_bad_brightness(&contexts[j]);
> - test_cleanup(&display, output);
> - }
> - }
> - igt_subtest("fade") {
> - for (int j = 0; j < (dual_edp ? 2 : 1); j++) {
> - test_setup(display, &contexts->output[j]);
> - igt_assert(backlight_read(&contexts[j].max, "max_brightness", &contexts[j]) > -1);
> - test_fade(&contexts[j]);
> - test_cleanup(&display, output);
> - }
> - }
> - igt_subtest("fade_with_dpms") {
> - for (int j = 0; j < (dual_edp ? 2 : 1); j++) {
> - test_setup(display, &contexts->output[j]);
> - igt_assert(backlight_read(&contexts[j].max, "max_brightness", &contexts[j]) > -1);
> - test_fade_with_dpms(&contexts[j], output);
> - test_cleanup(&display, output);
> - }
> - }
> - igt_subtest("fade_with_suspend") {
> - for (int j = 0; j < (dual_edp ? 2 : 1); j++) {
> - test_setup(display, &contexts->output[j]);
> - igt_assert(backlight_read(&contexts[j].max, "max_brightness", &contexts[j]) > -1);
> - test_fade_with_suspend(&contexts[j], output);
> - test_cleanup(&display, output);
> + for (i = 0; i < ARRAY_SIZE(tests); i++) {
> + igt_describe(tests[i].desc);
> + igt_subtest_with_dynamic(tests[i].name) {
> + for (int j = 0; j < (dual_edp ? 2 : 1); j++) {
> + test_setup(display, &contexts->output[j]);
> +
> + if (backlight_read(&old[j], "brightness", &contexts[j]))
> + continue;
> +
> + if (tests[i].flags == TEST_DPMS) {
> + ret = check_dpms(contexts[j].output);
> + if (ret == 0)
> + continue;
> + }
> +
> + if (tests[i].flags == TEST_SUSPEND)
> + check_suspend(contexts[j].output);
> +
> + igt_dynamic_f("%s", igt_output_name(contexts[j].output)) {
> + igt_assert(backlight_read(&contexts[j].max, "max_brightness", &contexts[j]) > -1);
> + tests[i].test_t(&contexts[j]);
> + }
> +
> + test_cleanup(&display, output);
> + }
> + /* TODO: Add tests for dual eDP. */
> }
> }
>
>
> -
> igt_fixture {
> /* Restore old brightness */
> for (int j = 0; j < (dual_edp ? 2 : 1); j++) {
> - backlight_write(old, "brightness", &contexts[j]);
> + backlight_write(old[j], "brightness", &contexts[j]);
> }
>
> igt_display_fini(&display);
> --
> 1.9.1
>
^ permalink raw reply [flat|nested] 10+ messages in thread
* [igt-dev] [PATCH 0/2] Add new subtest and test cleanup
@ 2022-11-14 6:40 Nidhi Gupta
2022-11-14 6:40 ` [igt-dev] [PATCH 1/2] tests/i915/i915_pm_backlight: Add new subtest to validate dual panel backlight Nidhi Gupta
` (3 more replies)
0 siblings, 4 replies; 10+ messages in thread
From: Nidhi Gupta @ 2022-11-14 6:40 UTC (permalink / raw)
To: igt-dev
Add new subtest to validate dual panel backlight and convert
exixting subtests to dynamic subtests for better reporting.
Nidhi Gupta (2):
tests/i915/i915_pm_backlight: Add new subtest to validate dual panel
backlight
tests/i915/i915_pm_backlight: Create dynamic subtests
tests/i915/i915_pm_backlight.c | 223 +++++++++++++++++++++++++++++------------
1 file changed, 157 insertions(+), 66 deletions(-)
--
1.9.1
^ permalink raw reply [flat|nested] 10+ messages in thread
* [igt-dev] [PATCH 1/2] tests/i915/i915_pm_backlight: Add new subtest to validate dual panel backlight
2022-11-14 6:40 [igt-dev] [PATCH 0/2] Add new subtest and test cleanup Nidhi Gupta
@ 2022-11-14 6:40 ` Nidhi Gupta
2022-11-14 7:20 ` Hogander, Jouni
2022-11-14 7:46 ` Hogander, Jouni
2022-11-14 6:40 ` [igt-dev] [PATCH 2/2] tests/i915/i915_pm_backlight: Create dynamic subtests Nidhi Gupta
` (2 subsequent siblings)
3 siblings, 2 replies; 10+ messages in thread
From: Nidhi Gupta @ 2022-11-14 6:40 UTC (permalink / raw)
To: igt-dev; +Cc: Nidhi Gupta
Since driver can now support multiple eDPs and Debugfs structure for
backlight changed per connector the test should then iterate through
all eDP connectors.
Signed-off-by: Nidhi Gupta <nidhi1.gupta@intel.com>
Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
---
tests/i915/i915_pm_backlight.c | 208 +++++++++++++++++++++++++++++------------
1 file changed, 148 insertions(+), 60 deletions(-)
diff --git a/tests/i915/i915_pm_backlight.c b/tests/i915/i915_pm_backlight.c
index cafae7f..fdf1315 100644
--- a/tests/i915/i915_pm_backlight.c
+++ b/tests/i915/i915_pm_backlight.c
@@ -34,29 +34,39 @@
#include <errno.h>
#include <unistd.h>
#include <time.h>
+#include "igt_device.h"
+#include "igt_device_scan.h"
struct context {
int max;
+ igt_output_t *output;
+ char path[PATH_MAX];
};
+enum {
+ TEST_NONE = 0,
+ TEST_DPMS,
+ TEST_SUSPEND,
+};
#define TOLERANCE 5 /* percent */
-#define BACKLIGHT_PATH "/sys/class/backlight/intel_backlight"
+#define BACKLIGHT_PATH "/sys/class/backlight"
#define FADESTEPS 10
#define FADESPEED 100 /* milliseconds between steps */
+#define NUM_EDP_OUTPUTS 2
+
IGT_TEST_DESCRIPTION("Basic backlight sysfs test");
-static int backlight_read(int *result, const char *fname)
+static int backlight_read(int *result, const char *fname, struct context *context)
{
int fd;
char full[PATH_MAX];
- char dst[64];
+ char dst[512];
int r, e;
- igt_assert(snprintf(full, PATH_MAX, "%s/%s", BACKLIGHT_PATH, fname) < PATH_MAX);
-
+ igt_assert(snprintf(full, PATH_MAX, "%s/%s/%s", BACKLIGHT_PATH, context->path, fname) < PATH_MAX);
fd = open(full, O_RDONLY);
if (fd == -1)
return -errno;
@@ -73,14 +83,14 @@ static int backlight_read(int *result, const char *fname)
return errno;
}
-static int backlight_write(int value, const char *fname)
+static int backlight_write(int value, const char *fname, struct context *context)
{
int fd;
char full[PATH_MAX];
char src[64];
int len;
- igt_assert(snprintf(full, PATH_MAX, "%s/%s", BACKLIGHT_PATH, fname) < PATH_MAX);
+ igt_assert(snprintf(full, PATH_MAX, "%s/%s/%s", BACKLIGHT_PATH, context->path, fname) < PATH_MAX);
fd = open(full, O_WRONLY);
if (fd == -1)
return -errno;
@@ -100,12 +110,12 @@ static void test_and_verify(struct context *context, int val)
const int tolerance = val * TOLERANCE / 100;
int result;
- igt_assert_eq(backlight_write(val, "brightness"), 0);
- igt_assert_eq(backlight_read(&result, "brightness"), 0);
+ igt_assert_eq(backlight_write(val, "brightness", context), 0);
+ igt_assert_eq(backlight_read(&result, "brightness", context), 0);
/* Check that the exact value sticks */
igt_assert_eq(result, val);
- igt_assert_eq(backlight_read(&result, "actual_brightness"), 0);
+ igt_assert_eq(backlight_read(&result, "actual_brightness", context), 0);
/* Some rounding may happen depending on hw */
igt_assert_f(result >= max(0, val - tolerance) &&
result <= min(context->max, val + tolerance),
@@ -124,16 +134,16 @@ static void test_bad_brightness(struct context *context)
{
int val;
/* First write some sane value */
- backlight_write(context->max / 2, "brightness");
+ backlight_write(context->max / 2, "brightness", context);
/* Writing invalid values should fail and not change the value */
- igt_assert_lt(backlight_write(-1, "brightness"), 0);
- backlight_read(&val, "brightness");
+ igt_assert_lt(backlight_write(-1, "brightness", context), 0);
+ backlight_read(&val, "brightness", context);
igt_assert_eq(val, context->max / 2);
- igt_assert_lt(backlight_write(context->max + 1, "brightness"), 0);
- backlight_read(&val, "brightness");
+ igt_assert_lt(backlight_write(context->max + 1, "brightness", context), 0);
+ backlight_read(&val, "brightness", context);
igt_assert_eq(val, context->max / 2);
- igt_assert_lt(backlight_write(INT_MAX, "brightness"), 0);
- backlight_read(&val, "brightness");
+ igt_assert_lt(backlight_write(INT_MAX, "brightness", context), 0);
+ backlight_read(&val, "brightness", context);
igt_assert_eq(val, context->max / 2);
}
@@ -179,21 +189,57 @@ test_fade_with_suspend(struct context *context, igt_output_t *output)
test_fade(context);
}
+static void test_cleanup(igt_display_t *display, igt_output_t *output)
+{
+ igt_output_set_pipe(output, PIPE_NONE);
+ igt_display_commit2(display, display->is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
+ igt_pm_restore_sata_link_power_management();
+}
+
+static void test_setup(igt_display_t display, igt_output_t *output)
+{
+ igt_plane_t *primary;
+ drmModeModeInfo *mode;
+ struct igt_fb fb;
+ enum pipe pipe;
+
+ igt_display_reset(&display);
+
+ for_each_pipe(&display, pipe) {
+ if (!igt_pipe_connector_valid(pipe, output))
+ continue;
+
+ igt_output_set_pipe(output, pipe);
+ mode = igt_output_get_mode(output);
+
+ igt_create_pattern_fb(display.drm_fd,
+ mode->hdisplay, mode->vdisplay,
+ DRM_FORMAT_XRGB8888,
+ DRM_FORMAT_MOD_LINEAR, &fb);
+ primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
+ igt_plane_set_fb(primary, &fb);
+
+ igt_display_commit2(&display, display.is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
+ igt_pm_enable_sata_link_power_management();
+
+ break;
+ }
+}
+
igt_main
{
- struct context context = {0};
- int old;
+ int old, fd;
+ int i = 0;
igt_display_t display;
igt_output_t *output;
- struct igt_fb fb;
+ char file_path_n[PATH_MAX] = "";
+ bool dual_edp = false;
+ struct context contexts[NUM_EDP_OUTPUTS];
igt_fixture {
- enum pipe pipe;
bool found = false;
char full_name[32] = {};
char *name;
- drmModeModeInfo *mode;
- igt_plane_t *primary;
/*
* Backlight tests requires the output to be enabled,
@@ -202,56 +248,98 @@ igt_main
kmstest_set_vt_graphics_mode();
igt_display_require(&display, drm_open_driver(DRIVER_INTEL));
- /* Get the max value and skip the whole test if sysfs interface not available */
- igt_skip_on(backlight_read(&old, "brightness"));
- igt_assert(backlight_read(&context.max, "max_brightness") > -1);
+ for_each_connected_output(&display, output) {
+ if (output->config.connector->connector_type != DRM_MODE_CONNECTOR_eDP)
+ continue;
- /* should be ../../cardX-$output */
- igt_assert_lt(12, readlink(BACKLIGHT_PATH "/device", full_name, sizeof(full_name) - 1));
- name = basename(full_name);
+ if (found)
+ snprintf(file_path_n, PATH_MAX, "%s/card%i-%s-backlight/brightness",
+ BACKLIGHT_PATH, igt_device_get_card_index(display.drm_fd),
+ igt_output_name(output));
+ else
+ snprintf(file_path_n, PATH_MAX, "%s/intel_backlight/brightness", BACKLIGHT_PATH);
- for_each_pipe_with_valid_output(&display, pipe, output) {
- if (strcmp(name + 6, output->name))
+ fd = open(file_path_n, O_RDONLY);
+ if (fd == -1) {
continue;
- found = true;
- break;
+ }
+ if (found)
+ snprintf(contexts[i].path, PATH_MAX, "card%i-%s-backlight",
+ igt_device_get_card_index(display.drm_fd),
+ igt_output_name(output));
+ else
+ snprintf(contexts[i].path, PATH_MAX, "intel_backlight");
+
+ close(fd);
+
+ /* should be ../../cardX-$output */
+ snprintf(file_path_n, PATH_MAX, "%s/%s/device", BACKLIGHT_PATH, contexts[i].path);
+ igt_assert_lt(16, readlink(file_path_n, full_name, sizeof(full_name) - 1));
+ name = basename(full_name);
+
+ if (!strcmp(name + 6, output->name)) {
+ contexts[i++].output = output;
+
+ if (found)
+ dual_edp = true;
+ else
+ found = true;
+ }
}
+ igt_require_f(found, "No valid output found.\n");
+ }
- igt_require_f(found,
- "Could not map backlight for \"%s\" to connected output\n",
- name);
-
- igt_output_set_pipe(output, pipe);
- mode = igt_output_get_mode(output);
-
- igt_create_pattern_fb(display.drm_fd,
- mode->hdisplay, mode->vdisplay,
- DRM_FORMAT_XRGB8888,
- DRM_FORMAT_MOD_LINEAR, &fb);
- primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
- igt_plane_set_fb(primary, &fb);
+ igt_subtest("basic-brightness") {
+ for (int j = 0; j < (dual_edp ? 2 : 1); j++) {
+ test_setup(display, &contexts->output[j]);
+ igt_assert(backlight_read(&contexts[j].max, "max_brightness", &contexts[j]) > -1);
+ test_brightness(&contexts[j]);
+ test_cleanup(&display, output);
+ }
+ }
- igt_display_commit2(&display, display.is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
- igt_pm_enable_sata_link_power_management();
+ igt_subtest("bad-brightness") {
+ for (int j = 0; j < (dual_edp ? 2 : 1); j++) {
+ test_setup(display, &contexts->output[j]);
+ igt_assert(backlight_read(&contexts[j].max, "max_brightness", &contexts[j]) > -1);
+ test_bad_brightness(&contexts[j]);
+ test_cleanup(&display, output);
+ }
+ }
+ igt_subtest("fade") {
+ for (int j = 0; j < (dual_edp ? 2 : 1); j++) {
+ test_setup(display, &contexts->output[j]);
+ igt_assert(backlight_read(&contexts[j].max, "max_brightness", &contexts[j]) > -1);
+ test_fade(&contexts[j]);
+ test_cleanup(&display, output);
+ }
}
+ igt_subtest("fade_with_dpms") {
+ for (int j = 0; j < (dual_edp ? 2 : 1); j++) {
+ test_setup(display, &contexts->output[j]);
+ igt_assert(backlight_read(&contexts[j].max, "max_brightness", &contexts[j]) > -1);
+ test_fade_with_dpms(&contexts[j], output);
+ test_cleanup(&display, output);
+ }
+ }
+ igt_subtest("fade_with_suspend") {
+ for (int j = 0; j < (dual_edp ? 2 : 1); j++) {
+ test_setup(display, &contexts->output[j]);
+ igt_assert(backlight_read(&contexts[j].max, "max_brightness", &contexts[j]) > -1);
+ test_fade_with_suspend(&contexts[j], output);
+ test_cleanup(&display, output);
+ }
+ }
+
- igt_subtest("basic-brightness")
- test_brightness(&context);
- igt_subtest("bad-brightness")
- test_bad_brightness(&context);
- igt_subtest("fade")
- test_fade(&context);
- igt_subtest("fade_with_dpms")
- test_fade_with_dpms(&context, output);
- igt_subtest("fade_with_suspend")
- test_fade_with_suspend(&context, output);
igt_fixture {
/* Restore old brightness */
- backlight_write(old, "brightness");
+ for (int j = 0; j < (dual_edp ? 2 : 1); j++) {
+ backlight_write(old, "brightness", &contexts[j]);
+ }
igt_display_fini(&display);
- igt_remove_fb(display.drm_fd, &fb);
igt_pm_restore_sata_link_power_management();
close(display.drm_fd);
}
--
1.9.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [igt-dev] [PATCH 2/2] tests/i915/i915_pm_backlight: Create dynamic subtests
2022-11-14 6:40 [igt-dev] [PATCH 0/2] Add new subtest and test cleanup Nidhi Gupta
2022-11-14 6:40 ` [igt-dev] [PATCH 1/2] tests/i915/i915_pm_backlight: Add new subtest to validate dual panel backlight Nidhi Gupta
@ 2022-11-14 6:40 ` Nidhi Gupta
2022-11-14 7:50 ` Hogander, Jouni
2022-11-14 8:44 ` [igt-dev] ✓ Fi.CI.BAT: success for Add new subtest and test cleanup Patchwork
2022-11-14 11:30 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
3 siblings, 1 reply; 10+ messages in thread
From: Nidhi Gupta @ 2022-11-14 6:40 UTC (permalink / raw)
To: igt-dev; +Cc: Nidhi Gupta
Modified the test to include dynamic subtests.
Signed-off-by: Nidhi Gupta <nidhi1.gupta@intel.com>
---
tests/i915/i915_pm_backlight.c | 109 +++++++++++++++++++++--------------------
1 file changed, 56 insertions(+), 53 deletions(-)
diff --git a/tests/i915/i915_pm_backlight.c b/tests/i915/i915_pm_backlight.c
index fdf1315..a25ff13 100644
--- a/tests/i915/i915_pm_backlight.c
+++ b/tests/i915/i915_pm_backlight.c
@@ -66,7 +66,8 @@ static int backlight_read(int *result, const char *fname, struct context *contex
char dst[512];
int r, e;
- igt_assert(snprintf(full, PATH_MAX, "%s/%s/%s", BACKLIGHT_PATH, context->path, fname) < PATH_MAX);
+ if (snprintf(full, PATH_MAX, "%s/%s/%s", BACKLIGHT_PATH, context->path, fname) > PATH_MAX)
+ return -errno;
fd = open(full, O_RDONLY);
if (fd == -1)
return -errno;
@@ -90,7 +91,8 @@ static int backlight_write(int value, const char *fname, struct context *context
char src[64];
int len;
- igt_assert(snprintf(full, PATH_MAX, "%s/%s/%s", BACKLIGHT_PATH, context->path, fname) < PATH_MAX);
+ if (snprintf(full, PATH_MAX, "%s/%s/%s", BACKLIGHT_PATH, context->path, fname) > PATH_MAX)
+ return -errno;
fd = open(full, O_WRONLY);
if (fd == -1)
return -errno;
@@ -163,30 +165,32 @@ static void test_fade(struct context *context)
}
}
-static void
-test_fade_with_dpms(struct context *context, igt_output_t *output)
+static int
+check_dpms(igt_output_t *output)
{
- igt_require(igt_setup_runtime_pm(output->display->drm_fd));
+ if ((igt_setup_runtime_pm(output->display->drm_fd)) == 0)
+ return -errno;
kmstest_set_connector_dpms(output->display->drm_fd,
output->config.connector,
DRM_MODE_DPMS_OFF);
- igt_require(igt_wait_for_pm_status(IGT_RUNTIME_PM_STATUS_SUSPENDED));
+ if ((igt_wait_for_pm_status(IGT_RUNTIME_PM_STATUS_SUSPENDED)) == 0)
+ return -errno;
kmstest_set_connector_dpms(output->display->drm_fd,
output->config.connector,
DRM_MODE_DPMS_ON);
- igt_assert(igt_wait_for_pm_status(IGT_RUNTIME_PM_STATUS_ACTIVE));
+ if ((igt_wait_for_pm_status(IGT_RUNTIME_PM_STATUS_ACTIVE)) == 0)
+ return -errno;
+
+ return 1;
- test_fade(context);
}
static void
-test_fade_with_suspend(struct context *context, igt_output_t *output)
+check_suspend(igt_output_t *output)
{
igt_system_suspend_autoresume(SUSPEND_STATE_MEM, SUSPEND_TEST_NONE);
-
- test_fade(context);
}
static void test_cleanup(igt_display_t *display, igt_output_t *output)
@@ -228,13 +232,25 @@ static void test_setup(igt_display_t display, igt_output_t *output)
igt_main
{
- int old, fd;
- int i = 0;
+ int old[NUM_EDP_OUTPUTS], fd;
+ int i = 0, ret = 0;
igt_display_t display;
igt_output_t *output;
char file_path_n[PATH_MAX] = "";
bool dual_edp = false;
struct context contexts[NUM_EDP_OUTPUTS];
+ struct {
+ const char *name;
+ const char *desc;
+ void (*test_t) (struct context *);
+ int flags;
+ } tests[] = {
+ { "basic-brightness", "test the basic brightness.", test_brightness, TEST_NONE },
+ { "bad-brightness", "test the bad brightness.", test_bad_brightness, TEST_NONE },
+ { "fade", "test basic fade.", test_fade, TEST_NONE },
+ { "fade-with-dpms", "test the fade with DPMS.", test_fade, TEST_DPMS },
+ { "fade-with-suspend", "test the fade with suspend.", test_fade, TEST_SUSPEND },
+ };
igt_fixture {
bool found = false;
@@ -289,54 +305,41 @@ igt_main
igt_require_f(found, "No valid output found.\n");
}
- igt_subtest("basic-brightness") {
- for (int j = 0; j < (dual_edp ? 2 : 1); j++) {
- test_setup(display, &contexts->output[j]);
- igt_assert(backlight_read(&contexts[j].max, "max_brightness", &contexts[j]) > -1);
- test_brightness(&contexts[j]);
- test_cleanup(&display, output);
- }
- }
- igt_subtest("bad-brightness") {
- for (int j = 0; j < (dual_edp ? 2 : 1); j++) {
- test_setup(display, &contexts->output[j]);
- igt_assert(backlight_read(&contexts[j].max, "max_brightness", &contexts[j]) > -1);
- test_bad_brightness(&contexts[j]);
- test_cleanup(&display, output);
- }
- }
- igt_subtest("fade") {
- for (int j = 0; j < (dual_edp ? 2 : 1); j++) {
- test_setup(display, &contexts->output[j]);
- igt_assert(backlight_read(&contexts[j].max, "max_brightness", &contexts[j]) > -1);
- test_fade(&contexts[j]);
- test_cleanup(&display, output);
- }
- }
- igt_subtest("fade_with_dpms") {
- for (int j = 0; j < (dual_edp ? 2 : 1); j++) {
- test_setup(display, &contexts->output[j]);
- igt_assert(backlight_read(&contexts[j].max, "max_brightness", &contexts[j]) > -1);
- test_fade_with_dpms(&contexts[j], output);
- test_cleanup(&display, output);
- }
- }
- igt_subtest("fade_with_suspend") {
- for (int j = 0; j < (dual_edp ? 2 : 1); j++) {
- test_setup(display, &contexts->output[j]);
- igt_assert(backlight_read(&contexts[j].max, "max_brightness", &contexts[j]) > -1);
- test_fade_with_suspend(&contexts[j], output);
- test_cleanup(&display, output);
+ for (i = 0; i < ARRAY_SIZE(tests); i++) {
+ igt_describe(tests[i].desc);
+ igt_subtest_with_dynamic(tests[i].name) {
+ for (int j = 0; j < (dual_edp ? 2 : 1); j++) {
+ test_setup(display, &contexts->output[j]);
+
+ if (backlight_read(&old[j], "brightness", &contexts[j]))
+ continue;
+
+ if (tests[i].flags == TEST_DPMS) {
+ ret = check_dpms(contexts[j].output);
+ if (ret == 0)
+ continue;
+ }
+
+ if (tests[i].flags == TEST_SUSPEND)
+ check_suspend(contexts[j].output);
+
+ igt_dynamic_f("%s", igt_output_name(contexts[j].output)) {
+ igt_assert(backlight_read(&contexts[j].max, "max_brightness", &contexts[j]) > -1);
+ tests[i].test_t(&contexts[j]);
+ }
+
+ test_cleanup(&display, output);
+ }
+ /* TODO: Add tests for dual eDP. */
}
}
-
igt_fixture {
/* Restore old brightness */
for (int j = 0; j < (dual_edp ? 2 : 1); j++) {
- backlight_write(old, "brightness", &contexts[j]);
+ backlight_write(old[j], "brightness", &contexts[j]);
}
igt_display_fini(&display);
--
1.9.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [igt-dev] [PATCH 1/2] tests/i915/i915_pm_backlight: Add new subtest to validate dual panel backlight
2022-11-14 6:40 ` [igt-dev] [PATCH 1/2] tests/i915/i915_pm_backlight: Add new subtest to validate dual panel backlight Nidhi Gupta
@ 2022-11-14 7:20 ` Hogander, Jouni
2022-11-14 7:46 ` Hogander, Jouni
1 sibling, 0 replies; 10+ messages in thread
From: Hogander, Jouni @ 2022-11-14 7:20 UTC (permalink / raw)
To: igt-dev@lists.freedesktop.org, Gupta, Nidhi1
Hello Nidhi,
As igt is following kernel coding style: you can use
scripts/checkpatch.pl from Linux kernel tree to check your patches.
See also my inline comments below.
On Mon, 2022-11-14 at 12:10 +0530, Nidhi Gupta wrote:
> Since driver can now support multiple eDPs and Debugfs structure for
> backlight changed per connector the test should then iterate through
> all eDP connectors.
>
> Signed-off-by: Nidhi Gupta <nidhi1.gupta@intel.com>
> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
> ---
> tests/i915/i915_pm_backlight.c | 208 +++++++++++++++++++++++++++++--
> ----------
> 1 file changed, 148 insertions(+), 60 deletions(-)
>
> diff --git a/tests/i915/i915_pm_backlight.c
> b/tests/i915/i915_pm_backlight.c
> index cafae7f..fdf1315 100644
> --- a/tests/i915/i915_pm_backlight.c
> +++ b/tests/i915/i915_pm_backlight.c
> @@ -34,29 +34,39 @@
> #include <errno.h>
> #include <unistd.h>
> #include <time.h>
> +#include "igt_device.h"
> +#include "igt_device_scan.h"
>
> struct context {
> int max;
> + igt_output_t *output;
> + char path[PATH_MAX];
> };
>
> +enum {
> + TEST_NONE = 0,
> + TEST_DPMS,
> + TEST_SUSPEND,
> +};
>
> #define TOLERANCE 5 /* percent */
> -#define BACKLIGHT_PATH "/sys/class/backlight/intel_backlight"
> +#define BACKLIGHT_PATH "/sys/class/backlight"
>
> #define FADESTEPS 10
> #define FADESPEED 100 /* milliseconds between steps */
>
> +#define NUM_EDP_OUTPUTS 2
> +
> IGT_TEST_DESCRIPTION("Basic backlight sysfs test");
>
> -static int backlight_read(int *result, const char *fname)
> +static int backlight_read(int *result, const char *fname, struct
> context *context)
> {
> int fd;
> char full[PATH_MAX];
> - char dst[64];
> + char dst[512];
This change is not needed?
> int r, e;
>
> - igt_assert(snprintf(full, PATH_MAX, "%s/%s", BACKLIGHT_PATH,
> fname) < PATH_MAX);
> -
> + igt_assert(snprintf(full, PATH_MAX, "%s/%s/%s",
> BACKLIGHT_PATH, context->path, fname) < PATH_MAX);
> fd = open(full, O_RDONLY);
> if (fd == -1)
> return -errno;
> @@ -73,14 +83,14 @@ static int backlight_read(int *result, const char
> *fname)
> return errno;
> }
>
> -static int backlight_write(int value, const char *fname)
> +static int backlight_write(int value, const char *fname, struct
> context *context)
> {
> int fd;
> char full[PATH_MAX];
> char src[64];
> int len;
>
> - igt_assert(snprintf(full, PATH_MAX, "%s/%s", BACKLIGHT_PATH,
> fname) < PATH_MAX);
> + igt_assert(snprintf(full, PATH_MAX, "%s/%s/%s",
> BACKLIGHT_PATH, context->path, fname) < PATH_MAX);
> fd = open(full, O_WRONLY);
> if (fd == -1)
> return -errno;
> @@ -100,12 +110,12 @@ static void test_and_verify(struct context
> *context, int val)
> const int tolerance = val * TOLERANCE / 100;
> int result;
>
> - igt_assert_eq(backlight_write(val, "brightness"), 0);
> - igt_assert_eq(backlight_read(&result, "brightness"), 0);
> + igt_assert_eq(backlight_write(val, "brightness", context),
> 0);
> + igt_assert_eq(backlight_read(&result, "brightness", context),
> 0);
> /* Check that the exact value sticks */
> igt_assert_eq(result, val);
>
> - igt_assert_eq(backlight_read(&result, "actual_brightness"),
> 0);
> + igt_assert_eq(backlight_read(&result, "actual_brightness",
> context), 0);
> /* Some rounding may happen depending on hw */
> igt_assert_f(result >= max(0, val - tolerance) &&
> result <= min(context->max, val + tolerance),
> @@ -124,16 +134,16 @@ static void test_bad_brightness(struct context
> *context)
> {
> int val;
> /* First write some sane value */
> - backlight_write(context->max / 2, "brightness");
> + backlight_write(context->max / 2, "brightness", context);
> /* Writing invalid values should fail and not change the
> value */
> - igt_assert_lt(backlight_write(-1, "brightness"), 0);
> - backlight_read(&val, "brightness");
> + igt_assert_lt(backlight_write(-1, "brightness", context), 0);
> + backlight_read(&val, "brightness", context);
> igt_assert_eq(val, context->max / 2);
> - igt_assert_lt(backlight_write(context->max + 1,
> "brightness"), 0);
> - backlight_read(&val, "brightness");
> + igt_assert_lt(backlight_write(context->max + 1, "brightness",
> context), 0);
> + backlight_read(&val, "brightness", context);
> igt_assert_eq(val, context->max / 2);
> - igt_assert_lt(backlight_write(INT_MAX, "brightness"), 0);
> - backlight_read(&val, "brightness");
> + igt_assert_lt(backlight_write(INT_MAX, "brightness",
> context), 0);
> + backlight_read(&val, "brightness", context);
> igt_assert_eq(val, context->max / 2);
> }
>
> @@ -179,21 +189,57 @@ test_fade_with_suspend(struct context *context,
> igt_output_t *output)
> test_fade(context);
> }
>
> +static void test_cleanup(igt_display_t *display, igt_output_t
> *output)
> +{
> + igt_output_set_pipe(output, PIPE_NONE);
> + igt_display_commit2(display, display->is_atomic ?
> COMMIT_ATOMIC : COMMIT_LEGACY);
> + igt_pm_restore_sata_link_power_management();
> +}
> +
> +static void test_setup(igt_display_t display, igt_output_t *output)
> +{
> + igt_plane_t *primary;
> + drmModeModeInfo *mode;
> + struct igt_fb fb;
> + enum pipe pipe;
> +
> + igt_display_reset(&display);
> +
> + for_each_pipe(&display, pipe) {
> + if (!igt_pipe_connector_valid(pipe, output))
> + continue;
> +
> + igt_output_set_pipe(output, pipe);
> + mode = igt_output_get_mode(output);
> +
> + igt_create_pattern_fb(display.drm_fd,
> + mode->hdisplay, mode->vdisplay,
> + DRM_FORMAT_XRGB8888,
> + DRM_FORMAT_MOD_LINEAR, &fb);
> + primary = igt_output_get_plane_type(output,
> DRM_PLANE_TYPE_PRIMARY);
> + igt_plane_set_fb(primary, &fb);
> +
> + igt_display_commit2(&display, display.is_atomic ?
> COMMIT_ATOMIC : COMMIT_LEGACY);
> + igt_pm_enable_sata_link_power_management();
> +
> + break;
> + }
> +}
> +
> igt_main
> {
> - struct context context = {0};
> - int old;
> + int old, fd;
> + int i = 0;
> igt_display_t display;
> igt_output_t *output;
> - struct igt_fb fb;
> + char file_path_n[PATH_MAX] = "";
> + bool dual_edp = false;
> + struct context contexts[NUM_EDP_OUTPUTS];
>
> igt_fixture {
> - enum pipe pipe;
> bool found = false;
> char full_name[32] = {};
> char *name;
> - drmModeModeInfo *mode;
> - igt_plane_t *primary;
>
> /*
> * Backlight tests requires the output to be enabled,
> @@ -202,56 +248,98 @@ igt_main
> kmstest_set_vt_graphics_mode();
> igt_display_require(&display,
> drm_open_driver(DRIVER_INTEL));
>
> - /* Get the max value and skip the whole test if sysfs
> interface not available */
> - igt_skip_on(backlight_read(&old, "brightness"));
> - igt_assert(backlight_read(&context.max,
> "max_brightness") > -1);
> + for_each_connected_output(&display, output) {
> + if (output->config.connector->connector_type
> != DRM_MODE_CONNECTOR_eDP)
> + continue;
>
> - /* should be ../../cardX-$output */
> - igt_assert_lt(12, readlink(BACKLIGHT_PATH "/device",
> full_name, sizeof(full_name) - 1));
> - name = basename(full_name);
> + if (found)
> + snprintf(file_path_n, PATH_MAX,
> "%s/card%i-%s-backlight/brightness",
> + BACKLIGHT_PATH,
> igt_device_get_card_index(display.drm_fd),
> + igt_output_name(output));
> + else
> + snprintf(file_path_n, PATH_MAX,
> "%s/intel_backlight/brightness", BACKLIGHT_PATH);
>
> - for_each_pipe_with_valid_output(&display, pipe,
> output) {
> - if (strcmp(name + 6, output->name))
> + fd = open(file_path_n, O_RDONLY);
> + if (fd == -1) {
> continue;
> - found = true;
> - break;
> + }
> + if (found)
> + snprintf(contexts[i].path, PATH_MAX,
> "card%i-%s-backlight",
> +
> igt_device_get_card_index(display.drm_fd),
> + igt_output_name(output));
> + else
> + snprintf(contexts[i].path, PATH_MAX,
> "intel_backlight");
> +
> + close(fd);
> +
> + /* should be ../../cardX-$output */
> + snprintf(file_path_n, PATH_MAX,
> "%s/%s/device", BACKLIGHT_PATH, contexts[i].path);
> + igt_assert_lt(16, readlink(file_path_n,
> full_name, sizeof(full_name) - 1));
> + name = basename(full_name);
> +
> + if (!strcmp(name + 6, output->name)) {
> + contexts[i++].output = output;
> +
> + if (found)
> + dual_edp = true;
> + else
> + found = true;
> + }
> }
> + igt_require_f(found, "No valid output found.\n");
> + }
>
> - igt_require_f(found,
> - "Could not map backlight for \"%s\" to
> connected output\n",
> - name);
> -
> - igt_output_set_pipe(output, pipe);
> - mode = igt_output_get_mode(output);
> -
> - igt_create_pattern_fb(display.drm_fd,
> - mode->hdisplay, mode->vdisplay,
> - DRM_FORMAT_XRGB8888,
> - DRM_FORMAT_MOD_LINEAR, &fb);
> - primary = igt_output_get_plane_type(output,
> DRM_PLANE_TYPE_PRIMARY);
> - igt_plane_set_fb(primary, &fb);
> + igt_subtest("basic-brightness") {
> + for (int j = 0; j < (dual_edp ? 2 : 1); j++) {
I think you can use existing variable "i" in these loops as well.
> + test_setup(display, &contexts->output[j]);
> + igt_assert(backlight_read(&contexts[j].max,
> "max_brightness", &contexts[j]) > -1);
> + test_brightness(&contexts[j]);
> + test_cleanup(&display, output);
> + }
> + }
>
> - igt_display_commit2(&display, display.is_atomic ?
> COMMIT_ATOMIC : COMMIT_LEGACY);
> - igt_pm_enable_sata_link_power_management();
> + igt_subtest("bad-brightness") {
> + for (int j = 0; j < (dual_edp ? 2 : 1); j++) {
> + test_setup(display, &contexts->output[j]);
> + igt_assert(backlight_read(&contexts[j].max,
> "max_brightness", &contexts[j]) > -1);
> + test_bad_brightness(&contexts[j]);
> + test_cleanup(&display, output);
> + }
> + }
> + igt_subtest("fade") {
> + for (int j = 0; j < (dual_edp ? 2 : 1); j++) {
> + test_setup(display, &contexts->output[j]);
> + igt_assert(backlight_read(&contexts[j].max,
> "max_brightness", &contexts[j]) > -1);
> + test_fade(&contexts[j]);
> + test_cleanup(&display, output);
> + }
> }
> + igt_subtest("fade_with_dpms") {
> + for (int j = 0; j < (dual_edp ? 2 : 1); j++) {
> + test_setup(display, &contexts->output[j]);
> + igt_assert(backlight_read(&contexts[j].max,
> "max_brightness", &contexts[j]) > -1);
> + test_fade_with_dpms(&contexts[j], output);
> + test_cleanup(&display, output);
> + }
> + }
> + igt_subtest("fade_with_suspend") {
> + for (int j = 0; j < (dual_edp ? 2 : 1); j++) {
> + test_setup(display, &contexts->output[j]);
> + igt_assert(backlight_read(&contexts[j].max,
> "max_brightness", &contexts[j]) > -1);
> + test_fade_with_suspend(&contexts[j], output);
> + test_cleanup(&display, output);
> + }
> + }
> +
>
> - igt_subtest("basic-brightness")
> - test_brightness(&context);
> - igt_subtest("bad-brightness")
> - test_bad_brightness(&context);
> - igt_subtest("fade")
> - test_fade(&context);
> - igt_subtest("fade_with_dpms")
> - test_fade_with_dpms(&context, output);
> - igt_subtest("fade_with_suspend")
> - test_fade_with_suspend(&context, output);
>
> igt_fixture {
> /* Restore old brightness */
> - backlight_write(old, "brightness");
> + for (int j = 0; j < (dual_edp ? 2 : 1); j++) {
> + backlight_write(old, "brightness",
> &contexts[j]);
> + }
>
> igt_display_fini(&display);
> - igt_remove_fb(display.drm_fd, &fb);
> igt_pm_restore_sata_link_power_management();
> close(display.drm_fd);
> }
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [igt-dev] [PATCH 1/2] tests/i915/i915_pm_backlight: Add new subtest to validate dual panel backlight
2022-11-14 6:40 ` [igt-dev] [PATCH 1/2] tests/i915/i915_pm_backlight: Add new subtest to validate dual panel backlight Nidhi Gupta
2022-11-14 7:20 ` Hogander, Jouni
@ 2022-11-14 7:46 ` Hogander, Jouni
1 sibling, 0 replies; 10+ messages in thread
From: Hogander, Jouni @ 2022-11-14 7:46 UTC (permalink / raw)
To: igt-dev@lists.freedesktop.org, Gupta, Nidhi1
Hello,
One more comment below.
On Mon, 2022-11-14 at 12:10 +0530, Nidhi Gupta wrote:
> Since driver can now support multiple eDPs and Debugfs structure for
> backlight changed per connector the test should then iterate through
> all eDP connectors.
>
> Signed-off-by: Nidhi Gupta <nidhi1.gupta@intel.com>
> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
> ---
> tests/i915/i915_pm_backlight.c | 208 +++++++++++++++++++++++++++++--
> ----------
> 1 file changed, 148 insertions(+), 60 deletions(-)
>
> diff --git a/tests/i915/i915_pm_backlight.c
> b/tests/i915/i915_pm_backlight.c
> index cafae7f..fdf1315 100644
> --- a/tests/i915/i915_pm_backlight.c
> +++ b/tests/i915/i915_pm_backlight.c
> @@ -34,29 +34,39 @@
> #include <errno.h>
> #include <unistd.h>
> #include <time.h>
> +#include "igt_device.h"
> +#include "igt_device_scan.h"
>
> struct context {
> int max;
> + igt_output_t *output;
> + char path[PATH_MAX];
> };
>
> +enum {
> + TEST_NONE = 0,
> + TEST_DPMS,
> + TEST_SUSPEND,
> +};
>
These should go to the second patch.
> #define TOLERANCE 5 /* percent */
> -#define BACKLIGHT_PATH "/sys/class/backlight/intel_backlight"
> +#define BACKLIGHT_PATH "/sys/class/backlight"
>
> #define FADESTEPS 10
> #define FADESPEED 100 /* milliseconds between steps */
>
> +#define NUM_EDP_OUTPUTS 2
> +
> IGT_TEST_DESCRIPTION("Basic backlight sysfs test");
>
> -static int backlight_read(int *result, const char *fname)
> +static int backlight_read(int *result, const char *fname, struct
> context *context)
> {
> int fd;
> char full[PATH_MAX];
> - char dst[64];
> + char dst[512];
> int r, e;
>
> - igt_assert(snprintf(full, PATH_MAX, "%s/%s", BACKLIGHT_PATH,
> fname) < PATH_MAX);
> -
> + igt_assert(snprintf(full, PATH_MAX, "%s/%s/%s",
> BACKLIGHT_PATH, context->path, fname) < PATH_MAX);
> fd = open(full, O_RDONLY);
> if (fd == -1)
> return -errno;
> @@ -73,14 +83,14 @@ static int backlight_read(int *result, const char
> *fname)
> return errno;
> }
>
> -static int backlight_write(int value, const char *fname)
> +static int backlight_write(int value, const char *fname, struct
> context *context)
> {
> int fd;
> char full[PATH_MAX];
> char src[64];
> int len;
>
> - igt_assert(snprintf(full, PATH_MAX, "%s/%s", BACKLIGHT_PATH,
> fname) < PATH_MAX);
> + igt_assert(snprintf(full, PATH_MAX, "%s/%s/%s",
> BACKLIGHT_PATH, context->path, fname) < PATH_MAX);
> fd = open(full, O_WRONLY);
> if (fd == -1)
> return -errno;
> @@ -100,12 +110,12 @@ static void test_and_verify(struct context
> *context, int val)
> const int tolerance = val * TOLERANCE / 100;
> int result;
>
> - igt_assert_eq(backlight_write(val, "brightness"), 0);
> - igt_assert_eq(backlight_read(&result, "brightness"), 0);
> + igt_assert_eq(backlight_write(val, "brightness", context),
> 0);
> + igt_assert_eq(backlight_read(&result, "brightness", context),
> 0);
> /* Check that the exact value sticks */
> igt_assert_eq(result, val);
>
> - igt_assert_eq(backlight_read(&result, "actual_brightness"),
> 0);
> + igt_assert_eq(backlight_read(&result, "actual_brightness",
> context), 0);
> /* Some rounding may happen depending on hw */
> igt_assert_f(result >= max(0, val - tolerance) &&
> result <= min(context->max, val + tolerance),
> @@ -124,16 +134,16 @@ static void test_bad_brightness(struct context
> *context)
> {
> int val;
> /* First write some sane value */
> - backlight_write(context->max / 2, "brightness");
> + backlight_write(context->max / 2, "brightness", context);
> /* Writing invalid values should fail and not change the
> value */
> - igt_assert_lt(backlight_write(-1, "brightness"), 0);
> - backlight_read(&val, "brightness");
> + igt_assert_lt(backlight_write(-1, "brightness", context), 0);
> + backlight_read(&val, "brightness", context);
> igt_assert_eq(val, context->max / 2);
> - igt_assert_lt(backlight_write(context->max + 1,
> "brightness"), 0);
> - backlight_read(&val, "brightness");
> + igt_assert_lt(backlight_write(context->max + 1, "brightness",
> context), 0);
> + backlight_read(&val, "brightness", context);
> igt_assert_eq(val, context->max / 2);
> - igt_assert_lt(backlight_write(INT_MAX, "brightness"), 0);
> - backlight_read(&val, "brightness");
> + igt_assert_lt(backlight_write(INT_MAX, "brightness",
> context), 0);
> + backlight_read(&val, "brightness", context);
> igt_assert_eq(val, context->max / 2);
> }
>
> @@ -179,21 +189,57 @@ test_fade_with_suspend(struct context *context,
> igt_output_t *output)
> test_fade(context);
> }
>
> +static void test_cleanup(igt_display_t *display, igt_output_t
> *output)
> +{
> + igt_output_set_pipe(output, PIPE_NONE);
> + igt_display_commit2(display, display->is_atomic ?
> COMMIT_ATOMIC : COMMIT_LEGACY);
> + igt_pm_restore_sata_link_power_management();
> +}
> +
> +static void test_setup(igt_display_t display, igt_output_t *output)
> +{
> + igt_plane_t *primary;
> + drmModeModeInfo *mode;
> + struct igt_fb fb;
> + enum pipe pipe;
> +
> + igt_display_reset(&display);
> +
> + for_each_pipe(&display, pipe) {
> + if (!igt_pipe_connector_valid(pipe, output))
> + continue;
> +
> + igt_output_set_pipe(output, pipe);
> + mode = igt_output_get_mode(output);
> +
> + igt_create_pattern_fb(display.drm_fd,
> + mode->hdisplay, mode->vdisplay,
> + DRM_FORMAT_XRGB8888,
> + DRM_FORMAT_MOD_LINEAR, &fb);
> + primary = igt_output_get_plane_type(output,
> DRM_PLANE_TYPE_PRIMARY);
> + igt_plane_set_fb(primary, &fb);
> +
> + igt_display_commit2(&display, display.is_atomic ?
> COMMIT_ATOMIC : COMMIT_LEGACY);
> + igt_pm_enable_sata_link_power_management();
> +
> + break;
> + }
> +}
> +
> igt_main
> {
> - struct context context = {0};
> - int old;
> + int old, fd;
> + int i = 0;
> igt_display_t display;
> igt_output_t *output;
> - struct igt_fb fb;
> + char file_path_n[PATH_MAX] = "";
> + bool dual_edp = false;
> + struct context contexts[NUM_EDP_OUTPUTS];
>
> igt_fixture {
> - enum pipe pipe;
> bool found = false;
> char full_name[32] = {};
> char *name;
> - drmModeModeInfo *mode;
> - igt_plane_t *primary;
>
> /*
> * Backlight tests requires the output to be enabled,
> @@ -202,56 +248,98 @@ igt_main
> kmstest_set_vt_graphics_mode();
> igt_display_require(&display,
> drm_open_driver(DRIVER_INTEL));
>
> - /* Get the max value and skip the whole test if sysfs
> interface not available */
> - igt_skip_on(backlight_read(&old, "brightness"));
> - igt_assert(backlight_read(&context.max,
> "max_brightness") > -1);
> + for_each_connected_output(&display, output) {
> + if (output->config.connector->connector_type
> != DRM_MODE_CONNECTOR_eDP)
> + continue;
>
> - /* should be ../../cardX-$output */
> - igt_assert_lt(12, readlink(BACKLIGHT_PATH "/device",
> full_name, sizeof(full_name) - 1));
> - name = basename(full_name);
> + if (found)
> + snprintf(file_path_n, PATH_MAX,
> "%s/card%i-%s-backlight/brightness",
> + BACKLIGHT_PATH,
> igt_device_get_card_index(display.drm_fd),
> + igt_output_name(output));
> + else
> + snprintf(file_path_n, PATH_MAX,
> "%s/intel_backlight/brightness", BACKLIGHT_PATH);
>
> - for_each_pipe_with_valid_output(&display, pipe,
> output) {
> - if (strcmp(name + 6, output->name))
> + fd = open(file_path_n, O_RDONLY);
> + if (fd == -1) {
> continue;
> - found = true;
> - break;
> + }
> + if (found)
> + snprintf(contexts[i].path, PATH_MAX,
> "card%i-%s-backlight",
> +
> igt_device_get_card_index(display.drm_fd),
> + igt_output_name(output));
> + else
> + snprintf(contexts[i].path, PATH_MAX,
> "intel_backlight");
> +
> + close(fd);
> +
> + /* should be ../../cardX-$output */
> + snprintf(file_path_n, PATH_MAX,
> "%s/%s/device", BACKLIGHT_PATH, contexts[i].path);
> + igt_assert_lt(16, readlink(file_path_n,
> full_name, sizeof(full_name) - 1));
> + name = basename(full_name);
> +
> + if (!strcmp(name + 6, output->name)) {
> + contexts[i++].output = output;
> +
> + if (found)
> + dual_edp = true;
> + else
> + found = true;
> + }
> }
> + igt_require_f(found, "No valid output found.\n");
> + }
>
> - igt_require_f(found,
> - "Could not map backlight for \"%s\" to
> connected output\n",
> - name);
> -
> - igt_output_set_pipe(output, pipe);
> - mode = igt_output_get_mode(output);
> -
> - igt_create_pattern_fb(display.drm_fd,
> - mode->hdisplay, mode->vdisplay,
> - DRM_FORMAT_XRGB8888,
> - DRM_FORMAT_MOD_LINEAR, &fb);
> - primary = igt_output_get_plane_type(output,
> DRM_PLANE_TYPE_PRIMARY);
> - igt_plane_set_fb(primary, &fb);
> + igt_subtest("basic-brightness") {
> + for (int j = 0; j < (dual_edp ? 2 : 1); j++) {
> + test_setup(display, &contexts->output[j]);
> + igt_assert(backlight_read(&contexts[j].max,
> "max_brightness", &contexts[j]) > -1);
> + test_brightness(&contexts[j]);
> + test_cleanup(&display, output);
> + }
> + }
>
> - igt_display_commit2(&display, display.is_atomic ?
> COMMIT_ATOMIC : COMMIT_LEGACY);
> - igt_pm_enable_sata_link_power_management();
> + igt_subtest("bad-brightness") {
> + for (int j = 0; j < (dual_edp ? 2 : 1); j++) {
> + test_setup(display, &contexts->output[j]);
> + igt_assert(backlight_read(&contexts[j].max,
> "max_brightness", &contexts[j]) > -1);
> + test_bad_brightness(&contexts[j]);
> + test_cleanup(&display, output);
> + }
> + }
> + igt_subtest("fade") {
> + for (int j = 0; j < (dual_edp ? 2 : 1); j++) {
> + test_setup(display, &contexts->output[j]);
> + igt_assert(backlight_read(&contexts[j].max,
> "max_brightness", &contexts[j]) > -1);
> + test_fade(&contexts[j]);
> + test_cleanup(&display, output);
> + }
> }
> + igt_subtest("fade_with_dpms") {
> + for (int j = 0; j < (dual_edp ? 2 : 1); j++) {
> + test_setup(display, &contexts->output[j]);
> + igt_assert(backlight_read(&contexts[j].max,
> "max_brightness", &contexts[j]) > -1);
> + test_fade_with_dpms(&contexts[j], output);
> + test_cleanup(&display, output);
> + }
> + }
> + igt_subtest("fade_with_suspend") {
> + for (int j = 0; j < (dual_edp ? 2 : 1); j++) {
> + test_setup(display, &contexts->output[j]);
> + igt_assert(backlight_read(&contexts[j].max,
> "max_brightness", &contexts[j]) > -1);
> + test_fade_with_suspend(&contexts[j], output);
> + test_cleanup(&display, output);
> + }
> + }
> +
>
> - igt_subtest("basic-brightness")
> - test_brightness(&context);
> - igt_subtest("bad-brightness")
> - test_bad_brightness(&context);
> - igt_subtest("fade")
> - test_fade(&context);
> - igt_subtest("fade_with_dpms")
> - test_fade_with_dpms(&context, output);
> - igt_subtest("fade_with_suspend")
> - test_fade_with_suspend(&context, output);
>
> igt_fixture {
> /* Restore old brightness */
> - backlight_write(old, "brightness");
> + for (int j = 0; j < (dual_edp ? 2 : 1); j++) {
> + backlight_write(old, "brightness",
> &contexts[j]);
> + }
>
> igt_display_fini(&display);
> - igt_remove_fb(display.drm_fd, &fb);
> igt_pm_restore_sata_link_power_management();
> close(display.drm_fd);
> }
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [igt-dev] [PATCH 2/2] tests/i915/i915_pm_backlight: Create dynamic subtests
2022-11-14 6:40 ` [igt-dev] [PATCH 2/2] tests/i915/i915_pm_backlight: Create dynamic subtests Nidhi Gupta
@ 2022-11-14 7:50 ` Hogander, Jouni
0 siblings, 0 replies; 10+ messages in thread
From: Hogander, Jouni @ 2022-11-14 7:50 UTC (permalink / raw)
To: igt-dev@lists.freedesktop.org, Gupta, Nidhi1
On Mon, 2022-11-14 at 12:10 +0530, Nidhi Gupta wrote:
> Modified the test to include dynamic subtests.
You could add a word or two about changes you have made. E.g. reasoning
for removing several assertion is not that obvious.
I think you could also split this into two. One adding that:
struct {
...
} tests[] = {
and iterating the array. Second patch converting to dynamic.
>
> Signed-off-by: Nidhi Gupta <nidhi1.gupta@intel.com>
> ---
> tests/i915/i915_pm_backlight.c | 109 +++++++++++++++++++++----------
> ----------
> 1 file changed, 56 insertions(+), 53 deletions(-)
>
> diff --git a/tests/i915/i915_pm_backlight.c
> b/tests/i915/i915_pm_backlight.c
> index fdf1315..a25ff13 100644
> --- a/tests/i915/i915_pm_backlight.c
> +++ b/tests/i915/i915_pm_backlight.c
> @@ -66,7 +66,8 @@ static int backlight_read(int *result, const char
> *fname, struct context *contex
> char dst[512];
> int r, e;
>
> - igt_assert(snprintf(full, PATH_MAX, "%s/%s/%s",
> BACKLIGHT_PATH, context->path, fname) < PATH_MAX);
> + if (snprintf(full, PATH_MAX, "%s/%s/%s", BACKLIGHT_PATH,
> context->path, fname) > PATH_MAX)
> + return -errno;
> fd = open(full, O_RDONLY);
> if (fd == -1)
> return -errno;
> @@ -90,7 +91,8 @@ static int backlight_write(int value, const char
> *fname, struct context *context
> char src[64];
> int len;
>
> - igt_assert(snprintf(full, PATH_MAX, "%s/%s/%s",
> BACKLIGHT_PATH, context->path, fname) < PATH_MAX);
> + if (snprintf(full, PATH_MAX, "%s/%s/%s", BACKLIGHT_PATH,
> context->path, fname) > PATH_MAX)
> + return -errno;
> fd = open(full, O_WRONLY);
> if (fd == -1)
> return -errno;
> @@ -163,30 +165,32 @@ static void test_fade(struct context *context)
> }
> }
>
> -static void
> -test_fade_with_dpms(struct context *context, igt_output_t *output)
> +static int
> +check_dpms(igt_output_t *output)
> {
> - igt_require(igt_setup_runtime_pm(output->display->drm_fd));
> + if ((igt_setup_runtime_pm(output->display->drm_fd)) == 0)
> + return -errno;
>
> kmstest_set_connector_dpms(output->display->drm_fd,
> output->config.connector,
> DRM_MODE_DPMS_OFF);
> -
> igt_require(igt_wait_for_pm_status(IGT_RUNTIME_PM_STATUS_SUSPEN
> DED));
> + if ((igt_wait_for_pm_status(IGT_RUNTIME_PM_STATUS_SUSPENDED))
> == 0)
> + return -errno;
>
> kmstest_set_connector_dpms(output->display->drm_fd,
> output->config.connector,
> DRM_MODE_DPMS_ON);
> -
> igt_assert(igt_wait_for_pm_status(IGT_RUNTIME_PM_STATUS_ACTIVE)
> );
> + if ((igt_wait_for_pm_status(IGT_RUNTIME_PM_STATUS_ACTIVE)) ==
> 0)
> + return -errno;
> +
> + return 1;
>
> - test_fade(context);
> }
>
> static void
> -test_fade_with_suspend(struct context *context, igt_output_t
> *output)
> +check_suspend(igt_output_t *output)
> {
> igt_system_suspend_autoresume(SUSPEND_STATE_MEM,
> SUSPEND_TEST_NONE);
> -
> - test_fade(context);
> }
>
> static void test_cleanup(igt_display_t *display, igt_output_t
> *output)
> @@ -228,13 +232,25 @@ static void test_setup(igt_display_t display,
> igt_output_t *output)
>
> igt_main
> {
> - int old, fd;
> - int i = 0;
> + int old[NUM_EDP_OUTPUTS], fd;
> + int i = 0, ret = 0;
> igt_display_t display;
> igt_output_t *output;
> char file_path_n[PATH_MAX] = "";
> bool dual_edp = false;
> struct context contexts[NUM_EDP_OUTPUTS];
> + struct {
> + const char *name;
> + const char *desc;
> + void (*test_t) (struct context *);
> + int flags;
> + } tests[] = {
> + { "basic-brightness", "test the basic brightness.",
> test_brightness, TEST_NONE },
> + { "bad-brightness", "test the bad brightness.",
> test_bad_brightness, TEST_NONE },
> + { "fade", "test basic fade.", test_fade, TEST_NONE },
> + { "fade-with-dpms", "test the fade with DPMS.",
> test_fade, TEST_DPMS },
> + { "fade-with-suspend", "test the fade with suspend.",
> test_fade, TEST_SUSPEND },
> + };
>
> igt_fixture {
> bool found = false;
> @@ -289,54 +305,41 @@ igt_main
> igt_require_f(found, "No valid output found.\n");
> }
>
> - igt_subtest("basic-brightness") {
> - for (int j = 0; j < (dual_edp ? 2 : 1); j++) {
> - test_setup(display, &contexts->output[j]);
> - igt_assert(backlight_read(&contexts[j].max,
> "max_brightness", &contexts[j]) > -1);
> - test_brightness(&contexts[j]);
> - test_cleanup(&display, output);
> - }
> - }
>
> - igt_subtest("bad-brightness") {
> - for (int j = 0; j < (dual_edp ? 2 : 1); j++) {
> - test_setup(display, &contexts->output[j]);
> - igt_assert(backlight_read(&contexts[j].max,
> "max_brightness", &contexts[j]) > -1);
> - test_bad_brightness(&contexts[j]);
> - test_cleanup(&display, output);
> - }
> - }
> - igt_subtest("fade") {
> - for (int j = 0; j < (dual_edp ? 2 : 1); j++) {
> - test_setup(display, &contexts->output[j]);
> - igt_assert(backlight_read(&contexts[j].max,
> "max_brightness", &contexts[j]) > -1);
> - test_fade(&contexts[j]);
> - test_cleanup(&display, output);
> - }
> - }
> - igt_subtest("fade_with_dpms") {
> - for (int j = 0; j < (dual_edp ? 2 : 1); j++) {
> - test_setup(display, &contexts->output[j]);
> - igt_assert(backlight_read(&contexts[j].max,
> "max_brightness", &contexts[j]) > -1);
> - test_fade_with_dpms(&contexts[j], output);
> - test_cleanup(&display, output);
> - }
> - }
> - igt_subtest("fade_with_suspend") {
> - for (int j = 0; j < (dual_edp ? 2 : 1); j++) {
> - test_setup(display, &contexts->output[j]);
> - igt_assert(backlight_read(&contexts[j].max,
> "max_brightness", &contexts[j]) > -1);
> - test_fade_with_suspend(&contexts[j], output);
> - test_cleanup(&display, output);
> + for (i = 0; i < ARRAY_SIZE(tests); i++) {
> + igt_describe(tests[i].desc);
> + igt_subtest_with_dynamic(tests[i].name) {
> + for (int j = 0; j < (dual_edp ? 2 : 1); j++)
> {
> + test_setup(display, &contexts-
> >output[j]);
> +
> + if (backlight_read(&old[j],
> "brightness", &contexts[j]))
> + continue;
> +
> + if (tests[i].flags == TEST_DPMS) {
> + ret =
> check_dpms(contexts[j].output);
> + if (ret == 0)
> + continue;
> + }
> +
> + if (tests[i].flags == TEST_SUSPEND)
> + check_suspend(contexts[j].out
> put);
> +
> + igt_dynamic_f("%s",
> igt_output_name(contexts[j].output)) {
> + igt_assert(backlight_read(&co
> ntexts[j].max, "max_brightness", &contexts[j]) > -1);
> + tests[i].test_t(&contexts[j])
> ;
> + }
> +
> + test_cleanup(&display, output);
> + }
> + /* TODO: Add tests for dual eDP. */
> }
> }
>
>
> -
> igt_fixture {
> /* Restore old brightness */
> for (int j = 0; j < (dual_edp ? 2 : 1); j++) {
> - backlight_write(old, "brightness",
> &contexts[j]);
> + backlight_write(old[j], "brightness",
> &contexts[j]);
> }
>
> igt_display_fini(&display);
^ permalink raw reply [flat|nested] 10+ messages in thread
* [igt-dev] ✓ Fi.CI.BAT: success for Add new subtest and test cleanup
2022-11-14 6:40 [igt-dev] [PATCH 0/2] Add new subtest and test cleanup Nidhi Gupta
2022-11-14 6:40 ` [igt-dev] [PATCH 1/2] tests/i915/i915_pm_backlight: Add new subtest to validate dual panel backlight Nidhi Gupta
2022-11-14 6:40 ` [igt-dev] [PATCH 2/2] tests/i915/i915_pm_backlight: Create dynamic subtests Nidhi Gupta
@ 2022-11-14 8:44 ` Patchwork
2022-11-14 11:30 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
3 siblings, 0 replies; 10+ messages in thread
From: Patchwork @ 2022-11-14 8:44 UTC (permalink / raw)
To: Nidhi Gupta; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 11853 bytes --]
== Series Details ==
Series: Add new subtest and test cleanup
URL : https://patchwork.freedesktop.org/series/110845/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_12374 -> IGTPW_8093
====================================================
Summary
-------
**WARNING**
Minor unknown changes coming with IGTPW_8093 need to be verified
manually.
If you think the reported changes have nothing to do with the changes
introduced in IGTPW_8093, 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_8093/index.html
Participating hosts (38 -> 37)
------------------------------
Additional (2): bat-rpls-2 bat-atsm-1
Missing (3): fi-hsw-4770 fi-bdw-samus fi-tgl-dsi
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in IGTPW_8093:
### IGT changes ###
#### Warnings ####
* igt@i915_pm_backlight@basic-brightness:
- fi-rkl-guc: [SKIP][1] ([i915#3012]) -> [SKIP][2]
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12374/fi-rkl-guc/igt@i915_pm_backlight@basic-brightness.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/fi-rkl-guc/igt@i915_pm_backlight@basic-brightness.html
- bat-dg1-6: [SKIP][3] ([i915#1155]) -> [SKIP][4]
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12374/bat-dg1-6/igt@i915_pm_backlight@basic-brightness.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/bat-dg1-6/igt@i915_pm_backlight@basic-brightness.html
- fi-rkl-11600: [SKIP][5] ([i915#3012]) -> [SKIP][6]
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12374/fi-rkl-11600/igt@i915_pm_backlight@basic-brightness.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/fi-rkl-11600/igt@i915_pm_backlight@basic-brightness.html
#### Suppressed ####
The following results come from untrusted machines, tests, or statuses.
They do not affect the overall result.
* igt@i915_pm_backlight@basic-brightness:
- {bat-dg2-8}: [SKIP][7] ([i915#1155]) -> [SKIP][8]
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12374/bat-dg2-8/igt@i915_pm_backlight@basic-brightness.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/bat-dg2-8/igt@i915_pm_backlight@basic-brightness.html
- {bat-adlm-1}: [SKIP][9] ([i915#1155]) -> [SKIP][10]
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12374/bat-adlm-1/igt@i915_pm_backlight@basic-brightness.html
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/bat-adlm-1/igt@i915_pm_backlight@basic-brightness.html
- {bat-rpls-1}: [SKIP][11] ([i915#1155]) -> [SKIP][12]
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12374/bat-rpls-1/igt@i915_pm_backlight@basic-brightness.html
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/bat-rpls-1/igt@i915_pm_backlight@basic-brightness.html
- {bat-rpls-2}: NOTRUN -> [SKIP][13]
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/bat-rpls-2/igt@i915_pm_backlight@basic-brightness.html
- {bat-dg2-9}: [SKIP][14] ([i915#1155]) -> [SKIP][15]
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12374/bat-dg2-9/igt@i915_pm_backlight@basic-brightness.html
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/bat-dg2-9/igt@i915_pm_backlight@basic-brightness.html
- {bat-dg2-11}: [SKIP][16] ([i915#1155]) -> [SKIP][17]
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12374/bat-dg2-11/igt@i915_pm_backlight@basic-brightness.html
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/bat-dg2-11/igt@i915_pm_backlight@basic-brightness.html
* igt@i915_selftest@live@migrate:
- {bat-atsm-1}: NOTRUN -> [INCOMPLETE][18]
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/bat-atsm-1/igt@i915_selftest@live@migrate.html
New tests
---------
New tests have been introduced between CI_DRM_12374 and IGTPW_8093:
### New IGT tests (1) ###
* igt@i915_pm_backlight@basic-brightness@edp-1:
- Statuses : 10 pass(s)
- Exec time: [0.0] s
Known issues
------------
Here are the changes found in IGTPW_8093 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@i915_pm_backlight@basic-brightness:
- fi-bxt-dsi: [PASS][19] -> [SKIP][20] ([fdo#109271])
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12374/fi-bxt-dsi/igt@i915_pm_backlight@basic-brightness.html
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/fi-bxt-dsi/igt@i915_pm_backlight@basic-brightness.html
- fi-snb-2520m: [PASS][21] -> [SKIP][22] ([fdo#109271])
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12374/fi-snb-2520m/igt@i915_pm_backlight@basic-brightness.html
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/fi-snb-2520m/igt@i915_pm_backlight@basic-brightness.html
* igt@i915_selftest@live@gt_heartbeat:
- fi-bxt-dsi: [PASS][23] -> [DMESG-FAIL][24] ([i915#5334])
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12374/fi-bxt-dsi/igt@i915_selftest@live@gt_heartbeat.html
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/fi-bxt-dsi/igt@i915_selftest@live@gt_heartbeat.html
- fi-glk-j4005: [PASS][25] -> [DMESG-FAIL][26] ([i915#5334])
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12374/fi-glk-j4005/igt@i915_selftest@live@gt_heartbeat.html
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/fi-glk-j4005/igt@i915_selftest@live@gt_heartbeat.html
* igt@kms_chamelium@common-hpd-after-suspend:
- fi-rkl-11600: NOTRUN -> [SKIP][27] ([fdo#111827])
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/fi-rkl-11600/igt@kms_chamelium@common-hpd-after-suspend.html
- fi-icl-u2: NOTRUN -> [SKIP][28] ([fdo#111827])
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/fi-icl-u2/igt@kms_chamelium@common-hpd-after-suspend.html
- fi-rkl-guc: NOTRUN -> [SKIP][29] ([fdo#111827])
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/fi-rkl-guc/igt@kms_chamelium@common-hpd-after-suspend.html
#### Possible fixes ####
* igt@gem_huc_copy@huc-copy:
- {bat-dg2-8}: [FAIL][30] ([i915#7029]) -> [PASS][31]
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12374/bat-dg2-8/igt@gem_huc_copy@huc-copy.html
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/bat-dg2-8/igt@gem_huc_copy@huc-copy.html
* igt@i915_selftest@live@execlists:
- fi-icl-u2: [INCOMPLETE][32] -> [PASS][33]
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12374/fi-icl-u2/igt@i915_selftest@live@execlists.html
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/fi-icl-u2/igt@i915_selftest@live@execlists.html
* igt@i915_selftest@live@gt_mocs:
- fi-rkl-guc: [INCOMPLETE][34] ([i915#4983]) -> [PASS][35]
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12374/fi-rkl-guc/igt@i915_selftest@live@gt_mocs.html
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/fi-rkl-guc/igt@i915_selftest@live@gt_mocs.html
* igt@i915_selftest@live@migrate:
- {bat-dg2-11}: [DMESG-WARN][36] ([i915#7359]) -> [PASS][37]
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12374/bat-dg2-11/igt@i915_selftest@live@migrate.html
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/bat-dg2-11/igt@i915_selftest@live@migrate.html
* igt@i915_selftest@live@requests:
- {bat-rpls-1}: [INCOMPLETE][38] ([i915#4983] / [i915#6257]) -> [PASS][39]
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12374/bat-rpls-1/igt@i915_selftest@live@requests.html
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/bat-rpls-1/igt@i915_selftest@live@requests.html
* igt@i915_suspend@basic-s3-without-i915:
- fi-rkl-11600: [INCOMPLETE][40] ([i915#4817]) -> [PASS][41]
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12374/fi-rkl-11600/igt@i915_suspend@basic-s3-without-i915.html
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/fi-rkl-11600/igt@i915_suspend@basic-s3-without-i915.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#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
[fdo#109295]: https://bugs.freedesktop.org/show_bug.cgi?id=109295
[fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
[i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
[i915#1155]: https://gitlab.freedesktop.org/drm/intel/issues/1155
[i915#1836]: https://gitlab.freedesktop.org/drm/intel/issues/1836
[i915#1845]: https://gitlab.freedesktop.org/drm/intel/issues/1845
[i915#2582]: https://gitlab.freedesktop.org/drm/intel/issues/2582
[i915#2867]: https://gitlab.freedesktop.org/drm/intel/issues/2867
[i915#3012]: https://gitlab.freedesktop.org/drm/intel/issues/3012
[i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282
[i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
[i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
[i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077
[i915#4079]: https://gitlab.freedesktop.org/drm/intel/issues/4079
[i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083
[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#4817]: https://gitlab.freedesktop.org/drm/intel/issues/4817
[i915#4983]: https://gitlab.freedesktop.org/drm/intel/issues/4983
[i915#5122]: https://gitlab.freedesktop.org/drm/intel/issues/5122
[i915#5278]: https://gitlab.freedesktop.org/drm/intel/issues/5278
[i915#5334]: https://gitlab.freedesktop.org/drm/intel/issues/5334
[i915#6077]: https://gitlab.freedesktop.org/drm/intel/issues/6077
[i915#6078]: https://gitlab.freedesktop.org/drm/intel/issues/6078
[i915#6093]: https://gitlab.freedesktop.org/drm/intel/issues/6093
[i915#6094]: https://gitlab.freedesktop.org/drm/intel/issues/6094
[i915#6166]: https://gitlab.freedesktop.org/drm/intel/issues/6166
[i915#6257]: https://gitlab.freedesktop.org/drm/intel/issues/6257
[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#7029]: https://gitlab.freedesktop.org/drm/intel/issues/7029
[i915#7346]: https://gitlab.freedesktop.org/drm/intel/issues/7346
[i915#7357]: https://gitlab.freedesktop.org/drm/intel/issues/7357
[i915#7358]: https://gitlab.freedesktop.org/drm/intel/issues/7358
[i915#7359]: https://gitlab.freedesktop.org/drm/intel/issues/7359
[i915#7456]: https://gitlab.freedesktop.org/drm/intel/issues/7456
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_7053 -> IGTPW_8093
CI-20190529: 20190529
CI_DRM_12374: 7963775fe0f4b1a4739dd6808abfd7fdf467779c @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_8093: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/index.html
IGT_7053: a9e73e6c48ab6632e2adb095cb809118b437fdfd @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
Testlist changes
----------------
+igt@i915_pm_backlight@fade-with-dpms
+igt@i915_pm_backlight@fade-with-suspend
-igt@i915_pm_backlight@fade_with_dpms
-igt@i915_pm_backlight@fade_with_suspend
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/index.html
[-- Attachment #2: Type: text/html, Size: 11638 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* [igt-dev] ✗ Fi.CI.IGT: failure for Add new subtest and test cleanup
2022-11-14 6:40 [igt-dev] [PATCH 0/2] Add new subtest and test cleanup Nidhi Gupta
` (2 preceding siblings ...)
2022-11-14 8:44 ` [igt-dev] ✓ Fi.CI.BAT: success for Add new subtest and test cleanup Patchwork
@ 2022-11-14 11:30 ` Patchwork
3 siblings, 0 replies; 10+ messages in thread
From: Patchwork @ 2022-11-14 11:30 UTC (permalink / raw)
To: Nidhi Gupta; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 42165 bytes --]
== Series Details ==
Series: Add new subtest and test cleanup
URL : https://patchwork.freedesktop.org/series/110845/
State : failure
== Summary ==
CI Bug Log - changes from CI_DRM_12374_full -> IGTPW_8093_full
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with IGTPW_8093_full absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in IGTPW_8093_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_8093/index.html
Participating hosts (9 -> 8)
------------------------------
Additional (2): shard-rkl shard-dg1
Missing (3): pig-skl-6260u pig-kbl-iris pig-glk-j5005
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in IGTPW_8093_full:
### IGT changes ###
#### Possible regressions ####
* {igt@i915_pm_backlight@fade-with-suspend} (NEW):
- {shard-dg1}: NOTRUN -> [SKIP][1]
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-dg1-18/igt@i915_pm_backlight@fade-with-suspend.html
* igt@kms_plane_multiple@tiling-y@pipe-a-edp-1:
- shard-tglb: [PASS][2] -> [INCOMPLETE][3] +1 similar issue
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12374/shard-tglb7/igt@kms_plane_multiple@tiling-y@pipe-a-edp-1.html
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-tglb8/igt@kms_plane_multiple@tiling-y@pipe-a-edp-1.html
#### Suppressed ####
The following results come from untrusted machines, tests, or statuses.
They do not affect the overall result.
* igt@i915_pm_backlight@basic-brightness:
- {shard-dg1}: NOTRUN -> [SKIP][4] +1 similar issue
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-dg1-13/igt@i915_pm_backlight@basic-brightness.html
* igt@i915_pm_backlight@fade:
- {shard-rkl}: NOTRUN -> [SKIP][5] +1 similar issue
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-rkl-2/igt@i915_pm_backlight@fade.html
* igt@prime_busy@hang@bcs0:
- {shard-rkl}: NOTRUN -> [INCOMPLETE][6]
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-rkl-2/igt@prime_busy@hang@bcs0.html
New tests
---------
New tests have been introduced between CI_DRM_12374_full and IGTPW_8093_full:
### New IGT tests (7) ###
* igt@i915_pm_backlight@bad-brightness@edp-1:
- Statuses : 2 pass(s)
- Exec time: [0.0] s
* igt@i915_pm_backlight@basic-brightness@edp-1:
- Statuses : 3 pass(s)
- Exec time: [0.0] s
* igt@i915_pm_backlight@fade-with-dpms:
- Statuses : 2 skip(s)
- Exec time: [0.0] s
* igt@i915_pm_backlight@fade-with-dpms@edp-1:
- Statuses : 2 pass(s)
- Exec time: [0.0] s
* igt@i915_pm_backlight@fade-with-suspend:
- Statuses : 4 skip(s)
- Exec time: [0.0] s
* igt@i915_pm_backlight@fade-with-suspend@edp-1:
- Statuses : 2 pass(s)
- Exec time: [0.0] s
* igt@i915_pm_backlight@fade@edp-1:
- Statuses : 2 pass(s)
- Exec time: [0.0] s
Known issues
------------
Here are the changes found in IGTPW_8093_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@feature_discovery@psr2:
- shard-iclb: [PASS][7] -> [SKIP][8] ([i915#658])
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12374/shard-iclb2/igt@feature_discovery@psr2.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-iclb7/igt@feature_discovery@psr2.html
* igt@gem_create@create-ext-cpu-access-big:
- shard-tglb: NOTRUN -> [SKIP][9] ([i915#6335])
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-tglb8/igt@gem_create@create-ext-cpu-access-big.html
* igt@gem_exec_balancer@parallel-keep-in-fence:
- shard-iclb: [PASS][10] -> [SKIP][11] ([i915#4525]) +2 similar issues
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12374/shard-iclb2/igt@gem_exec_balancer@parallel-keep-in-fence.html
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-iclb8/igt@gem_exec_balancer@parallel-keep-in-fence.html
* igt@gem_exec_fair@basic-none-solo@rcs0:
- shard-apl: [PASS][12] -> [FAIL][13] ([i915#2842])
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12374/shard-apl8/igt@gem_exec_fair@basic-none-solo@rcs0.html
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-apl2/igt@gem_exec_fair@basic-none-solo@rcs0.html
* igt@gem_exec_fair@basic-pace-share@rcs0:
- shard-glk: [PASS][14] -> [FAIL][15] ([i915#2842]) +2 similar issues
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12374/shard-glk8/igt@gem_exec_fair@basic-pace-share@rcs0.html
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-glk5/igt@gem_exec_fair@basic-pace-share@rcs0.html
* igt@gem_exec_schedule@thriceslice:
- shard-snb: NOTRUN -> [SKIP][16] ([fdo#109271]) +60 similar issues
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-snb2/igt@gem_exec_schedule@thriceslice.html
* igt@gem_lmem_swapping@verify-random-ccs:
- shard-apl: NOTRUN -> [SKIP][17] ([fdo#109271] / [i915#4613]) +1 similar issue
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-apl8/igt@gem_lmem_swapping@verify-random-ccs.html
* igt@gem_pread@exhaustion:
- shard-apl: NOTRUN -> [INCOMPLETE][18] ([i915#7248])
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-apl6/igt@gem_pread@exhaustion.html
* igt@gem_softpin@evict-snoop-interruptible:
- shard-tglb: NOTRUN -> [SKIP][19] ([fdo#109312])
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-tglb7/igt@gem_softpin@evict-snoop-interruptible.html
- shard-iclb: NOTRUN -> [SKIP][20] ([fdo#109312])
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-iclb3/igt@gem_softpin@evict-snoop-interruptible.html
* igt@gem_userptr_blits@dmabuf-sync:
- shard-apl: NOTRUN -> [SKIP][21] ([fdo#109271] / [i915#3323])
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-apl7/igt@gem_userptr_blits@dmabuf-sync.html
* igt@gem_userptr_blits@vma-merge:
- shard-apl: NOTRUN -> [FAIL][22] ([i915#3318])
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-apl2/igt@gem_userptr_blits@vma-merge.html
* igt@gen7_exec_parse@oacontrol-tracking:
- shard-apl: NOTRUN -> [SKIP][23] ([fdo#109271]) +108 similar issues
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-apl8/igt@gen7_exec_parse@oacontrol-tracking.html
* igt@i915_pm_dc@dc3co-vpb-simulation:
- shard-iclb: NOTRUN -> [SKIP][24] ([i915#658])
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-iclb5/igt@i915_pm_dc@dc3co-vpb-simulation.html
- shard-apl: NOTRUN -> [SKIP][25] ([fdo#109271] / [i915#658]) +1 similar issue
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-apl1/igt@i915_pm_dc@dc3co-vpb-simulation.html
- shard-tglb: NOTRUN -> [SKIP][26] ([i915#1904])
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-tglb5/igt@i915_pm_dc@dc3co-vpb-simulation.html
- shard-glk: NOTRUN -> [SKIP][27] ([fdo#109271] / [i915#658])
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-glk9/igt@i915_pm_dc@dc3co-vpb-simulation.html
* igt@i915_pm_dc@dc9-dpms:
- shard-apl: [PASS][28] -> [SKIP][29] ([fdo#109271])
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12374/shard-apl1/igt@i915_pm_dc@dc9-dpms.html
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-apl3/igt@i915_pm_dc@dc9-dpms.html
* igt@i915_pm_rps@engine-order:
- shard-apl: [PASS][30] -> [FAIL][31] ([i915#6537])
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12374/shard-apl8/igt@i915_pm_rps@engine-order.html
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-apl8/igt@i915_pm_rps@engine-order.html
* igt@kms_atomic@plane-primary-overlay-mutable-zpos:
- shard-glk: NOTRUN -> [SKIP][32] ([fdo#109271]) +19 similar issues
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-glk3/igt@kms_atomic@plane-primary-overlay-mutable-zpos.html
* igt@kms_atomic_transition@plane-all-modeset-transition-fencing@pipe-b-hdmi-a-2:
- shard-glk: NOTRUN -> [INCOMPLETE][33] ([i915#5584])
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-glk8/igt@kms_atomic_transition@plane-all-modeset-transition-fencing@pipe-b-hdmi-a-2.html
* igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0:
- shard-tglb: NOTRUN -> [SKIP][34] ([i915#5286])
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-tglb5/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0.html
- shard-iclb: NOTRUN -> [SKIP][35] ([i915#5286])
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-iclb5/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0.html
* igt@kms_ccs@pipe-a-bad-rotation-90-4_tiled_dg2_mc_ccs:
- shard-tglb: NOTRUN -> [SKIP][36] ([i915#6095]) +1 similar issue
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-tglb7/igt@kms_ccs@pipe-a-bad-rotation-90-4_tiled_dg2_mc_ccs.html
* igt@kms_ccs@pipe-a-ccs-on-another-bo-y_tiled_gen12_rc_ccs:
- shard-iclb: NOTRUN -> [SKIP][37] ([fdo#109278]) +3 similar issues
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-iclb3/igt@kms_ccs@pipe-a-ccs-on-another-bo-y_tiled_gen12_rc_ccs.html
* igt@kms_ccs@pipe-a-crc-primary-basic-4_tiled_dg2_mc_ccs:
- shard-tglb: NOTRUN -> [SKIP][38] ([i915#3689] / [i915#6095])
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-tglb1/igt@kms_ccs@pipe-a-crc-primary-basic-4_tiled_dg2_mc_ccs.html
* igt@kms_ccs@pipe-a-crc-primary-basic-y_tiled_gen12_mc_ccs:
- shard-apl: NOTRUN -> [SKIP][39] ([fdo#109271] / [i915#3886]) +8 similar issues
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-apl3/igt@kms_ccs@pipe-a-crc-primary-basic-y_tiled_gen12_mc_ccs.html
* igt@kms_ccs@pipe-c-bad-pixel-format-y_tiled_gen12_rc_ccs_cc:
- shard-glk: NOTRUN -> [SKIP][40] ([fdo#109271] / [i915#3886]) +1 similar issue
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-glk7/igt@kms_ccs@pipe-c-bad-pixel-format-y_tiled_gen12_rc_ccs_cc.html
- shard-iclb: NOTRUN -> [SKIP][41] ([fdo#109278] / [i915#3886]) +1 similar issue
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-iclb2/igt@kms_ccs@pipe-c-bad-pixel-format-y_tiled_gen12_rc_ccs_cc.html
* igt@kms_ccs@pipe-d-missing-ccs-buffer-y_tiled_ccs:
- shard-tglb: NOTRUN -> [SKIP][42] ([i915#3689])
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-tglb3/igt@kms_ccs@pipe-d-missing-ccs-buffer-y_tiled_ccs.html
* igt@kms_chamelium@hdmi-hpd-storm:
- shard-apl: NOTRUN -> [SKIP][43] ([fdo#109271] / [fdo#111827]) +6 similar issues
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-apl8/igt@kms_chamelium@hdmi-hpd-storm.html
* igt@kms_chamelium@vga-frame-dump:
- shard-snb: NOTRUN -> [SKIP][44] ([fdo#109271] / [fdo#111827])
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-snb4/igt@kms_chamelium@vga-frame-dump.html
* igt@kms_flip@2x-flip-vs-dpms-off-vs-modeset:
- shard-iclb: NOTRUN -> [SKIP][45] ([fdo#109274])
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-iclb2/igt@kms_flip@2x-flip-vs-dpms-off-vs-modeset.html
- shard-tglb: NOTRUN -> [SKIP][46] ([fdo#109274] / [fdo#111825] / [i915#3637]) +1 similar issue
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-tglb5/igt@kms_flip@2x-flip-vs-dpms-off-vs-modeset.html
* igt@kms_flip@flip-vs-suspend@c-edp1:
- shard-iclb: [PASS][47] -> [DMESG-WARN][48] ([i915#2867])
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12374/shard-iclb8/igt@kms_flip@flip-vs-suspend@c-edp1.html
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-iclb6/igt@kms_flip@flip-vs-suspend@c-edp1.html
* igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-upscaling@pipe-a-valid-mode:
- shard-tglb: NOTRUN -> [SKIP][49] ([i915#2587] / [i915#2672])
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-tglb8/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-upscaling@pipe-a-valid-mode.html
* igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-downscaling@pipe-a-valid-mode:
- shard-iclb: NOTRUN -> [SKIP][50] ([i915#2587] / [i915#2672]) +2 similar issues
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-iclb6/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-downscaling@pipe-a-valid-mode.html
* igt@kms_flip_scaled_crc@flip-64bpp-linear-to-32bpp-linear-downscaling@pipe-a-default-mode:
- shard-iclb: NOTRUN -> [SKIP][51] ([i915#3555]) +2 similar issues
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-iclb2/igt@kms_flip_scaled_crc@flip-64bpp-linear-to-32bpp-linear-downscaling@pipe-a-default-mode.html
* igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-upscaling@pipe-a-default-mode:
- shard-iclb: NOTRUN -> [SKIP][52] ([i915#2672]) +3 similar issues
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-iclb3/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-upscaling@pipe-a-default-mode.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-blt:
- shard-tglb: NOTRUN -> [SKIP][53] ([i915#6497]) +1 similar issue
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-tglb7/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-blt.html
* igt@kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-draw-render:
- shard-tglb: NOTRUN -> [SKIP][54] ([fdo#109280] / [fdo#111825]) +6 similar issues
[54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-tglb5/igt@kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@psr-2p-scndscrn-cur-indfb-onoff:
- shard-iclb: NOTRUN -> [SKIP][55] ([fdo#109280]) +3 similar issues
[55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-iclb8/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-cur-indfb-onoff.html
* igt@kms_pipe_b_c_ivb@enable-pipe-c-while-b-has-3-lanes:
- shard-tglb: NOTRUN -> [SKIP][56] ([fdo#109289])
[56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-tglb1/igt@kms_pipe_b_c_ivb@enable-pipe-c-while-b-has-3-lanes.html
* igt@kms_plane_scaling@plane-downscale-with-modifiers-factor-0-25@pipe-c-edp-1:
- shard-tglb: NOTRUN -> [SKIP][57] ([i915#5176]) +3 similar issues
[57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-tglb8/igt@kms_plane_scaling@plane-downscale-with-modifiers-factor-0-25@pipe-c-edp-1.html
* igt@kms_psr2_su@page_flip-nv12:
- shard-iclb: NOTRUN -> [SKIP][58] ([fdo#109642] / [fdo#111068] / [i915#658])
[58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-iclb1/igt@kms_psr2_su@page_flip-nv12.html
* igt@kms_psr@psr2_cursor_plane_move:
- shard-iclb: NOTRUN -> [SKIP][59] ([fdo#109441])
[59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-iclb1/igt@kms_psr@psr2_cursor_plane_move.html
* igt@kms_psr@psr2_no_drrs:
- shard-iclb: [PASS][60] -> [SKIP][61] ([fdo#109441])
[60]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12374/shard-iclb2/igt@kms_psr@psr2_no_drrs.html
[61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-iclb3/igt@kms_psr@psr2_no_drrs.html
* igt@kms_psr@psr2_sprite_plane_onoff:
- shard-tglb: NOTRUN -> [FAIL][62] ([i915#132] / [i915#3467]) +1 similar issue
[62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-tglb2/igt@kms_psr@psr2_sprite_plane_onoff.html
* igt@kms_psr_stress_test@invalidate-primary-flip-overlay:
- shard-tglb: [PASS][63] -> [SKIP][64] ([i915#5519])
[63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12374/shard-tglb6/igt@kms_psr_stress_test@invalidate-primary-flip-overlay.html
[64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-tglb8/igt@kms_psr_stress_test@invalidate-primary-flip-overlay.html
* igt@prime_vgem@basic-userptr:
- shard-tglb: NOTRUN -> [SKIP][65] ([fdo#109295] / [i915#3301])
[65]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-tglb5/igt@prime_vgem@basic-userptr.html
- shard-iclb: NOTRUN -> [SKIP][66] ([fdo#109295] / [i915#3301])
[66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-iclb5/igt@prime_vgem@basic-userptr.html
* igt@sysfs_clients@recycle:
- shard-apl: NOTRUN -> [SKIP][67] ([fdo#109271] / [i915#2994]) +2 similar issues
[67]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-apl7/igt@sysfs_clients@recycle.html
* igt@sysfs_clients@sema-25:
- shard-tglb: NOTRUN -> [SKIP][68] ([i915#2994])
[68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-tglb2/igt@sysfs_clients@sema-25.html
- shard-glk: NOTRUN -> [SKIP][69] ([fdo#109271] / [i915#2994])
[69]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-glk9/igt@sysfs_clients@sema-25.html
- shard-iclb: NOTRUN -> [SKIP][70] ([i915#2994])
[70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-iclb7/igt@sysfs_clients@sema-25.html
#### Possible fixes ####
* igt@gem_exec_balancer@parallel-bb-first:
- shard-iclb: [SKIP][71] ([i915#4525]) -> [PASS][72]
[71]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12374/shard-iclb8/igt@gem_exec_balancer@parallel-bb-first.html
[72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-iclb1/igt@gem_exec_balancer@parallel-bb-first.html
* igt@gem_exec_fair@basic-flow@rcs0:
- shard-tglb: [FAIL][73] ([i915#2842]) -> [PASS][74]
[73]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12374/shard-tglb5/igt@gem_exec_fair@basic-flow@rcs0.html
[74]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-tglb8/igt@gem_exec_fair@basic-flow@rcs0.html
* igt@gem_exec_fair@basic-none-share@rcs0:
- shard-glk: [FAIL][75] ([i915#2842]) -> [PASS][76]
[75]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12374/shard-glk1/igt@gem_exec_fair@basic-none-share@rcs0.html
[76]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-glk1/igt@gem_exec_fair@basic-none-share@rcs0.html
* igt@gem_exec_fair@basic-pace-solo@rcs0:
- shard-apl: [FAIL][77] ([i915#2842]) -> [PASS][78]
[77]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12374/shard-apl1/igt@gem_exec_fair@basic-pace-solo@rcs0.html
[78]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-apl2/igt@gem_exec_fair@basic-pace-solo@rcs0.html
* igt@gem_huc_copy@huc-copy:
- shard-tglb: [SKIP][79] ([i915#2190]) -> [PASS][80]
[79]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12374/shard-tglb7/igt@gem_huc_copy@huc-copy.html
[80]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-tglb8/igt@gem_huc_copy@huc-copy.html
* igt@i915_pm_dc@dc6-psr:
- shard-iclb: [FAIL][81] ([i915#3989] / [i915#454]) -> [PASS][82]
[81]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12374/shard-iclb7/igt@i915_pm_dc@dc6-psr.html
[82]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-iclb2/igt@i915_pm_dc@dc6-psr.html
* igt@i915_pm_dc@dc9-dpms:
- shard-iclb: [SKIP][83] ([i915#4281]) -> [PASS][84]
[83]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12374/shard-iclb3/igt@i915_pm_dc@dc9-dpms.html
[84]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-iclb2/igt@i915_pm_dc@dc9-dpms.html
* igt@kms_atomic_transition@plane-all-modeset-transition-fencing@pipe-b-hdmi-a-1:
- shard-glk: [INCOMPLETE][85] ([i915#5584]) -> [PASS][86]
[85]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12374/shard-glk5/igt@kms_atomic_transition@plane-all-modeset-transition-fencing@pipe-b-hdmi-a-1.html
[86]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-glk8/igt@kms_atomic_transition@plane-all-modeset-transition-fencing@pipe-b-hdmi-a-1.html
* igt@kms_big_fb@yf-tiled-32bpp-rotate-270:
- shard-glk: [FAIL][87] ([i915#5138]) -> [PASS][88]
[87]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12374/shard-glk7/igt@kms_big_fb@yf-tiled-32bpp-rotate-270.html
[88]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-glk7/igt@kms_big_fb@yf-tiled-32bpp-rotate-270.html
* igt@kms_ccs@pipe-b-crc-primary-rotation-180-y_tiled_ccs:
- shard-glk: [FAIL][89] -> [PASS][90]
[89]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12374/shard-glk5/igt@kms_ccs@pipe-b-crc-primary-rotation-180-y_tiled_ccs.html
[90]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-glk8/igt@kms_ccs@pipe-b-crc-primary-rotation-180-y_tiled_ccs.html
* igt@kms_cursor_legacy@flip-vs-cursor@toggle:
- shard-iclb: [FAIL][91] ([i915#2346]) -> [PASS][92]
[91]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12374/shard-iclb7/igt@kms_cursor_legacy@flip-vs-cursor@toggle.html
[92]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-iclb7/igt@kms_cursor_legacy@flip-vs-cursor@toggle.html
* igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@ac-hdmi-a1-hdmi-a2:
- shard-glk: [FAIL][93] ([i915#79]) -> [PASS][94]
[93]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12374/shard-glk7/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@ac-hdmi-a1-hdmi-a2.html
[94]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-glk1/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@ac-hdmi-a1-hdmi-a2.html
* igt@kms_flip@flip-vs-suspend@a-edp1:
- shard-tglb: [INCOMPLETE][95] ([i915#2411]) -> [PASS][96]
[95]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12374/shard-tglb3/igt@kms_flip@flip-vs-suspend@a-edp1.html
[96]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-tglb6/igt@kms_flip@flip-vs-suspend@a-edp1.html
* igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-render:
- shard-iclb: [FAIL][97] ([i915#2546]) -> [PASS][98]
[97]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12374/shard-iclb6/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-render.html
[98]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-iclb2/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-render.html
* igt@kms_plane@plane-panning-bottom-right-suspend@pipe-b-planes:
- shard-apl: [DMESG-WARN][99] ([i915#180]) -> [PASS][100] +2 similar issues
[99]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12374/shard-apl2/igt@kms_plane@plane-panning-bottom-right-suspend@pipe-b-planes.html
[100]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-apl8/igt@kms_plane@plane-panning-bottom-right-suspend@pipe-b-planes.html
* igt@kms_plane_lowres@tiling-yf@pipe-a-hdmi-a-1:
- shard-glk: [DMESG-WARN][101] ([i915#118]) -> [PASS][102]
[101]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12374/shard-glk2/igt@kms_plane_lowres@tiling-yf@pipe-a-hdmi-a-1.html
[102]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-glk6/igt@kms_plane_lowres@tiling-yf@pipe-a-hdmi-a-1.html
* igt@kms_psr@psr2_primary_page_flip:
- shard-iclb: [SKIP][103] ([fdo#109441]) -> [PASS][104] +2 similar issues
[103]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12374/shard-iclb8/igt@kms_psr@psr2_primary_page_flip.html
[104]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-iclb2/igt@kms_psr@psr2_primary_page_flip.html
* igt@kms_psr_stress_test@flip-primary-invalidate-overlay:
- shard-iclb: [SKIP][105] ([i915#5519]) -> [PASS][106]
[105]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12374/shard-iclb1/igt@kms_psr_stress_test@flip-primary-invalidate-overlay.html
[106]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-iclb1/igt@kms_psr_stress_test@flip-primary-invalidate-overlay.html
* igt@perf@stress-open-close:
- shard-glk: [INCOMPLETE][107] ([i915#5213]) -> [PASS][108]
[107]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12374/shard-glk5/igt@perf@stress-open-close.html
[108]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-glk3/igt@perf@stress-open-close.html
#### Warnings ####
* igt@gem_pread@exhaustion:
- shard-tglb: [WARN][109] ([i915#2658]) -> [INCOMPLETE][110] ([i915#7248])
[109]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12374/shard-tglb5/igt@gem_pread@exhaustion.html
[110]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-tglb7/igt@gem_pread@exhaustion.html
* igt@gem_pwrite@basic-exhaustion:
- shard-apl: [INCOMPLETE][111] ([i915#7248]) -> [WARN][112] ([i915#2658])
[111]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12374/shard-apl1/igt@gem_pwrite@basic-exhaustion.html
[112]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-apl3/igt@gem_pwrite@basic-exhaustion.html
* igt@i915_pm_rc6_residency@rc6-idle@rcs0:
- shard-iclb: [FAIL][113] ([i915#2684]) -> [WARN][114] ([i915#2684])
[113]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12374/shard-iclb5/igt@i915_pm_rc6_residency@rc6-idle@rcs0.html
[114]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-iclb2/igt@i915_pm_rc6_residency@rc6-idle@rcs0.html
* igt@kms_fbcon_fbt@fbc-suspend:
- shard-apl: [INCOMPLETE][115] ([i915#180]) -> [FAIL][116] ([i915#4767])
[115]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12374/shard-apl8/igt@kms_fbcon_fbt@fbc-suspend.html
[116]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-apl8/igt@kms_fbcon_fbt@fbc-suspend.html
* igt@kms_plane_alpha_blend@alpha-basic@pipe-c-dp-1:
- shard-apl: [DMESG-FAIL][117] ([IGT#6]) -> [FAIL][118] ([i915#4573]) +1 similar issue
[117]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12374/shard-apl8/igt@kms_plane_alpha_blend@alpha-basic@pipe-c-dp-1.html
[118]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-apl7/igt@kms_plane_alpha_blend@alpha-basic@pipe-c-dp-1.html
* igt@kms_psr2_sf@cursor-plane-move-continuous-exceed-sf:
- shard-iclb: [SKIP][119] ([i915#658]) -> [SKIP][120] ([i915#2920])
[119]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12374/shard-iclb3/igt@kms_psr2_sf@cursor-plane-move-continuous-exceed-sf.html
[120]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-iclb2/igt@kms_psr2_sf@cursor-plane-move-continuous-exceed-sf.html
* igt@kms_psr2_sf@overlay-plane-update-continuous-sf:
- shard-iclb: [SKIP][121] ([fdo#111068] / [i915#658]) -> [SKIP][122] ([i915#2920])
[121]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12374/shard-iclb5/igt@kms_psr2_sf@overlay-plane-update-continuous-sf.html
[122]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-iclb2/igt@kms_psr2_sf@overlay-plane-update-continuous-sf.html
* igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area:
- shard-iclb: [SKIP][123] ([i915#2920]) -> [SKIP][124] ([fdo#111068] / [i915#658])
[123]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12374/shard-iclb2/igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area.html
[124]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-iclb1/igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area.html
* igt@runner@aborted:
- shard-apl: ([FAIL][125], [FAIL][126], [FAIL][127], [FAIL][128], [FAIL][129]) ([i915#180] / [i915#3002] / [i915#4312]) -> ([FAIL][130], [FAIL][131]) ([i915#3002] / [i915#4312])
[125]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12374/shard-apl2/igt@runner@aborted.html
[126]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12374/shard-apl7/igt@runner@aborted.html
[127]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12374/shard-apl8/igt@runner@aborted.html
[128]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12374/shard-apl7/igt@runner@aborted.html
[129]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12374/shard-apl8/igt@runner@aborted.html
[130]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-apl7/igt@runner@aborted.html
[131]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/shard-apl8/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#6]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/6
[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#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
[fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289
[fdo#109291]: https://bugs.freedesktop.org/show_bug.cgi?id=109291
[fdo#109295]: https://bugs.freedesktop.org/show_bug.cgi?id=109295
[fdo#109302]: https://bugs.freedesktop.org/show_bug.cgi?id=109302
[fdo#109303]: https://bugs.freedesktop.org/show_bug.cgi?id=109303
[fdo#109307]: https://bugs.freedesktop.org/show_bug.cgi?id=109307
[fdo#109308]: https://bugs.freedesktop.org/show_bug.cgi?id=109308
[fdo#109312]: https://bugs.freedesktop.org/show_bug.cgi?id=109312
[fdo#109314]: https://bugs.freedesktop.org/show_bug.cgi?id=109314
[fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
[fdo#109506]: https://bugs.freedesktop.org/show_bug.cgi?id=109506
[fdo#109642]: https://bugs.freedesktop.org/show_bug.cgi?id=109642
[fdo#110189]: https://bugs.freedesktop.org/show_bug.cgi?id=110189
[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#111656]: https://bugs.freedesktop.org/show_bug.cgi?id=111656
[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#118]: https://gitlab.freedesktop.org/drm/intel/issues/118
[i915#1257]: https://gitlab.freedesktop.org/drm/intel/issues/1257
[i915#132]: https://gitlab.freedesktop.org/drm/intel/issues/132
[i915#1397]: https://gitlab.freedesktop.org/drm/intel/issues/1397
[i915#1722]: https://gitlab.freedesktop.org/drm/intel/issues/1722
[i915#1755]: https://gitlab.freedesktop.org/drm/intel/issues/1755
[i915#1769]: https://gitlab.freedesktop.org/drm/intel/issues/1769
[i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180
[i915#1825]: https://gitlab.freedesktop.org/drm/intel/issues/1825
[i915#1839]: https://gitlab.freedesktop.org/drm/intel/issues/1839
[i915#1845]: https://gitlab.freedesktop.org/drm/intel/issues/1845
[i915#1849]: https://gitlab.freedesktop.org/drm/intel/issues/1849
[i915#1850]: https://gitlab.freedesktop.org/drm/intel/issues/1850
[i915#1904]: https://gitlab.freedesktop.org/drm/intel/issues/1904
[i915#1937]: https://gitlab.freedesktop.org/drm/intel/issues/1937
[i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190
[i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346
[i915#2411]: https://gitlab.freedesktop.org/drm/intel/issues/2411
[i915#2433]: https://gitlab.freedesktop.org/drm/intel/issues/2433
[i915#2434]: https://gitlab.freedesktop.org/drm/intel/issues/2434
[i915#2435]: https://gitlab.freedesktop.org/drm/intel/issues/2435
[i915#2436]: https://gitlab.freedesktop.org/drm/intel/issues/2436
[i915#2437]: https://gitlab.freedesktop.org/drm/intel/issues/2437
[i915#2527]: https://gitlab.freedesktop.org/drm/intel/issues/2527
[i915#2546]: https://gitlab.freedesktop.org/drm/intel/issues/2546
[i915#2582]: https://gitlab.freedesktop.org/drm/intel/issues/2582
[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#2684]: https://gitlab.freedesktop.org/drm/intel/issues/2684
[i915#2705]: https://gitlab.freedesktop.org/drm/intel/issues/2705
[i915#280]: https://gitlab.freedesktop.org/drm/intel/issues/280
[i915#284]: https://gitlab.freedesktop.org/drm/intel/issues/284
[i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842
[i915#2867]: https://gitlab.freedesktop.org/drm/intel/issues/2867
[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#3116]: https://gitlab.freedesktop.org/drm/intel/issues/3116
[i915#3281]: https://gitlab.freedesktop.org/drm/intel/issues/3281
[i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282
[i915#3291]: https://gitlab.freedesktop.org/drm/intel/issues/3291
[i915#3297]: https://gitlab.freedesktop.org/drm/intel/issues/3297
[i915#3299]: https://gitlab.freedesktop.org/drm/intel/issues/3299
[i915#3301]: https://gitlab.freedesktop.org/drm/intel/issues/3301
[i915#3318]: https://gitlab.freedesktop.org/drm/intel/issues/3318
[i915#3323]: https://gitlab.freedesktop.org/drm/intel/issues/3323
[i915#3359]: https://gitlab.freedesktop.org/drm/intel/issues/3359
[i915#3361]: https://gitlab.freedesktop.org/drm/intel/issues/3361
[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#3528]: https://gitlab.freedesktop.org/drm/intel/issues/3528
[i915#3539]: https://gitlab.freedesktop.org/drm/intel/issues/3539
[i915#3546]: https://gitlab.freedesktop.org/drm/intel/issues/3546
[i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
[i915#3558]: https://gitlab.freedesktop.org/drm/intel/issues/3558
[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#3734]: https://gitlab.freedesktop.org/drm/intel/issues/3734
[i915#3742]: https://gitlab.freedesktop.org/drm/intel/issues/3742
[i915#3826]: https://gitlab.freedesktop.org/drm/intel/issues/3826
[i915#3840]: https://gitlab.freedesktop.org/drm/intel/issues/3840
[i915#3886]: https://gitlab.freedesktop.org/drm/intel/issues/3886
[i915#3936]: https://gitlab.freedesktop.org/drm/intel/issues/3936
[i915#3938]: https://gitlab.freedesktop.org/drm/intel/issues/3938
[i915#3952]: https://gitlab.freedesktop.org/drm/intel/issues/3952
[i915#3955]: https://gitlab.freedesktop.org/drm/intel/issues/3955
[i915#3989]: https://gitlab.freedesktop.org/drm/intel/issues/3989
[i915#4036]: https://gitlab.freedesktop.org/drm/intel/issues/4036
[i915#404]: https://gitlab.freedesktop.org/drm/intel/issues/404
[i915#4070]: https://gitlab.freedesktop.org/drm/intel/issues/4070
[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#4098]: https://gitlab.freedesktop.org/drm/intel/issues/4098
[i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
[i915#4212]: https://gitlab.freedesktop.org/drm/intel/issues/4212
[i915#4213]: https://gitlab.freedesktop.org/drm/intel/issues/4213
[i915#426]: https://gitlab.freedesktop.org/drm/intel/issues/426
[i915#4270]: https://gitlab.freedesktop.org/drm/intel/issues/4270
[i915#4281]: https://gitlab.freedesktop.org/drm/intel/issues/4281
[i915#4312]: https://gitlab.freedesktop.org/drm/intel/issues/4312
[i915#4387]: https://gitlab.freedesktop.org/drm/intel/issues/4387
[i915#4391]: https://gitlab.freedesktop.org/drm/intel/issues/4391
[i915#4525]: https://gitlab.freedesktop.org/drm/intel/issues/4525
[i915#4538]: https://gitlab.freedesktop.org/drm/intel/issues/4538
[i915#454]: https://gitlab.freedesktop.org/drm/intel/issues/454
[i915#4565]: https://gitlab.freedesktop.org/drm/intel/issues/4565
[i915#4573]: https://gitlab.freedesktop.org/drm/intel/issues/4573
[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#4873]: https://gitlab.freedesktop.org/drm/intel/issues/4873
[i915#4874]: https://gitlab.freedesktop.org/drm/intel/issues/4874
[i915#4877]: https://gitlab.freedesktop.org/drm/intel/issues/4877
[i915#4879]: https://gitlab.freedesktop.org/drm/intel/issues/4879
[i915#4880]: https://gitlab.freedesktop.org/drm/intel/issues/4880
[i915#4881]: https://gitlab.freedesktop.org/drm/intel/issues/4881
[i915#4885]: https://gitlab.freedesktop.org/drm/intel/issues/4885
[i915#4958]: https://gitlab.freedesktop.org/drm/intel/issues/4958
[i915#4991]: https://gitlab.freedesktop.org/drm/intel/issues/4991
[i915#5138]: https://gitlab.freedesktop.org/drm/intel/issues/5138
[i915#5176]: https://gitlab.freedesktop.org/drm/intel/issues/5176
[i915#5213]: https://gitlab.freedesktop.org/drm/intel/issues/5213
[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#5289]: https://gitlab.freedesktop.org/drm/intel/issues/5289
[i915#5325]: https://gitlab.freedesktop.org/drm/intel/issues/5325
[i915#533]: https://gitlab.freedesktop.org/drm/intel/issues/533
[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#5584]: https://gitlab.freedesktop.org/drm/intel/issues/5584
[i915#5784]: https://gitlab.freedesktop.org/drm/intel/issues/5784
[i915#6095]: https://gitlab.freedesktop.org/drm/intel/issues/6095
[i915#6227]: https://gitlab.freedesktop.org/drm/intel/issues/6227
[i915#6245]: https://gitlab.freedesktop.org/drm/intel/issues/6245
[i915#6247]: https://gitlab.freedesktop.org/drm/intel/issues/6247
[i915#6248]: https://gitlab.freedesktop.org/drm/intel/issues/6248
[i915#6252]: https://gitlab.freedesktop.org/drm/intel/issues/6252
[i915#6301]: https://gitlab.freedesktop.org/drm/intel/issues/6301
[i915#6334]: https://gitlab.freedesktop.org/drm/intel/issues/6334
[i915#6335]: https://gitlab.freedesktop.org/drm/intel/issues/6335
[i915#6344]: https://gitlab.freedesktop.org/drm/intel/issues/6344
[i915#6355]: https://gitlab.freedesktop.org/drm/intel/issues/6355
[i915#6412]: https://gitlab.freedesktop.org/drm/intel/issues/6412
[i915#6433]: https://gitlab.freedesktop.org/drm/intel/issues/6433
[i915#6497]: https://gitlab.freedesktop.org/drm/intel/issues/6497
[i915#6524]: https://gitlab.freedesktop.org/drm/intel/issues/6524
[i915#6537]: https://gitlab.freedesktop.org/drm/intel/issues/6537
[i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658
[i915#6590]: https://gitlab.freedesktop.org/drm/intel/issues/6590
[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#7178]: https://gitlab.freedesktop.org/drm/intel/issues/7178
[i915#7248]: https://gitlab.freedesktop.org/drm/intel/issues/7248
[i915#7276]: https://gitlab.freedesktop.org/drm/intel/issues/7276
[i915#7468]: https://gitlab.freedesktop.org/drm/intel/issues/7468
[i915#79]: https://gitlab.freedesktop.org/drm/intel/issues/79
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_7053 -> IGTPW_8093
* Piglit: piglit_4509 -> None
CI-20190529: 20190529
CI_DRM_12374: 7963775fe0f4b1a4739dd6808abfd7fdf467779c @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_8093: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8093/index.html
IGT_7053: a9e73e6c48ab6632e2adb095cb809118b437fdfd @ 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_8093/index.html
[-- Attachment #2: Type: text/html, Size: 41038 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2022-11-14 11:30 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-11-14 6:40 [igt-dev] [PATCH 0/2] Add new subtest and test cleanup Nidhi Gupta
2022-11-14 6:40 ` [igt-dev] [PATCH 1/2] tests/i915/i915_pm_backlight: Add new subtest to validate dual panel backlight Nidhi Gupta
2022-11-14 7:20 ` Hogander, Jouni
2022-11-14 7:46 ` Hogander, Jouni
2022-11-14 6:40 ` [igt-dev] [PATCH 2/2] tests/i915/i915_pm_backlight: Create dynamic subtests Nidhi Gupta
2022-11-14 7:50 ` Hogander, Jouni
2022-11-14 8:44 ` [igt-dev] ✓ Fi.CI.BAT: success for Add new subtest and test cleanup Patchwork
2022-11-14 11:30 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
-- strict thread matches above, loose matches on Subject: below --
2022-11-08 13:03 [igt-dev] [PATCH 0/2] tests/i915/i915_pm_backlight: " Nidhi Gupta
2022-11-08 13:03 ` [igt-dev] [PATCH 2/2] tests/i915/i915_pm_backlight: Create dynamic subtests Nidhi Gupta
2022-11-09 9:26 ` Kamil Konieczny
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox