Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Vidya Srinivas <vidya.srinivas@intel.com>
To: igt-dev@lists.freedesktop.org
Cc: charlton.Lin@intel.com
Subject: [igt-dev] [PATCH i-g-t] tests/kms_big_fb: Fix hw stride/async subtests for 5.4 kernel
Date: Fri, 30 Jul 2021 18:14:36 +0530	[thread overview]
Message-ID: <20210730124436.25249-1-vidya.srinivas@intel.com> (raw)
In-Reply-To: <20210730091706.5942-1-vidya.srinivas@intel.com>

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
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.

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);
 
 	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) {
 		/*
 		 * 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;
 }
 
 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;
 				}
-- 
2.32.0

  reply	other threads:[~2021-07-30 12:55 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       ` Vidya Srinivas [this message]
2021-08-02 12:45         ` [igt-dev] [PATCH i-g-t] tests/kms_big_fb: Fix hw stride/async subtests for 5.4 kernel Juha-Pekka Heikkila
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=20210730124436.25249-1-vidya.srinivas@intel.com \
    --to=vidya.srinivas@intel.com \
    --cc=charlton.Lin@intel.com \
    --cc=igt-dev@lists.freedesktop.org \
    /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