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 --- 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); }
static bool vsp1_dl_hw_active(struct vsp1_dl_manager *dlm)
Hi Kieran,
Thank you for the patch.
On Friday, 9 February 2018 15:18:25 EET Kieran Bingham wrote:
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.
/me feels so ashamed.
}
static bool vsp1_dl_hw_active(struct vsp1_dl_manager *dlm)
Hi Laurent,
On 09/02/18 13:27, Laurent Pinchart wrote:
I'm fine with that,
Will resend with your RB tag.
Bah, it's only a brace out of place. I mean, what harm could it do ... hehe :-)
Personally I still blame the compiler for not picking up on the fact that we told it to do something we didn't want it to do.
/me ducks to avoid all the items thrown by the compiler guys...
}
static bool vsp1_dl_hw_active(struct vsp1_dl_manager *dlm)
-- Kieran
linux-stable-mirror@lists.linaro.org