* [igt-dev] [PATCH i-g-t v5 1/7] tests/kms_frontbuffer_tracking: Add tiling to test_mode
@ 2020-03-23 20:46 José Roberto de Souza
2020-03-23 20:46 ` [igt-dev] [PATCH i-g-t v5 2/7] tests/kms_frontbuffer_tracking: Improve tiling test coverage José Roberto de Souza
` (7 more replies)
0 siblings, 8 replies; 10+ messages in thread
From: José Roberto de Souza @ 2020-03-23 20:46 UTC (permalink / raw)
To: igt-dev
This will allow us to do tests with different tile types, for now
all tests will continue to run with the default X tiling.
It will be used in upcoming patches.
It also allow user to run all tests with liner tiling when set by
parameter.
v2:
- renamed tile to tiling (Ville)
- added to the commit message that this will be used in upcoming
patches
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
---
tests/kms_frontbuffer_tracking.c | 122 ++++++++++++++++++++-----------
1 file changed, 78 insertions(+), 44 deletions(-)
diff --git a/tests/kms_frontbuffer_tracking.c b/tests/kms_frontbuffer_tracking.c
index c4b4af43..c4deb72b 100644
--- a/tests/kms_frontbuffer_tracking.c
+++ b/tests/kms_frontbuffer_tracking.c
@@ -130,6 +130,14 @@ struct test_mode {
FLIP_COUNT,
} flip;
+ enum tiling_type {
+ TILING_LINEAR = 0,
+ TILING_X,
+ TILING_Y,
+ TILING_COUNT,
+ TILING_DEFAULT = TILING_X,
+ } tiling;
+
enum igt_draw_method method;
};
@@ -235,7 +243,7 @@ struct {
int only_pipes;
int shared_fb_x_offset;
int shared_fb_y_offset;
- uint64_t tiling;
+ enum tiling_type tiling;
} opt = {
.check_status = true,
.check_crc = true,
@@ -248,7 +256,7 @@ struct {
.only_pipes = PIPE_COUNT,
.shared_fb_x_offset = 248,
.shared_fb_y_offset = 500,
- .tiling = LOCAL_I915_FORMAT_MOD_X_TILED,
+ .tiling = TILING_DEFAULT,
};
struct modeset_params {
@@ -444,13 +452,26 @@ static bool init_modeset_cached_params(void)
return true;
}
+static uint64_t tiling_to_modifier(enum tiling_type tiling)
+{
+ switch (tiling) {
+ case TILING_LINEAR:
+ return LOCAL_DRM_FORMAT_MOD_NONE;
+ case TILING_X:
+ return LOCAL_I915_FORMAT_MOD_X_TILED;
+ case TILING_Y:
+ return LOCAL_I915_FORMAT_MOD_Y_TILED;
+ default:
+ igt_assert(false);
+ }
+}
+
static void create_fb(enum pixel_format pformat, int width, int height,
- uint64_t tiling, int plane, struct igt_fb *fb)
+ enum tiling_type tiling, int plane, struct igt_fb *fb)
{
uint32_t format;
- uint64_t size;
+ uint64_t size, modifier;
unsigned int stride;
- uint64_t tiling_for_size;
switch (pformat) {
case FORMAT_RGB888:
@@ -480,19 +501,14 @@ static void create_fb(enum pixel_format pformat, int width, int height,
igt_assert(false);
}
- /* We want all frontbuffers with the same width/height/format to have
- * the same size regardless of tiling since we want to properly exercise
- * the Kernel's specific tiling-checking code paths without accidentally
- * hitting size-checking ones first. */
- if (plane == PLANE_CUR)
- tiling_for_size = LOCAL_DRM_FORMAT_MOD_NONE;
- else
- tiling_for_size = opt.tiling;
+ modifier = tiling_to_modifier(tiling);
- igt_calc_fb_size(drm.fd, width, height, format, tiling_for_size, &size,
+ igt_warn_on(plane == PLANE_CUR && tiling != TILING_LINEAR);
+
+ igt_calc_fb_size(drm.fd, width, height, format, modifier, &size,
&stride);
- igt_create_fb_with_bo_size(drm.fd, width, height, format, tiling,
+ igt_create_fb_with_bo_size(drm.fd, width, height, format, modifier,
IGT_COLOR_YCBCR_BT709,
IGT_COLOR_YCBCR_LIMITED_RANGE,
fb, size, stride);
@@ -594,7 +610,7 @@ static void fill_fb(struct igt_fb *fb, enum color ecolor)
* We do it vertically instead of the more common horizontal case in order to
* avoid super huge strides not supported by FBC.
*/
-static void create_shared_fb(enum pixel_format format)
+static void create_shared_fb(enum pixel_format format, enum tiling_type tiling)
{
int prim_w, prim_h, scnd_w, scnd_h, offs_w, offs_h, big_w, big_h;
struct screen_fbs *s = &fbs[format];
@@ -621,7 +637,7 @@ static void create_shared_fb(enum pixel_format format)
big_h = prim_h + scnd_h + offs_h + opt.shared_fb_y_offset;
- create_fb(format, big_w, big_h, opt.tiling, PLANE_PRI, &s->big);
+ create_fb(format, big_w, big_h, tiling, PLANE_PRI, &s->big);
}
static void destroy_fbs(enum pixel_format format)
@@ -643,7 +659,7 @@ static void destroy_fbs(enum pixel_format format)
igt_remove_fb(drm.fd, &s->big);
}
-static void create_fbs(enum pixel_format format)
+static void create_fbs(enum pixel_format format, enum tiling_type tiling)
{
struct screen_fbs *s = &fbs[format];
@@ -653,30 +669,29 @@ static void create_fbs(enum pixel_format format)
s->initialized = true;
create_fb(format, prim_mode_params.mode->hdisplay,
- prim_mode_params.mode->vdisplay, opt.tiling, PLANE_PRI,
+ prim_mode_params.mode->vdisplay, tiling, PLANE_PRI,
&s->prim_pri);
create_fb(format, prim_mode_params.cursor.w,
prim_mode_params.cursor.h, LOCAL_DRM_FORMAT_MOD_NONE,
PLANE_CUR, &s->prim_cur);
create_fb(format, prim_mode_params.sprite.w,
- prim_mode_params.sprite.h, opt.tiling, PLANE_SPR,
- &s->prim_spr);
+ prim_mode_params.sprite.h, tiling, PLANE_SPR, &s->prim_spr);
- create_fb(format, offscreen_fb.w, offscreen_fb.h, opt.tiling, PLANE_PRI,
+ create_fb(format, offscreen_fb.w, offscreen_fb.h, tiling, PLANE_PRI,
&s->offscreen);
- create_shared_fb(format);
+ create_shared_fb(format, tiling);
if (!scnd_mode_params.output)
return;
create_fb(format, scnd_mode_params.mode->hdisplay,
- scnd_mode_params.mode->vdisplay, opt.tiling, PLANE_PRI,
+ scnd_mode_params.mode->vdisplay, tiling, PLANE_PRI,
&s->scnd_pri);
create_fb(format, scnd_mode_params.cursor.w, scnd_mode_params.cursor.h,
LOCAL_DRM_FORMAT_MOD_NONE, PLANE_CUR, &s->scnd_cur);
create_fb(format, scnd_mode_params.sprite.w, scnd_mode_params.sprite.h,
- opt.tiling, PLANE_SPR, &s->scnd_spr);
+ tiling, PLANE_SPR, &s->scnd_spr);
}
static void __set_prim_plane_for_params(struct modeset_params *params)
@@ -1177,7 +1192,7 @@ static void collect_crc(igt_crc_t *crc)
igt_pipe_crc_collect_crc(pipe_crc, crc);
}
-static void init_blue_crc(enum pixel_format format)
+static void init_blue_crc(enum pixel_format format, enum tiling_type tiling)
{
struct igt_fb blue;
@@ -1185,7 +1200,7 @@ static void init_blue_crc(enum pixel_format format)
return;
create_fb(format, prim_mode_params.mode->hdisplay,
- prim_mode_params.mode->vdisplay, opt.tiling, PLANE_PRI,
+ prim_mode_params.mode->vdisplay, tiling, PLANE_PRI,
&blue);
fill_fb(&blue, COLOR_PRIM_BG);
@@ -1211,7 +1226,7 @@ static void init_blue_crc(enum pixel_format format)
blue_crcs[format].initialized = true;
}
-static void init_crcs(enum pixel_format format,
+static void init_crcs(enum pixel_format format, enum tiling_type tiling,
struct draw_pattern_info *pattern)
{
int r, r_;
@@ -1225,7 +1240,7 @@ static void init_crcs(enum pixel_format format,
for (r = 0; r < pattern->n_rects; r++)
create_fb(format, prim_mode_params.mode->hdisplay,
- prim_mode_params.mode->vdisplay, opt.tiling,
+ prim_mode_params.mode->vdisplay, tiling,
PLANE_PRI, &tmp_fbs[r]);
for (r = 0; r < pattern->n_rects; r++)
@@ -1290,7 +1305,7 @@ static void setup_modeset(void)
offscreen_fb.fb = NULL;
offscreen_fb.w = 1024;
offscreen_fb.h = 1024;
- create_fbs(FORMAT_DEFAULT);
+ create_fbs(FORMAT_DEFAULT, opt.tiling);
}
static void teardown_modeset(void)
@@ -1751,7 +1766,7 @@ static void set_crtc_fbs(const struct test_mode *t)
{
struct screen_fbs *s = &fbs[t->format];
- create_fbs(t->format);
+ create_fbs(t->format, t->tiling);
switch (t->fbs) {
case FBS_INDIVIDUAL:
@@ -1811,9 +1826,9 @@ static void prepare_subtest_data(const struct test_mode *t,
if (need_modeset)
igt_display_commit(&drm.display);
- init_blue_crc(t->format);
+ init_blue_crc(t->format, t->tiling);
if (pattern)
- init_crcs(t->format, pattern);
+ init_crcs(t->format, t->tiling, pattern);
need_modeset = enable_features_for_test(t);
if (need_modeset)
@@ -2304,7 +2319,7 @@ static void flip_subtest(const struct test_mode *t)
prepare_subtest(t, pattern);
create_fb(t->format, params->primary.fb->width, params->primary.fb->height,
- opt.tiling, t->plane, &fb2);
+ t->tiling, t->plane, &fb2);
fill_fb(&fb2, bg_color);
orig_fb = params->primary.fb;
@@ -2353,7 +2368,7 @@ static void fliptrack_subtest(const struct test_mode *t, enum flip_type type)
prepare_subtest(t, pattern);
create_fb(t->format, params->primary.fb->width, params->primary.fb->height,
- opt.tiling, t->plane, &fb2);
+ t->tiling, t->plane, &fb2);
fill_fb(&fb2, COLOR_PRIM_BG);
orig_fb = params->primary.fb;
@@ -2511,7 +2526,7 @@ static void fullscreen_plane_subtest(const struct test_mode *t)
prepare_subtest(t, pattern);
rect = pattern->get_rect(¶ms->primary, 0);
- create_fb(t->format, rect.w, rect.h, opt.tiling, t->plane,
+ create_fb(t->format, rect.w, rect.h, t->tiling, t->plane,
&fullscreen_fb);
/* Call pick_color() again since PRI and SPR may not support the same
* pixel formats. */
@@ -2584,7 +2599,7 @@ static void scaledprimary_subtest(const struct test_mode *t)
old_fb = reg->fb;
create_fb(t->format, reg->fb->width, reg->fb->height,
- opt.tiling, t->plane, &new_fb);
+ t->tiling, t->plane, &new_fb);
fill_fb(&new_fb, COLOR_BLUE);
igt_draw_rect_fb(drm.fd, drm.bufmgr, NULL, &new_fb, t->method,
@@ -2679,7 +2694,7 @@ static void modesetfrombusy_subtest(const struct test_mode *t)
prepare_subtest(t, NULL);
create_fb(t->format, params->primary.fb->width, params->primary.fb->height,
- opt.tiling, t->plane, &fb2);
+ t->tiling, t->plane, &fb2);
fill_fb(&fb2, COLOR_PRIM_BG);
start_busy_thread(params->primary.fb);
@@ -2782,7 +2797,7 @@ static void farfromfence_subtest(const struct test_mode *t)
prepare_subtest(t, pattern);
target = pick_target(t, params);
- create_fb(t->format, params->mode->hdisplay, max_height, opt.tiling,
+ create_fb(t->format, params->mode->hdisplay, max_height, t->tiling,
t->plane, &tall_fb);
fill_fb(&tall_fb, COLOR_PRIM_BG);
@@ -2859,7 +2874,7 @@ static void badstride_subtest(const struct test_mode *t)
old_fb = params->primary.fb;
create_fb(t->format, params->primary.fb->width + 4096, params->primary.fb->height,
- opt.tiling, t->plane, &wide_fb);
+ t->tiling, t->plane, &wide_fb);
igt_assert(wide_fb.strides[0] > 16384);
fill_fb(&wide_fb, COLOR_PRIM_BG);
@@ -3039,7 +3054,7 @@ static void basic_subtest(const struct test_mode *t)
prepare_subtest(t, pattern);
create_fb(t->format, params->primary.fb->width, params->primary.fb->height,
- opt.tiling, t->plane, &fb2);
+ t->tiling, t->plane, &fb2);
fb1 = params->primary.fb;
for (r = 0, method = 0; method < IGT_DRAW_METHOD_COUNT; method++) {
@@ -3120,10 +3135,12 @@ static int opt_handler(int option, int option_index, void *data)
break;
case 'l':
if (!strcmp(optarg, "x"))
- opt.tiling = LOCAL_I915_FORMAT_MOD_X_TILED;
+ opt.tiling = TILING_X;
else if (!strcmp(optarg, "y"))
- opt.tiling = LOCAL_I915_FORMAT_MOD_Y_TILED;
- else {
+ opt.tiling = TILING_Y;
+ else if (!strcmp(optarg, "l")) {
+ opt.tiling = TILING_LINEAR;
+ } else {
igt_warn("Bad tiling value: %s\n", optarg);
return IGT_OPT_HANDLER_ERROR;
}
@@ -3255,9 +3272,24 @@ static const char *flip_str(enum flip_type flip)
}
}
+static const char *tiling_str(enum tiling_type tiling)
+{
+ switch (tiling) {
+ case TILING_LINEAR:
+ return "linear";
+ case TILING_X:
+ return "x";
+ case TILING_Y:
+ return "y";
+ default:
+ igt_assert(false);
+ }
+}
+
#define TEST_MODE_ITER_BEGIN(t) \
t.format = FORMAT_DEFAULT; \
t.flip = FLIP_PAGEFLIP; \
+ t.tiling = opt.tiling;; \
for (t.feature = 0; t.feature < FEATURE_COUNT; t.feature++) { \
for (t.pipes = 0; t.pipes < PIPE_COUNT; t.pipes++) { \
for (t.screen = 0; t.screen < SCREEN_COUNT; t.screen++) { \
@@ -3315,6 +3347,7 @@ igt_main_args("", long_options, help_str, opt_handler, NULL)
/* Make sure nothing is using these values. */
t.flip = -1;
t.method = -1;
+ t.tiling = opt.tiling;
igt_subtest_f("%s-%s-rte",
feature_str(t.feature),
@@ -3499,6 +3532,7 @@ igt_main_args("", long_options, help_str, opt_handler, NULL)
t.feature = FEATURE_DEFAULT;
t.format = FORMAT_DEFAULT;
t.flip = FLIP_PAGEFLIP;
+ t.tiling = opt.tiling;
igt_subtest("basic") {
igt_require_gem(drm.fd);
basic_subtest(&t);
--
2.25.2
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply related [flat|nested] 10+ messages in thread* [igt-dev] [PATCH i-g-t v5 2/7] tests/kms_frontbuffer_tracking: Improve tiling test coverage
2020-03-23 20:46 [igt-dev] [PATCH i-g-t v5 1/7] tests/kms_frontbuffer_tracking: Add tiling to test_mode José Roberto de Souza
@ 2020-03-23 20:46 ` José Roberto de Souza
2020-03-24 8:27 ` Petri Latvala
2020-03-23 20:46 ` [igt-dev] [PATCH i-g-t v5 3/7] tests/kms_frontbuffer_tracking: Enable positive test on linear tiling José Roberto de Souza
` (6 subsequent siblings)
7 siblings, 1 reply; 10+ messages in thread
From: José Roberto de Souza @ 2020-03-23 20:46 UTC (permalink / raw)
To: igt-dev
Lets add some more tiling tests, if tiling is supported by FBC draw
some rectangles and compare the CRC against benchmark if not
supported run the test to guarantee that FBC is disabled.
This is a preparation for when kernel will allow FBC to be enabled
without fences, so we can better test linear and Y tiled
frontbuffers.
v2:
- renamed tile to tiling (Ville)
- removed *-tiling-x test (Ville)
- improved tiling_disable_fbc_subtest documentation (Ville)
v3:
- added new tests description
- fixed failure in prepare_subtest()
v5:
- not adding tiling Y tests to GENs older than 9 because it is not
supported
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
---
tests/kms_frontbuffer_tracking.c | 79 +++++++++++++++++++++++++-------
1 file changed, 62 insertions(+), 17 deletions(-)
diff --git a/tests/kms_frontbuffer_tracking.c b/tests/kms_frontbuffer_tracking.c
index c4deb72b..267aa631 100644
--- a/tests/kms_frontbuffer_tracking.c
+++ b/tests/kms_frontbuffer_tracking.c
@@ -2170,6 +2170,23 @@ static void format_draw_subtest(const struct test_mode *t)
badformat_subtest(t);
}
+static bool tiling_is_valid(int feature_flags, enum tiling_type tiling)
+{
+ if (!(feature_flags & FEATURE_FBC))
+ return true;
+
+ switch (tiling) {
+ case TILING_LINEAR:
+ return false;
+ case TILING_X:
+ case TILING_Y:
+ return true;
+ default:
+ igt_assert(false);
+ return false;
+ }
+}
+
/*
* slow_draw - sleep a little bit between drawing operations
*
@@ -2975,45 +2992,47 @@ static void stridechange_subtest(const struct test_mode *t)
}
/**
- * tilingchange - alternate between tiled and untiled in multiple ways
+ * tiling_disable_fbc_subtest - Check if tiling is unsupported by FBC
*
* METHOD
- * This test alternates between tiled and untiled frontbuffers of the same
- * size and format through multiple different APIs: the page flip IOCTL,
- * normal modesets and the plane APIs.
+ * This test alternates between a FBC supported and non-supported tiled
+ * frontbuffers of the same size and format through multiple different
+ * APIs: the page flip IOCTL, normal modesets and the plane APIs.
*
* EXPECTED RESULTS
- * FBC gets properly disabled for the untiled FB and reenabled for the
- * tiled FB.
+ * FBC gets properly disabled for the non-supported tiling and reenabled for
+ * the supported tiling.
*
* FAILURES
* Bad Kernels may somehow leave FBC enabled, which can cause FIFO underruns
* that lead to CRC assertion failures.
*/
-static void tilingchange_subtest(const struct test_mode *t)
+static void tiling_disable_fbc_subtest(const struct test_mode *t)
{
- struct igt_fb new_fb, *old_fb;
+ struct igt_fb new_fb, *supported_fb;
struct modeset_params *params = pick_params(t);
enum flip_type flip_type;
+ struct test_mode supported_mode;
- prepare_subtest(t, NULL);
+ memcpy(&supported_mode, t, sizeof(*t));
+ supported_mode.tiling = TILING_X;
+ prepare_subtest(&supported_mode, NULL);
+ supported_fb = params->primary.fb;
- old_fb = params->primary.fb;
-
- create_fb(t->format, params->primary.fb->width, params->primary.fb->height,
- LOCAL_DRM_FORMAT_MOD_NONE, t->plane, &new_fb);
+ create_fb(t->format, params->primary.fb->width,
+ params->primary.fb->height, t->tiling, t->plane, &new_fb);
fill_fb(&new_fb, COLOR_PRIM_BG);
for (flip_type = 0; flip_type < FLIP_COUNT; flip_type++) {
igt_debug("Flip type: %d\n", flip_type);
- /* Set a buffer with no tiling. */
+ /* Set a buffer with new tiling. */
params->primary.fb = &new_fb;
page_flip_for_params(params, flip_type);
do_assertions(ASSERT_FBC_DISABLED);
/* Put FBC back in a working state. */
- params->primary.fb = old_fb;
+ params->primary.fb = supported_fb;
page_flip_for_params(params, flip_type);
do_assertions(0);
}
@@ -3513,8 +3532,34 @@ igt_main_args("", long_options, help_str, opt_handler, NULL)
igt_subtest_f("%s-stridechange", feature_str(t.feature))
stridechange_subtest(&t);
- igt_subtest_f("%s-tilingchange", feature_str(t.feature))
- tilingchange_subtest(&t);
+ for (t.tiling = TILING_LINEAR; t.tiling < TILING_COUNT;
+ t.tiling++) {
+ int devid = intel_get_drm_devid(drm.fd);
+
+ if (t.tiling == TILING_X)
+ continue;
+
+ /* Tiling Y is only supported on GEN9+ */
+ if (!AT_LEAST_GEN(devid, 9) &&
+ t.tiling == TILING_Y)
+ continue;
+
+ igt_describe("Test the tiling formats, if the "
+ "tiling format supports FBC do"
+ "the basic drawing test if not "
+ "set the mode and test if FBC is "
+ "disabled");
+ igt_subtest_f("%s-tiling-%s",
+ feature_str(t.feature),
+ tiling_str(t.tiling)) {
+
+ if (tiling_is_valid(t.feature, t.tiling))
+ draw_subtest(&t);
+ else
+ tiling_disable_fbc_subtest(&t);
+ }
+ }
+ t.tiling = opt.tiling;
}
if ((t.feature & FEATURE_PSR) || (t.feature & FEATURE_DRRS))
--
2.25.2
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply related [flat|nested] 10+ messages in thread* Re: [igt-dev] [PATCH i-g-t v5 2/7] tests/kms_frontbuffer_tracking: Improve tiling test coverage
2020-03-23 20:46 ` [igt-dev] [PATCH i-g-t v5 2/7] tests/kms_frontbuffer_tracking: Improve tiling test coverage José Roberto de Souza
@ 2020-03-24 8:27 ` Petri Latvala
0 siblings, 0 replies; 10+ messages in thread
From: Petri Latvala @ 2020-03-24 8:27 UTC (permalink / raw)
To: José Roberto de Souza; +Cc: igt-dev
On Mon, Mar 23, 2020 at 01:46:16PM -0700, José Roberto de Souza wrote:
> Lets add some more tiling tests, if tiling is supported by FBC draw
> some rectangles and compare the CRC against benchmark if not
> supported run the test to guarantee that FBC is disabled.
>
> This is a preparation for when kernel will allow FBC to be enabled
> without fences, so we can better test linear and Y tiled
> frontbuffers.
>
> v2:
> - renamed tile to tiling (Ville)
> - removed *-tiling-x test (Ville)
> - improved tiling_disable_fbc_subtest documentation (Ville)
>
> v3:
> - added new tests description
> - fixed failure in prepare_subtest()
>
> v5:
> - not adding tiling Y tests to GENs older than 9 because it is not
> supported
>
> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
> ---
> tests/kms_frontbuffer_tracking.c | 79 +++++++++++++++++++++++++-------
> 1 file changed, 62 insertions(+), 17 deletions(-)
>
> diff --git a/tests/kms_frontbuffer_tracking.c b/tests/kms_frontbuffer_tracking.c
> index c4deb72b..267aa631 100644
> --- a/tests/kms_frontbuffer_tracking.c
> +++ b/tests/kms_frontbuffer_tracking.c
> @@ -2170,6 +2170,23 @@ static void format_draw_subtest(const struct test_mode *t)
> badformat_subtest(t);
> }
>
> +static bool tiling_is_valid(int feature_flags, enum tiling_type tiling)
> +{
> + if (!(feature_flags & FEATURE_FBC))
> + return true;
> +
> + switch (tiling) {
> + case TILING_LINEAR:
> + return false;
> + case TILING_X:
> + case TILING_Y:
> + return true;
> + default:
> + igt_assert(false);
> + return false;
> + }
> +}
> +
> /*
> * slow_draw - sleep a little bit between drawing operations
> *
> @@ -2975,45 +2992,47 @@ static void stridechange_subtest(const struct test_mode *t)
> }
>
> /**
> - * tilingchange - alternate between tiled and untiled in multiple ways
> + * tiling_disable_fbc_subtest - Check if tiling is unsupported by FBC
> *
> * METHOD
> - * This test alternates between tiled and untiled frontbuffers of the same
> - * size and format through multiple different APIs: the page flip IOCTL,
> - * normal modesets and the plane APIs.
> + * This test alternates between a FBC supported and non-supported tiled
> + * frontbuffers of the same size and format through multiple different
> + * APIs: the page flip IOCTL, normal modesets and the plane APIs.
> *
> * EXPECTED RESULTS
> - * FBC gets properly disabled for the untiled FB and reenabled for the
> - * tiled FB.
> + * FBC gets properly disabled for the non-supported tiling and reenabled for
> + * the supported tiling.
> *
> * FAILURES
> * Bad Kernels may somehow leave FBC enabled, which can cause FIFO underruns
> * that lead to CRC assertion failures.
> */
> -static void tilingchange_subtest(const struct test_mode *t)
> +static void tiling_disable_fbc_subtest(const struct test_mode *t)
> {
> - struct igt_fb new_fb, *old_fb;
> + struct igt_fb new_fb, *supported_fb;
> struct modeset_params *params = pick_params(t);
> enum flip_type flip_type;
> + struct test_mode supported_mode;
>
> - prepare_subtest(t, NULL);
> + memcpy(&supported_mode, t, sizeof(*t));
> + supported_mode.tiling = TILING_X;
> + prepare_subtest(&supported_mode, NULL);
> + supported_fb = params->primary.fb;
>
> - old_fb = params->primary.fb;
> -
> - create_fb(t->format, params->primary.fb->width, params->primary.fb->height,
> - LOCAL_DRM_FORMAT_MOD_NONE, t->plane, &new_fb);
> + create_fb(t->format, params->primary.fb->width,
> + params->primary.fb->height, t->tiling, t->plane, &new_fb);
> fill_fb(&new_fb, COLOR_PRIM_BG);
>
> for (flip_type = 0; flip_type < FLIP_COUNT; flip_type++) {
> igt_debug("Flip type: %d\n", flip_type);
>
> - /* Set a buffer with no tiling. */
> + /* Set a buffer with new tiling. */
> params->primary.fb = &new_fb;
> page_flip_for_params(params, flip_type);
> do_assertions(ASSERT_FBC_DISABLED);
>
> /* Put FBC back in a working state. */
> - params->primary.fb = old_fb;
> + params->primary.fb = supported_fb;
> page_flip_for_params(params, flip_type);
> do_assertions(0);
> }
> @@ -3513,8 +3532,34 @@ igt_main_args("", long_options, help_str, opt_handler, NULL)
> igt_subtest_f("%s-stridechange", feature_str(t.feature))
> stridechange_subtest(&t);
>
> - igt_subtest_f("%s-tilingchange", feature_str(t.feature))
> - tilingchange_subtest(&t);
> + for (t.tiling = TILING_LINEAR; t.tiling < TILING_COUNT;
> + t.tiling++) {
> + int devid = intel_get_drm_devid(drm.fd);
You can't access device information without being inside a fixture or a subtest.
> +
> + if (t.tiling == TILING_X)
> + continue;
> +
> + /* Tiling Y is only supported on GEN9+ */
> + if (!AT_LEAST_GEN(devid, 9) &&
> + t.tiling == TILING_Y)
> + continue;
Don't attempt to do this. All subtests need to be statically
enumerated regardless of what devices are available and what they're
capable of.
You can check those conditions in an igt_fixture with a subtest group
to skip only the subtest(s) for that tiling mode:
igt_subtest_group {
igt_fixture {
int devid = intel_get_drm_devid(drm.fd);
igt_skip_on_f(t.tiling == TILING_X, "Can't use X tiling because of reasons\n");
igt_skip_on_f(!AT_LEAST_GEN(devid, 9) && t.tiling == TILING_Y, "Can't use Y tiling before gen9\n");
}
igt_describe(...);
igt_subtest_f(....);
...
}
--
Petri Latvala
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 10+ messages in thread
* [igt-dev] [PATCH i-g-t v5 3/7] tests/kms_frontbuffer_tracking: Enable positive test on linear tiling
2020-03-23 20:46 [igt-dev] [PATCH i-g-t v5 1/7] tests/kms_frontbuffer_tracking: Add tiling to test_mode José Roberto de Souza
2020-03-23 20:46 ` [igt-dev] [PATCH i-g-t v5 2/7] tests/kms_frontbuffer_tracking: Improve tiling test coverage José Roberto de Souza
@ 2020-03-23 20:46 ` José Roberto de Souza
2020-03-23 20:46 ` [igt-dev] [PATCH i-g-t v5 4/7] tests/kms_fbcon_fbt: Reduce execution time José Roberto de Souza
` (5 subsequent siblings)
7 siblings, 0 replies; 10+ messages in thread
From: José Roberto de Souza @ 2020-03-23 20:46 UTC (permalink / raw)
To: igt-dev; +Cc: Petri Latvala
i915 is making fences not mandatory to enable FBC in newer platforms.
As BSpec do not have restrictions against tiling formats to enable
FBC it will be possible to enable FBC with linear tiling, so lets test
it.
v2:
- changed from GEN11 to GEN9 following kernel patches
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Petri Latvala <petri.latvala@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
---
tests/kms_frontbuffer_tracking.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/tests/kms_frontbuffer_tracking.c b/tests/kms_frontbuffer_tracking.c
index 267aa631..1057a5aa 100644
--- a/tests/kms_frontbuffer_tracking.c
+++ b/tests/kms_frontbuffer_tracking.c
@@ -2172,12 +2172,14 @@ static void format_draw_subtest(const struct test_mode *t)
static bool tiling_is_valid(int feature_flags, enum tiling_type tiling)
{
+ int devid = intel_get_drm_devid(drm.fd);
+
if (!(feature_flags & FEATURE_FBC))
return true;
switch (tiling) {
case TILING_LINEAR:
- return false;
+ return AT_LEAST_GEN(devid, 9);
case TILING_X:
case TILING_Y:
return true;
--
2.25.2
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply related [flat|nested] 10+ messages in thread* [igt-dev] [PATCH i-g-t v5 4/7] tests/kms_fbcon_fbt: Reduce execution time
2020-03-23 20:46 [igt-dev] [PATCH i-g-t v5 1/7] tests/kms_frontbuffer_tracking: Add tiling to test_mode José Roberto de Souza
2020-03-23 20:46 ` [igt-dev] [PATCH i-g-t v5 2/7] tests/kms_frontbuffer_tracking: Improve tiling test coverage José Roberto de Souza
2020-03-23 20:46 ` [igt-dev] [PATCH i-g-t v5 3/7] tests/kms_frontbuffer_tracking: Enable positive test on linear tiling José Roberto de Souza
@ 2020-03-23 20:46 ` José Roberto de Souza
2020-03-23 20:46 ` [igt-dev] [PATCH i-g-t v5 5/7] tests/kms_fbcon_fbt: Handle FBC enabled on fbcon in GEN9+ José Roberto de Souza
` (4 subsequent siblings)
7 siblings, 0 replies; 10+ messages in thread
From: José Roberto de Souza @ 2020-03-23 20:46 UTC (permalink / raw)
To: igt-dev
Every time fbc_wait_until_enabled() is called from
fbc_wait_until_update() it was waiting the whole 5 seconds of timeout
to return false as expected.
To save most 99% of this adding here fbc_wait_until_disabled().
v5:
- Fixed fbc_wait_until_update() test
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
---
tests/kms_fbcon_fbt.c | 18 ++++++++++++++----
1 file changed, 14 insertions(+), 4 deletions(-)
diff --git a/tests/kms_fbcon_fbt.c b/tests/kms_fbcon_fbt.c
index ed4cccbe..b8000a24 100644
--- a/tests/kms_fbcon_fbt.c
+++ b/tests/kms_fbcon_fbt.c
@@ -113,18 +113,28 @@ static void fbc_print_status(int debugfs_fd)
igt_debug("FBC status: %s\n", buf);
}
-static bool fbc_is_enabled(int debugfs_fd)
+static bool fbc_check_status(int debugfs_fd, bool enabled)
{
char buf[128];
igt_debugfs_simple_read(debugfs_fd, "i915_fbc_status", buf,
sizeof(buf));
- return strstr(buf, "FBC enabled\n");
+ if (enabled)
+ return strstr(buf, "FBC enabled\n");
+ else
+ return strstr(buf, "FBC disabled");
}
static bool fbc_wait_until_enabled(int debugfs_fd)
{
- bool r = igt_wait(fbc_is_enabled(debugfs_fd), 5000, 1);
+ bool r = igt_wait(fbc_check_status(debugfs_fd, true), 5000, 1);
+ fbc_print_status(debugfs_fd);
+ return r;
+}
+
+static bool fbc_wait_until_disabled(int debugfs_fd)
+{
+ bool r = igt_wait(fbc_check_status(debugfs_fd, false), 5000, 1);
fbc_print_status(debugfs_fd);
return r;
}
@@ -141,7 +151,7 @@ static bool fbc_wait_until_update(int debugfs)
* If one day fbcon starts to use a tiled framebuffer we would need to
* check the 'Compressing' status as in each blink it would be disabled.
*/
- return !fbc_wait_until_enabled(debugfs);
+ return fbc_wait_until_disabled(debugfs);
}
typedef bool (*connector_possible_fn)(drmModeConnectorPtr connector);
--
2.25.2
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply related [flat|nested] 10+ messages in thread* [igt-dev] [PATCH i-g-t v5 5/7] tests/kms_fbcon_fbt: Handle FBC enabled on fbcon in GEN9+
2020-03-23 20:46 [igt-dev] [PATCH i-g-t v5 1/7] tests/kms_frontbuffer_tracking: Add tiling to test_mode José Roberto de Souza
` (2 preceding siblings ...)
2020-03-23 20:46 ` [igt-dev] [PATCH i-g-t v5 4/7] tests/kms_fbcon_fbt: Reduce execution time José Roberto de Souza
@ 2020-03-23 20:46 ` José Roberto de Souza
2020-03-23 20:46 ` [igt-dev] [PATCH i-g-t v5 6/7] DO_NOT_MERGE: Revert "tests/kms_frontbuffer_tracking: Enable positive test on linear tiling" José Roberto de Souza
` (3 subsequent siblings)
7 siblings, 0 replies; 10+ messages in thread
From: José Roberto de Souza @ 2020-03-23 20:46 UTC (permalink / raw)
To: igt-dev
As now kernel enables FBC on linear surfaces on GEN9+, it will allow
FBC to be enabled on fbcon, so doing the changes he to tests this new
case.
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
---
tests/kms_fbcon_fbt.c | 42 ++++++++++++++++++++++++++++--------------
1 file changed, 28 insertions(+), 14 deletions(-)
diff --git a/tests/kms_fbcon_fbt.c b/tests/kms_fbcon_fbt.c
index b8000a24..081d57f6 100644
--- a/tests/kms_fbcon_fbt.c
+++ b/tests/kms_fbcon_fbt.c
@@ -42,6 +42,7 @@ struct drm_info {
int debugfs_fd;
drmModeResPtr res;
drmModeConnectorPtr connectors[MAX_CONNECTORS];
+ int devid;
};
static void wait_user(const char *msg)
@@ -67,6 +68,8 @@ static void setup_drm(struct drm_info *drm)
drm->connectors[i] = drmModeGetConnectorCurrent(drm->fd,
drm->res->connectors[i]);
+ drm->devid = intel_get_drm_devid(drm->fd);
+
kmstest_set_vt_graphics_mode();
}
@@ -139,19 +142,30 @@ static bool fbc_wait_until_disabled(int debugfs_fd)
return r;
}
-static bool fbc_wait_until_update(int debugfs)
+static bool fbc_not_compressing_enabled(int debugfs_fd)
+{
+ char buf[128];
+
+ igt_debugfs_simple_read(debugfs_fd, "i915_fbc_status", buf,
+ sizeof(buf));
+ return strstr(buf, "FBC enabled\nCompressing: no");
+}
+
+static bool fbc_wait_until_update(struct drm_info *drm)
{
/*
- * FBC is not expected to be enabled because fbcon do not uses a tiled
- * framebuffer so a fence can not be setup on the framebuffer and FBC
- * code requires a fence to accurate track frontbuffer modifications
- * (what maybe is not necessary anymore as we now have
- * intel_fbc_invalidate()/flush()).
+ * As now kernel enables FBC on linear surfaces on GEN9+, check if the
+ * fbcon cursor blinking is causing the FBC to uncompress the
+ * framebuffer.
*
- * If one day fbcon starts to use a tiled framebuffer we would need to
- * check the 'Compressing' status as in each blink it would be disabled.
+ * For older GENs FBC is still expected to be disabled as it still
+ * relies on a tiled and fenceable framebuffer to track modifications.
*/
- return fbc_wait_until_disabled(debugfs);
+ if (AT_LEAST_GEN(drm->devid, 9))
+ return igt_wait(fbc_not_compressing_enabled(drm->debugfs_fd),
+ 2000, 1);
+ else
+ return fbc_wait_until_disabled(drm->debugfs_fd);
}
typedef bool (*connector_possible_fn)(drmModeConnectorPtr connector);
@@ -220,9 +234,9 @@ static bool psr_supported_on_chipset(int debugfs_fd)
return psr_sink_support(debugfs_fd, PSR_MODE_1);
}
-static bool psr_wait_until_update(int debugfs_fd)
+static bool psr_wait_until_update(struct drm_info *drm)
{
- return psr_long_wait_update(debugfs_fd, PSR_MODE_1);
+ return psr_long_wait_update(drm->debugfs_fd, PSR_MODE_1);
}
static void disable_features(int debugfs_fd)
@@ -245,7 +259,7 @@ static inline void psr_debugfs_enable(int debugfs_fd)
struct feature {
bool (*supported_on_chipset)(int debugfs_fd);
bool (*wait_until_enabled)(int debugfs_fd);
- bool (*wait_until_update)(int debugfs_fd);
+ bool (*wait_until_update)(struct drm_info *drm);
bool (*connector_possible_fn)(drmModeConnectorPtr connector);
void (*enable)(int debugfs_fd);
} fbc = {
@@ -295,13 +309,13 @@ static void subtest(struct drm_info *drm, struct feature *feature, bool suspend)
sleep(3);
wait_user("Back to fbcon.");
- igt_assert(feature->wait_until_update(drm->debugfs_fd));
+ igt_assert(feature->wait_until_update(drm));
if (suspend) {
igt_system_suspend_autoresume(SUSPEND_STATE_MEM,
SUSPEND_TEST_NONE);
sleep(5);
- igt_assert(feature->wait_until_update(drm->debugfs_fd));
+ igt_assert(feature->wait_until_update(drm));
}
}
--
2.25.2
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply related [flat|nested] 10+ messages in thread* [igt-dev] [PATCH i-g-t v5 6/7] DO_NOT_MERGE: Revert "tests/kms_frontbuffer_tracking: Enable positive test on linear tiling"
2020-03-23 20:46 [igt-dev] [PATCH i-g-t v5 1/7] tests/kms_frontbuffer_tracking: Add tiling to test_mode José Roberto de Souza
` (3 preceding siblings ...)
2020-03-23 20:46 ` [igt-dev] [PATCH i-g-t v5 5/7] tests/kms_fbcon_fbt: Handle FBC enabled on fbcon in GEN9+ José Roberto de Souza
@ 2020-03-23 20:46 ` José Roberto de Souza
2020-03-23 20:46 ` [igt-dev] [PATCH i-g-t v5 7/7] DO_NOT_MERGE: Revert "tests/kms_fbcon_fbt: Handle FBC enabled on fbcon in GEN9+" José Roberto de Souza
` (2 subsequent siblings)
7 siblings, 0 replies; 10+ messages in thread
From: José Roberto de Souza @ 2020-03-23 20:46 UTC (permalink / raw)
To: igt-dev
Reverting this one as the kernel patches did not landed yet so it would
cause CI to fail.
This reverts commit e12efda2439e045aba423b2af9c205f60cfaecc6.
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
---
tests/kms_frontbuffer_tracking.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/tests/kms_frontbuffer_tracking.c b/tests/kms_frontbuffer_tracking.c
index 1057a5aa..267aa631 100644
--- a/tests/kms_frontbuffer_tracking.c
+++ b/tests/kms_frontbuffer_tracking.c
@@ -2172,14 +2172,12 @@ static void format_draw_subtest(const struct test_mode *t)
static bool tiling_is_valid(int feature_flags, enum tiling_type tiling)
{
- int devid = intel_get_drm_devid(drm.fd);
-
if (!(feature_flags & FEATURE_FBC))
return true;
switch (tiling) {
case TILING_LINEAR:
- return AT_LEAST_GEN(devid, 9);
+ return false;
case TILING_X:
case TILING_Y:
return true;
--
2.25.2
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply related [flat|nested] 10+ messages in thread* [igt-dev] [PATCH i-g-t v5 7/7] DO_NOT_MERGE: Revert "tests/kms_fbcon_fbt: Handle FBC enabled on fbcon in GEN9+"
2020-03-23 20:46 [igt-dev] [PATCH i-g-t v5 1/7] tests/kms_frontbuffer_tracking: Add tiling to test_mode José Roberto de Souza
` (4 preceding siblings ...)
2020-03-23 20:46 ` [igt-dev] [PATCH i-g-t v5 6/7] DO_NOT_MERGE: Revert "tests/kms_frontbuffer_tracking: Enable positive test on linear tiling" José Roberto de Souza
@ 2020-03-23 20:46 ` José Roberto de Souza
2020-03-23 21:39 ` [igt-dev] ✗ Fi.CI.BUILD: failure for series starting with [i-g-t,v5,1/7] tests/kms_frontbuffer_tracking: Add tiling to test_mode Patchwork
2020-03-24 8:12 ` [igt-dev] ✗ GitLab.Pipeline: warning " Patchwork
7 siblings, 0 replies; 10+ messages in thread
From: José Roberto de Souza @ 2020-03-23 20:46 UTC (permalink / raw)
To: igt-dev
Reverting this one as the kernel patches did not landed yet so it would
cause CI to fail.
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
---
tests/kms_fbcon_fbt.c | 42 ++++++++++++++----------------------------
1 file changed, 14 insertions(+), 28 deletions(-)
diff --git a/tests/kms_fbcon_fbt.c b/tests/kms_fbcon_fbt.c
index 081d57f6..b8000a24 100644
--- a/tests/kms_fbcon_fbt.c
+++ b/tests/kms_fbcon_fbt.c
@@ -42,7 +42,6 @@ struct drm_info {
int debugfs_fd;
drmModeResPtr res;
drmModeConnectorPtr connectors[MAX_CONNECTORS];
- int devid;
};
static void wait_user(const char *msg)
@@ -68,8 +67,6 @@ static void setup_drm(struct drm_info *drm)
drm->connectors[i] = drmModeGetConnectorCurrent(drm->fd,
drm->res->connectors[i]);
- drm->devid = intel_get_drm_devid(drm->fd);
-
kmstest_set_vt_graphics_mode();
}
@@ -142,30 +139,19 @@ static bool fbc_wait_until_disabled(int debugfs_fd)
return r;
}
-static bool fbc_not_compressing_enabled(int debugfs_fd)
-{
- char buf[128];
-
- igt_debugfs_simple_read(debugfs_fd, "i915_fbc_status", buf,
- sizeof(buf));
- return strstr(buf, "FBC enabled\nCompressing: no");
-}
-
-static bool fbc_wait_until_update(struct drm_info *drm)
+static bool fbc_wait_until_update(int debugfs)
{
/*
- * As now kernel enables FBC on linear surfaces on GEN9+, check if the
- * fbcon cursor blinking is causing the FBC to uncompress the
- * framebuffer.
+ * FBC is not expected to be enabled because fbcon do not uses a tiled
+ * framebuffer so a fence can not be setup on the framebuffer and FBC
+ * code requires a fence to accurate track frontbuffer modifications
+ * (what maybe is not necessary anymore as we now have
+ * intel_fbc_invalidate()/flush()).
*
- * For older GENs FBC is still expected to be disabled as it still
- * relies on a tiled and fenceable framebuffer to track modifications.
+ * If one day fbcon starts to use a tiled framebuffer we would need to
+ * check the 'Compressing' status as in each blink it would be disabled.
*/
- if (AT_LEAST_GEN(drm->devid, 9))
- return igt_wait(fbc_not_compressing_enabled(drm->debugfs_fd),
- 2000, 1);
- else
- return fbc_wait_until_disabled(drm->debugfs_fd);
+ return fbc_wait_until_disabled(debugfs);
}
typedef bool (*connector_possible_fn)(drmModeConnectorPtr connector);
@@ -234,9 +220,9 @@ static bool psr_supported_on_chipset(int debugfs_fd)
return psr_sink_support(debugfs_fd, PSR_MODE_1);
}
-static bool psr_wait_until_update(struct drm_info *drm)
+static bool psr_wait_until_update(int debugfs_fd)
{
- return psr_long_wait_update(drm->debugfs_fd, PSR_MODE_1);
+ return psr_long_wait_update(debugfs_fd, PSR_MODE_1);
}
static void disable_features(int debugfs_fd)
@@ -259,7 +245,7 @@ static inline void psr_debugfs_enable(int debugfs_fd)
struct feature {
bool (*supported_on_chipset)(int debugfs_fd);
bool (*wait_until_enabled)(int debugfs_fd);
- bool (*wait_until_update)(struct drm_info *drm);
+ bool (*wait_until_update)(int debugfs_fd);
bool (*connector_possible_fn)(drmModeConnectorPtr connector);
void (*enable)(int debugfs_fd);
} fbc = {
@@ -309,13 +295,13 @@ static void subtest(struct drm_info *drm, struct feature *feature, bool suspend)
sleep(3);
wait_user("Back to fbcon.");
- igt_assert(feature->wait_until_update(drm));
+ igt_assert(feature->wait_until_update(drm->debugfs_fd));
if (suspend) {
igt_system_suspend_autoresume(SUSPEND_STATE_MEM,
SUSPEND_TEST_NONE);
sleep(5);
- igt_assert(feature->wait_until_update(drm));
+ igt_assert(feature->wait_until_update(drm->debugfs_fd));
}
}
--
2.25.2
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply related [flat|nested] 10+ messages in thread* [igt-dev] ✗ Fi.CI.BUILD: failure for series starting with [i-g-t,v5,1/7] tests/kms_frontbuffer_tracking: Add tiling to test_mode
2020-03-23 20:46 [igt-dev] [PATCH i-g-t v5 1/7] tests/kms_frontbuffer_tracking: Add tiling to test_mode José Roberto de Souza
` (5 preceding siblings ...)
2020-03-23 20:46 ` [igt-dev] [PATCH i-g-t v5 7/7] DO_NOT_MERGE: Revert "tests/kms_fbcon_fbt: Handle FBC enabled on fbcon in GEN9+" José Roberto de Souza
@ 2020-03-23 21:39 ` Patchwork
2020-03-24 8:12 ` [igt-dev] ✗ GitLab.Pipeline: warning " Patchwork
7 siblings, 0 replies; 10+ messages in thread
From: Patchwork @ 2020-03-23 21:39 UTC (permalink / raw)
To: José Roberto de Souza; +Cc: igt-dev
== Series Details ==
Series: series starting with [i-g-t,v5,1/7] tests/kms_frontbuffer_tracking: Add tiling to test_mode
URL : https://patchwork.freedesktop.org/series/74987/
State : failure
== Summary ==
IGT patchset build failed on latest successful build
79e7382202c104b247a672c61a6186d1f51e4958 i915/pm_rc6_residency: Pull the accuracy pair into a subgroup
FAIL: 1
SKIP: 0
TIMEOUT: 0
The output from the failed tests:
61/286 testcase check: kms_frontbuffer_tracking FAIL 0.33 s (exit status 1)
--- command ---
/home/cidrm/igt-gpu-tools/tests/igt_command_line.sh kms_frontbuffer_tracking
--- stdout ---
tests/kms_frontbuffer_tracking:
Checking invalid option handling...
Checking valid option handling...
Checking subtest enumeration...
test does not exit with 0 or 79 with --list-subtests!
FAIL: tests/kms_frontbuffer_tracking
--- stderr ---
(kms_frontbuffer_tracking:30974) intel_chipset-CRITICAL: Test assertion failure function intel_get_drm_devid, file ../lib/intel_chipset.c:132:
(kms_frontbuffer_tracking:30974) intel_chipset-CRITICAL: Failed assertion: is_i915_device(fd)
(kms_frontbuffer_tracking:30974) intel_chipset-CRITICAL: Last errno: 25, Inappropriate ioctl for device
Test kms_frontbuffer_tracking failed.
**** DEBUG ****
(kms_frontbuffer_tracking:30974) intel_chipset-CRITICAL: Test assertion failure function intel_get_drm_devid, file ../lib/intel_chipset.c:132:
(kms_frontbuffer_tracking:30974) intel_chipset-CRITICAL: Failed assertion: is_i915_device(fd)
(kms_frontbuffer_tracking:30974) intel_chipset-CRITICAL: Last errno: 25, Inappropriate ioctl for device
**** END ****
kms_frontbuffer_tracking: ../lib/igt_core.c:1543: igt_fail: Assertion `igt_can_fail()' failed.
Received signal SIGABRT.
Stack trace:
#0 [fatal_sig_handler+0xd6]
#1 [killpg+0x40]
#2 [gsignal+0xc7]
#3 [abort+0x141]
#4 [uselocale+0x33a]
#5 [__assert_fail+0x42]
#6 [igt_fail+0x11e]
#7 [__igt_fail_assert+0x11e]
#8 [intel_get_drm_devid+0xc1]
#9 [__real_main3351+0x240b]
#10 [main+0x39]
#11 [__libc_start_main+0xe7]
#12 [_start+0x2a]
-------
Full log written to /home/cidrm/igt-gpu-tools/build/meson-logs/testlog.txt
FAILED: meson-test
/usr/bin/python3 -u /usr/bin/meson test --no-rebuild --print-errorlogs
ninja: build stopped: subcommand failed.
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 10+ messages in thread* [igt-dev] ✗ GitLab.Pipeline: warning for series starting with [i-g-t,v5,1/7] tests/kms_frontbuffer_tracking: Add tiling to test_mode
2020-03-23 20:46 [igt-dev] [PATCH i-g-t v5 1/7] tests/kms_frontbuffer_tracking: Add tiling to test_mode José Roberto de Souza
` (6 preceding siblings ...)
2020-03-23 21:39 ` [igt-dev] ✗ Fi.CI.BUILD: failure for series starting with [i-g-t,v5,1/7] tests/kms_frontbuffer_tracking: Add tiling to test_mode Patchwork
@ 2020-03-24 8:12 ` Patchwork
7 siblings, 0 replies; 10+ messages in thread
From: Patchwork @ 2020-03-24 8:12 UTC (permalink / raw)
To: José Roberto de Souza; +Cc: igt-dev
== Series Details ==
Series: series starting with [i-g-t,v5,1/7] tests/kms_frontbuffer_tracking: Add tiling to test_mode
URL : https://patchwork.freedesktop.org/series/74987/
State : warning
== Summary ==
Did not get list of undocumented tests for this run, something is wrong!
Other than that, pipeline status: FAILED.
see https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/pipelines/123383 for the overview.
test:ninja-test has failed (https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/-/jobs/2030279):
#6 [igt_fail+0x11e]
#7 [__igt_fail_assert+0x114]
#8 [intel_get_drm_devid+0xa5]
#9 [__real_main3351+0x1248]
#10 [main+0x30]
#11 [__libc_start_main+0xf3]
#12 [_start+0x2e]
-------
Full log written to /builds/gfx-ci/igt-ci-tags/build/meson-logs/testlog.txt
FAILED: meson-test
/usr/bin/meson test --no-rebuild --print-errorlogs
ninja: build stopped: subcommand failed.
section_end:1584999917:build_script
section_start:1584999917:after_script
section_end:1584999918:after_script
section_start:1584999918:upload_artifacts_on_failure
section_end:1584999920:upload_artifacts_on_failure
ERROR: Job failed: exit code 1
test:ninja-test-arm64 has failed (https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/-/jobs/2030307):
#10 [main+0x3c]
#11 [__libc_start_main+0xe4]
#12 [_start+0x34]
qemu: uncaught target signal 6 (Aborted) - core dumped
-------
Full log written to /builds/gfx-ci/igt-ci-tags/build/meson-logs/testlog.txt
FAILED: meson-test
/usr/bin/meson test --no-rebuild --print-errorlogs
ninja: build stopped: subcommand failed.
section_end:1585000082:build_script
section_start:1585000082:after_script
section_end:1585000084:after_script
section_start:1585000084:upload_artifacts_on_failure
Uploading artifacts...
build: found 1388 matching files
Uploading artifacts to coordinator... ok id=2030307 responseStatus=201 Created token=QrwSkwVu
section_end:1585000095:upload_artifacts_on_failure
ERROR: Job failed: exit code 1
test:ninja-test-armhf has failed (https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/-/jobs/2030282):
#1 [sigset+0xf4]
#2 [gnu_get_libc_version+0x119]
#3 [gsignal+0x76]
qemu: uncaught target signal 6 (Aborted) - core dumped
-------
Full log written to /builds/gfx-ci/igt-ci-tags/build/meson-logs/testlog.txt
FAILED: meson-test
/usr/bin/meson test --no-rebuild --print-errorlogs
ninja: build stopped: subcommand failed.
section_end:1585000011:build_script
section_start:1585000011:after_script
section_end:1585000012:after_script
section_start:1585000012:upload_artifacts_on_failure
Uploading artifacts...
build: found 1388 matching files
Uploading artifacts to coordinator... ok id=2030282 responseStatus=201 Created token=EXuLGmZW
section_end:1585000022:upload_artifacts_on_failure
ERROR: Job failed: exit code 1
test:ninja-test-clang has failed (https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/-/jobs/2030280):
#5 [igt_fail+0xd9]
#6 [__igt_fail_assert+0x127]
#7 [intel_get_drm_devid+0x97]
#8 [__real_main3351+0x447f]
#9 [main+0x36]
#10 [__libc_start_main+0xf3]
#11 [_start+0x2e]
-------
Full log written to /builds/gfx-ci/igt-ci-tags/build/meson-logs/testlog.txt
FAILED: meson-test
/usr/bin/meson test --no-rebuild --print-errorlogs
ninja: build stopped: subcommand failed.
section_end:1584999938:build_script
section_start:1584999938:after_script
section_end:1584999940:after_script
section_start:1584999940:upload_artifacts_on_failure
section_end:1584999942:upload_artifacts_on_failure
ERROR: Job failed: exit code 1
test:ninja-test-mips has failed (https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/-/jobs/2030281):
kms_frontbuffer_tracking: ../lib/igt_core.c:1543: igt_fail: Assertion `igt_can_fail()' failed.
Received signal SIGABRT.
Stack trace:
qemu: uncaught target signal 6 (Aborted) - core dumped
-------
Full log written to /builds/gfx-ci/igt-ci-tags/build/meson-logs/testlog.txt
FAILED: meson-test
/usr/bin/meson test --no-rebuild --print-errorlogs
ninja: build stopped: subcommand failed.
section_end:1584999994:build_script
section_start:1584999994:after_script
section_end:1584999996:after_script
section_start:1584999996:upload_artifacts_on_failure
Uploading artifacts...
build: found 1388 matching files
Uploading artifacts to coordinator... ok id=2030281 responseStatus=201 Created token=vdmgyBrv
section_end:1585000006:upload_artifacts_on_failure
ERROR: Job failed: exit code 1
== Logs ==
For more details see: https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/pipelines/123383
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2020-03-24 8:27 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-03-23 20:46 [igt-dev] [PATCH i-g-t v5 1/7] tests/kms_frontbuffer_tracking: Add tiling to test_mode José Roberto de Souza
2020-03-23 20:46 ` [igt-dev] [PATCH i-g-t v5 2/7] tests/kms_frontbuffer_tracking: Improve tiling test coverage José Roberto de Souza
2020-03-24 8:27 ` Petri Latvala
2020-03-23 20:46 ` [igt-dev] [PATCH i-g-t v5 3/7] tests/kms_frontbuffer_tracking: Enable positive test on linear tiling José Roberto de Souza
2020-03-23 20:46 ` [igt-dev] [PATCH i-g-t v5 4/7] tests/kms_fbcon_fbt: Reduce execution time José Roberto de Souza
2020-03-23 20:46 ` [igt-dev] [PATCH i-g-t v5 5/7] tests/kms_fbcon_fbt: Handle FBC enabled on fbcon in GEN9+ José Roberto de Souza
2020-03-23 20:46 ` [igt-dev] [PATCH i-g-t v5 6/7] DO_NOT_MERGE: Revert "tests/kms_frontbuffer_tracking: Enable positive test on linear tiling" José Roberto de Souza
2020-03-23 20:46 ` [igt-dev] [PATCH i-g-t v5 7/7] DO_NOT_MERGE: Revert "tests/kms_fbcon_fbt: Handle FBC enabled on fbcon in GEN9+" José Roberto de Souza
2020-03-23 21:39 ` [igt-dev] ✗ Fi.CI.BUILD: failure for series starting with [i-g-t,v5,1/7] tests/kms_frontbuffer_tracking: Add tiling to test_mode Patchwork
2020-03-24 8:12 ` [igt-dev] ✗ GitLab.Pipeline: warning " Patchwork
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox