[PATCH i-g-t] tests/intel/kms_pm_dc: Remove PkgC dependecy to validate deep-pkgc test
Mohammed Thasleem
mohammed.thasleem at intel.com
Sun Mar 9 10:03:01 UTC 2025
PkgC counter was removed from MTL onwards, so an alternative counter was
used to validate deep pkgC tests. With the new KMD changes, a dedicated DC6
debugfs entry counter has been created to validate these tests,
allowing for the removal of the existing alternative counter code.
Signed-off-by: Mohammed Thasleem <mohammed.thasleem at intel.com>
---
tests/intel/kms_pm_dc.c | 27 ++++++---------------------
1 file changed, 6 insertions(+), 21 deletions(-)
diff --git a/tests/intel/kms_pm_dc.c b/tests/intel/kms_pm_dc.c
index b4f30a37d..b47a65f1a 100644
--- a/tests/intel/kms_pm_dc.c
+++ b/tests/intel/kms_pm_dc.c
@@ -617,22 +617,7 @@ static int has_panels_without_dc_support(igt_display_t *display)
return external_panel;
}
-static unsigned int read_pkgc_counter(int debugfs_root_fd)
-{
- char buf[4096];
- char *str;
- int len;
-
- len = igt_sysfs_read(debugfs_root_fd, PACKAGE_CSTATE_PATH, buf, sizeof(buf) - 1);
- igt_skip_on_f(len < 0, "PKGC state file not found\n");
- buf[len] = '\0';
- str = strstr(buf, "Package C10");
- igt_skip_on_f(!str, "PKGC10 is not supported.\n");
-
- return get_dc_counter(str);
-}
-
-static void test_deep_pkgc_state(data_t *data)
+static void test_deep_pkgc_state(data_t *data, int dc_target)
{
unsigned int pre_val = 0, cur_val = 0;
time_t start = time(NULL);
@@ -694,7 +679,7 @@ static void test_deep_pkgc_state(data_t *data)
igt_display_commit(&data->display);
/* Wait for the vblank to sync the frame time */
igt_wait_for_vblank_count(data->drm_fd, data->display.pipes[pipe].crtc_offset, 1);
- pre_val = read_pkgc_counter(data->debugfs_root_fd);
+ pre_val = read_dc_counter(data->debugfs_fd, dc_target);
/* Add a half-frame delay to ensure the flip occurs when the frame is active. */
usleep(delay * 0.5);
@@ -703,8 +688,8 @@ static void test_deep_pkgc_state(data_t *data)
igt_plane_set_fb(primary, flip ? &data->fb_rgb : &data->fb_rgr);
igt_display_commit(&data->display);
- igt_wait((cur_val = read_pkgc_counter(data->debugfs_root_fd)) > pre_val,
- (delay * 2), (5 * MSEC));
+ igt_wait((cur_val = read_dc_counter(data->debugfs_fd, dc_target)) > pre_val,
+ (delay * 2), (5 * MSEC));
if (cur_val > pre_val) {
pkgc_flag = true;
break;
@@ -712,7 +697,7 @@ static void test_deep_pkgc_state(data_t *data)
}
cleanup_dc3co_fbs(data);
- igt_assert_f(pkgc_flag, "PKGC10 is not achieved.\n");
+ igt_assert_f(pkgc_flag, "Deep pkgc state is not achieved.\n");
}
static void kms_poll_state_restore(int sig)
@@ -787,7 +772,7 @@ igt_main
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);
+ test_deep_pkgc_state(&data, CHECK_DC6);
}
igt_describe("This test validates display engine entry to DC5 state "
--
2.43.0
More information about the igt-dev
mailing list