From: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
To: Vidya Srinivas <vidya.srinivas@intel.com>, igt-dev@lists.freedesktop.org
Cc: charlton.Lin@intel.com
Subject: Re: [igt-dev] [PATCH i-g-t] tests/kms_big_fb: Fix hw stride/async subtests for 5.4 kernel
Date: Mon, 2 Aug 2021 15:45:09 +0300 [thread overview]
Message-ID: <549b45c8-323b-1256-a702-d324ecf93dcc@gmail.com> (raw)
In-Reply-To: <20210730124436.25249-1-vidya.srinivas@intel.com>
On 30.7.2021 15.44, Vidya Srinivas wrote:
> On 5.4 kernel, hw stride and async flip tests are giving
> CRASH on JSL (Gen11) and FAIL on TGL (Gen12).
> Patch fixes the missing data.ibb creation
> before the test_scanout.
>
> Patch also fixes a missing crc stop
> in max_hw_stride_async_flip_test.
>
> As per kernel i9xx_plane_max_stride, if I915_FORMAT_MOD_X_TILED
You'd be better off looking into skl_plane_max_stride instead of
i9xx_plane_max_stride. Admittedly as these tests now are upstream they
should be blocked from trying to run on some gen4 or such devices.
> stride should be 16*1024 and for other modifiers 32*1024.
> So changing 32K to 16K set_max_hw_stride for Gen < 12.
> Changing Gen12 stride to 128K to avoid failures on 5.4 kernel.
You cannot change _hardware_ limits by just defining something else. If
this test fails by using maximum hw allowed limits then there probably
is some bug on kernel side which shows on 5.4 kernel.
/Juha-Pekka
>
> Signed-off-by: Charlton Lin <charlton.Lin@intel.com>
> Signed-off-by: Vidya Srinivas <vidya.srinivas@intel.com>
> ---
> tests/kms_big_fb.c | 25 +++++++++++++++++--------
> 1 file changed, 17 insertions(+), 8 deletions(-)
>
> diff --git a/tests/kms_big_fb.c b/tests/kms_big_fb.c
> index c6f374bdd073..23deeaacd575 100644
> --- a/tests/kms_big_fb.c
> +++ b/tests/kms_big_fb.c
> @@ -563,6 +563,7 @@ max_hw_stride_async_flip_test(data_t *data)
> i?"should":"shouldn't");
> }
> igt_reset_timeout();
> + igt_pipe_crc_stop(data->pipe_crc);
Stopping is ok for clarity but just line below there anyway is freeing
of crc which equally closed crc fd.
>
> igt_pipe_crc_free(data->pipe_crc);
> igt_output_set_pipe(data->output, PIPE_NONE);
> @@ -754,16 +755,15 @@ test_addfb(data_t *data)
> static void
> set_max_hw_stride(data_t *data)
> {
> - if (intel_display_ver(data->devid) >= 13) {
> + if (intel_display_ver(data->devid) >= 12) {
display ver 12 max hw stride is 32k, not 128k. Changing this will cause
gtt remapping hence test will start to test completely different things.
> /*
> * The stride in bytes must not exceed of the size
> * of 128K bytes. For pixel formats of 64bpp will allow
> * for a 16K pixel surface.
> */
> data->hw_stride = 131072;
> - } else {
> - data->hw_stride = 32768;
> - }
> + } else
> + data->hw_stride = 16384;
These are wrong numbers
> }
>
> static data_t data = {};
> @@ -852,7 +852,6 @@ igt_main
> data.render_copy = igt_get_render_copyfunc(data.devid);
>
> data.bops = buf_ops_create(data.drm_fd);
> - data.ibb = intel_bb_create(data.drm_fd, 4096);
>
> data.planeclearrgb[0] = 0.0;
> data.planeclearrgb[1] = 0.0;
> @@ -939,13 +938,19 @@ igt_main
>
> for (int l = 0; l < ARRAY_SIZE(fliptab); l++) {
> for (int j = 0; j < ARRAY_SIZE(formats); j++) {
> + int min;
> /*
> * try only those formats which can show full length.
> - * Here 32K is used to have CI test results consistent
> - * for all platforms, 32K is smallest number possbily
> + * Here 16K is used to have CI test results consistent
> + * for all platforms, 16K is smallest number possbily
> * coming to data.hw_stride from above set_max_hw_stride()
> */
> - if (32768 / (formats[j].bpp >> 3) > 8192)
> + if (intel_display_ver(data.devid) >= 12)
> + min = 32768;
> + else
> + min = 16384;
> +
> + if (min / (formats[j].bpp >> 3) > 8192)
> continue;
>
> data.format = formats[j].format;
> @@ -978,7 +983,9 @@ igt_main
> igt_require(data.format == DRM_FORMAT_C8 ||
> igt_fb_supported_format(data.format));
> igt_require(igt_display_has_format_mod(&data.display, data.format, data.modifier));
> + data.ibb = intel_bb_create(data.drm_fd, 4096);
> test_scanout(&data);
> + intel_bb_destroy(data.ibb);
> }
>
> // async flip doesn't support linear fbs.
> @@ -994,7 +1001,9 @@ igt_main
> igt_require(igt_display_has_format_mod(&data.display, data.format, data.modifier));
> igt_require_f(data.async_flip_support, "Async Flip is not supported\n");
> data.max_hw_fb_width = min(data.hw_stride / (formats[j].bpp >> 3), data.max_fb_width);
> + data.ibb = intel_bb_create(data.drm_fd, 4096);
> test_scanout(&data);
> + intel_bb_destroy(data.ibb);
> }
> data.async_flip_test = false;
> }
>
next prev parent reply other threads:[~2021-08-02 12:45 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-07-23 9:38 [igt-dev] [PATCH i-g-t] tests/kms_big_fb: Fix hw stride length tests Vidya Srinivas
2021-07-23 14:07 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
2021-07-23 20:14 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
2021-07-26 6:25 ` [igt-dev] [PATCH i-g-t] " Srinivas, Vidya
2021-07-26 19:48 ` Shankar, Uma
2021-07-26 19:56 ` Shankar, Uma
2021-07-27 15:09 ` Srinivas, Vidya
2021-07-27 14:57 ` Vidya Srinivas
2021-07-27 18:54 ` Vidya Srinivas
2021-07-29 7:39 ` Srinivas, Vidya
2021-07-29 16:25 ` Vudum, Lakshminarayana
2021-07-29 16:30 ` Srinivas, Vidya
2021-07-30 9:17 ` [igt-dev] [PATCH i-g-t] tests/kms_big_fb: Fix crash in " Vidya Srinivas
2021-07-30 12:44 ` [igt-dev] [PATCH i-g-t] tests/kms_big_fb: Fix hw stride/async subtests for 5.4 kernel Vidya Srinivas
2021-08-02 12:45 ` Juha-Pekka Heikkila [this message]
2021-07-27 17:09 ` [igt-dev] ✓ Fi.CI.BAT: success for tests/kms_big_fb: Fix hw stride length tests (rev2) Patchwork
2021-07-27 19:52 ` [igt-dev] ✓ Fi.CI.BAT: success for tests/kms_big_fb: Fix hw stride length tests (rev3) Patchwork
2021-07-27 22:34 ` [igt-dev] ✗ GitLab.Pipeline: warning " Patchwork
2021-07-28 1:26 ` [igt-dev] ✗ Fi.CI.IGT: failure for tests/kms_big_fb: Fix hw stride length tests (rev2) Patchwork
2021-07-28 5:54 ` [igt-dev] ✗ Fi.CI.IGT: failure for tests/kms_big_fb: Fix hw stride length tests (rev3) Patchwork
2021-07-29 15:36 ` [igt-dev] ✓ Fi.CI.BAT: success " Patchwork
2021-07-29 15:46 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
2021-07-30 1:34 ` Patchwork
2021-07-30 11:59 ` [igt-dev] ✓ Fi.CI.BAT: success for tests/kms_big_fb: Fix hw stride length tests (rev4) Patchwork
2021-07-30 13:31 ` [igt-dev] ✓ Fi.CI.BAT: success for tests/kms_big_fb: Fix hw stride length tests (rev5) Patchwork
2021-07-30 14:51 ` [igt-dev] ✗ GitLab.Pipeline: warning for tests/kms_big_fb: Fix hw stride length tests (rev4) Patchwork
2021-07-30 19:59 ` [igt-dev] ✓ Fi.CI.IGT: success " Patchwork
2021-07-30 22:16 ` [igt-dev] ✓ Fi.CI.IGT: success for tests/kms_big_fb: Fix hw stride length tests (rev5) Patchwork
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=549b45c8-323b-1256-a702-d324ecf93dcc@gmail.com \
--to=juhapekka.heikkila@gmail.com \
--cc=charlton.Lin@intel.com \
--cc=igt-dev@lists.freedesktop.org \
--cc=vidya.srinivas@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox