[PATCH i-g-t v4 5/5] lib/igt_kms: Add function to get valid pipe for specific output
Karthik B S
karthik.b.s at intel.com
Fri Jan 24 04:26:03 UTC 2025
Hi Louis,
On 1/10/2025 11:12 PM, Louis Chauvet wrote:
> Introduces a new function igt_get_pipe_for_output in igt_kms. The function
> is designed to retrieve a valid pipe for a specific output in a display.
>
> Signed-off-by: Louis Chauvet <louis.chauvet at bootlin.com>
> ---
> lib/igt_kms.c | 22 ++++++++++++++++++++++
> lib/igt_kms.h | 1 +
> 2 files changed, 23 insertions(+)
>
> diff --git a/lib/igt_kms.c b/lib/igt_kms.c
> index f6d9341b75b4fc8dfa614478cd3bf35510f9ecea..d6cd6833ef24a914da6e0234dd7eea40867df452 100644
> --- a/lib/igt_kms.c
> +++ b/lib/igt_kms.c
> @@ -7458,3 +7458,25 @@ uint32_t igt_get_connector_id_from_mst_path(int drm_fd, const void *mst_path)
>
> return 0;
> }
> +
> +/**
> + * igt_get_pipe_for_output:
> + * @display: display to fetch the pipes
> + * @output: output to use
> + *
> + * Get a valid pipe for a specific output. The return value is the pipe first valid pipe for a
> + * specific output.
> + */
> +enum pipe igt_get_pipe_for_output(igt_display_t *display,
> + igt_output_t *output)
> +{
> + enum pipe pipe;
> +
> + for_each_pipe(display, pipe) {
> + if (igt_output_is_connected(output) &&
> + (output->config.valid_crtc_idx_mask & (1 << (pipe))))
Please use 'igt_pipe_connector_valid'.
Also, this function is mostly a duplicate of the existing
'chamelium_get_pipe_for_output'. Could we reuse the existing function
here instead of adding a new one?
Thanks,
Karthik.B.S
> + return pipe;
> + }
> +
> + return PIPE_NONE;
> +}
> diff --git a/lib/igt_kms.h b/lib/igt_kms.h
> index 3be9068384aa118461dd090224d15aa5c979ac06..60a90500048dd83620c8a6ed08b70d5ddb020bbc 100644
> --- a/lib/igt_kms.h
> +++ b/lib/igt_kms.h
> @@ -1285,5 +1285,6 @@ int igt_get_connected_connectors(int drm_fd, uint32_t **connector_ids);
> drmModeConnectorPtr igt_get_connector_from_name(int drm_fd, const char *port_name);
> uint32_t igt_get_connector_id_from_name(int drm_fd, const char *port_name);
> uint32_t igt_get_connector_id_from_mst_path(int drm_fd, const void *mst_path);
> +enum pipe igt_get_pipe_for_output(igt_display_t *display, igt_output_t *output);
>
> #endif /* __IGT_KMS_H__ */
>
More information about the igt-dev
mailing list