From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id AD1806E1EC for ; Tue, 24 Mar 2020 13:17:31 +0000 (UTC) From: Anshuman Gupta Date: Tue, 24 Mar 2020 18:36:26 +0530 Message-Id: <20200324130630.9388-2-anshuman.gupta@intel.com> In-Reply-To: <20200324130630.9388-1-anshuman.gupta@intel.com> References: <20200324130630.9388-1-anshuman.gupta@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t v3 1/5] lib/igt_pm: Add lib func to get lpsp capability List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: igt-dev@lists.freedesktop.org Cc: martin.peres@intel.com List-ID: 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] Signed-off-by: Anshuman Gupta --- lib/igt_pm.c | 27 +++++++++++++++++++++++++++ lib/igt_pm.h | 1 + 2 files changed, 28 insertions(+) diff --git a/lib/igt_pm.c b/lib/igt_pm.c index 9d441e1b..e57e665d 100644 --- a/lib/igt_pm.c +++ b/lib/igt_pm.c @@ -37,6 +37,7 @@ #include #include "drmtest.h" +#include "igt_kms.h" #include "igt_pm.h" #include "igt_aux.h" #include "igt_sysfs.h" @@ -827,3 +828,29 @@ 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_info", buf, sizeof(buf)); + + if (len < 0) + igt_assert_eq(len, -ENODEV); + + close(fd); + + return strstr(buf, "LPSP capable"); +} diff --git a/lib/igt_pm.h b/lib/igt_pm.h index 5e438452..162d3ca3 100644 --- a/lib/igt_pm.h +++ b/lib/igt_pm.h @@ -53,5 +53,6 @@ enum igt_runtime_pm_status igt_get_runtime_pm_status(void); bool igt_wait_for_pm_status(enum igt_runtime_pm_status status); bool igt_pm_dmc_loaded(int debugfs); bool igt_pm_pc8_plus_residencies_enabled(int msr_fd); +bool i915_output_is_lpsp_capable(int drm_fd, igt_output_t *output); #endif /* IGT_PM_H */ -- 2.25.2 _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev