[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