[igt-dev] [PATCH i-g-t v1 4/6] [intel-gfx][intel-dev] tests/pm_dc : This patch adds test to validate DC6 on SKL. DC6 on SKL is achieved with RPM enabled and DPMS OFF sequence.
Jyoti Yadav
jyoti.r.yadav at intel.com
Wed Sep 26 15:59:21 UTC 2018
Signed-off-by: Jyoti Yadav <jyoti.r.yadav at intel.com>
---
tests/pm_dc.c | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/tests/pm_dc.c b/tests/pm_dc.c
index b609fad..0f18ece 100644
--- a/tests/pm_dc.c
+++ b/tests/pm_dc.c
@@ -146,6 +146,18 @@ static uint32_t read_dc5_dc6_counter(uint32_t dev_id)
return dc5_dc6_count;
}
+static void dpms_off_on(data_t *data)
+{
+ for (int i = 0; i < data->display.n_outputs; i++) {
+ kmstest_set_connector_dpms(data->drm_fd, data->display.outputs[i].config.connector,
+ DRM_MODE_DPMS_OFF);
+ }
+ for (int i = 0; i < data->display.n_outputs; i++) {
+ kmstest_set_connector_dpms(data->drm_fd, data->display.outputs[i].config.connector,
+ DRM_MODE_DPMS_ON);
+ }
+}
+
static void test_dc5(data_t *data)
{
uint32_t dc3_dc5_counter_before_psr, dc3_dc5_counter_after_psr;
@@ -162,6 +174,7 @@ int main(int argc, char *argv[])
{
data_t data = {};
uint32_t dc5_dc6_counter_before_psr, dc5_dc6_counter_after_psr;
+ uint32_t dc5_dc6_counter_before_suspend, dc5_dc6_counter_after_resume;
igt_skip_on_simulation();
igt_fixture {
@@ -193,6 +206,14 @@ int main(int argc, char *argv[])
"DC6 State is not achieved\n");
cleanup(&data);
}
+ igt_subtest("DC6_state_on_gen9") {
+ dc5_dc6_counter_before_suspend = read_dc5_dc6_counter(data.devid);
+ dpms_off_on(&data);
+ dc5_dc6_counter_after_resume = read_dc5_dc6_counter(data.devid);
+ igt_require_f(dc5_dc6_counter_after_resume > dc5_dc6_counter_before_suspend,
+ "DC6 State is not achieved\n");
+ cleanup(&data);
+ }
igt_fixture {
psr_disable(data.debugfs_fd);
close(data.debugfs_fd);
--
2.7.4
More information about the igt-dev
mailing list