linux_dsm_epyc7002/drivers/media/platform/vsp1
Laurent Pinchart 4d346be55d [media] v4l: vsp1: Don't configure RPF memory buffers before calculating offsets
The RPF source memory pointers need to be offset to take the crop
rectangle into account. Offsets are computed in the RPF stream start,
which can happen (when using the DRM pipeline) after calling the RPF
.set_memory() operation that programs the buffer addresses.

The .set_memory() operation tries to guard against the problem by
skipping programming of the registers when the module isn't streaming.
This will however only protect the first use of an RPF in a DRM
pipeline, as in all subsequent uses the module streaming flag will be
set and the .set_memory() operation will use potentially incorrect
offsets.

Fix this by allowing the caller to decide whether to program the
hardware immediately or just cache the addresses. While at it refactor
the memory set code and create a new vsp1_rwpf_set_memory() that cache
addresses and calls the .set_memory() operation to apply them to the
hardware.

As a side effect the driver now writes all three DMA address registers
regardless of the number of planes, and initializes unused addresses to
zero.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2016-04-13 17:43:57 -03:00
..
Makefile [media] v4l: vsp1: Add display list support 2016-02-19 09:40:47 -02:00
vsp1_bru.c [media] v4l: vsp1: Don't setup control handler when starting streaming 2016-04-13 17:42:45 -03:00
vsp1_bru.h [media] v4l: vsp1: bru: Don't program background color in control set handler 2016-04-13 17:36:38 -03:00
vsp1_dl.c [media] v4l: vsp1: Store the display list manager in the WPF 2016-04-13 17:35:26 -03:00
vsp1_dl.h [media] v4l: vsp1: Store the display list manager in the WPF 2016-04-13 17:35:26 -03:00
vsp1_drm.c [media] v4l: vsp1: Don't configure RPF memory buffers before calculating offsets 2016-04-13 17:43:57 -03:00
vsp1_drm.h [media] v4l: vsp1: Store the display list manager in the WPF 2016-04-13 17:35:26 -03:00
vsp1_drv.c [media] v4l: vsp1: Split display list manager from display list 2016-04-13 17:34:44 -03:00
vsp1_entity.c [media] v4l: vsp1: Don't setup control handler when starting streaming 2016-04-13 17:42:45 -03:00
vsp1_entity.h [media] v4l: vsp1: Don't setup control handler when starting streaming 2016-04-13 17:42:45 -03:00
vsp1_hsit.c [media] v4l: vsp1: Enable display list support for the HS[IT], LUT, SRU and UDS 2016-04-13 17:42:45 -03:00
vsp1_hsit.h [media] v4l: vsp1: Add HST and HSI support 2013-12-11 09:22:44 -02:00
vsp1_lif.c [media] v4l: vsp1: Add display list support 2016-02-19 09:40:47 -02:00
vsp1_lif.h [media] v4l: vsp1: Update copyright notice 2014-03-12 10:41:51 -03:00
vsp1_lut.c [media] v4l: vsp1: Enable display list support for the HS[IT], LUT, SRU and UDS 2016-04-13 17:42:45 -03:00
vsp1_lut.h [media] v4l: vsp1: Add LUT support 2013-12-11 09:25:20 -02:00
vsp1_pipe.c [media] v4l: vsp1: Split display list manager from display list 2016-04-13 17:34:44 -03:00
vsp1_pipe.h [media] v4l: vsp1: Split display list manager from display list 2016-04-13 17:34:44 -03:00
vsp1_regs.h [media] v4l: vsp1: Add support for the R-Car Gen3 VSP2 2016-02-19 09:32:49 -02:00
vsp1_rpf.c [media] v4l: vsp1: Don't configure RPF memory buffers before calculating offsets 2016-04-13 17:43:57 -03:00
vsp1_rwpf.c [media] v4l: vsp1: Don't configure RPF memory buffers before calculating offsets 2016-04-13 17:43:57 -03:00
vsp1_rwpf.h [media] v4l: vsp1: Don't configure RPF memory buffers before calculating offsets 2016-04-13 17:43:57 -03:00
vsp1_sru.c [media] v4l: vsp1: Enable display list support for the HS[IT], LUT, SRU and UDS 2016-04-13 17:42:45 -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: Enable display list support for the HS[IT], LUT, SRU and UDS 2016-04-13 17:42:45 -03:00
vsp1_uds.h [media] v4l: vsp1: uds: Fix scaling of alpha layer 2014-07-17 12:45:00 -03:00
vsp1_video.c [media] v4l: vsp1: Don't configure RPF memory buffers before calculating offsets 2016-04-13 17:43:57 -03:00
vsp1_video.h [media] v4l: vsp1: Move format info to vsp1_pipe.c 2016-02-19 09:18:12 -02:00
vsp1_wpf.c [media] v4l: vsp1: Don't configure RPF memory buffers before calculating offsets 2016-04-13 17:43:57 -03:00
vsp1.h [media] v4l: vsp1: Split display list manager from display list 2016-04-13 17:34:44 -03:00