[igt-dev] [v2 2/4] lib/igt_kms: add helper for dp-mst connector id
Modem, Bhanuprakash
bhanuprakash.modem at intel.com
Thu Aug 17 18:29:23 UTC 2023
Hi Swati,
On Thu-10-08-2023 01:47 pm, Swati Sharma wrote:
> Helper is added which returns dp-mst connector id.
>
> v2: -use connector_path instead of blob (Bhanu)
> -rewrite helper (Bhanu/Ankit)
>
> Signed-off-by: Swati Sharma <swati2.sharma 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 b3a9375ee..e6c26bf0b 100644
> --- a/lib/igt_kms.c
> +++ b/lib/igt_kms.c
> @@ -6060,3 +6060,37 @@ bool igt_check_output_is_dp_mst(int drm_fd, igt_output_t *output)
>
> return true;
> }
> +
> +static int parse_path_connector(char *connector_path)
> +{
> + int connector_id;
> + char *encoder;
> +
> + encoder = strtok(connector_path, ":");
> + igt_assert_f(!strcmp(encoder, "mst"), "PATH connector property expected to have 'mst'\n");
> +
> + connector_id = atoi(strtok(NULL, "-"));
> +
> + return connector_id;
> +}
> +
> +/**
> + * igt_get_dp_mst_connector_id
> + * @drmfd: Handle to open drm device
> + * @output: Target output
> + *
> + * Returns: connector id if output is dp-mst, else -EINVAL.
> + */
> +int igt_get_dp_mst_connector_id(int drm_fd, igt_output_t *output)
> +{
> + int connector_id;
> + char *connector_path;
> +
> + if (!igt_check_output_is_dp_mst(drm_fd, output))
> + return -EINVAL;
> +
> + connector_path = output->config.connector_path;
> + connector_id = parse_path_connector(connector_path);
If my comment in patch 1/4 is true, then no need to parse the path
property. We can directly get the connector_id from the
output->config.connector->connector_id
- Bhanu
> +
> + return connector_id;
> +}
> diff --git a/lib/igt_kms.h b/lib/igt_kms.h
> index d8d6ccfe5..d83186613 100644
> --- a/lib/igt_kms.h
> +++ b/lib/igt_kms.h
> @@ -1014,5 +1014,6 @@ bool igt_check_bigjoiner_support(igt_display_t *display);
> bool igt_parse_mode_string(const char *mode_string, drmModeModeInfo *mode);
> bool i915_pipe_output_combo_valid(igt_display_t *display);
> bool igt_check_output_is_dp_mst(int drmfd, igt_output_t *output);
> +int igt_get_dp_mst_connector_id(int drmfd, igt_output_t *output);
>
> #endif /* __IGT_KMS_H__ */
More information about the igt-dev
mailing list