Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH i-g-t] tests/km_pm_brightness.c: check for flickers while adjusting the brightness.
@ 2024-06-27  3:02 Santhosh Reddy Guddati
  2024-06-27  3:29 ` ✓ CI.xeBAT: success for " Patchwork
                   ` (22 more replies)
  0 siblings, 23 replies; 26+ messages in thread
From: Santhosh Reddy Guddati @ 2024-06-27  3:02 UTC (permalink / raw)
  To: igt-dev; +Cc: jouni.hogander, Santhosh Reddy Guddati

The test is added to check for flickers on the panel while
changing brightness.Though changing the brightness doesn't have impact
on CRC,but if there is a flicker observed , the crc will change
and this test validates the crc.
---
 tests/intel/kms_pm_backlight.c | 44 ++++++++++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)

diff --git a/tests/intel/kms_pm_backlight.c b/tests/intel/kms_pm_backlight.c
index 8672afa7a..e29fd7320 100644
--- a/tests/intel/kms_pm_backlight.c
+++ b/tests/intel/kms_pm_backlight.c
@@ -64,6 +64,10 @@
  * SUBTEST: fade-with-suspend
  * Description: Test the fade with suspend.
  * Functionality: backlight, suspend
+ *
+ * SUBTEST: brightness-crc-change
+ * Description: Test the brightness change with CRC.
+ * Functionality: backlight, CRC
  */
 
 struct context {
@@ -255,6 +259,44 @@ static void test_setup(igt_display_t display, igt_output_t *output)
 	}
 }
 
+static void test_brightness_crc(struct context *context)
+{
+	int min = 0;
+	int max = context->max;
+	int step = (max - min) / 10;
+	int brightness;
+	igt_crc_t out_crc_before, out_crc_after;
+	igt_display_t *display = context->output->display;
+	char *crc_str;
+	igt_pipe_crc_t *ref_crc;
+
+	// Get the CRC before changing brightness
+	ref_crc = igt_pipe_crc_new(display->drm_fd, context->output->config.pipe, IGT_PIPE_CRC_SOURCE_AUTO);
+	igt_assert(ref_crc);
+
+	for (brightness = min; brightness <= max; brightness += step) {
+		igt_info("Brightness: %d\n", brightness);
+
+		igt_pipe_crc_collect_crc(ref_crc, &out_crc_before);
+		crc_str = igt_crc_to_string(&out_crc_before);
+		igt_debug("CRC before write: %s\n", crc_str);
+
+		igt_assert_eq(backlight_write(brightness, "brightness", context), 0);
+		igt_debug("Brightness after write: %d\n", brightness);
+
+		igt_pipe_crc_collect_crc(ref_crc, &out_crc_after);
+		crc_str = igt_crc_to_string(&out_crc_after);
+		igt_debug("CRC after write: %s\n", crc_str);
+
+		// Compare the CRC values
+		if (igt_check_crc_equal(&out_crc_before, &out_crc_after)) {
+			igt_info("CRC values are same for brightness: %d\n", brightness);
+		} else {
+			igt_info("CRC values are different for brightness: %d\n", brightness);
+		}
+	}
+}
+
 igt_main
 {
 	int fd;
@@ -275,6 +317,7 @@ igt_main
 		{ "fade", "test basic fade.", test_fade, TEST_NONE },
 		{ "fade-with-dpms", "test the fade with DPMS.", test_fade, TEST_DPMS },
 		{ "fade-with-suspend", "test the fade with suspend.", test_fade, TEST_SUSPEND },
+		{ "brightness-crc-change", "test the brightness change with CRC.", test_brightness_crc, TEST_NONE },
 	};
 
 	igt_fixture {
@@ -288,6 +331,7 @@ igt_main
 		 */
 		kmstest_set_vt_graphics_mode();
 		igt_display_require(&display, drm_open_driver(DRIVER_INTEL | DRIVER_XE));
+		igt_require_pipe_crc(display.drm_fd);
 
 		for_each_connected_output(&display, output) {
 			if (output->config.connector->connector_type != DRM_MODE_CONNECTOR_eDP)
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2024-09-12  8:10 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-06-27  3:02 [PATCH i-g-t] tests/km_pm_brightness.c: check for flickers while adjusting the brightness Santhosh Reddy Guddati
2024-06-27  3:29 ` ✓ CI.xeBAT: success for " Patchwork
2024-06-27  3:37 ` ✓ Fi.CI.BAT: " Patchwork
2024-06-27 14:09 ` ✓ CI.xeFULL: " Patchwork
2024-06-28  3:06 ` ✗ Fi.CI.IGT: failure " Patchwork
2024-07-02 17:29 ` [PATCH i-g-t] " Kamil Konieczny
2024-07-10 10:54 ` [PATCH i-g-t] tests/km_pm_brightness: " Santhosh Reddy Guddati
2024-09-05  9:29   ` Thasleem, Mohammed
2024-07-10 16:03 ` ✓ CI.xeBAT: success for tests/km_pm_brightness.c: check for flickers while adjusting the brightness. (rev2) Patchwork
2024-07-10 16:09 ` ✓ Fi.CI.BAT: " Patchwork
2024-07-10 17:23 ` ✗ CI.xeFULL: failure " Patchwork
2024-09-05  9:46 ` [PATCH i-g-t] tests/intel/km_pm_brightness: Check for flickers with changes in brightness Santhosh Reddy Guddati
2024-09-05  9:59 ` Santhosh Reddy Guddati
2024-09-05 21:25 ` ✗ Fi.CI.BUILD: failure for tests/km_pm_brightness.c: check for flickers while adjusting the brightness. (rev4) Patchwork
2024-09-05 21:30 ` ✗ GitLab.Pipeline: warning " Patchwork
2024-09-06  2:54 ` [PATCH i-g-t] tests/intel/km_pm_brightness: Check for flickers with changes in brightness Santhosh Reddy Guddati
2024-09-09 19:01   ` Sharma, Swati2
2024-09-06  3:39 ` ✓ CI.xeBAT: success for tests/km_pm_brightness.c: check for flickers while adjusting the brightness. (rev5) Patchwork
2024-09-06  3:57 ` ✓ Fi.CI.BAT: " Patchwork
2024-09-08  6:52 ` ✗ CI.xeFULL: failure " Patchwork
2024-09-10  0:58 ` ✗ Fi.CI.IGT: " Patchwork
2024-09-10  3:46 ` [PATCH i-g-t] tests/intel/kms_pm_backlight: Detect flickering with brightness change Santhosh Reddy Guddati
2024-09-12  0:31 ` ✓ CI.xeBAT: success for tests/km_pm_brightness.c: check for flickers while adjusting the brightness. (rev6) Patchwork
2024-09-12  0:49 ` ✓ Fi.CI.BAT: " Patchwork
2024-09-12  2:55 ` ✗ CI.xeFULL: failure " Patchwork
2024-09-12  8:10 ` ✗ Fi.CI.IGT: " Patchwork

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox