linux_dsm_epyc7002/drivers/media/platform/vsp1
Kieran Bingham 5e0594fd77 drm: rcar-du: Repair vblank for DRM page flips using the VSP
The driver recently switched from handling page flip completion in the
DU vertical blanking handler to the VSP frame end handler to fix a race
condition. This unfortunately resulted in incorrect timestamps in the
vertical blanking events sent to userspace as vertical blanking is now
handled after sending the event.

To fix this we must reverse the order of the two operations. The easiest
way is to handle vertical blanking in the VSP frame end handler before
sending the event. The VSP frame end interrupt occurs approximately 50µs
earlier than the DU frame end interrupt, but this should not cause any
undue harm.

As we need to handle vertical blanking even when page flip completion is
delayed, the VSP driver now needs to call the frame end completion
callback unconditionally, with a new argument to report whether page
flip has completed.

With this new scheme the DU vertical blanking interrupt isn't needed
anymore, so we can stop enabling it.

Fixes: d503a43ac0 ("drm: rcar-du: Register a completion callback with VSP1")
Signed-off-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Acked-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-08-03 16:17:30 +03:00
..
Makefile [media] v4l: vsp1: Add HGT support 2017-04-14 22:53:00 -03:00
vsp1_bru.c v4l: vsp1: Add support for the BRS entity 2017-07-29 23:46:56 +03:00
vsp1_bru.h v4l: vsp1: Add support for the BRS entity 2017-07-29 23:46:56 +03:00
vsp1_clu.c [media] vsp1: fix CodingStyle violations on multi-line comments 2016-09-19 15:18:01 -03:00
vsp1_clu.h [media] v4l: vsp1: clu: Support runtime modification of controls 2016-06-28 12:25:31 -03:00
vsp1_dl.c v4l: vsp1: Add support for header display lists in continuous mode 2017-08-03 16:17:21 +03:00
vsp1_dl.h v4l: vsp1: Don't recycle active list at display start 2017-07-29 23:46:56 +03:00
vsp1_drm.c drm: rcar-du: Repair vblank for DRM page flips using the VSP 2017-08-03 16:17:30 +03:00
vsp1_drm.h drm: rcar-du: Repair vblank for DRM page flips using the VSP 2017-08-03 16:17:30 +03:00
vsp1_drv.c v4l: vsp1: Add support for multiple LIF instances 2017-08-03 16:17:20 +03:00
vsp1_entity.c v4l: vsp1: Add support for multiple LIF instances 2017-08-03 16:17:20 +03:00
vsp1_entity.h v4l: vsp1: Add support for the BRS entity 2017-07-29 23:46:56 +03:00
vsp1_hgo.c [media] vsp1: set V4L2_CTRL_FLAG_MODIFY_LAYOUT for histogram controls 2017-04-14 22:55:54 -03:00
vsp1_hgo.h [media] v4l: vsp1: Add HGO support 2017-04-14 22:48:33 -03:00
vsp1_hgt.c [media] v4l: vsp1: Add HGT support 2017-04-14 22:53:00 -03:00
vsp1_hgt.h [media] v4l: vsp1: Add HGT support 2017-04-14 22:53:00 -03:00
vsp1_histo.c [media] v4l: vsp1: Add histogram support 2017-04-14 22:42:14 -03:00
vsp1_histo.h [media] v4l: vsp1: Add histogram support 2017-04-14 22:42:14 -03:00
vsp1_hsit.c [media] v4l: vsp1: Fix multi-line comment style 2017-04-10 08:31:39 -03:00
vsp1_hsit.h [media] v4l: vsp1: Add HST and HSI support 2013-12-11 09:22:44 -02:00
vsp1_lif.c v4l: vsp1: Add support for multiple LIF instances 2017-08-03 16:17:20 +03:00
vsp1_lif.h v4l: vsp1: Add support for multiple LIF instances 2017-08-03 16:17:20 +03:00
vsp1_lut.c [media] v4l: vsp1: Replace .set_memory() with VSP1_ENTITY_PARAMS_PARTITION 2016-09-19 14:58:59 -03:00
vsp1_lut.h [media] v4l: vsp1: lut: Support runtime modification of controls 2016-06-28 12:24:37 -03:00
vsp1_pipe.c drm: rcar-du: Repair vblank for DRM page flips using the VSP 2017-08-03 16:17:30 +03:00
vsp1_pipe.h drm: rcar-du: Repair vblank for DRM page flips using the VSP 2017-08-03 16:17:30 +03:00
vsp1_regs.h v4l: vsp1: Add support for header display lists in continuous mode 2017-08-03 16:17:21 +03:00
vsp1_rpf.c [media] v4l: vsp1: wpf: Implement rotation support 2017-04-14 22:36:03 -03:00
vsp1_rwpf.c [media] v4l: vsp1: wpf: Implement rotation support 2017-04-14 22:36:03 -03:00
vsp1_rwpf.h [media] v4l: vsp1: wpf: Implement rotation support 2017-04-14 22:36:03 -03:00
vsp1_sru.c [media] v4l: vsp1: Fix multi-line comment style 2017-04-10 08:31:39 -03:00
vsp1_sru.h [media] v4l: vsp1: sru: Don't program intensity in control set handler 2016-04-13 17:42:44 -03:00
vsp1_uds.c [media] v4l: vsp1: Fix multi-line comment style 2017-04-10 08:31:39 -03:00
vsp1_uds.h [media] v4l: vsp1: Simplify alpha propagation 2016-06-28 12:29:33 -03:00
vsp1_video.c drm: rcar-du: Repair vblank for DRM page flips using the VSP 2017-08-03 16:17:30 +03:00
vsp1_video.h Merge branch 'topic/vsp1' into patchwork 2016-07-13 13:43:48 -03:00
vsp1_wpf.c v4l: vsp1: Add support for the BRS entity 2017-07-29 23:46:56 +03:00
vsp1.h v4l: vsp1: Add support for multiple LIF instances 2017-08-03 16:17:20 +03:00