diff options
author | Kieran Bingham <kieran.bingham+renesas@ideasonboard.com> | 2017-03-04 02:01:18 +0000 |
---|---|---|
committer | Kieran Bingham <kieran.bingham+renesas@ideasonboard.com> | 2017-05-22 16:15:14 +0100 |
commit | 348a00341efdaf582eb2cb86bddc4bb10406714d (patch) | |
tree | 5e04a55177b995cdeddaeec6be2ec41bae7f1c58 /drivers/media/platform/vsp1/vsp1_dl.h | |
parent | 7f53b19cdff78f696b61cd5987dfe1a5d432676b (diff) | |
download | op-kernel-dev-348a00341efdaf582eb2cb86bddc4bb10406714d.zip op-kernel-dev-348a00341efdaf582eb2cb86bddc4bb10406714d.tar.gz |
v4l: vsp1: Postpone frame end handling in event of display list race
If we try to commit the display list while an update is pending, we have
missed our opportunity. The display list manager will hold the commit
until the next interrupt.
In this event, we skip the pipeline completion callback handler so that
the pipeline will not mistakenly report frame completion to the user.
Signed-off-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Acked-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Diffstat (limited to 'drivers/media/platform/vsp1/vsp1_dl.h')
-rw-r--r-- | drivers/media/platform/vsp1/vsp1_dl.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/media/platform/vsp1/vsp1_dl.h b/drivers/media/platform/vsp1/vsp1_dl.h index 7131aa3..6ec1380 100644 --- a/drivers/media/platform/vsp1/vsp1_dl.h +++ b/drivers/media/platform/vsp1/vsp1_dl.h @@ -28,7 +28,7 @@ struct vsp1_dl_manager *vsp1_dlm_create(struct vsp1_device *vsp1, void vsp1_dlm_destroy(struct vsp1_dl_manager *dlm); void vsp1_dlm_reset(struct vsp1_dl_manager *dlm); void vsp1_dlm_irq_display_start(struct vsp1_dl_manager *dlm); -void vsp1_dlm_irq_frame_end(struct vsp1_dl_manager *dlm); +bool vsp1_dlm_irq_frame_end(struct vsp1_dl_manager *dlm); struct vsp1_dl_list *vsp1_dl_list_get(struct vsp1_dl_manager *dlm); void vsp1_dl_list_put(struct vsp1_dl_list *dl); |