diff options
Diffstat (limited to 'lib/igt_pm.c')
-rw-r--r-- | lib/igt_pm.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/lib/igt_pm.c b/lib/igt_pm.c index 9d441e1b7..b409ec463 100644 --- a/lib/igt_pm.c +++ b/lib/igt_pm.c @@ -37,6 +37,7 @@ #include <dirent.h> #include "drmtest.h" +#include "igt_kms.h" #include "igt_pm.h" #include "igt_aux.h" #include "igt_sysfs.h" @@ -827,3 +828,31 @@ bool igt_pm_pc8_plus_residencies_enabled(int msr_fd) return true; } + +/** + * i915_output_is_lpsp_capable: + * @drm_fd: fd to drm device + * @output: igt output for which lpsp capability need to be evaluated + * Check lpsp capability for a given output. + * + * Returns: + * True if given output is lpsp capable otherwise false. + */ +bool i915_output_is_lpsp_capable(int drm_fd, igt_output_t *output) +{ + char buf[256]; + int fd, len; + + fd = igt_debugfs_connector_dir(drm_fd, output->name, O_RDONLY); + igt_require(fd >= 0); + len = igt_debugfs_simple_read(fd, "i915_lpsp_capability", + buf, sizeof(buf)); + + /* if i915_lpsp_capability not present return the capability as false */ + if (len < 0) + return false; + + close(fd); + + return strstr(buf, "LPSP: capable"); +} |