[igt-dev] [PATCH i-g-t v4 1/4] test/psr: Skip PSR2 tests when panel resolution is bigger than PSR2 HW supports
José Roberto de Souza
jose.souza at intel.com
Wed Jan 23 23:56:33 UTC 2019
If resolution that will be used in PSR tests is bigger than the
resolution that PSR2 HW supports, PSR2 will not be enabled so those
tests should be skiped. Most of eDP panels only supports one
resolution that is why we don't even try to use other resolution.
BSpec: 7713
Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan at intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi at intel.com>
Signed-off-by: José Roberto de Souza <jose.souza at intel.com>
---
tests/kms_psr.c | 21 +++++++++++++++++++--
1 file changed, 19 insertions(+), 2 deletions(-)
diff --git a/tests/kms_psr.c b/tests/kms_psr.c
index 3e16a6bf..4792e158 100644
--- a/tests/kms_psr.c
+++ b/tests/kms_psr.c
@@ -445,13 +445,30 @@ int main(int argc, char *argv[])
igt_require_f(sink_support(&data, PSR_MODE_1),
"Sink does not support PSR\n");
- data.supports_psr2 = sink_support(&data, PSR_MODE_2);
-
data.bufmgr = drm_intel_bufmgr_gem_init(data.drm_fd, 4096);
igt_assert(data.bufmgr);
drm_intel_bufmgr_gem_enable_reuse(data.bufmgr);
display_init(&data);
+
+ data.supports_psr2 = sink_support(&data, PSR_MODE_2);
+ if (data.supports_psr2) {
+ uint32_t devid = intel_get_drm_devid(data.drm_fd);
+ uint16_t max_h = 0, max_v = 0;
+ int gen = intel_gen(devid);
+
+ if (gen >= 10 || IS_GEMINILAKE(devid)) {
+ max_h = 4096;
+ max_v = 2304;
+ } else if (gen == 9) {
+ max_h = 3640;
+ max_v = 2304;
+ }
+
+ if (data.mode->hdisplay > max_h ||
+ data.mode->vdisplay > max_v)
+ data.supports_psr2 = false;
+ }
}
for (data.op_psr_mode = PSR_MODE_1; data.op_psr_mode <= PSR_MODE_2;
--
2.20.1
More information about the igt-dev
mailing list