[PATCH i-g-t] lib/igt_psr: Handle PR_MODE2_SEL_FETCH and eDP PR_* in psr active check
Jouni Högander
jouni.hogander at intel.com
Fri May 17 11:31:38 UTC 2024
Panel Replay expected state is always SRDENT for DP2.0 Panel Replay.
For eDP1.5 Panel Replay it is SLEEP.
Bspec: 68920, 68934
Signed-off-by: Jouni Högander <jouni.hogander at intel.com>
---
lib/igt_psr.c | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/lib/igt_psr.c b/lib/igt_psr.c
index 6008b73a6..9a8650024 100644
--- a/lib/igt_psr.c
+++ b/lib/igt_psr.c
@@ -57,9 +57,20 @@ static bool psr_active_check(int debugfs_fd, enum psr_mode mode, igt_output_t *o
{
char debugfs_file[128] = {0};
char buf[PSR_STATUS_MAX_LEN];
- const char *state = (mode == PSR_MODE_1 || mode == PR_MODE) ? "SRDENT" : "DEEP_SLEEP";
+ drmModeConnector *c = output->config.connector;
+ const char *state;
int ret;
+ if ((mode == PR_MODE || mode == PR_MODE_SEL_FETCH) &&
+ c->connector_type == DRM_MODE_CONNECTOR_eDP)
+ state = "SLEEP";
+ else if (mode == PSR_MODE_1 || mode == PR_MODE || PR_MODE_SEL_FETCH)
+ state = "SRDENT";
+ else if (mode == PSR_MODE_2 || PSR_MODE_2_SEL_FETCH)
+ state = "DEEP_SLEEP";
+ else
+ igt_assert_f(false, "Invalid psr mode\n");
+
SET_DEBUGFS_PATH(output, debugfs_file);
ret = igt_debugfs_simple_read(debugfs_fd, debugfs_file,
buf, sizeof(buf));
--
2.34.1
More information about the igt-dev
mailing list