From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id 31B146EAD2 for ; Wed, 9 Dec 2020 16:22:05 +0000 (UTC) From: Anshuman Gupta Date: Wed, 9 Dec 2020 21:36:41 +0530 Message-Id: <20201209160642.6317-6-anshuman.gupta@intel.com> In-Reply-To: <20201209160642.6317-1-anshuman.gupta@intel.com> References: <20201209160642.6317-1-anshuman.gupta@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t 5/6] i915/i915_pm_rpm: Add PC10 display off test List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: igt-dev@lists.freedesktop.org List-ID: Add a test to validate PC10 residencies while all output's display is off. Signed-off-by: Anshuman Gupta --- tests/i915/i915_pm_rpm.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/tests/i915/i915_pm_rpm.c b/tests/i915/i915_pm_rpm.c index d284fa54..d771d733 100644 --- a/tests/i915/i915_pm_rpm.c +++ b/tests/i915/i915_pm_rpm.c @@ -179,6 +179,16 @@ static bool pc8_plus_residency_changed(unsigned int timeout_sec) timeout_sec * 1000, 100); } +static bool pc10_residency_changed(unsigned int timeout_sec) +{ + uint64_t res_pc10; + + res_pc10 = get_residency(MSR_PC10_RES); + + return igt_wait(res_pc10 != get_residency(MSR_PC10_RES), + timeout_sec * 1000, 100); +} + static enum pc8_status get_pc8_status(void) { ssize_t n_read; @@ -874,6 +884,19 @@ static void pc8_residency_subtest(bool display_on) } } +static void pc10_residency_subtest(bool display_on) +{ + igt_require(has_pc8); + igt_require(AT_LEAST_GEN(ms_data.devid, 9)); + + if (!display_on) { + /* Make sure PC10 residencies move! */ + disable_all_screens_and_wait(&ms_data); + igt_assert_f(pc10_residency_changed(30), + "Machine is not reaching PC10 state with all screens disabled.\n"); + } +} + static void modeset_subtest(enum screen_type type, int rounds, int wait_flags) { int i; @@ -2113,6 +2136,8 @@ igt_main_args("", long_options, help_str, opt_handler, NULL) pc8_residency_subtest(true); igt_subtest("pc8-residency-display-off") pc8_residency_subtest(false); + igt_subtest("pc10-residency-display-off") + pc10_residency_subtest(false); } /* Misc */ -- 2.26.2 _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev