[igt-dev] [PATCH i-g-t v12 0/6] DC states igt tests patch series

Anshuman Gupta
2019-06-21T15:47:37Z

This patch series adds new tests to validate Display C states.
DC states like DC5 and DC6 are validated during PSR entry/exit and during DPMS on/off cycle.

This is an update after adding a new patch to series which skip the
DC6 igt test in case PC8+ residencies are limited by BIOS.

Below CI Platform are failing to reach PC8 state.

fi-icl-u2
fi-cfl-8109u
fi-kbl-7567u
fi-kbl-8809g
fi-skl-6600u

These above platforms has been added to known issue list and there is FDO also
created for PC8 issue.
https://bugs.freedesktop.org/show_bug.cgi?id=110548
After analyzing the PMC debugfs logs, possible root cause of PC8 failures
would be PCIe external devices connected to PCIe ports are not power gated.

Example : on fi-icl-u2 Southport C (SPC) is turned on.
PCH IP: 4 - SPA State: Off
PCH IP: 5 - SPB State: Off
PCH IP: 6 - SPC State: On

In PC8 success case we have found that all south port IP are power gated.

Below is the summary of major changes since first revision.

1. Changed the name of test from "pm_dc" to "i915_pm_dc" aligned to other PM tests.
2. Changed the DC5/6 counter check timeout from 1 sec to 3 sec,
as in case of PSR on some platfrom like KBL it requires more than 2 second to
disable 'DC off' power well after vblank event.
3. Changed the test name from tests/pm_dc to tests tests/i915/i915_pm_dc in
name of individual patch.
4. Addressed the review comment by saving POWER_DIR values in igt_disable_runtime_pm().
5. CI fixures for dc5-dpms failure.
Checking DC5 counter value after DPMS off, broke the dpms_on_off
function to dpms_on and dpms_off.
6. Used igt_pm_enable_sata_link_power_management() function in order to use
min_power policy for SATA.
7. igt_pm_enable_sata_link_power_management() function to restore the
original SATA link power policy using an exit handler.
8. IGT crashes fixture in i915_pm_rpm.c.

Anshuman Gupta (1):
tests/i915/i915_pm_dc:Skip the DC6 test if it doesn't support PC8+

Jyoti Yadav (5):
lib/igt_pm: igt lib helper routines to support DC5/6 tests
tests/i915/i915_pm_dc: Added new test to verify Display C States
tests/i915/i915_pm_dc: Added test for DC6 during PSR
tests/i915/i915_pm_dc: Added test for DC5 during DPMS
tests/i915/i915_pm_dc: Added test for DC6 during DPMS

lib/igt_pm.c | 190 ++++++++++++++----
lib/igt_pm.h | 6 +-
tests/Makefile.sources | 3 +
tests/i915/i915_pm_backlight.c | 6 +-
tests/i915/i915_pm_dc.c | 341 +++++++++++++++++++++++++++++++++
tests/i915/i915_pm_rpm.c | 24 +--
tests/meson.build | 1 +
7 files changed, 504 insertions(+), 67 deletions(-)
create mode 100644 tests/i915/i915_pm_dc.c

--
2.21.0