[igt-dev] [PATCH i-g-t 1/2] lib/igt_kms: Set pipe enum name to a pipe from drm pipe

Ville Syrjälä ville.syrjala at linux.intel.com
Thu Jun 4 14:50:31 UTC 2020


On Thu, Jun 04, 2020 at 02:35:05AM +0530, Mohammed Khajapasha wrote:
> set the pipe enum name to igt pipe from drm pipe,
> in case of non-contiguous pipes in display, the igt pipes cann't
> be same as enabled pipes in kernel.
> 
> Signed-off-by: Mohammed Khajapasha <mohammed.khajapasha at intel.com>
> ---
>  lib/igt_kms.c | 8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)
> 
> diff --git a/lib/igt_kms.c b/lib/igt_kms.c
> index afef5939..a42a44c5 100644
> --- a/lib/igt_kms.c
> +++ b/lib/igt_kms.c
> @@ -1958,10 +1958,16 @@ void igt_display_require(igt_display_t *display, int drm_fd)
>  		int p = 1;
>  		int j, type;
>  		uint8_t last_plane = 0, n_planes = 0;
> +		struct drm_i915_get_pipe_from_crtc_id get_pipe;
>  
>  		pipe->crtc_id = resources->crtcs[i];
>  		pipe->display = display;
> -		pipe->pipe = i;
> +		/* Get right pipe enum from kernel for a pipe */
> +		get_pipe.pipe = 0;
> +		get_pipe.crtc_id =  pipe->crtc_id;
> +		do_ioctl(display->drm_fd,
> +				DRM_IOCTL_I915_GET_PIPE_FROM_CRTC_ID, &get_pipe);
> +		pipe->pipe = get_pipe.pipe;

This looks like it would break everything that currently
assumes pipe->pipe will match the index.

I have a feeling that if we aren't going to do the rename from
pipe to crtc (or whatever) then we should just add a .hw_pipe
which reflects the actual hardware pipe used. Then any test
which relies on hw specific things can examine that instead.
Also reviewing all the tests for such usages of pipe is going
to be some amount of work I imagine.

And this still wouldn't fix the problem of the logs saying
eg. pipe B when in fact it's hw pipe C. But I don't know if
there's any trivial solution for that.

As for the implementation, this needs an i915 check so we don't
blow up on other drivers when using that i915 specific ioctl.

>  		pipe->plane_cursor = -1;
>  		pipe->plane_primary = -1;
>  		pipe->planes = NULL;
> -- 
> 2.24.1
> 
> _______________________________________________
> igt-dev mailing list
> igt-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/igt-dev

-- 
Ville Syrjälä
Intel


More information about the igt-dev mailing list