diff options
author | Anshuman Gupta <anshuman.gupta@intel.com> | 2020-05-12 16:04:11 +0530 |
---|---|---|
committer | Swati Sharma <swati2.sharma@intel.com> | 2020-05-18 17:28:17 +0530 |
commit | 47d34be48381f6f9b6b451affabfe196e3a1f024 (patch) | |
tree | 27c0a9876b82905472191a7a9c798cab1ea3a732 /lib/igt_pm.c | |
parent | a18b4d7e40aeca85044296e13b5bfa8d68abee60 (diff) |
lib/igt_pm: Add lib func to get lpsp capability
This lib function evaluate the lpsp capability from
the connector specific debugfs attribute i915_lpsp_info.
v2:
- changed the lib function prefix igt_output_is_lpsp_capable
to i915_output_is_lpsp_capable. [Martin]
v3:
- early return for the connector which doesn't support
lpsp on any platform.
v4:
- debugfs entry changed from i915_lpsp_info to i915_lpsp_capability.
v5:
- return lpsp capability false if i915_lpsp_capability debugfs is not
present. [Animesh]
Reviewed-by: Animesh Manna <animesh.manna@intel.com>
Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
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"); +} |