linux_dsm_epyc7002/drivers/media/platform
Niklas Söderlund dc9aec795f media: rcar-vin: use scratch buffer and always run in continuous mode
Instead of switching capture mode depending on how many buffers are
available use a scratch buffer and always run in continuous mode. By
using a scratch buffer the responsiveness of the capture loop is
increased as it can keep running even if there are no buffers available
from userspace.

As soon as a userspace queues a buffer it is inserted into the capture
loop and returned as soon as it is filled. This is a improvement on the
previous logic where the whole capture loop was stopped and switched to
single capture mode if userspace did not feed the VIN driver buffers at
the same time it consumed them. To make matters worse it was difficult
for the driver to reenter continuous mode if it entered single mode even
if userspace started to queue buffers faster. This resulted in
suboptimal performance where if userspace where delayed for a short
period the ongoing capture would be slowed down and run in single mode
until the capturing process where restarted.

An additional effect of this change is that the capture logic can be
made much simple as we know that continuous mode will always be used.

Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Reviewed-by: Jacopo Mondi <jacopo+renesas@jmondi.org>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2018-03-22 06:24:05 -04:00
..
am437x media: v4l2-async: simplify v4l2_async_subdev structure 2017-12-29 07:14:28 -05:00
atmel media: atmel-isc: Make local symbol fmt_configs_list static 2018-02-26 06:56:17 -05:00
blackfin media: convert g/s_parm to g/s_frame_interval in subdevs 2018-02-22 12:27:35 -05:00
cec-gpio media: add SPDX license info 2018-02-14 13:17:03 -05:00
coda media: coda: bump maximum number of internal framebuffers to 19 2018-02-26 06:58:05 -05:00
davinci media updates for v4.16-rc1 2018-02-06 11:27:48 -08:00
exynos4-is media: exynos4-is: make array 'cmd' static, shrinks object size 2018-03-06 06:05:12 -05:00
exynos-gsc media updates for v4.16-rc1 2018-02-06 11:27:48 -08:00
marvell-ccic media: convert g/s_parm to g/s_frame_interval in subdevs 2018-02-22 12:27:35 -05:00
meson media: platform: Add Amlogic Meson AO CEC Controller driver 2017-08-09 10:45:26 -04:00
mtk-jpeg media: vcodec: mediatek: constify v4l2_m2m_ops structures 2017-08-20 08:03:55 -04:00
mtk-mdp License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mtk-vcodec media: mtk-vcodec: Always signal source change event on format change 2018-02-26 07:41:36 -05:00
mtk-vpu media: mtk-vpu: add description for wdt fields at struct mtk_vpu 2017-11-30 04:19:00 -05:00
omap media: v4l: omap_vout: vrfb: remove an unused variable 2018-03-22 06:17:07 -04:00
omap3isp media updates for v4.16-rc1 2018-02-06 11:27:48 -08:00
qcom media: venus: hfi: use true for boolean values 2018-02-26 07:53:09 -05:00
rcar-vin media: rcar-vin: use scratch buffer and always run in continuous mode 2018-03-22 06:24:05 -04:00
rockchip/rga media: rockchip/rga: use 64-bit arithmetic instead of 32-bit 2018-02-26 08:09:21 -05:00
s3c-camif media: s3c-camif: fix out-of-bounds array access 2018-03-06 07:29:04 -05:00
s5p-cec media: s5p-cec: add NACK detection support 2017-09-23 07:29:30 -04:00
s5p-g2d media: platform: make video_device const 2017-08-27 08:44:30 -04:00
s5p-jpeg media: s5p-jpeg: Fix off-by-one problem 2017-12-18 15:12:30 -05:00
s5p-mfc vfs: do bulk POLL* -> EPOLL* replacement 2018-02-11 14:34:03 -08:00
soc_camera media: convert g/s_parm to g/s_frame_interval in subdevs 2018-02-22 12:27:35 -05:00
sti media: fix usage of whitespaces and on indentation 2018-01-04 13:12:01 -05:00
stm32 media: stm32-dcmi: add JPEG support 2018-03-21 11:53:09 -04:00
tegra-cec media: tegra-cec: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE 2017-12-08 11:15:17 -05:00
ti-vpe media: v4l2-async: simplify v4l2_async_subdev structure 2017-12-29 07:14:28 -05:00
vimc media: vimc: use correct subdev functions 2018-02-26 09:31:41 -05:00
vivid media: vivid: Use v4l2_find_nearest_size 2018-03-21 11:20:56 -04:00
vsp1 media: v4l: vsp1: Fix video output on R8A77970 2018-02-26 10:27:28 -05:00
xilinx media: v4l2-async: simplify v4l2_async_subdev structure 2017-12-29 07:14:28 -05:00
arv.c media: replace all <spaces><tab> occurrences 2018-01-04 13:15:05 -05:00
fsl-viu.c vfs: do bulk POLL* -> EPOLL* replacement 2018-02-11 14:34:03 -08:00
Kconfig media: sec: Remove PLAT_S5P dependency 2018-03-06 08:28:45 -05:00
m2m-deinterlace.c media updates for v4.16-rc1 2018-02-06 11:27:48 -08:00
Makefile media: platform: Add Renesas CEU driver 2018-02-26 09:08:14 -05:00
mx2_emmaprp.c media: annotate ->poll() instances 2017-11-27 16:20:06 -05:00
pxa_camera.c media: v4l2-async: simplify v4l2_async_subdev structure 2017-12-29 07:14:28 -05:00
rcar_drif.c media: rcar_drif: fix error return code in rcar_drif_alloc_dmachannels() 2018-02-26 07:43:29 -05:00
rcar_fdp1.c media: drivers: remove "/**" from non-kernel-doc comments 2017-11-30 04:19:03 -05:00
rcar_jpu.c media: rcar_jpu: fix two kernel-doc markups 2017-11-30 04:19:03 -05:00
rcar-fcp.c v4l: rcar-fcp: Add an API to retrieve the FCP device 2017-06-09 12:25:36 +01:00
renesas-ceu.c media: renesas-ceu: mark PM functions as __maybe_unused 2018-03-06 12:24:24 -05:00
sh_veu.c media: platform: sh_veu: use 64-bit arithmetic instead of 32-bit 2018-02-26 08:09:48 -05:00
sh_vou.c media: replace all <spaces><tab> occurrences 2018-01-04 13:15:05 -05:00
via-camera.c media: convert g/s_parm to g/s_frame_interval in subdevs 2018-02-22 12:27:35 -05:00
via-camera.h media: fix usage of whitespaces and on indentation 2018-01-04 13:12:01 -05:00
video-mux.c media: platform: video-mux: convert to multiplexer framework 2017-07-20 06:59:25 -04:00
vim2m.c media: drivers: remove "/**" from non-kernel-doc comments 2017-11-30 04:19:03 -05:00