Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Santhosh Reddy Guddati <santhosh.reddy.guddati@intel.com>
To: igt-dev@lists.freedesktop.org
Cc: mohammed.thasleem@intel.com, swati2.sharma@intel.com,
	Santhosh Reddy Guddati <santhosh.reddy.guddati@intel.com>
Subject: [PATCH i-g-t] tests/intel/kms_pm_backlight: Detect flickering with brightness change
Date: Tue, 10 Sep 2024 09:16:53 +0530	[thread overview]
Message-ID: <20240910034653.543796-1-santhosh.reddy.guddati@intel.com> (raw)
In-Reply-To: <20240627030211.164110-1-santhosh.reddy.guddati@intel.com>

New test is added to check for flickers on the panel while
changing brightness.

If there is any flicker observed on the panel while changing
the brightness then crc will change. This patch set is trying
to address the flickers observed using crc when brightness
is being changed.

v2: fix subject, use igt_assert_f (Kamil)
v4: Remove unnecessary debug logs and test name (Thasleem)
V5: fix subject description,rename test name and
keep all brightness tests together. (Swathi)

Signed-off-by: Santhosh Reddy Guddati <santhosh.reddy.guddati@intel.com>
---
 tests/intel/kms_pm_backlight.c | 35 ++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/tests/intel/kms_pm_backlight.c b/tests/intel/kms_pm_backlight.c
index 140a95bcc..481e60f77 100644
--- a/tests/intel/kms_pm_backlight.c
+++ b/tests/intel/kms_pm_backlight.c
@@ -56,6 +56,10 @@
  * SUBTEST: basic-brightness
  * Description: Test the basic brightness.
  *
+ * SUBTEST: basic-crc-brightness
+ * Description: Test the brightness change with crc.
+ * Functionality: backlight, crc
+ *
  * SUBTEST: fade
  * Description: Test basic fade.
  *
@@ -66,6 +70,7 @@
  * SUBTEST: fade-with-suspend
  * Description: Test the fade with suspend.
  * Functionality: backlight, suspend
+ *
  */
 
 struct context {
@@ -257,6 +262,34 @@ 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;
+	igt_pipe_crc_t *ref_crc;
+	bool crc_ok;
+
+	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_pipe_crc_collect_crc(ref_crc, &out_crc_before);
+
+		igt_assert_eq(backlight_write(brightness, "brightness", context), 0);
+
+		igt_pipe_crc_collect_crc(ref_crc, &out_crc_after);
+
+		/* compare the crc values before and after changing brightness */
+		crc_ok = igt_check_crc_equal(&out_crc_before, &out_crc_after);
+		igt_debug("brightness: %d flicker: %s\n", brightness, crc_ok ? "none" : "detected");
+		igt_assert_f(crc_ok, "Flicker observed for brightness %d\n", brightness);
+	}
+}
+
 igt_main
 {
 	int fd;
@@ -273,6 +306,7 @@ igt_main
 		int flags;
 	} tests[] = {
 		{ "basic-brightness", "test the basic brightness.", test_brightness, TEST_NONE },
+		{ "basic-crc-brightness", "test the brightness change with CRC.", test_brightness_crc, TEST_NONE },
 		{ "bad-brightness", "test the bad brightness.", test_bad_brightness, TEST_NONE },
 		{ "fade", "test basic fade.", test_fade, TEST_NONE },
 		{ "fade-with-dpms", "test the fade with DPMS.", test_fade, TEST_DPMS },
@@ -290,6 +324,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


  parent reply	other threads:[~2024-09-10  3:51 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 ` Santhosh Reddy Guddati [this message]
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

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=20240910034653.543796-1-santhosh.reddy.guddati@intel.com \
    --to=santhosh.reddy.guddati@intel.com \
    --cc=igt-dev@lists.freedesktop.org \
    --cc=mohammed.thasleem@intel.com \
    --cc=swati2.sharma@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