From: Jeevan B <jeevan.b@intel.com>
To: igt-dev@lists.freedesktop.org
Cc: bhanuprakash.modem@intel.com, suraj.kandpal@intel.com,
Jeevan B <jeevan.b@intel.com>
Subject: [PATCH i-g-t] tests/intel/kms_pm_dc: Add a new test to validate the deep sleep state during extended vblank
Date: Mon, 27 May 2024 09:49:08 +0530 [thread overview]
Message-ID: <20240527041908.513920-1-jeevan.b@intel.com> (raw)
Add a new test to validate deep sleep states during extended vblank
scenarios, where two frames are committed simultaneously for a give
time with reduced refresh rate.
v2: dealy of one frame added to simulate extended vblank.
remove vrr related debug checks.
Signed-off-by: Jeevan B <jeevan.b@intel.com>
---
tests/intel/kms_pm_dc.c | 49 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 49 insertions(+)
diff --git a/tests/intel/kms_pm_dc.c b/tests/intel/kms_pm_dc.c
index 7766d34d7..9f89e537d 100644
--- a/tests/intel/kms_pm_dc.c
+++ b/tests/intel/kms_pm_dc.c
@@ -584,6 +584,46 @@ static unsigned int read_pkgc_counter(int debugfs_root_fd)
return get_dc_counter(str);
}
+static void test_deep_pkgc_state(data_t *data)
+{
+ unsigned int pre_val = 0, cur_val = 0;
+ time_t start = time(NULL), duration = 2, delay;
+ enum pipe pipe;
+ bool pkgc_flag;
+ igt_display_t *display = &data->display;
+ igt_plane_t *primary;
+ igt_output_t *output;
+
+ for_each_pipe_with_valid_output(display, pipe, output) {
+ igt_output_set_pipe(output, pipe);
+ data->output = output;
+ data->mode = igt_output_get_mode(output);
+ setup_videoplayback(data);
+ igt_require(igt_output_has_prop(output, IGT_CONNECTOR_VRR_CAPABLE));
+ igt_require(igt_output_get_prop(output, IGT_CONNECTOR_VRR_CAPABLE));
+
+ primary = igt_output_get_plane_type(data->output,
+ DRM_PLANE_TYPE_PRIMARY);
+ pre_val = read_pkgc_counter(data->debugfs_root_fd);
+ delay = 1 * ((1000 * 1000) / data->mode->vrefresh);
+ while (time(NULL) - start < duration) {
+ igt_plane_set_fb(primary, &data->fb_rgb);
+ igt_display_commit(&data->display);
+ usleep(delay);
+
+ igt_plane_set_fb(primary, &data->fb_rgr);
+ igt_display_commit(&data->display);
+ cur_val = read_pkgc_counter(data->debugfs_root_fd);
+ if (cur_val > pre_val) {
+ pkgc_flag = true;
+ continue;
+ }
+ }
+ }
+ cleanup_dc3co_fbs(data);
+ igt_assert_f(pkgc_flag, "PKGC10 is not achieved.\n");
+}
+
static void test_pkgc_state_dpms(data_t *data)
{
unsigned int timeout_sec = 6;
@@ -687,6 +727,15 @@ igt_main
test_dc_state_psr(&data, CHECK_DC6);
}
+ igt_describe("This test validates display engine entry to DC8 state "
+ "while extended vblank");
+ igt_subtest("deep-pkgc") {
+ igt_require_f(igt_pm_pc8_plus_residencies_enabled(data.msr_fd),
+ "PC8+ residencies not supported\n");
+ igt_require(intel_display_ver(data.devid) >= 20);
+ test_deep_pkgc_state(&data);
+ }
+
igt_describe("This test validates display engine entry to DC5 state "
"while all connectors's DPMS property set to OFF");
igt_subtest("dc5-dpms") {
--
2.25.1
next reply other threads:[~2024-05-27 4:12 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-27 4:19 Jeevan B [this message]
2024-05-27 5:03 ` [PATCH i-g-t] tests/intel/kms_pm_dc: Add a new test to validate the deep sleep state during extended vblank Kandpal, Suraj
2024-05-27 10:12 ` B, Jeevan
2024-05-27 6:30 ` ✗ Fi.CI.BUILD: failure for " Patchwork
2024-05-27 6:36 ` ✗ GitLab.Pipeline: warning " Patchwork
-- strict thread matches above, loose matches on Subject: below --
2024-05-27 10:21 [PATCH i-g-t] " Jeevan B
2024-05-27 13:03 ` Modem, Bhanuprakash
2024-05-27 17:39 Jeevan B
2024-05-28 4:40 ` Modem, Bhanuprakash
2024-05-28 10:09 Jeevan B
2024-05-28 10:12 ` Modem, Bhanuprakash
2024-05-30 7:15 Jeevan B
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=20240527041908.513920-1-jeevan.b@intel.com \
--to=jeevan.b@intel.com \
--cc=bhanuprakash.modem@intel.com \
--cc=igt-dev@lists.freedesktop.org \
--cc=suraj.kandpal@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.