[igt-dev] [i-g-t v2] tests/i915/i915_pm_dc: Remove PC8+ dependency for DGFX DC9

Anusha Srivatsa anusha.srivatsa at intel.com
Tue Jul 12 16:47:44 UTC 2022


For DGFX, the DC9 flow and dependency is different from igfx.
DC9 does not depend on BIOS/PCU to execute save
and restore or any other sequence when
going to PC9/PC10

DC9 actually depends on D3 and PCODE simply remove power
if SW allowed

v2: Get the info about platform being discrete or not from
i915_gpu_info debugfs (Anshuman)

v2: Update commit message and subject to reflect that the changes
Cc: Imre Deak <imre.deak at intel.com>
Cc: Anshuman Gupta <anshuman.gupta at intel.com>
Cc: Anusha Srivatsa <anusha.srivatsa at intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi at intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi at intel.com>
Signed-off-by: Anusha Srivatsa <anusha.srivatsa at intel.com>(v2)
---
 tests/i915/i915_pm_dc.c | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/tests/i915/i915_pm_dc.c b/tests/i915/i915_pm_dc.c
index a780f2cb..f664a2a2 100644
--- a/tests/i915/i915_pm_dc.c
+++ b/tests/i915/i915_pm_dc.c
@@ -422,6 +422,15 @@ static void check_dc9(data_t *data, int dc_target, int prev_dc)
 			data->debugfs_dump = igt_sysfs_get(data->debugfs_fd, RPM_STATUS));
 }
 
+static bool check_is_dgfx(data_t *data)
+{
+	char buf[4096];
+
+	igt_debugfs_simple_read(data->debugfs_fd, "i915_gpu_info",
+				buf, sizeof(buf));
+	return strstr(buf, "is_dgfx: yes");
+}
+
 static void setup_dc9_dpms(data_t *data, int dc_target)
 {
 	int prev_dc, sysfs_fd;
@@ -532,8 +541,9 @@ int main(int argc, char *argv[])
 
 	igt_describe("This test validates display engine entry to DC9 state");
 	igt_subtest("dc9-dpms") {
-		igt_require_f(igt_pm_pc8_plus_residencies_enabled(data.msr_fd),
-				"PC8+ residencies not supported\n");
+		if (!(check_is_dgfx(&data)))
+			igt_require_f(igt_pm_pc8_plus_residencies_enabled(data.msr_fd),
+				      "PC8+ residencies not supported\n");
 		test_dc9_dpms(&data);
 	}
 
-- 
2.25.1



More information about the igt-dev mailing list