* [PATCH i-g-t v4 2/6] lib/igt_kms: Fix off-by-one bug on skip of missing pipe
2017-09-27 18:34 [PATCH i-g-t v4 1/6] tests/kms_ccs: Test pipes other than pipe A Gabriel Krisman Bertazi
@ 2017-09-27 18:34 ` Gabriel Krisman Bertazi
2017-09-28 8:33 ` Petri Latvala
2017-09-27 18:34 ` [PATCH i-g-t v4 3/6] tests/kms_ccs: Prevent segfault if pipe is not supported Gabriel Krisman Bertazi
` (7 subsequent siblings)
8 siblings, 1 reply; 26+ messages in thread
From: Gabriel Krisman Bertazi @ 2017-09-27 18:34 UTC (permalink / raw)
To: intel-gfx; +Cc: daniel.vetter, tomeu.vizoso
display->n_pipes is zero-indexed, so N returned in
igt_display_get_n_pipes is already not a valid pipe. This patch
prevents kms_ccs from going nuts when testing the first unxesting pipe.
Signed-off-by: Gabriel Krisman Bertazi <krisman@collabora.co.uk>
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
---
lib/igt_kms.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index 7bcafc072f70..c7b169afba54 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -1865,7 +1865,7 @@ void igt_display_require_output_on_pipe(igt_display_t *display, enum pipe pipe)
{
igt_output_t *output;
- igt_skip_on_f(igt_display_get_n_pipes(display) < pipe,
+ igt_skip_on_f(pipe >= igt_display_get_n_pipes(display),
"Pipe %s does not exist.\n", kmstest_pipe_name(pipe));
for_each_valid_output_on_pipe(display, pipe, output)
--
2.11.0
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 26+ messages in thread
* Re: [PATCH i-g-t v4 2/6] lib/igt_kms: Fix off-by-one bug on skip of missing pipe
2017-09-27 18:34 ` [PATCH i-g-t v4 2/6] lib/igt_kms: Fix off-by-one bug on skip of missing pipe Gabriel Krisman Bertazi
@ 2017-09-28 8:33 ` Petri Latvala
0 siblings, 0 replies; 26+ messages in thread
From: Petri Latvala @ 2017-09-28 8:33 UTC (permalink / raw)
To: Gabriel Krisman Bertazi; +Cc: daniel.vetter, intel-gfx, tomeu.vizoso
On Wed, Sep 27, 2017 at 03:34:15PM -0300, Gabriel Krisman Bertazi wrote:
> display->n_pipes is zero-indexed, so N returned in
> igt_display_get_n_pipes is already not a valid pipe. This patch
> prevents kms_ccs from going nuts when testing the first unxesting pipe.
^unexisting
--
Petri Latvala
>
> Signed-off-by: Gabriel Krisman Bertazi <krisman@collabora.co.uk>
> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> ---
> lib/igt_kms.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/lib/igt_kms.c b/lib/igt_kms.c
> index 7bcafc072f70..c7b169afba54 100644
> --- a/lib/igt_kms.c
> +++ b/lib/igt_kms.c
> @@ -1865,7 +1865,7 @@ void igt_display_require_output_on_pipe(igt_display_t *display, enum pipe pipe)
> {
> igt_output_t *output;
>
> - igt_skip_on_f(igt_display_get_n_pipes(display) < pipe,
> + igt_skip_on_f(pipe >= igt_display_get_n_pipes(display),
> "Pipe %s does not exist.\n", kmstest_pipe_name(pipe));
>
> for_each_valid_output_on_pipe(display, pipe, output)
> --
> 2.11.0
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 26+ messages in thread
* [PATCH i-g-t v4 3/6] tests/kms_ccs: Prevent segfault if pipe is not supported
2017-09-27 18:34 [PATCH i-g-t v4 1/6] tests/kms_ccs: Test pipes other than pipe A Gabriel Krisman Bertazi
2017-09-27 18:34 ` [PATCH i-g-t v4 2/6] lib/igt_kms: Fix off-by-one bug on skip of missing pipe Gabriel Krisman Bertazi
@ 2017-09-27 18:34 ` Gabriel Krisman Bertazi
2017-10-03 10:49 ` Arkadiusz Hiler
2017-10-03 16:07 ` Ben Widawsky
2017-09-27 18:34 ` [PATCH i-g-t v4 4/6] tests/kms_ccs: Test case where the CCS buffer was not provided Gabriel Krisman Bertazi
` (6 subsequent siblings)
8 siblings, 2 replies; 26+ messages in thread
From: Gabriel Krisman Bertazi @ 2017-09-27 18:34 UTC (permalink / raw)
To: intel-gfx; +Cc: daniel.vetter, tomeu.vizoso
for_each_plane_on_pipe() indexes bad memory when iterating over an invalid
pipe. Make sure the pipe exists before trying to use it. This prevents
the crash below:
root@ideacentre:~# igt-gpu-tools/tests/kms_ccs --r pipe-D-crc-sprite-planes-basic
IGT-Version: 1.19-g59f0e3d182a8 (x86_64) (Linux: 4.13.0-rc6.intel-boxes+x86_64)
Received signal SIGSEGV.
Stack trace:
#0 [fatal_sig_handler+0x185]
#1 [killpg+0x40]
#2 [__real_main485+0x2de]
#3 [main+0x3f]
#4 [__libc_start_main+0xf1]
#5 [_start+0x2a]
#6 [<unknown>+0x2a]
Subtest pipe-D-crc-sprite-planes-basic: CRASH (0.004s)
Signed-off-by: Gabriel Krisman Bertazi <krisman@collabora.co.uk>
---
tests/kms_ccs.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/tests/kms_ccs.c b/tests/kms_ccs.c
index 775c6999699f..73025a1e019f 100644
--- a/tests/kms_ccs.c
+++ b/tests/kms_ccs.c
@@ -503,6 +503,9 @@ igt_main
data.flags = TEST_CRC;
igt_subtest_f("pipe-%s-crc-sprite-planes-basic", pipe_name) {
+
+ igt_display_require_output_on_pipe(&data.display, data.pipe);
+
for_each_plane_on_pipe(&data.display, data.pipe, data.plane) {
if (data.plane->type == DRM_PLANE_TYPE_PRIMARY)
continue;
--
2.11.0
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 26+ messages in thread
* Re: [PATCH i-g-t v4 3/6] tests/kms_ccs: Prevent segfault if pipe is not supported
2017-09-27 18:34 ` [PATCH i-g-t v4 3/6] tests/kms_ccs: Prevent segfault if pipe is not supported Gabriel Krisman Bertazi
@ 2017-10-03 10:49 ` Arkadiusz Hiler
2017-10-03 16:07 ` Ben Widawsky
1 sibling, 0 replies; 26+ messages in thread
From: Arkadiusz Hiler @ 2017-10-03 10:49 UTC (permalink / raw)
To: Gabriel Krisman Bertazi; +Cc: daniel.vetter, intel-gfx, tomeu.vizoso
On Wed, Sep 27, 2017 at 03:34:16PM -0300, Gabriel Krisman Bertazi wrote:
> for_each_plane_on_pipe() indexes bad memory when iterating over an invalid
> pipe. Make sure the pipe exists before trying to use it. This prevents
> the crash below:
>
> root@ideacentre:~# igt-gpu-tools/tests/kms_ccs --r pipe-D-crc-sprite-planes-basic
> IGT-Version: 1.19-g59f0e3d182a8 (x86_64) (Linux: 4.13.0-rc6.intel-boxes+x86_64)
> Received signal SIGSEGV.
> Stack trace:
> #0 [fatal_sig_handler+0x185]
> #1 [killpg+0x40]
> #2 [__real_main485+0x2de]
> #3 [main+0x3f]
> #4 [__libc_start_main+0xf1]
> #5 [_start+0x2a]
> #6 [<unknown>+0x2a]
> Subtest pipe-D-crc-sprite-planes-basic: CRASH (0.004s)
>
> Signed-off-by: Gabriel Krisman Bertazi <krisman@collabora.co.uk>
Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [PATCH i-g-t v4 3/6] tests/kms_ccs: Prevent segfault if pipe is not supported
2017-09-27 18:34 ` [PATCH i-g-t v4 3/6] tests/kms_ccs: Prevent segfault if pipe is not supported Gabriel Krisman Bertazi
2017-10-03 10:49 ` Arkadiusz Hiler
@ 2017-10-03 16:07 ` Ben Widawsky
1 sibling, 0 replies; 26+ messages in thread
From: Ben Widawsky @ 2017-10-03 16:07 UTC (permalink / raw)
To: Gabriel Krisman Bertazi; +Cc: daniel.vetter, intel-gfx, tomeu.vizoso
On 17-09-27 15:34:16, Gabriel Krisman Bertazi wrote:
>for_each_plane_on_pipe() indexes bad memory when iterating over an invalid
>pipe. Make sure the pipe exists before trying to use it. This prevents
>the crash below:
>
>root@ideacentre:~# igt-gpu-tools/tests/kms_ccs --r pipe-D-crc-sprite-planes-basic
>IGT-Version: 1.19-g59f0e3d182a8 (x86_64) (Linux: 4.13.0-rc6.intel-boxes+x86_64)
>Received signal SIGSEGV.
>Stack trace:
> #0 [fatal_sig_handler+0x185]
> #1 [killpg+0x40]
> #2 [__real_main485+0x2de]
> #3 [main+0x3f]
> #4 [__libc_start_main+0xf1]
> #5 [_start+0x2a]
> #6 [<unknown>+0x2a]
>Subtest pipe-D-crc-sprite-planes-basic: CRASH (0.004s)
>
>Signed-off-by: Gabriel Krisman Bertazi <krisman@collabora.co.uk>
1-3 so far are
Reviewed-by: Ben Widawsky <ben@bwidawsk.net>
>---
> tests/kms_ccs.c | 3 +++
> 1 file changed, 3 insertions(+)
>
>diff --git a/tests/kms_ccs.c b/tests/kms_ccs.c
>index 775c6999699f..73025a1e019f 100644
>--- a/tests/kms_ccs.c
>+++ b/tests/kms_ccs.c
>@@ -503,6 +503,9 @@ igt_main
>
> data.flags = TEST_CRC;
> igt_subtest_f("pipe-%s-crc-sprite-planes-basic", pipe_name) {
>+
>+ igt_display_require_output_on_pipe(&data.display, data.pipe);
>+
> for_each_plane_on_pipe(&data.display, data.pipe, data.plane) {
> if (data.plane->type == DRM_PLANE_TYPE_PRIMARY)
> continue;
>--
>2.11.0
>
>_______________________________________________
>Intel-gfx mailing list
>Intel-gfx@lists.freedesktop.org
>https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 26+ messages in thread
* [PATCH i-g-t v4 4/6] tests/kms_ccs: Test case where the CCS buffer was not provided
2017-09-27 18:34 [PATCH i-g-t v4 1/6] tests/kms_ccs: Test pipes other than pipe A Gabriel Krisman Bertazi
2017-09-27 18:34 ` [PATCH i-g-t v4 2/6] lib/igt_kms: Fix off-by-one bug on skip of missing pipe Gabriel Krisman Bertazi
2017-09-27 18:34 ` [PATCH i-g-t v4 3/6] tests/kms_ccs: Prevent segfault if pipe is not supported Gabriel Krisman Bertazi
@ 2017-09-27 18:34 ` Gabriel Krisman Bertazi
2017-10-03 11:32 ` Arkadiusz Hiler
2017-10-03 16:35 ` Ben Widawsky
2017-09-27 18:34 ` [PATCH i-g-t v4 5/6] tests/kms_ccs: Test case where CCS is on a different BO Gabriel Krisman Bertazi
` (5 subsequent siblings)
8 siblings, 2 replies; 26+ messages in thread
From: Gabriel Krisman Bertazi @ 2017-09-27 18:34 UTC (permalink / raw)
To: intel-gfx; +Cc: daniel.vetter, tomeu.vizoso
Signed-off-by: Gabriel Krisman Bertazi <krisman@collabora.co.uk>
---
tests/kms_ccs.c | 37 +++++++++++++++++++++++++++----------
1 file changed, 27 insertions(+), 10 deletions(-)
diff --git a/tests/kms_ccs.c b/tests/kms_ccs.c
index 73025a1e019f..35dfcca6be14 100644
--- a/tests/kms_ccs.c
+++ b/tests/kms_ccs.c
@@ -33,8 +33,12 @@ enum test_flags {
TEST_ROTATE_180 = 1 << 2,
TEST_BAD_PIXEL_FORMAT = 1 << 3,
TEST_BAD_ROTATION_90 = 1 << 4,
+ TEST_NO_AUX_BUFFER = 1 << 5,
};
+#define TEST_FAIL_ON_ADDFB2 \
+ (TEST_BAD_PIXEL_FORMAT | TEST_NO_AUX_BUFFER)
+
enum test_fb_flags {
FB_COMPRESSED = 1 << 0,
FB_HAS_PLANE = 1 << 1,
@@ -315,22 +319,29 @@ static void generate_fb(data_t *data, struct igt_fb *fb,
*/
int ccs_width = ALIGN(width * 4, 32) / 32;
int ccs_height = ALIGN(height, 16) / 16;
- f.pitches[1] = ALIGN(ccs_width * 1, 128);
- f.modifier[1] = modifier;
- f.offsets[1] = size[0];
- size[1] = f.pitches[1] * ALIGN(ccs_height, 32);
+ int ccs_pitches = ALIGN(ccs_width * 1, 128);
+ int ccs_offsets = size[0];
+
+ size[1] = ccs_pitches * ALIGN(ccs_height, 32);
f.handles[0] = gem_create(data->drm_fd, size[0] + size[1]);
- f.handles[1] = f.handles[0];
- render_ccs(data, f.handles[1], f.offsets[1], size[1],
- height, f.pitches[1]);
+
+ if (!(data->flags & TEST_NO_AUX_BUFFER)) {
+ f.modifier[1] = modifier;
+ f.handles[1] = f.handles[0];
+ f.pitches[1] = ccs_pitches;
+ f.offsets[1] = ccs_offsets;
+
+ render_ccs(data, f.handles[1], f.offsets[1], size[1],
+ height, f.pitches[1]);
+ }
} else
f.handles[0] = gem_create(data->drm_fd, size[0]);
render_fb(data, f.handles[0], size[0], fb_flags, height, f.pitches[0]);
ret = drmIoctl(data->drm_fd, LOCAL_DRM_IOCTL_MODE_ADDFB2, &f);
- if (data->flags & TEST_BAD_PIXEL_FORMAT) {
+ if (data->flags & TEST_FAIL_ON_ADDFB2) {
igt_assert_eq(ret, -1);
igt_assert_eq(errno, EINVAL);
return;
@@ -379,7 +390,7 @@ static void try_config(data_t *data, enum test_fb_flags fb_flags)
drm_mode->vdisplay, fb_flags);
}
- if (data->flags & TEST_BAD_PIXEL_FORMAT)
+ if (data->flags & TEST_FAIL_ON_ADDFB2)
return;
igt_plane_set_position(primary, 0, 0);
@@ -446,7 +457,8 @@ static void test_output(data_t *data)
}
if (data->flags & TEST_BAD_PIXEL_FORMAT ||
- data->flags & TEST_BAD_ROTATION_90) {
+ data->flags & TEST_BAD_ROTATION_90 ||
+ data->flags & TEST_NO_AUX_BUFFER) {
try_config(data, fb_flags | FB_COMPRESSED);
}
@@ -515,6 +527,11 @@ igt_main
}
data.plane = NULL;
+
+ data.flags = TEST_NO_AUX_BUFFER;
+ igt_subtest_f("pipe-%s-missing-ccs-buffer", pipe_name)
+ test_output(&data);
+
}
igt_fixture
--
2.11.0
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 26+ messages in thread
* Re: [PATCH i-g-t v4 4/6] tests/kms_ccs: Test case where the CCS buffer was not provided
2017-09-27 18:34 ` [PATCH i-g-t v4 4/6] tests/kms_ccs: Test case where the CCS buffer was not provided Gabriel Krisman Bertazi
@ 2017-10-03 11:32 ` Arkadiusz Hiler
2017-10-03 16:35 ` Ben Widawsky
1 sibling, 0 replies; 26+ messages in thread
From: Arkadiusz Hiler @ 2017-10-03 11:32 UTC (permalink / raw)
To: Gabriel Krisman Bertazi; +Cc: daniel.vetter, intel-gfx, tomeu.vizoso
On Wed, Sep 27, 2017 at 03:34:17PM -0300, Gabriel Krisman Bertazi wrote:
> Signed-off-by: Gabriel Krisman Bertazi <krisman@collabora.co.uk>
> ---
> tests/kms_ccs.c | 37 +++++++++++++++++++++++++++----------
> 1 file changed, 27 insertions(+), 10 deletions(-)
>
> diff --git a/tests/kms_ccs.c b/tests/kms_ccs.c
> index 73025a1e019f..35dfcca6be14 100644
> --- a/tests/kms_ccs.c
> +++ b/tests/kms_ccs.c
> @@ -33,8 +33,12 @@ enum test_flags {
> TEST_ROTATE_180 = 1 << 2,
> TEST_BAD_PIXEL_FORMAT = 1 << 3,
> TEST_BAD_ROTATION_90 = 1 << 4,
> + TEST_NO_AUX_BUFFER = 1 << 5,
> };
>
> +#define TEST_FAIL_ON_ADDFB2 \
> + (TEST_BAD_PIXEL_FORMAT | TEST_NO_AUX_BUFFER)
> +
> enum test_fb_flags {
> FB_COMPRESSED = 1 << 0,
> FB_HAS_PLANE = 1 << 1,
> @@ -315,22 +319,29 @@ static void generate_fb(data_t *data, struct igt_fb *fb,
> */
> int ccs_width = ALIGN(width * 4, 32) / 32;
> int ccs_height = ALIGN(height, 16) / 16;
> - f.pitches[1] = ALIGN(ccs_width * 1, 128);
> - f.modifier[1] = modifier;
> - f.offsets[1] = size[0];
> - size[1] = f.pitches[1] * ALIGN(ccs_height, 32);
> + int ccs_pitches = ALIGN(ccs_width * 1, 128);
> + int ccs_offsets = size[0];
> +
> + size[1] = ccs_pitches * ALIGN(ccs_height, 32);
>
> f.handles[0] = gem_create(data->drm_fd, size[0] + size[1]);
> - f.handles[1] = f.handles[0];
> - render_ccs(data, f.handles[1], f.offsets[1], size[1],
> - height, f.pitches[1]);
> +
> + if (!(data->flags & TEST_NO_AUX_BUFFER)) {
> + f.modifier[1] = modifier;
> + f.handles[1] = f.handles[0];
> + f.pitches[1] = ccs_pitches;
> + f.offsets[1] = ccs_offsets;
> +
> + render_ccs(data, f.handles[1], f.offsets[1], size[1],
> + height, f.pitches[1]);
> + }
> } else
> f.handles[0] = gem_create(data->drm_fd, size[0]);
Put the else block in { },
and a couple of similar divergences across the file from
https://01.org/linuxgraphics/gfx-docs/drm/process/coding-style.html#placing-braces-and-spaces
But since that's the context and it's really just a bikesheed:
Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
> render_fb(data, f.handles[0], size[0], fb_flags, height, f.pitches[0]);
>
> ret = drmIoctl(data->drm_fd, LOCAL_DRM_IOCTL_MODE_ADDFB2, &f);
> - if (data->flags & TEST_BAD_PIXEL_FORMAT) {
> + if (data->flags & TEST_FAIL_ON_ADDFB2) {
> igt_assert_eq(ret, -1);
> igt_assert_eq(errno, EINVAL);
> return;
> @@ -379,7 +390,7 @@ static void try_config(data_t *data, enum test_fb_flags fb_flags)
> drm_mode->vdisplay, fb_flags);
> }
>
> - if (data->flags & TEST_BAD_PIXEL_FORMAT)
> + if (data->flags & TEST_FAIL_ON_ADDFB2)
> return;
>
> igt_plane_set_position(primary, 0, 0);
> @@ -446,7 +457,8 @@ static void test_output(data_t *data)
> }
>
> if (data->flags & TEST_BAD_PIXEL_FORMAT ||
> - data->flags & TEST_BAD_ROTATION_90) {
> + data->flags & TEST_BAD_ROTATION_90 ||
> + data->flags & TEST_NO_AUX_BUFFER) {
> try_config(data, fb_flags | FB_COMPRESSED);
> }
>
> @@ -515,6 +527,11 @@ igt_main
> }
>
> data.plane = NULL;
> +
> + data.flags = TEST_NO_AUX_BUFFER;
> + igt_subtest_f("pipe-%s-missing-ccs-buffer", pipe_name)
> + test_output(&data);
> +
> }
>
> igt_fixture
> --
> 2.11.0
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [PATCH i-g-t v4 4/6] tests/kms_ccs: Test case where the CCS buffer was not provided
2017-09-27 18:34 ` [PATCH i-g-t v4 4/6] tests/kms_ccs: Test case where the CCS buffer was not provided Gabriel Krisman Bertazi
2017-10-03 11:32 ` Arkadiusz Hiler
@ 2017-10-03 16:35 ` Ben Widawsky
2017-10-09 6:14 ` Gabriel Krisman Bertazi
2017-10-30 16:02 ` Ville Syrjälä
1 sibling, 2 replies; 26+ messages in thread
From: Ben Widawsky @ 2017-10-03 16:35 UTC (permalink / raw)
To: Gabriel Krisman Bertazi; +Cc: daniel.vetter, intel-gfx, tomeu.vizoso
On 17-09-27 15:34:17, Gabriel Krisman Bertazi wrote:
>Signed-off-by: Gabriel Krisman Bertazi <krisman@collabora.co.uk>
>---
> tests/kms_ccs.c | 37 +++++++++++++++++++++++++++----------
> 1 file changed, 27 insertions(+), 10 deletions(-)
>
>diff --git a/tests/kms_ccs.c b/tests/kms_ccs.c
>index 73025a1e019f..35dfcca6be14 100644
>--- a/tests/kms_ccs.c
>+++ b/tests/kms_ccs.c
>@@ -33,8 +33,12 @@ enum test_flags {
> TEST_ROTATE_180 = 1 << 2,
> TEST_BAD_PIXEL_FORMAT = 1 << 3,
> TEST_BAD_ROTATION_90 = 1 << 4,
>+ TEST_NO_AUX_BUFFER = 1 << 5,
> };
>
>+#define TEST_FAIL_ON_ADDFB2 \
>+ (TEST_BAD_PIXEL_FORMAT | TEST_NO_AUX_BUFFER)
>+
Adding the define confuses things more than it helps IMO.
> enum test_fb_flags {
> FB_COMPRESSED = 1 << 0,
> FB_HAS_PLANE = 1 << 1,
>@@ -315,22 +319,29 @@ static void generate_fb(data_t *data, struct igt_fb *fb,
> */
> int ccs_width = ALIGN(width * 4, 32) / 32;
> int ccs_height = ALIGN(height, 16) / 16;
>- f.pitches[1] = ALIGN(ccs_width * 1, 128);
>- f.modifier[1] = modifier;
I think the case you're trying to test should have the modifier set for plane1,
just no handle, size or whatever. If you don't do this, I'm not sure what you're
actually testing.
>- f.offsets[1] = size[0];
>- size[1] = f.pitches[1] * ALIGN(ccs_height, 32);
>+ int ccs_pitches = ALIGN(ccs_width * 1, 128);
>+ int ccs_offsets = size[0];
>+
>+ size[1] = ccs_pitches * ALIGN(ccs_height, 32);
>
> f.handles[0] = gem_create(data->drm_fd, size[0] + size[1]);
>- f.handles[1] = f.handles[0];
>- render_ccs(data, f.handles[1], f.offsets[1], size[1],
>- height, f.pitches[1]);
>+
>+ if (!(data->flags & TEST_NO_AUX_BUFFER)) {
>+ f.modifier[1] = modifier;
>+ f.handles[1] = f.handles[0];
>+ f.pitches[1] = ccs_pitches;
>+ f.offsets[1] = ccs_offsets;
>+
>+ render_ccs(data, f.handles[1], f.offsets[1], size[1],
>+ height, f.pitches[1]);
>+ }
> } else
> f.handles[0] = gem_create(data->drm_fd, size[0]);
>
> render_fb(data, f.handles[0], size[0], fb_flags, height, f.pitches[0]);
>
> ret = drmIoctl(data->drm_fd, LOCAL_DRM_IOCTL_MODE_ADDFB2, &f);
>- if (data->flags & TEST_BAD_PIXEL_FORMAT) {
>+ if (data->flags & TEST_FAIL_ON_ADDFB2) {
> igt_assert_eq(ret, -1);
> igt_assert_eq(errno, EINVAL);
> return;
>@@ -379,7 +390,7 @@ static void try_config(data_t *data, enum test_fb_flags fb_flags)
> drm_mode->vdisplay, fb_flags);
> }
>
>- if (data->flags & TEST_BAD_PIXEL_FORMAT)
>+ if (data->flags & TEST_FAIL_ON_ADDFB2)
> return;
>
> igt_plane_set_position(primary, 0, 0);
>@@ -446,7 +457,8 @@ static void test_output(data_t *data)
> }
>
> if (data->flags & TEST_BAD_PIXEL_FORMAT ||
>- data->flags & TEST_BAD_ROTATION_90) {
>+ data->flags & TEST_BAD_ROTATION_90 ||
>+ data->flags & TEST_NO_AUX_BUFFER) {
> try_config(data, fb_flags | FB_COMPRESSED);
> }
>
>@@ -515,6 +527,11 @@ igt_main
> }
>
> data.plane = NULL;
>+
>+ data.flags = TEST_NO_AUX_BUFFER;
>+ igt_subtest_f("pipe-%s-missing-ccs-buffer", pipe_name)
>+ test_output(&data);
>+
> }
>
> igt_fixture
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [PATCH i-g-t v4 4/6] tests/kms_ccs: Test case where the CCS buffer was not provided
2017-10-03 16:35 ` Ben Widawsky
@ 2017-10-09 6:14 ` Gabriel Krisman Bertazi
2017-10-30 16:02 ` Ville Syrjälä
1 sibling, 0 replies; 26+ messages in thread
From: Gabriel Krisman Bertazi @ 2017-10-09 6:14 UTC (permalink / raw)
To: Ben Widawsky; +Cc: daniel.vetter, intel-gfx, tomeu.vizoso
Ben Widawsky <ben@bwidawsk.net> writes:
> On 17-09-27 15:34:17, Gabriel Krisman Bertazi wrote:
>>Signed-off-by: Gabriel Krisman Bertazi <krisman@collabora.co.uk>
>>---
>> tests/kms_ccs.c | 37 +++++++++++++++++++++++++++----------
>> 1 file changed, 27 insertions(+), 10 deletions(-)
>>
>>diff --git a/tests/kms_ccs.c b/tests/kms_ccs.c
>>index 73025a1e019f..35dfcca6be14 100644
>>--- a/tests/kms_ccs.c
>>+++ b/tests/kms_ccs.c
>>@@ -33,8 +33,12 @@ enum test_flags {
>> TEST_ROTATE_180 = 1 << 2,
>> TEST_BAD_PIXEL_FORMAT = 1 << 3,
>> TEST_BAD_ROTATION_90 = 1 << 4,
>>+ TEST_NO_AUX_BUFFER = 1 << 5,
>> };
>>
>>+#define TEST_FAIL_ON_ADDFB2 \
>>+ (TEST_BAD_PIXEL_FORMAT | TEST_NO_AUX_BUFFER)
>>+
>
> Adding the define confuses things more than it helps IMO.
>
>> enum test_fb_flags {
>> FB_COMPRESSED = 1 << 0,
>> FB_HAS_PLANE = 1 << 1,
>>@@ -315,22 +319,29 @@ static void generate_fb(data_t *data, struct igt_fb *fb,
>> */
>> int ccs_width = ALIGN(width * 4, 32) / 32;
>> int ccs_height = ALIGN(height, 16) / 16;
>>- f.pitches[1] = ALIGN(ccs_width * 1, 128);
>>- f.modifier[1] = modifier;
>
> I think the case you're trying to test should have the modifier set for plane1,
> just no handle, size or whatever. If you don't do this, I'm not sure what you're
> actually testing.
So, if I understood correctly, leaving the modifier unset was requested
by Daniels on a previous review:
https://www.mail-archive.com/intel-gfx@lists.freedesktop.org/msg129817.html
--
Gabriel Krisman Bertazi
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [PATCH i-g-t v4 4/6] tests/kms_ccs: Test case where the CCS buffer was not provided
2017-10-03 16:35 ` Ben Widawsky
2017-10-09 6:14 ` Gabriel Krisman Bertazi
@ 2017-10-30 16:02 ` Ville Syrjälä
2017-10-31 1:33 ` Gabriel Krisman Bertazi
1 sibling, 1 reply; 26+ messages in thread
From: Ville Syrjälä @ 2017-10-30 16:02 UTC (permalink / raw)
To: Ben Widawsky; +Cc: daniel.vetter, intel-gfx, tomeu.vizoso
On Tue, Oct 03, 2017 at 09:35:33AM -0700, Ben Widawsky wrote:
> On 17-09-27 15:34:17, Gabriel Krisman Bertazi wrote:
> >Signed-off-by: Gabriel Krisman Bertazi <krisman@collabora.co.uk>
> >---
> > tests/kms_ccs.c | 37 +++++++++++++++++++++++++++----------
> > 1 file changed, 27 insertions(+), 10 deletions(-)
> >
> >diff --git a/tests/kms_ccs.c b/tests/kms_ccs.c
> >index 73025a1e019f..35dfcca6be14 100644
> >--- a/tests/kms_ccs.c
> >+++ b/tests/kms_ccs.c
> >@@ -33,8 +33,12 @@ enum test_flags {
> > TEST_ROTATE_180 = 1 << 2,
> > TEST_BAD_PIXEL_FORMAT = 1 << 3,
> > TEST_BAD_ROTATION_90 = 1 << 4,
> >+ TEST_NO_AUX_BUFFER = 1 << 5,
> > };
> >
> >+#define TEST_FAIL_ON_ADDFB2 \
> >+ (TEST_BAD_PIXEL_FORMAT | TEST_NO_AUX_BUFFER)
> >+
>
> Adding the define confuses things more than it helps IMO.
>
> > enum test_fb_flags {
> > FB_COMPRESSED = 1 << 0,
> > FB_HAS_PLANE = 1 << 1,
> >@@ -315,22 +319,29 @@ static void generate_fb(data_t *data, struct igt_fb *fb,
> > */
> > int ccs_width = ALIGN(width * 4, 32) / 32;
> > int ccs_height = ALIGN(height, 16) / 16;
> >- f.pitches[1] = ALIGN(ccs_width * 1, 128);
> >- f.modifier[1] = modifier;
>
> I think the case you're trying to test should have the modifier set for plane1,
> just no handle, size or whatever. If you don't do this, I'm not sure what you're
> actually testing.
Hmm. I suppose we migth end up testing bad stride here. I can't
recall exactly in which order the kernel checks these. So just
setting 'handle[1] = 0' might be what we want to test here.
And then we may want a 'pitches[1] = 0' test as well in the bad stride
tests.
>
> >- f.offsets[1] = size[0];
> >- size[1] = f.pitches[1] * ALIGN(ccs_height, 32);
> >+ int ccs_pitches = ALIGN(ccs_width * 1, 128);
> >+ int ccs_offsets = size[0];
> >+
> >+ size[1] = ccs_pitches * ALIGN(ccs_height, 32);
> >
> > f.handles[0] = gem_create(data->drm_fd, size[0] + size[1]);
> >- f.handles[1] = f.handles[0];
> >- render_ccs(data, f.handles[1], f.offsets[1], size[1],
> >- height, f.pitches[1]);
> >+
> >+ if (!(data->flags & TEST_NO_AUX_BUFFER)) {
> >+ f.modifier[1] = modifier;
> >+ f.handles[1] = f.handles[0];
> >+ f.pitches[1] = ccs_pitches;
> >+ f.offsets[1] = ccs_offsets;
> >+
> >+ render_ccs(data, f.handles[1], f.offsets[1], size[1],
> >+ height, f.pitches[1]);
> >+ }
> > } else
> > f.handles[0] = gem_create(data->drm_fd, size[0]);
> >
> > render_fb(data, f.handles[0], size[0], fb_flags, height, f.pitches[0]);
> >
> > ret = drmIoctl(data->drm_fd, LOCAL_DRM_IOCTL_MODE_ADDFB2, &f);
> >- if (data->flags & TEST_BAD_PIXEL_FORMAT) {
> >+ if (data->flags & TEST_FAIL_ON_ADDFB2) {
> > igt_assert_eq(ret, -1);
> > igt_assert_eq(errno, EINVAL);
> > return;
> >@@ -379,7 +390,7 @@ static void try_config(data_t *data, enum test_fb_flags fb_flags)
> > drm_mode->vdisplay, fb_flags);
> > }
> >
> >- if (data->flags & TEST_BAD_PIXEL_FORMAT)
> >+ if (data->flags & TEST_FAIL_ON_ADDFB2)
> > return;
> >
> > igt_plane_set_position(primary, 0, 0);
> >@@ -446,7 +457,8 @@ static void test_output(data_t *data)
> > }
> >
> > if (data->flags & TEST_BAD_PIXEL_FORMAT ||
> >- data->flags & TEST_BAD_ROTATION_90) {
> >+ data->flags & TEST_BAD_ROTATION_90 ||
> >+ data->flags & TEST_NO_AUX_BUFFER) {
> > try_config(data, fb_flags | FB_COMPRESSED);
> > }
> >
> >@@ -515,6 +527,11 @@ igt_main
> > }
> >
> > data.plane = NULL;
> >+
> >+ data.flags = TEST_NO_AUX_BUFFER;
> >+ igt_subtest_f("pipe-%s-missing-ccs-buffer", pipe_name)
> >+ test_output(&data);
> >+
> > }
> >
> > igt_fixture
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
--
Ville Syrjälä
Intel OTC
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [PATCH i-g-t v4 4/6] tests/kms_ccs: Test case where the CCS buffer was not provided
2017-10-30 16:02 ` Ville Syrjälä
@ 2017-10-31 1:33 ` Gabriel Krisman Bertazi
0 siblings, 0 replies; 26+ messages in thread
From: Gabriel Krisman Bertazi @ 2017-10-31 1:33 UTC (permalink / raw)
To: Ville Syrjälä
Cc: daniel.vetter, Ben Widawsky, intel-gfx, tomeu.vizoso
Ville Syrjälä <ville.syrjala@linux.intel.com> writes:
> On Tue, Oct 03, 2017 at 09:35:33AM -0700, Ben Widawsky wrote:
>> On 17-09-27 15:34:17, Gabriel Krisman Bertazi wrote:
>> >Signed-off-by: Gabriel Krisman Bertazi <krisman@collabora.co.uk>
>> >---
>> > tests/kms_ccs.c | 37 +++++++++++++++++++++++++++----------
>> > 1 file changed, 27 insertions(+), 10 deletions(-)
>> >
>> >diff --git a/tests/kms_ccs.c b/tests/kms_ccs.c
>> >index 73025a1e019f..35dfcca6be14 100644
>> >--- a/tests/kms_ccs.c
>> >+++ b/tests/kms_ccs.c
>> >@@ -33,8 +33,12 @@ enum test_flags {
>> > TEST_ROTATE_180 = 1 << 2,
>> > TEST_BAD_PIXEL_FORMAT = 1 << 3,
>> > TEST_BAD_ROTATION_90 = 1 << 4,
>> >+ TEST_NO_AUX_BUFFER = 1 << 5,
>> > };
>> >
>> >+#define TEST_FAIL_ON_ADDFB2 \
>> >+ (TEST_BAD_PIXEL_FORMAT | TEST_NO_AUX_BUFFER)
>> >+
>>
>> Adding the define confuses things more than it helps IMO.
>>
>> > enum test_fb_flags {
>> > FB_COMPRESSED = 1 << 0,
>> > FB_HAS_PLANE = 1 << 1,
>> >@@ -315,22 +319,29 @@ static void generate_fb(data_t *data, struct igt_fb *fb,
>> > */
>> > int ccs_width = ALIGN(width * 4, 32) / 32;
>> > int ccs_height = ALIGN(height, 16) / 16;
>> >- f.pitches[1] = ALIGN(ccs_width * 1, 128);
>> >- f.modifier[1] = modifier;
>>
>> I think the case you're trying to test should have the modifier set for plane1,
>> just no handle, size or whatever. If you don't do this, I'm not sure what you're
>> actually testing.
>
> Hmm. I suppose we migth end up testing bad stride here. I can't
> recall exactly in which order the kernel checks these. So just
> setting 'handle[1] = 0' might be what we want to test here.
My test makes the kernel error out with:
[23303.475286] [drm:drm_internal_framebuffer_create] no buffer object
handle for plane 1
Which I think is the right one.
> And then we may want a 'pitches[1] = 0' test as well in the bad stride
> tests.
Sure, I can add that.
>
>>
>> >- f.offsets[1] = size[0];
>> >- size[1] = f.pitches[1] * ALIGN(ccs_height, 32);
>> >+ int ccs_pitches = ALIGN(ccs_width * 1, 128);
>> >+ int ccs_offsets = size[0];
>> >+
>> >+ size[1] = ccs_pitches * ALIGN(ccs_height, 32);
>> >
>> > f.handles[0] = gem_create(data->drm_fd, size[0] + size[1]);
>> >- f.handles[1] = f.handles[0];
>> >- render_ccs(data, f.handles[1], f.offsets[1], size[1],
>> >- height, f.pitches[1]);
>> >+
>> >+ if (!(data->flags & TEST_NO_AUX_BUFFER)) {
>> >+ f.modifier[1] = modifier;
>> >+ f.handles[1] = f.handles[0];
>> >+ f.pitches[1] = ccs_pitches;
>> >+ f.offsets[1] = ccs_offsets;
>> >+
>> >+ render_ccs(data, f.handles[1], f.offsets[1], size[1],
>> >+ height, f.pitches[1]);
>> >+ }
>> > } else
>> > f.handles[0] = gem_create(data->drm_fd, size[0]);
>> >
>> > render_fb(data, f.handles[0], size[0], fb_flags, height, f.pitches[0]);
>> >
>> > ret = drmIoctl(data->drm_fd, LOCAL_DRM_IOCTL_MODE_ADDFB2, &f);
>> >- if (data->flags & TEST_BAD_PIXEL_FORMAT) {
>> >+ if (data->flags & TEST_FAIL_ON_ADDFB2) {
>> > igt_assert_eq(ret, -1);
>> > igt_assert_eq(errno, EINVAL);
>> > return;
>> >@@ -379,7 +390,7 @@ static void try_config(data_t *data, enum test_fb_flags fb_flags)
>> > drm_mode->vdisplay, fb_flags);
>> > }
>> >
>> >- if (data->flags & TEST_BAD_PIXEL_FORMAT)
>> >+ if (data->flags & TEST_FAIL_ON_ADDFB2)
>> > return;
>> >
>> > igt_plane_set_position(primary, 0, 0);
>> >@@ -446,7 +457,8 @@ static void test_output(data_t *data)
>> > }
>> >
>> > if (data->flags & TEST_BAD_PIXEL_FORMAT ||
>> >- data->flags & TEST_BAD_ROTATION_90) {
>> >+ data->flags & TEST_BAD_ROTATION_90 ||
>> >+ data->flags & TEST_NO_AUX_BUFFER) {
>> > try_config(data, fb_flags | FB_COMPRESSED);
>> > }
>> >
>> >@@ -515,6 +527,11 @@ igt_main
>> > }
>> >
>> > data.plane = NULL;
>> >+
>> >+ data.flags = TEST_NO_AUX_BUFFER;
>> >+ igt_subtest_f("pipe-%s-missing-ccs-buffer", pipe_name)
>> >+ test_output(&data);
>> >+
>> > }
>> >
>> > igt_fixture
>> _______________________________________________
>> Intel-gfx mailing list
>> Intel-gfx@lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
--
Gabriel Krisman Bertazi
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 26+ messages in thread
* [PATCH i-g-t v4 5/6] tests/kms_ccs: Test case where CCS is on a different BO
2017-09-27 18:34 [PATCH i-g-t v4 1/6] tests/kms_ccs: Test pipes other than pipe A Gabriel Krisman Bertazi
` (2 preceding siblings ...)
2017-09-27 18:34 ` [PATCH i-g-t v4 4/6] tests/kms_ccs: Test case where the CCS buffer was not provided Gabriel Krisman Bertazi
@ 2017-09-27 18:34 ` Gabriel Krisman Bertazi
2017-10-03 11:00 ` Arkadiusz Hiler
2017-10-03 16:38 ` Ben Widawsky
2017-09-27 18:34 ` [PATCH i-g-t v4 6/6] tests/kms_ccs: Test case for wrong aux buffer stride size Gabriel Krisman Bertazi
` (4 subsequent siblings)
8 siblings, 2 replies; 26+ messages in thread
From: Gabriel Krisman Bertazi @ 2017-09-27 18:34 UTC (permalink / raw)
To: intel-gfx; +Cc: daniel.vetter, tomeu.vizoso
Signed-off-by: Gabriel Krisman Bertazi <krisman@collabora.co.uk>
---
tests/kms_ccs.c | 17 ++++++++++++++---
1 file changed, 14 insertions(+), 3 deletions(-)
diff --git a/tests/kms_ccs.c b/tests/kms_ccs.c
index 35dfcca6be14..2d7105eb1323 100644
--- a/tests/kms_ccs.c
+++ b/tests/kms_ccs.c
@@ -34,10 +34,11 @@ enum test_flags {
TEST_BAD_PIXEL_FORMAT = 1 << 3,
TEST_BAD_ROTATION_90 = 1 << 4,
TEST_NO_AUX_BUFFER = 1 << 5,
+ TEST_BAD_CCS_HANDLE = 1 << 6,
};
#define TEST_FAIL_ON_ADDFB2 \
- (TEST_BAD_PIXEL_FORMAT | TEST_NO_AUX_BUFFER)
+ (TEST_BAD_PIXEL_FORMAT | TEST_NO_AUX_BUFFER | TEST_BAD_CCS_HANDLE)
enum test_fb_flags {
FB_COMPRESSED = 1 << 0,
@@ -275,6 +276,7 @@ static void generate_fb(data_t *data, struct igt_fb *fb,
unsigned int size[2];
uint64_t modifier;
int ret;
+ uint32_t ccs_handle;
/* Use either compressed or Y-tiled to test. However, given the lack of
* available bandwidth, we use linear for the primary plane when
@@ -325,10 +327,15 @@ static void generate_fb(data_t *data, struct igt_fb *fb,
size[1] = ccs_pitches * ALIGN(ccs_height, 32);
f.handles[0] = gem_create(data->drm_fd, size[0] + size[1]);
+ if (data->flags & TEST_BAD_CCS_HANDLE) {
+ /* Put the CCS buffer on a different BO. */
+ ccs_handle = gem_create(data->drm_fd, size[0] + size[1]);
+ } else
+ ccs_handle = f.handles[0];
if (!(data->flags & TEST_NO_AUX_BUFFER)) {
f.modifier[1] = modifier;
- f.handles[1] = f.handles[0];
+ f.handles[1] = ccs_handle;
f.pitches[1] = ccs_pitches;
f.offsets[1] = ccs_offsets;
@@ -458,7 +465,8 @@ static void test_output(data_t *data)
if (data->flags & TEST_BAD_PIXEL_FORMAT ||
data->flags & TEST_BAD_ROTATION_90 ||
- data->flags & TEST_NO_AUX_BUFFER) {
+ data->flags & TEST_NO_AUX_BUFFER ||
+ data->flags & TEST_BAD_CCS_HANDLE) {
try_config(data, fb_flags | FB_COMPRESSED);
}
@@ -532,6 +540,9 @@ igt_main
igt_subtest_f("pipe-%s-missing-ccs-buffer", pipe_name)
test_output(&data);
+ data.flags = TEST_BAD_CCS_HANDLE;
+ igt_subtest_f("pipe-%s-ccs-on-another-bo", pipe_name)
+ test_output(&data);
}
igt_fixture
--
2.11.0
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 26+ messages in thread
* Re: [PATCH i-g-t v4 5/6] tests/kms_ccs: Test case where CCS is on a different BO
2017-09-27 18:34 ` [PATCH i-g-t v4 5/6] tests/kms_ccs: Test case where CCS is on a different BO Gabriel Krisman Bertazi
@ 2017-10-03 11:00 ` Arkadiusz Hiler
2017-10-03 16:38 ` Ben Widawsky
1 sibling, 0 replies; 26+ messages in thread
From: Arkadiusz Hiler @ 2017-10-03 11:00 UTC (permalink / raw)
To: Gabriel Krisman Bertazi; +Cc: daniel.vetter, intel-gfx, tomeu.vizoso
On Wed, Sep 27, 2017 at 03:34:18PM -0300, Gabriel Krisman Bertazi wrote:
> Signed-off-by: Gabriel Krisman Bertazi <krisman@collabora.co.uk>
Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [PATCH i-g-t v4 5/6] tests/kms_ccs: Test case where CCS is on a different BO
2017-09-27 18:34 ` [PATCH i-g-t v4 5/6] tests/kms_ccs: Test case where CCS is on a different BO Gabriel Krisman Bertazi
2017-10-03 11:00 ` Arkadiusz Hiler
@ 2017-10-03 16:38 ` Ben Widawsky
2017-10-09 6:18 ` Gabriel Krisman Bertazi
1 sibling, 1 reply; 26+ messages in thread
From: Ben Widawsky @ 2017-10-03 16:38 UTC (permalink / raw)
To: Gabriel Krisman Bertazi; +Cc: daniel.vetter, intel-gfx, tomeu.vizoso
On 17-09-27 15:34:18, Gabriel Krisman Bertazi wrote:
>Signed-off-by: Gabriel Krisman Bertazi <krisman@collabora.co.uk>
Did someone recommend this test? While we have some hardware limitations on
current generations that make it difficult to use multiple BOs, it's certainly
not impossible, and future HW might make this limitation go away entirely.
I'd be fine if you wanted to use an invalid handle instead of a valid, but
different handle.
>---
> tests/kms_ccs.c | 17 ++++++++++++++---
> 1 file changed, 14 insertions(+), 3 deletions(-)
>
>diff --git a/tests/kms_ccs.c b/tests/kms_ccs.c
>index 35dfcca6be14..2d7105eb1323 100644
>--- a/tests/kms_ccs.c
>+++ b/tests/kms_ccs.c
>@@ -34,10 +34,11 @@ enum test_flags {
> TEST_BAD_PIXEL_FORMAT = 1 << 3,
> TEST_BAD_ROTATION_90 = 1 << 4,
> TEST_NO_AUX_BUFFER = 1 << 5,
>+ TEST_BAD_CCS_HANDLE = 1 << 6,
> };
>
> #define TEST_FAIL_ON_ADDFB2 \
>- (TEST_BAD_PIXEL_FORMAT | TEST_NO_AUX_BUFFER)
>+ (TEST_BAD_PIXEL_FORMAT | TEST_NO_AUX_BUFFER | TEST_BAD_CCS_HANDLE)
>
> enum test_fb_flags {
> FB_COMPRESSED = 1 << 0,
>@@ -275,6 +276,7 @@ static void generate_fb(data_t *data, struct igt_fb *fb,
> unsigned int size[2];
> uint64_t modifier;
> int ret;
>+ uint32_t ccs_handle;
>
> /* Use either compressed or Y-tiled to test. However, given the lack of
> * available bandwidth, we use linear for the primary plane when
>@@ -325,10 +327,15 @@ static void generate_fb(data_t *data, struct igt_fb *fb,
> size[1] = ccs_pitches * ALIGN(ccs_height, 32);
>
> f.handles[0] = gem_create(data->drm_fd, size[0] + size[1]);
>+ if (data->flags & TEST_BAD_CCS_HANDLE) {
>+ /* Put the CCS buffer on a different BO. */
>+ ccs_handle = gem_create(data->drm_fd, size[0] + size[1]);
>+ } else
>+ ccs_handle = f.handles[0];
>
> if (!(data->flags & TEST_NO_AUX_BUFFER)) {
> f.modifier[1] = modifier;
>- f.handles[1] = f.handles[0];
>+ f.handles[1] = ccs_handle;
> f.pitches[1] = ccs_pitches;
> f.offsets[1] = ccs_offsets;
>
>@@ -458,7 +465,8 @@ static void test_output(data_t *data)
>
> if (data->flags & TEST_BAD_PIXEL_FORMAT ||
> data->flags & TEST_BAD_ROTATION_90 ||
>- data->flags & TEST_NO_AUX_BUFFER) {
>+ data->flags & TEST_NO_AUX_BUFFER ||
>+ data->flags & TEST_BAD_CCS_HANDLE) {
> try_config(data, fb_flags | FB_COMPRESSED);
> }
>
>@@ -532,6 +540,9 @@ igt_main
> igt_subtest_f("pipe-%s-missing-ccs-buffer", pipe_name)
> test_output(&data);
>
>+ data.flags = TEST_BAD_CCS_HANDLE;
>+ igt_subtest_f("pipe-%s-ccs-on-another-bo", pipe_name)
>+ test_output(&data);
> }
>
> igt_fixture
>--
>2.11.0
>
>_______________________________________________
>Intel-gfx mailing list
>Intel-gfx@lists.freedesktop.org
>https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [PATCH i-g-t v4 5/6] tests/kms_ccs: Test case where CCS is on a different BO
2017-10-03 16:38 ` Ben Widawsky
@ 2017-10-09 6:18 ` Gabriel Krisman Bertazi
0 siblings, 0 replies; 26+ messages in thread
From: Gabriel Krisman Bertazi @ 2017-10-09 6:18 UTC (permalink / raw)
To: Ben Widawsky; +Cc: daniel.vetter, intel-gfx, daniels, tomeu.vizoso
Ben Widawsky <ben@bwidawsk.net> writes:
> On 17-09-27 15:34:18, Gabriel Krisman Bertazi wrote:
>>Signed-off-by: Gabriel Krisman Bertazi <krisman@collabora.co.uk>
>
> Did someone recommend this test? While we have some hardware limitations on
> current generations that make it difficult to use multiple BOs, it's certainly
> not impossible, and future HW might make this limitation go away entirely.
>
> I'd be fine if you wanted to use an invalid handle instead of a valid, but
This came as a suggestion from Daniel Stone. Daniels, can you also
provide your input on it?
--
Gabriel Krisman Bertazi
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 26+ messages in thread
* [PATCH i-g-t v4 6/6] tests/kms_ccs: Test case for wrong aux buffer stride size
2017-09-27 18:34 [PATCH i-g-t v4 1/6] tests/kms_ccs: Test pipes other than pipe A Gabriel Krisman Bertazi
` (3 preceding siblings ...)
2017-09-27 18:34 ` [PATCH i-g-t v4 5/6] tests/kms_ccs: Test case where CCS is on a different BO Gabriel Krisman Bertazi
@ 2017-09-27 18:34 ` Gabriel Krisman Bertazi
2017-10-03 10:57 ` Arkadiusz Hiler
2017-10-03 16:40 ` Ben Widawsky
2017-09-27 18:58 ` ✓ Fi.CI.BAT: success for series starting with [v4,1/6] tests/kms_ccs: Test pipes other than pipe A Patchwork
` (3 subsequent siblings)
8 siblings, 2 replies; 26+ messages in thread
From: Gabriel Krisman Bertazi @ 2017-09-27 18:34 UTC (permalink / raw)
To: intel-gfx; +Cc: daniel.vetter, tomeu.vizoso
Two scenarios tested:
- unaligned stride
- Stride too small
Signed-off-by: Gabriel Krisman Bertazi <krisman@collabora.co.uk>
---
tests/kms_ccs.c | 23 ++++++++++++++++++++++-
1 file changed, 22 insertions(+), 1 deletion(-)
diff --git a/tests/kms_ccs.c b/tests/kms_ccs.c
index 2d7105eb1323..cb6e69c69ae5 100644
--- a/tests/kms_ccs.c
+++ b/tests/kms_ccs.c
@@ -35,14 +35,18 @@ enum test_flags {
TEST_BAD_ROTATION_90 = 1 << 4,
TEST_NO_AUX_BUFFER = 1 << 5,
TEST_BAD_CCS_HANDLE = 1 << 6,
+ TEST_BAD_AUX_STRIDE = 1 << 7,
};
#define TEST_FAIL_ON_ADDFB2 \
- (TEST_BAD_PIXEL_FORMAT | TEST_NO_AUX_BUFFER | TEST_BAD_CCS_HANDLE)
+ (TEST_BAD_PIXEL_FORMAT | TEST_NO_AUX_BUFFER | TEST_BAD_CCS_HANDLE | \
+ TEST_BAD_AUX_STRIDE)
enum test_fb_flags {
FB_COMPRESSED = 1 << 0,
FB_HAS_PLANE = 1 << 1,
+ FB_MISALIGN_AUX_STRIDE = 1 << 2,
+ FB_SMALL_AUX_STRIDE = 1 << 3,
};
typedef struct {
@@ -324,6 +328,14 @@ static void generate_fb(data_t *data, struct igt_fb *fb,
int ccs_pitches = ALIGN(ccs_width * 1, 128);
int ccs_offsets = size[0];
+ if (fb_flags & FB_MISALIGN_AUX_STRIDE)
+ ccs_pitches -= 64;
+ else if (fb_flags & FB_SMALL_AUX_STRIDE) {
+ igt_skip_on_f(width <= 1024,
+ "FB already has the smallest possible stride\n");
+ ccs_pitches = ALIGN(ccs_width/2, 128);
+ }
+
size[1] = ccs_pitches * ALIGN(ccs_height, 32);
f.handles[0] = gem_create(data->drm_fd, size[0] + size[1]);
@@ -470,6 +482,11 @@ static void test_output(data_t *data)
try_config(data, fb_flags | FB_COMPRESSED);
}
+ if (data->flags & TEST_BAD_AUX_STRIDE) {
+ try_config(data, fb_flags | FB_COMPRESSED | FB_MISALIGN_AUX_STRIDE);
+ try_config(data, fb_flags | FB_COMPRESSED | FB_SMALL_AUX_STRIDE);
+ }
+
primary = igt_output_get_plane_type(data->output, DRM_PLANE_TYPE_PRIMARY);
igt_plane_set_fb(primary, NULL);
igt_plane_set_rotation(primary, IGT_ROTATION_0);
@@ -543,6 +560,10 @@ igt_main
data.flags = TEST_BAD_CCS_HANDLE;
igt_subtest_f("pipe-%s-ccs-on-another-bo", pipe_name)
test_output(&data);
+
+ data.flags = TEST_BAD_AUX_STRIDE;
+ igt_subtest_f("pipe-%s-bad-aux-stride", pipe_name)
+ test_output(&data);
}
igt_fixture
--
2.11.0
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 26+ messages in thread
* Re: [PATCH i-g-t v4 6/6] tests/kms_ccs: Test case for wrong aux buffer stride size
2017-09-27 18:34 ` [PATCH i-g-t v4 6/6] tests/kms_ccs: Test case for wrong aux buffer stride size Gabriel Krisman Bertazi
@ 2017-10-03 10:57 ` Arkadiusz Hiler
2017-10-30 15:59 ` Ville Syrjälä
2017-10-03 16:40 ` Ben Widawsky
1 sibling, 1 reply; 26+ messages in thread
From: Arkadiusz Hiler @ 2017-10-03 10:57 UTC (permalink / raw)
To: Gabriel Krisman Bertazi; +Cc: daniel.vetter, intel-gfx, tomeu.vizoso
On Wed, Sep 27, 2017 at 03:34:19PM -0300, Gabriel Krisman Bertazi wrote:
> Two scenarios tested:
> - unaligned stride
> - Stride too small
>
> Signed-off-by: Gabriel Krisman Bertazi <krisman@collabora.co.uk>
Fails on APL
https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_260/shard-apl2/igt@kms_ccs@pipe-A-bad-aux-stride.html
https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_260/shard-apl8/igt@kms_ccs@pipe-B-bad-aux-stride.html
Works just fine on KBL though
https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_260/shard-kbl1/igt@kms_ccs@pipe-A-bad-aux-stride.html
https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_260/shard-kbl1/igt@kms_ccs@pipe-B-bad-aux-stride.html
--
Cheers,
Arek
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [PATCH i-g-t v4 6/6] tests/kms_ccs: Test case for wrong aux buffer stride size
2017-09-27 18:34 ` [PATCH i-g-t v4 6/6] tests/kms_ccs: Test case for wrong aux buffer stride size Gabriel Krisman Bertazi
2017-10-03 10:57 ` Arkadiusz Hiler
@ 2017-10-03 16:40 ` Ben Widawsky
2017-10-09 6:03 ` Gabriel Krisman Bertazi
2017-10-30 16:04 ` Ville Syrjälä
1 sibling, 2 replies; 26+ messages in thread
From: Ben Widawsky @ 2017-10-03 16:40 UTC (permalink / raw)
To: Gabriel Krisman Bertazi, Jason Ekstrand
Cc: daniel.vetter, intel-gfx, tomeu.vizoso
On 17-09-27 15:34:19, Gabriel Krisman Bertazi wrote:
>Two scenarios tested:
> - unaligned stride
> - Stride too small
>
>Signed-off-by: Gabriel Krisman Bertazi <krisman@collabora.co.uk>
Jason, could you provide your opinion on this? I've always felt the kernel
interface shouldn't be validating stride at all.
>---
> tests/kms_ccs.c | 23 ++++++++++++++++++++++-
> 1 file changed, 22 insertions(+), 1 deletion(-)
>
>diff --git a/tests/kms_ccs.c b/tests/kms_ccs.c
>index 2d7105eb1323..cb6e69c69ae5 100644
>--- a/tests/kms_ccs.c
>+++ b/tests/kms_ccs.c
>@@ -35,14 +35,18 @@ enum test_flags {
> TEST_BAD_ROTATION_90 = 1 << 4,
> TEST_NO_AUX_BUFFER = 1 << 5,
> TEST_BAD_CCS_HANDLE = 1 << 6,
>+ TEST_BAD_AUX_STRIDE = 1 << 7,
> };
>
> #define TEST_FAIL_ON_ADDFB2 \
>- (TEST_BAD_PIXEL_FORMAT | TEST_NO_AUX_BUFFER | TEST_BAD_CCS_HANDLE)
>+ (TEST_BAD_PIXEL_FORMAT | TEST_NO_AUX_BUFFER | TEST_BAD_CCS_HANDLE | \
>+ TEST_BAD_AUX_STRIDE)
>
> enum test_fb_flags {
> FB_COMPRESSED = 1 << 0,
> FB_HAS_PLANE = 1 << 1,
>+ FB_MISALIGN_AUX_STRIDE = 1 << 2,
>+ FB_SMALL_AUX_STRIDE = 1 << 3,
> };
>
> typedef struct {
>@@ -324,6 +328,14 @@ static void generate_fb(data_t *data, struct igt_fb *fb,
> int ccs_pitches = ALIGN(ccs_width * 1, 128);
> int ccs_offsets = size[0];
>
>+ if (fb_flags & FB_MISALIGN_AUX_STRIDE)
>+ ccs_pitches -= 64;
>+ else if (fb_flags & FB_SMALL_AUX_STRIDE) {
>+ igt_skip_on_f(width <= 1024,
>+ "FB already has the smallest possible stride\n");
>+ ccs_pitches = ALIGN(ccs_width/2, 128);
>+ }
>+
> size[1] = ccs_pitches * ALIGN(ccs_height, 32);
>
> f.handles[0] = gem_create(data->drm_fd, size[0] + size[1]);
>@@ -470,6 +482,11 @@ static void test_output(data_t *data)
> try_config(data, fb_flags | FB_COMPRESSED);
> }
>
>+ if (data->flags & TEST_BAD_AUX_STRIDE) {
>+ try_config(data, fb_flags | FB_COMPRESSED | FB_MISALIGN_AUX_STRIDE);
>+ try_config(data, fb_flags | FB_COMPRESSED | FB_SMALL_AUX_STRIDE);
>+ }
>+
> primary = igt_output_get_plane_type(data->output, DRM_PLANE_TYPE_PRIMARY);
> igt_plane_set_fb(primary, NULL);
> igt_plane_set_rotation(primary, IGT_ROTATION_0);
>@@ -543,6 +560,10 @@ igt_main
> data.flags = TEST_BAD_CCS_HANDLE;
> igt_subtest_f("pipe-%s-ccs-on-another-bo", pipe_name)
> test_output(&data);
>+
>+ data.flags = TEST_BAD_AUX_STRIDE;
>+ igt_subtest_f("pipe-%s-bad-aux-stride", pipe_name)
>+ test_output(&data);
> }
>
> igt_fixture
>--
>2.11.0
>
>_______________________________________________
>Intel-gfx mailing list
>Intel-gfx@lists.freedesktop.org
>https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [PATCH i-g-t v4 6/6] tests/kms_ccs: Test case for wrong aux buffer stride size
2017-10-03 16:40 ` Ben Widawsky
@ 2017-10-09 6:03 ` Gabriel Krisman Bertazi
2017-10-30 16:04 ` Ville Syrjälä
1 sibling, 0 replies; 26+ messages in thread
From: Gabriel Krisman Bertazi @ 2017-10-09 6:03 UTC (permalink / raw)
To: Ben Widawsky; +Cc: daniel.vetter, intel-gfx, tomeu.vizoso, daniels
Ben Widawsky <ben@bwidawsk.net> writes:
> On 17-09-27 15:34:19, Gabriel Krisman Bertazi wrote:
>>Two scenarios tested:
>> - unaligned stride
>> - Stride too small
>>
>>Signed-off-by: Gabriel Krisman Bertazi <krisman@collabora.co.uk>
>
> Jason, could you provide your opinion on this? I've always felt the kernel
> interface shouldn't be validating stride at all.
+daniels. Can you weight in on this and the other comments?
>
>>---
>> tests/kms_ccs.c | 23 ++++++++++++++++++++++-
>> 1 file changed, 22 insertions(+), 1 deletion(-)
>>
>>diff --git a/tests/kms_ccs.c b/tests/kms_ccs.c
>>index 2d7105eb1323..cb6e69c69ae5 100644
>>--- a/tests/kms_ccs.c
>>+++ b/tests/kms_ccs.c
>>@@ -35,14 +35,18 @@ enum test_flags {
>> TEST_BAD_ROTATION_90 = 1 << 4,
>> TEST_NO_AUX_BUFFER = 1 << 5,
>> TEST_BAD_CCS_HANDLE = 1 << 6,
>>+ TEST_BAD_AUX_STRIDE = 1 << 7,
>> };
>>
>> #define TEST_FAIL_ON_ADDFB2 \
>>- (TEST_BAD_PIXEL_FORMAT | TEST_NO_AUX_BUFFER | TEST_BAD_CCS_HANDLE)
>>+ (TEST_BAD_PIXEL_FORMAT | TEST_NO_AUX_BUFFER | TEST_BAD_CCS_HANDLE | \
>>+ TEST_BAD_AUX_STRIDE)
>>
>> enum test_fb_flags {
>> FB_COMPRESSED = 1 << 0,
>> FB_HAS_PLANE = 1 << 1,
>>+ FB_MISALIGN_AUX_STRIDE = 1 << 2,
>>+ FB_SMALL_AUX_STRIDE = 1 << 3,
>> };
>>
>> typedef struct {
>>@@ -324,6 +328,14 @@ static void generate_fb(data_t *data, struct igt_fb *fb,
>> int ccs_pitches = ALIGN(ccs_width * 1, 128);
>> int ccs_offsets = size[0];
>>
>>+ if (fb_flags & FB_MISALIGN_AUX_STRIDE)
>>+ ccs_pitches -= 64;
>>+ else if (fb_flags & FB_SMALL_AUX_STRIDE) {
>>+ igt_skip_on_f(width <= 1024,
>>+ "FB already has the smallest possible stride\n");
>>+ ccs_pitches = ALIGN(ccs_width/2, 128);
>>+ }
>>+
>> size[1] = ccs_pitches * ALIGN(ccs_height, 32);
>>
>> f.handles[0] = gem_create(data->drm_fd, size[0] + size[1]);
>>@@ -470,6 +482,11 @@ static void test_output(data_t *data)
>> try_config(data, fb_flags | FB_COMPRESSED);
>> }
>>
>>+ if (data->flags & TEST_BAD_AUX_STRIDE) {
>>+ try_config(data, fb_flags | FB_COMPRESSED | FB_MISALIGN_AUX_STRIDE);
>>+ try_config(data, fb_flags | FB_COMPRESSED | FB_SMALL_AUX_STRIDE);
>>+ }
>>+
>> primary = igt_output_get_plane_type(data->output, DRM_PLANE_TYPE_PRIMARY);
>> igt_plane_set_fb(primary, NULL);
>> igt_plane_set_rotation(primary, IGT_ROTATION_0);
>>@@ -543,6 +560,10 @@ igt_main
>> data.flags = TEST_BAD_CCS_HANDLE;
>> igt_subtest_f("pipe-%s-ccs-on-another-bo", pipe_name)
>> test_output(&data);
>>+
>>+ data.flags = TEST_BAD_AUX_STRIDE;
>>+ igt_subtest_f("pipe-%s-bad-aux-stride", pipe_name)
>>+ test_output(&data);
>> }
>>
>> igt_fixture
>> --
>>2.11.0
>>
>>_______________________________________________
>>Intel-gfx mailing list
>>Intel-gfx@lists.freedesktop.org
>>https://lists.freedesktop.org/mailman/listinfo/intel-gfx
--
Gabriel Krisman Bertazi
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [PATCH i-g-t v4 6/6] tests/kms_ccs: Test case for wrong aux buffer stride size
2017-10-03 16:40 ` Ben Widawsky
2017-10-09 6:03 ` Gabriel Krisman Bertazi
@ 2017-10-30 16:04 ` Ville Syrjälä
1 sibling, 0 replies; 26+ messages in thread
From: Ville Syrjälä @ 2017-10-30 16:04 UTC (permalink / raw)
To: Ben Widawsky; +Cc: daniel.vetter, intel-gfx, tomeu.vizoso
On Tue, Oct 03, 2017 at 09:40:59AM -0700, Ben Widawsky wrote:
> On 17-09-27 15:34:19, Gabriel Krisman Bertazi wrote:
> >Two scenarios tested:
> > - unaligned stride
> > - Stride too small
> >
> >Signed-off-by: Gabriel Krisman Bertazi <krisman@collabora.co.uk>
>
> Jason, could you provide your opinion on this? I've always felt the kernel
> interface shouldn't be validating stride at all.
I don't recall how the hardware reacts to a bogus CCS stride. In general
the SKL display engine is very sensitive and the slightest mistake might
end up hard hanging the box, so checking seems like the safer option.
>
> >---
> > tests/kms_ccs.c | 23 ++++++++++++++++++++++-
> > 1 file changed, 22 insertions(+), 1 deletion(-)
> >
> >diff --git a/tests/kms_ccs.c b/tests/kms_ccs.c
> >index 2d7105eb1323..cb6e69c69ae5 100644
> >--- a/tests/kms_ccs.c
> >+++ b/tests/kms_ccs.c
> >@@ -35,14 +35,18 @@ enum test_flags {
> > TEST_BAD_ROTATION_90 = 1 << 4,
> > TEST_NO_AUX_BUFFER = 1 << 5,
> > TEST_BAD_CCS_HANDLE = 1 << 6,
> >+ TEST_BAD_AUX_STRIDE = 1 << 7,
> > };
> >
> > #define TEST_FAIL_ON_ADDFB2 \
> >- (TEST_BAD_PIXEL_FORMAT | TEST_NO_AUX_BUFFER | TEST_BAD_CCS_HANDLE)
> >+ (TEST_BAD_PIXEL_FORMAT | TEST_NO_AUX_BUFFER | TEST_BAD_CCS_HANDLE | \
> >+ TEST_BAD_AUX_STRIDE)
> >
> > enum test_fb_flags {
> > FB_COMPRESSED = 1 << 0,
> > FB_HAS_PLANE = 1 << 1,
> >+ FB_MISALIGN_AUX_STRIDE = 1 << 2,
> >+ FB_SMALL_AUX_STRIDE = 1 << 3,
> > };
> >
> > typedef struct {
> >@@ -324,6 +328,14 @@ static void generate_fb(data_t *data, struct igt_fb *fb,
> > int ccs_pitches = ALIGN(ccs_width * 1, 128);
> > int ccs_offsets = size[0];
> >
> >+ if (fb_flags & FB_MISALIGN_AUX_STRIDE)
> >+ ccs_pitches -= 64;
> >+ else if (fb_flags & FB_SMALL_AUX_STRIDE) {
> >+ igt_skip_on_f(width <= 1024,
> >+ "FB already has the smallest possible stride\n");
> >+ ccs_pitches = ALIGN(ccs_width/2, 128);
> >+ }
> >+
> > size[1] = ccs_pitches * ALIGN(ccs_height, 32);
> >
> > f.handles[0] = gem_create(data->drm_fd, size[0] + size[1]);
> >@@ -470,6 +482,11 @@ static void test_output(data_t *data)
> > try_config(data, fb_flags | FB_COMPRESSED);
> > }
> >
> >+ if (data->flags & TEST_BAD_AUX_STRIDE) {
> >+ try_config(data, fb_flags | FB_COMPRESSED | FB_MISALIGN_AUX_STRIDE);
> >+ try_config(data, fb_flags | FB_COMPRESSED | FB_SMALL_AUX_STRIDE);
> >+ }
> >+
> > primary = igt_output_get_plane_type(data->output, DRM_PLANE_TYPE_PRIMARY);
> > igt_plane_set_fb(primary, NULL);
> > igt_plane_set_rotation(primary, IGT_ROTATION_0);
> >@@ -543,6 +560,10 @@ igt_main
> > data.flags = TEST_BAD_CCS_HANDLE;
> > igt_subtest_f("pipe-%s-ccs-on-another-bo", pipe_name)
> > test_output(&data);
> >+
> >+ data.flags = TEST_BAD_AUX_STRIDE;
> >+ igt_subtest_f("pipe-%s-bad-aux-stride", pipe_name)
> >+ test_output(&data);
> > }
> >
> > igt_fixture
> >--
> >2.11.0
> >
> >_______________________________________________
> >Intel-gfx mailing list
> >Intel-gfx@lists.freedesktop.org
> >https://lists.freedesktop.org/mailman/listinfo/intel-gfx
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
--
Ville Syrjälä
Intel OTC
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 26+ messages in thread
* ✓ Fi.CI.BAT: success for series starting with [v4,1/6] tests/kms_ccs: Test pipes other than pipe A
2017-09-27 18:34 [PATCH i-g-t v4 1/6] tests/kms_ccs: Test pipes other than pipe A Gabriel Krisman Bertazi
` (4 preceding siblings ...)
2017-09-27 18:34 ` [PATCH i-g-t v4 6/6] tests/kms_ccs: Test case for wrong aux buffer stride size Gabriel Krisman Bertazi
@ 2017-09-27 18:58 ` Patchwork
2017-09-27 23:42 ` ✗ Fi.CI.IGT: failure " Patchwork
` (2 subsequent siblings)
8 siblings, 0 replies; 26+ messages in thread
From: Patchwork @ 2017-09-27 18:58 UTC (permalink / raw)
To: Gabriel Krisman Bertazi; +Cc: intel-gfx
== Series Details ==
Series: series starting with [v4,1/6] tests/kms_ccs: Test pipes other than pipe A
URL : https://patchwork.freedesktop.org/series/30991/
State : success
== Summary ==
IGT patchset tested on top of latest successful build
2885b10f99b4beeb046e75af8b8488c229f629d3 igt/gem_exec_schedule: Ignore set-priority failures on old kernels
with latest DRM-Tip kernel build CI_DRM_3146
aa884e1abdf2 drm-tip: 2017y-09m-27d-15h-39m-07s UTC integration manifest
fi-bdw-5557u total:289 pass:268 dwarn:0 dfail:0 fail:0 skip:21 time:440s
fi-bdw-gvtdvm total:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:471s
fi-blb-e6850 total:289 pass:224 dwarn:1 dfail:0 fail:0 skip:64 time:421s
fi-bsw-n3050 total:289 pass:243 dwarn:0 dfail:0 fail:0 skip:46 time:527s
fi-bwr-2160 total:289 pass:184 dwarn:0 dfail:0 fail:0 skip:105 time:280s
fi-bxt-j4205 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:504s
fi-byt-j1900 total:289 pass:254 dwarn:1 dfail:0 fail:0 skip:34 time:500s
fi-cfl-s total:289 pass:223 dwarn:34 dfail:0 fail:0 skip:32 time:541s
fi-cnl-y total:289 pass:259 dwarn:0 dfail:0 fail:3 skip:27 time:668s
fi-elk-e7500 total:289 pass:230 dwarn:0 dfail:0 fail:0 skip:59 time:422s
fi-glk-1 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:572s
fi-hsw-4770 total:289 pass:263 dwarn:0 dfail:0 fail:0 skip:26 time:425s
fi-hsw-4770r total:289 pass:263 dwarn:0 dfail:0 fail:0 skip:26 time:408s
fi-ilk-650 total:289 pass:229 dwarn:0 dfail:0 fail:0 skip:60 time:441s
fi-ivb-3520m total:289 pass:261 dwarn:0 dfail:0 fail:0 skip:28 time:485s
fi-ivb-3770 total:289 pass:261 dwarn:0 dfail:0 fail:0 skip:28 time:465s
fi-kbl-7500u total:289 pass:263 dwarn:1 dfail:0 fail:1 skip:24 time:472s
fi-kbl-7560u total:289 pass:270 dwarn:0 dfail:0 fail:0 skip:19 time:581s
fi-kbl-r total:245 pass:220 dwarn:0 dfail:0 fail:0 skip:24
fi-pnv-d510 total:289 pass:223 dwarn:1 dfail:0 fail:0 skip:65 time:549s
fi-skl-6260u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:457s
fi-skl-6700k total:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:753s
fi-skl-6770hq total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:488s
fi-skl-gvtdvm total:289 pass:266 dwarn:0 dfail:0 fail:0 skip:23 time:476s
fi-snb-2520m total:289 pass:251 dwarn:0 dfail:0 fail:0 skip:38 time:583s
fi-snb-2600 total:289 pass:250 dwarn:0 dfail:0 fail:0 skip:39 time:424s
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_260/
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 26+ messages in thread
* ✗ Fi.CI.IGT: failure for series starting with [v4,1/6] tests/kms_ccs: Test pipes other than pipe A
2017-09-27 18:34 [PATCH i-g-t v4 1/6] tests/kms_ccs: Test pipes other than pipe A Gabriel Krisman Bertazi
` (5 preceding siblings ...)
2017-09-27 18:58 ` ✓ Fi.CI.BAT: success for series starting with [v4,1/6] tests/kms_ccs: Test pipes other than pipe A Patchwork
@ 2017-09-27 23:42 ` Patchwork
2017-09-28 16:06 ` Patchwork
2017-10-03 10:44 ` [PATCH i-g-t v4 1/6] " Arkadiusz Hiler
8 siblings, 0 replies; 26+ messages in thread
From: Patchwork @ 2017-09-27 23:42 UTC (permalink / raw)
To: Gabriel Krisman Bertazi; +Cc: intel-gfx
== Series Details ==
Series: series starting with [v4,1/6] tests/kms_ccs: Test pipes other than pipe A
URL : https://patchwork.freedesktop.org/series/30991/
State : failure
== Summary ==
Test kms_flip:
Subgroup blt-flip-vs-panning:
skip -> PASS (shard-hsw)
Subgroup bo-too-big:
skip -> PASS (shard-hsw)
Subgroup rcs-wf_vblank-vs-modeset-interruptible:
skip -> PASS (shard-hsw)
Subgroup 2x-flip-vs-absolute-wf_vblank:
pass -> SKIP (shard-hsw)
Subgroup blt-wf_vblank-vs-dpms-interruptible:
skip -> PASS (shard-hsw)
Subgroup flip-vs-dpms-interruptible:
skip -> PASS (shard-hsw)
Subgroup 2x-flip-vs-bad-tiling-interruptible:
pass -> SKIP (shard-hsw)
Subgroup vblank-vs-suspend:
skip -> PASS (shard-hsw)
Subgroup 2x-blt-flip-vs-panning:
pass -> SKIP (shard-hsw)
Subgroup 2x-wf_vblank-ts-check-interruptible:
pass -> SKIP (shard-hsw)
Subgroup flip-vs-expired-vblank:
skip -> PASS (shard-hsw) fdo#102367
Subgroup flip-vs-expired-vblank-interruptible:
skip -> PASS (shard-hsw) fdo#102887
Subgroup 2x-flip-vs-expired-vblank:
pass -> SKIP (shard-hsw)
Subgroup 2x-render-flip-vs-panning:
pass -> SKIP (shard-hsw)
Subgroup 2x-flip-vs-bad-tiling:
pass -> SKIP (shard-hsw)
Subgroup blocking-absolute-wf_vblank:
skip -> PASS (shard-hsw)
Subgroup vblank-vs-modeset-rpm-interruptible:
skip -> PASS (shard-hsw)
Subgroup 2x-absolute-wf_vblank-interruptible:
pass -> SKIP (shard-hsw)
Subgroup dpms-off-confusion-interruptible:
skip -> PASS (shard-hsw)
Subgroup vblank-vs-hang-interruptible:
skip -> PASS (shard-hsw)
Subgroup vblank-vs-suspend-interruptible:
skip -> PASS (shard-hsw)
Subgroup flip-vs-fences-interruptible:
skip -> PASS (shard-hsw) fdo#102946
Subgroup 2x-blocking-wf_vblank:
pass -> SKIP (shard-hsw)
Subgroup 2x-render-flip-vs-panning-interruptible:
pass -> SKIP (shard-hsw)
Subgroup 2x-flip-vs-modeset-vs-hang-interruptible:
pass -> SKIP (shard-hsw)
Subgroup 2x-blt-wf_vblank-vs-modeset:
pass -> SKIP (shard-hsw)
Subgroup 2x-vblank-vs-suspend-interruptible:
pass -> SKIP (shard-hsw)
Subgroup flip-vs-blocking-wf-vblank:
skip -> PASS (shard-hsw)
Subgroup 2x-plain-flip-fb-recreate:
pass -> SKIP (shard-hsw)
Subgroup flip-vs-absolute-wf_vblank:
skip -> PASS (shard-hsw) fdo#100368 +1
Subgroup 2x-plain-flip-ts-check:
pass -> SKIP (shard-hsw)
Subgroup 2x-absolute-wf_vblank:
pass -> SKIP (shard-hsw)
Subgroup 2x-wf_vblank-ts-check:
pass -> SKIP (shard-hsw)
Subgroup 2x-wf_vblank-vs-dpms-interruptible:
pass -> SKIP (shard-hsw)
Subgroup 2x-blt-flip-vs-panning-interruptible:
pass -> SKIP (shard-hsw)
Subgroup 2x-wf_vblank:
pass -> SKIP (shard-hsw)
Subgroup 2x-flip-vs-panning:
pass -> SKIP (shard-hsw)
Subgroup flip-vs-rmfb:
skip -> PASS (shard-hsw)
Subgroup vblank-vs-dpms-suspend:
skip -> PASS (shard-hsw)
Subgroup 2x-plain-flip:
pass -> SKIP (shard-hsw)
Subgroup 2x-blt-wf_vblank-vs-modeset-interruptible:
pass -> SKIP (shard-hsw)
Subgroup dpms-off-confusion:
skip -> PASS (shard-hsw) fdo#102614 +1
Subgroup 2x-blocking-absolute-wf_vblank:
pass -> SKIP (shard-hsw)
Subgroup 2x-flip-vs-fences:
pass -> SKIP (shard-hsw)
Subgroup 2x-rcs-wf_vblank-vs-dpms:
pass -> SKIP (shard-hsw)
Subgroup nonexisting-fb:
skip -> PASS (shard-hsw)
Subgroup 2x-flip-vs-rmfb-interruptible:
pass -> SKIP (shard-hsw)
Subgroup plain-flip-ts-check-interruptible:
skip -> PASS (shard-hsw) fdo#103005
Subgroup 2x-wf_vblank-vs-modeset:
pass -> SKIP (shard-hsw)
Subgroup 2x-flip-vs-wf_vblank-interruptible:
pass -> SKIP (shard-hsw)
Subgroup 2x-nonexisting-fb-interruptible:
pass -> SKIP (shard-hsw)
Subgroup 2x-single-buffer-flip-vs-dpms-off-vs-modeset-interruptible:
pass -> SKIP (shard-hsw)
Subgroup 2x-dpms-vs-vblank-race:
pass -> SKIP (shard-hsw)
Subgroup 2x-single-buffer-flip-vs-dpms-off-vs-modeset:
pass -> SKIP (shard-hsw)
Subgroup 2x-flip-vs-modeset-interruptible:
pass -> SKIP (shard-hsw)
Subgroup dpms-vs-vblank-race-interruptible:
skip -> PASS (shard-hsw)
Subgroup flip-vs-absolute-wf_vblank-interruptible:
skip -> PASS (shard-hsw)
Subgroup 2x-vblank-vs-dpms-suspend:
pass -> SKIP (shard-hsw)
Subgroup 2x-nonexisting-fb:
pass -> SKIP (shard-hsw)
Subgroup 2x-blocking-absolute-wf_vblank-interruptible:
pass -> SKIP (shard-hsw)
Subgroup single-buffer-flip-vs-dpms-off-vs-modeset:
skip -> PASS (shard-hsw)
Subgroup basic-flip-vs-modeset:
skip -> PASS (shard-hsw)
Subgroup 2x-modeset-vs-vblank-race:
pass -> SKIP (shard-hsw)
Subgroup 2x-flip-vs-dpms-off-vs-modeset:
pass -> SKIP (shard-hsw)
Subgroup 2x-plain-flip-ts-check-interruptible:
pass -> SKIP (shard-hsw)
Subgroup 2x-plain-flip-fb-recreate-interruptible:
pass -> SKIP (shard-hsw)
Subgroup busy-flip-interruptible:
skip -> PASS (shard-hsw)
Subgroup 2x-wf_vblank-interruptible:
pass -> SKIP (shard-hsw)
Subgroup rcs-wf_vblank-vs-modeset:
skip -> PASS (shard-hsw)
Subgroup 2x-flip-vs-rmfb:
pass -> SKIP (shard-hsw)
Subgroup 2x-flip-vs-dpms:
pass -> SKIP (shard-hsw)
Subgroup blt-wf_vblank-vs-modeset-interruptible:
skip -> PASS (shard-hsw)
Subgroup 2x-flip-vs-absolute-wf_vblank-interruptible:
pass -> SKIP (shard-hsw)
Subgroup plain-flip-interruptible:
skip -> PASS (shard-hsw)
Subgroup 2x-blt-wf_vblank-vs-dpms:
pass -> SKIP (shard-hsw)
Subgroup wf_vblank-vs-modeset-interruptible:
skip -> PASS (shard-hsw)
Subgroup 2x-wf_vblank-vs-modeset-interruptible:
pass -> SKIP (shard-hsw)
Subgroup 2x-flip-vs-blocking-wf-vblank:
pass -> SKIP (shard-hsw)
Subgroup 2x-flip-vs-dpms-off-vs-modeset-interruptible:
pass -> SKIP (shard-hsw)
Subgroup 2x-vblank-vs-suspend:
pass -> SKIP (shard-hsw)
Subgroup flip-vs-modeset-vs-hang:
skip -> PASS (shard-hsw)
Subgroup 2x-flip-vs-wf_vblank:
pass -> SKIP (shard-hsw)
Subgroup bo-too-big-interruptible:
fail -> PASS (shard-hsw)
Subgroup 2x-busy-flip:
pass -> SKIP (shard-hsw)
Subgroup 2x-dpms-vs-vblank-race-interruptible:
pass -> SKIP (shard-hsw)
Subgroup 2x-blt-wf_vblank-vs-dpms-interruptible:
pass -> SKIP (shard-hsw)
Subgroup flip-vs-bad-tiling-interruptible:
pass -> SKIP (shard-hsw)
Subgroup 2x-vblank-vs-modeset-suspend-interruptible:
pass -> SKIP (shard-hsw)
Test kms_panel_fitting:
Subgroup legacy:
pass -> SKIP (shard-hsw)
Subgroup atomic-fastset:
pass -> SKIP (shard-hsw)
Test prime_busy:
Subgroup wait-after-vebox:
skip -> PASS (shard-hsw)
Subgroup hang-blt:
skip -> PASS (shard-hsw)
Subgroup after-render:
skip -> PASS (shard-hsw)
Subgroup wait-after-bsd1:
pass -> SKIP (shard-hsw)
Subgroup before-blt:
skip -> PASS (shard-hsw)
Subgroup wait-before-bsd:
skip -> PASS (shard-hsw)
Subgroup wait-hang-vebox:
skip -> PASS (shard-hsw)
Subgroup wait-before-vebox:
skip -> PASS (shard-hsw)
Subgroup after-vebox:
fail -> PASS (shard-hsw)
Subgroup wait-before-blt:
skip -> PASS (shard-hsw)
Subgroup hang-vebox:
skip -> PASS (shard-hsw)
Subgroup after-bsd:
skip -> PASS (shard-hsw)
Subgroup after-blt:
skip -> PASS (shard-hsw)
Subgroup basic-after-default:
skip -> PASS (shard-hsw)
Subgroup before-bsd1:
pass -> SKIP (shard-hsw)
Subgroup after-bsd1:
pass -> SKIP (shard-hsw)
Subgroup basic-before-default:
skip -> PASS (shard-hsw)
Subgroup hang-render:
skip -> PASS (shard-hsw)
Subgroup before-bsd:
skip -> PASS (shard-hsw)
Test kms_frontbuffer_tracking:
Subgroup fbc-2p-scndscrn-pri-indfb-draw-mmap-wc:
pass -> SKIP (shard-hsw)
Subgroup fbcpsr-1p-offscren-pri-indfb-draw-blt:
pass -> SKIP (shard-hsw)
Subgroup fbcpsr-1p-primscrn-spr-indfb-draw-render:
pass -> SKIP (shard-hsw)
Subgroup psr-2p-scndscrn-pri-indfb-draw-blt:
pass -> SKIP (shard-hsw)
Subgroup psr-1p-primscrn-pri-shrfb-draw-mmap-wc:
pass -> SKIP (shard-hsw)
Subgroup fbcpsr-rgb101010-draw-blt:
pass -> SKIP (shard-hsw)
Subgroup psr-rgb565-draw-mmap-cpu:
pass -> SKIP (shard-hsw)
Subgroup fbc-1p-primscrn-pri-shrfb-draw-blt:
skip -> PASS (shard-hsw)
Subgroup fbc-2p-scndscrn-spr-indfb-draw-render:
pass -> SKIP (shard-hsw)
Subgroup fbc-2p-scndscrn-spr-indfb-draw-mmap-wc:
pass -> SKIP (shard-hsw)
Subgroup fbcpsr-1p-primscrn-indfb-plflip-blt:
pass -> SKIP (shard-hsw)
Subgroup fbc-2p-primscrn-pri-shrfb-draw-render:
pass -> SKIP (shard-hsw)
Subgroup fbc-1p-offscren-pri-shrfb-draw-render:
skip -> PASS (shard-hsw)
Subgroup fbcpsr-1p-offscren-pri-shrfb-draw-mmap-wc:
pass -> SKIP (shard-hsw)
Subgroup fbc-1p-primscrn-shrfb-pgflip-blt:
skip -> PASS (shard-hsw)
Subgroup psr-2p-scndscrn-indfb-plflip-blt:
pass -> SKIP (shard-hsw)
Subgroup fbc-rgb101010-draw-render:
skip -> PASS (shard-hsw)
Subgroup psr-2p-primscrn-pri-indfb-draw-pwrite:
pass -> SKIP (shard-hsw)
Subgroup fbcpsr-2p-scndscrn-spr-indfb-move:
pass -> SKIP (shard-hsw)
Subgroup psr-1p-primscrn-pri-indfb-draw-render:
pass -> SKIP (shard-hsw)
Subgroup fbcpsr-2p-scndscrn-pri-shrfb-draw-render:
pass -> SKIP (shard-hsw)
Subgroup fbc-rgb565-draw-blt:
skip -> PASS (shard-hsw)
Subgroup fbc-2p-primscrn-shrfb-plflip-blt:
pass -> SKIP (shard-hsw)
Subgroup fbc-2p-primscrn-pri-shrfb-draw-pwrite:
pass -> SKIP (shard-hsw)
Subgroup fbcpsr-2p-pri-indfb-multidraw:
pass -> SKIP (shard-hsw)
Subgroup psr-2p-scndscrn-shrfb-plflip-blt:
pass -> SKIP (shard-hsw)
Subgroup psr-1p-primscrn-shrfb-msflip-blt:
pass -> SKIP (shard-hsw)
Subgroup fbc-rgb101010-draw-mmap-cpu:
skip -> PASS (shard-hsw)
Subgroup fbc-1p-offscren-pri-indfb-draw-mmap-cpu:
skip -> PASS (shard-hsw)
Subgroup fbc-2p-primscrn-cur-indfb-draw-pwrite:
pass -> SKIP (shard-hsw)
Subgroup fbcpsr-2p-primscrn-cur-indfb-draw-mmap-gtt:
pass -> SKIP (shard-hsw)
Subgroup fbc-2p-primscrn-cur-indfb-onoff:
pass -> SKIP (shard-hsw)
Subgroup fbcpsr-2p-primscrn-pri-shrfb-draw-mmap-gtt:
pass -> SKIP (shard-hsw)
Subgroup fbcpsr-2p-primscrn-spr-indfb-draw-mmap-cpu:
pass -> SKIP (shard-hsw)
Subgroup psr-1p-offscren-pri-shrfb-draw-blt:
pass -> SKIP (shard-hsw)
Subgroup fbc-2p-scndscrn-pri-indfb-draw-mmap-cpu:
pass -> SKIP (shard-hsw)
Subgroup fbc-2p-scndscrn-cur-indfb-onoff:
pass -> SKIP (shard-hsw)
Subgroup fbcpsr-2p-primscrn-pri-shrfb-draw-render:
pass -> SKIP (shard-hsw)
Subgroup fbc-2p-pri-indfb-multidraw:
pass -> SKIP (shard-hsw)
Subgroup fbc-rgb565-draw-pwrite:
skip -> PASS (shard-hsw)
Subgroup psr-rgb565-draw-pwrite:
pass -> SKIP (shard-hsw)
Subgroup fbcpsr-rgb101010-draw-mmap-wc:
pass -> SKIP (shard-hsw)
Subgroup fbc-1p-primscrn-cur-indfb-draw-pwrite:
skip -> PASS (shard-hsw)
Subgroup fbcpsr-2p-scndscrn-indfb-pgflip-blt:
pass -> SKIP (shard-hsw)
Subgroup fbcpsr-1p-offscren-pri-indfb-draw-mmap-wc:
pass -> SKIP (shard-hsw)
Subgroup fbcpsr-rgb565-draw-pwrite:
pass -> SKIP (shard-hsw)
Subgroup fbc-1p-primscrn-pri-shrfb-draw-pwrite:
skip -> PASS (shard-hsw)
Subgroup psr-1p-offscren-pri-shrfb-draw-mmap-wc:
dmesg-warn -> SKIP (shard-hsw)
Subgroup fbc-rgb565-draw-mmap-gtt:
skip -> PASS (shard-hsw)
Subgroup fbcpsr-1p-primscrn-pri-indfb-draw-blt:
pass -> SKIP (shard-hsw)
Subgroup fbcpsr-1p-primscrn-pri-indfb-draw-mmap-wc:
pass -> SKIP (shard-hsw)
Subgroup fbcpsr-badstride:
pass -> SKIP (shard-hsw)
Subgroup psr-1p-primscrn-cur-indfb-move:
pass -> SKIP (shard-hsw)
Subgroup fbcpsr-1p-offscren-pri-shrfb-draw-mmap-cpu:
pass -> SKIP (shard-hsw)
Subgroup fbcpsr-2p-scndscrn-spr-indfb-draw-blt:
pass -> SKIP (shard-hsw)
Subgroup psr-2p-pri-indfb-multidraw:
pass -> SKIP (shard-hsw)
Subgroup psr-2p-scndscrn-shrfb-msflip-blt:
pass -> SKIP (shard-hsw)
Subgroup fbc-2p-scndscrn-shrfb-pgflip-blt:
pass -> SKIP (shard-hsw)
Subgroup psr-1p-primscrn-cur-indfb-draw-mmap-cpu:
pass -> SKIP (shard-hsw)
Subgroup fbcpsr-2p-primscrn-pri-shrfb-draw-pwrite:
pass -> SKIP (shard-hsw)
Subgroup psr-1p-primscrn-cur-indfb-onoff:
pass -> SKIP (shard-hsw)
Subgroup fbcpsr-1p-primscrn-pri-indfb-draw-render:
pass -> SKIP (shard-hsw)
Subgroup psr-1p-offscren-pri-indfb-draw-mmap-gtt:
pass -> SKIP (shard-hsw)
Subgroup fbc-2p-scndscrn-spr-indfb-draw-mmap-gtt:
pass -> SKIP (shard-hsw)
Subgroup fbc-rgb101010-draw-blt:
skip -> PASS (shard-hsw)
Subgroup psr-rgb565-draw-render:
pass -> SKIP (shard-hsw)
Subgroup fbcpsr-1p-primscrn-cur-indfb-draw-render:
pass -> SKIP (shard-hsw)
Subgroup psr-1p-primscrn-pri-shrfb-draw-render:
pass -> SKIP (shard-hsw)
Subgroup fbcpsr-1p-primscrn-cur-indfb-draw-mmap-gtt:
pass -> SKIP (shard-hsw)
Subgroup fbcpsr-2p-primscrn-pri-indfb-draw-mmap-gtt:
pass -> SKIP (shard-hsw)
Subgroup psr-2p-primscrn-pri-indfb-draw-render:
pass -> SKIP (shard-hsw)
Subgroup fbc-1p-primscrn-spr-indfb-draw-mmap-cpu:
skip -> PASS (shard-hsw)
Subgroup fbc-1p-primscrn-spr-indfb-fullscreen:
skip -> PASS (shard-hsw)
Subgroup psr-1p-primscrn-cur-indfb-draw-mmap-gtt:
pass -> SKIP (shard-hsw)
Subgroup fbc-2p-primscrn-pri-shrfb-draw-mmap-cpu:
pass -> SKIP (shard-hsw)
Subgroup fbcpsr-2p-primscrn-spr-indfb-move:
pass -> SKIP (shard-hsw)
Subgroup fbcpsr-1p-offscren-pri-shrfb-draw-blt:
pass -> SKIP (shard-hsw)
Subgroup fbcpsr-suspend:
pass -> SKIP (shard-hsw)
Subgroup psr-1p-primscrn-spr-indfb-draw-mmap-wc:
pass -> SKIP (shard-hsw)
Subgroup fbc-2p-scndscrn-cur-indfb-draw-pwrite:
pass -> SKIP (shard-hsw)
Subgroup fbcpsr-2p-primscrn-pri-indfb-draw-mmap-wc:
pass -> SKIP (shard-hsw)
Subgroup psr-2p-primscrn-pri-shrfb-draw-mmap-cpu:
pass -> SKIP (shard-hsw)
Subgroup fbc-2p-indfb-fliptrack:
pass -> SKIP (shard-hsw)
Subgroup psr-2p-primscrn-cur-indfb-draw-mmap-wc:
pass -> SKIP (shard-hsw)
Subgroup psr-2p-scndscrn-spr-indfb-draw-blt:
pass -> SKIP (shard-hsw)
Subgroup psr-1p-offscren-pri-indfb-draw-mmap-cpu:
pass -> SKIP (shard-hsw)
Subgroup psr-2p-primscrn-indfb-msflip-blt:
pass -> SKIP (shard-hsw)
Su
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_260/shards.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 26+ messages in thread
* ✗ Fi.CI.IGT: failure for series starting with [v4,1/6] tests/kms_ccs: Test pipes other than pipe A
2017-09-27 18:34 [PATCH i-g-t v4 1/6] tests/kms_ccs: Test pipes other than pipe A Gabriel Krisman Bertazi
` (6 preceding siblings ...)
2017-09-27 23:42 ` ✗ Fi.CI.IGT: failure " Patchwork
@ 2017-09-28 16:06 ` Patchwork
2017-10-03 10:44 ` [PATCH i-g-t v4 1/6] " Arkadiusz Hiler
8 siblings, 0 replies; 26+ messages in thread
From: Patchwork @ 2017-09-28 16:06 UTC (permalink / raw)
To: Gabriel Krisman Bertazi; +Cc: intel-gfx
== Series Details ==
Series: series starting with [v4,1/6] tests/kms_ccs: Test pipes other than pipe A
URL : https://patchwork.freedesktop.org/series/30991/
State : failure
== Summary ==
Test kms_cursor_legacy:
Subgroup cursorA-vs-flipA-atomic-transitions:
pass -> FAIL (shard-hsw) fdo#102723
Test prime_mmap:
Subgroup test_userptr:
pass -> DMESG-WARN (shard-hsw) fdo#102939
Test kms_frontbuffer_tracking:
Subgroup fbc-shrfb-scaledprimary:
skip -> INCOMPLETE (shard-hsw)
Test kms_flip:
Subgroup flip-vs-wf_vblank-interruptible:
fail -> PASS (shard-hsw) fdo#100368
Test gem_eio:
Subgroup in-flight:
pass -> DMESG-WARN (shard-hsw) fdo#102886 +2
Test perf:
Subgroup polling:
fail -> PASS (shard-hsw) fdo#102252
fdo#102723 https://bugs.freedesktop.org/show_bug.cgi?id=102723
fdo#102939 https://bugs.freedesktop.org/show_bug.cgi?id=102939
fdo#100368 https://bugs.freedesktop.org/show_bug.cgi?id=100368
fdo#102886 https://bugs.freedesktop.org/show_bug.cgi?id=102886
fdo#102252 https://bugs.freedesktop.org/show_bug.cgi?id=102252
shard-hsw total:2447 pass:1309 dwarn:4 dfail:0 fail:11 skip:1074 time:9797s
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_260/shards.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [PATCH i-g-t v4 1/6] tests/kms_ccs: Test pipes other than pipe A
2017-09-27 18:34 [PATCH i-g-t v4 1/6] tests/kms_ccs: Test pipes other than pipe A Gabriel Krisman Bertazi
` (7 preceding siblings ...)
2017-09-28 16:06 ` Patchwork
@ 2017-10-03 10:44 ` Arkadiusz Hiler
8 siblings, 0 replies; 26+ messages in thread
From: Arkadiusz Hiler @ 2017-10-03 10:44 UTC (permalink / raw)
To: Gabriel Krisman Bertazi; +Cc: daniel.vetter, intel-gfx, tomeu.vizoso
On Wed, Sep 27, 2017 at 03:34:14PM -0300, Gabriel Krisman Bertazi wrote:
> Commit d41c4ccbd2f9 ("tests/kms_ccs: Fix subtest enumeration")
> accidently removed the update of data.pipe, causing kms_ccs to silently
> only test PIPE_A.
>
> This fixes the behavior reported by Daniel Vetter where tests would
> succeed even on nonexistent pipes.
>
> Signed-off-by: Gabriel Krisman Bertazi <krisman@collabora.co.uk>
Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 26+ messages in thread