lkml.org 
[lkml]   [2018]   [Feb]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [PATCH] v4l: vsp1: Fix continuous mode for dual pipelines
Date
Hi Kieran,

Thank you for the patch.

On Friday, 9 February 2018 15:18:25 EET Kieran Bingham wrote:
> From: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
>
> To allow dual pipelines utilising two WPF entities when available, the
> VSP was updated to support header-mode display list in continuous
> pipelines.
>
> A small bug in the status check of the command register causes the
> second pipeline to be directly afflicted by the running of the first;
> appearing as a perceived performance issue with stuttering display.
>
> Fix the vsp1_dl_list_hw_update_pending() call to ensure that the read
> comparison corresponds to the correct pipeline.
>
> Fixes: eaf4bfad6ad8 ("v4l: vsp1: Add support for header display
> lists in continuous mode")
> Cc: "Stable v4.14+" <stable@vger.kernel.org>
>
> Signed-off-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>

Good catch !

The patch looks good to me, but I wonder if we shouldn't write the subject
line as "v4l: vsp1: Fix header display list status check in continuous mode".
Sure, we're fixing continuous mode for dual pipelines, but that's more of a
side effect, it's header display lists that are broken as a whole in
continuous mode, even if we only use that for dual pipelines right now.

Apart from that,

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

Please let me know if you'd like to rewrite the commit message.

> ---
> drivers/media/platform/vsp1/vsp1_dl.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/media/platform/vsp1/vsp1_dl.c
> b/drivers/media/platform/vsp1/vsp1_dl.c index 8cd03ee45f79..34b5ed2592f8
> 100644
> --- a/drivers/media/platform/vsp1/vsp1_dl.c
> +++ b/drivers/media/platform/vsp1/vsp1_dl.c
> @@ -509,7 +509,8 @@ static bool vsp1_dl_list_hw_update_pending(struct
> vsp1_dl_manager *dlm) return !!(vsp1_read(vsp1, VI6_DL_BODY_SIZE)
> & VI6_DL_BODY_SIZE_UPD);
> else
> - return !!(vsp1_read(vsp1, VI6_CMD(dlm->index) & VI6_CMD_UPDHDR));
> + return !!(vsp1_read(vsp1, VI6_CMD(dlm->index))
> + & VI6_CMD_UPDHDR);

/me feels so ashamed.

> }
>
> static bool vsp1_dl_hw_active(struct vsp1_dl_manager *dlm)

--
Regards,

Laurent Pinchart

\
 
 \ /
  Last update: 2018-02-09 14:27    [W:0.048 / U:18.532 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site