[i-g-t V6 3/8] lib/igt_kms: New helper to check force joiner status
B, Jeevan
jeevan.b at intel.com
Thu Jun 27 06:50:53 UTC 2024
LGTM
Reviewed-by: Jeevan B <jeevan.b at intel.com>
> -----Original Message-----
> From: Modem, Bhanuprakash <bhanuprakash.modem at intel.com>
> Sent: Tuesday, June 18, 2024 1:53 PM
> To: igt-dev at lists.freedesktop.org; B, Jeevan <jeevan.b at intel.com>
> Cc: Modem, Bhanuprakash <bhanuprakash.modem at intel.com>; Joshi, Kunal1
> <kunal1.joshi at intel.com>
> Subject: [i-g-t V6 3/8] lib/igt_kms: New helper to check force joiner status
>
> Add a new function to check the force joiner status on selected connecter, so
> that it would be helpful to check the force joiner status from other places too.
>
> V2: - Add few debug prints
> V3: - Rebase
>
> Cc: Kunal Joshi <kunal1.joshi at intel.com>
> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem at intel.com>
> ---
> lib/igt_kms.c | 34 ++++++++++++++++++++++++++++++++++
> lib/igt_kms.h | 1 +
> 2 files changed, 35 insertions(+)
>
> diff --git a/lib/igt_kms.c b/lib/igt_kms.c index c0aa92eb5..9fdfadde1 100644
> --- a/lib/igt_kms.c
> +++ b/lib/igt_kms.c
> @@ -6359,6 +6359,40 @@ bool igt_has_force_joiner_debugfs(int drmfd, char
> *conn_name)
> return ret >= 0;
> }
>
> +/**
> + * igt_check_force_joiner_status
> + * @drmfd: file descriptor of the DRM device.
> + * @connector_name: connector to check.
> + *
> + * Checks if the force big joiner is enabled.
> + *
> + * Returns: True if the force big joiner is enabled, False otherwise.
> + */
> +bool igt_check_force_joiner_status(int drmfd, char *connector_name) {
> + char buf[512];
> + int debugfs_fd, ret;
> +
> + if (!connector_name)
> + return false;
> +
> + debugfs_fd = igt_debugfs_connector_dir(drmfd, connector_name,
> O_RDONLY);
> + if (debugfs_fd < 0) {
> + igt_debug("Could not open debugfs for connector: %s\n",
> connector_name);
> + return false;
> + }
> +
> + ret = igt_debugfs_simple_read(debugfs_fd,
> "i915_bigjoiner_force_enable", buf, sizeof(buf));
> + close(debugfs_fd);
> +
> + if (ret < 0) {
> + igt_debug("Could not read i915_bigjoiner_force_enable for
> connector: %s\n", connector_name);
> + return false;
> + }
> +
> + return strstr(buf, "Y");
> +}
> +
> /**
> * igt_check_bigjoiner_support:
> * @display: a pointer to an #igt_display_t structure diff --git a/lib/igt_kms.h
> b/lib/igt_kms.h index 979cf1300..501d48763 100644
> --- a/lib/igt_kms.h
> +++ b/lib/igt_kms.h
> @@ -1216,6 +1216,7 @@ bool igt_bigjoiner_possible(drmModeModeInfo
> *mode, int max_dotclock); bool bigjoiner_mode_found(int drm_fd,
> drmModeConnector *connector,
> int max_dotclock, drmModeModeInfo *mode); bool
> igt_has_force_joiner_debugfs(int drmfd, char *conn_name);
> +bool igt_check_force_joiner_status(int drmfd, char *connector_name);
> bool igt_check_bigjoiner_support(igt_display_t *display); bool
> igt_parse_mode_string(const char *mode_string, drmModeModeInfo *mode);
> bool intel_pipe_output_combo_valid(igt_display_t *display);
> --
> 2.43.2
More information about the igt-dev
mailing list