linux/drivers/media/platform
Marek Szyprowski 25e73b425c [media] s5p-mfc: Add support for probe-time preallocated block based allocator
Current MFC driver depends on the fact that when IOMMU is available, the
DMA-mapping framework and its IOMMU glue will use first-fit allocator.
This was true for ARM architecture, but its not for ARM64 arch. However, in
case of MFC v6+ hardware and latest firmware, it turned out that there is
no strict requirement for ALL buffers to be allocated on higher addresses
than the firmware base. This requirement is true only for the device and
per-context buffers. All video data buffers can be allocated anywhere for
all MFC v6+ versions.

Such relaxed requirements for the memory buffers can be easily fulfilled
by allocating firmware, device and per-context buffers from the probe-time
preallocated larger buffer. This patch adds support for it. This way the
driver finally works fine on ARM64 architecture. The size of the
preallocated buffer is 8 MiB, what is enough for three instances H264
decoders or encoders (other codecs have smaller memory requirements).
If one needs more for particular use case, one can use "mem" module
parameter to force larger (or smaller) buffer (for example by adding
"s5p_mfc.mem=16M" to kernel command line).

[mchehab@s-opensource.com: fix two checkpatch warnings: don't initialize
 static to NULL; don't use S_foo permisions]

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>
Tested-by: Javier Martinez Canillas <javier@osg.samsung.com>
Acked-by: Andrzej Hajda <a.hajda@samsung.com>
Tested-by: Smitha T Murthy <smitha.t@samsung.com>
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-04-05 16:01:24 -03:00
..
am437x [media] am437x-vpfe: always assign bpp variable 2017-01-30 15:43:40 -02:00
atmel [media] atmel-isc: fix off-by-one comparison and out of bounds read issue 2017-04-05 15:06:38 -03:00
blackfin [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
coda [media] coda: fix warnings when compiling with 64 bits 2017-03-22 10:09:17 -03:00
davinci [media] media: vpif: use a configurable i2c_adapter_id for vpif display 2017-03-22 11:55:56 -03:00
exynos4-is scripts/spelling.txt: add "aligment" pattern and fix typo instances 2017-02-27 18:43:46 -08:00
exynos-gsc [media] exynos-gsc: Do not swap cb/cr for semi planar formats 2017-03-22 09:50:07 -03:00
marvell-ccic [media] marvell-ccic: don't break long lines 2016-10-21 09:30:46 -02:00
mtk-jpeg [media] media: mtk-jpeg: fix continuous log "Context is NULL" 2017-04-05 15:08:26 -03:00
mtk-mdp [media] mtk-mdp: allocate video_device dynamically 2016-11-22 05:42:29 -02:00
mtk-vcodec [media] vcodec: mediatek: Remove double parentheses 2017-04-05 15:09:20 -03:00
mtk-vpu [media] VPU: mediatek: Fix return value in case of error 2016-10-24 18:11:57 -02:00
omap Linux 4.9-rc5 2016-11-16 16:42:27 -02:00
omap3isp [media] v4l: omap3isp: Clean up file handle in open() and release() 2017-01-31 10:57:58 -02:00
rcar-vin [media] rcar-vin: add R-Car gen2 fallback compatibility string 2016-09-22 12:52:55 -03:00
s3c-camif [media] media: platform: s3c-camif: constify v4l2_subdev_ops structures 2017-02-03 10:58:00 -02:00
s5p-g2d [media] platform: constify vb2_ops structures 2016-09-19 16:21:06 -03:00
s5p-jpeg [media] squash lines for simple wrapper functions 2016-11-16 13:28:40 -02:00
s5p-mfc [media] s5p-mfc: Add support for probe-time preallocated block based allocator 2017-04-05 16:01:24 -03:00
soc_camera [media] soc-camera: fix rectangle adjustment in cropping 2017-03-23 14:45:59 -03:00
sti [media] st-delta: mjpeg: fix static checker warning 2017-04-05 15:04:06 -03:00
ti-vpe [media] media: ti-vpe: vpe: allow use of user specified stride 2017-03-03 14:43:32 -03:00
vivid [media] vivid: fix g_edid implementation 2017-04-05 15:20:57 -03:00
vsp1 [media] v4l: vsp1: Adapt vsp1_du_setup_lif() interface to use a structure 2017-03-07 13:34:11 -03:00
xilinx [media] media: platform: xilinx: xilinx-tpg: constify v4l2_subdev_* structures 2017-02-03 09:21:50 -02:00
arv.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
fsl-viu.c
Kconfig [media] platform: compile VIDEO_CODA with COMPILE_TEST 2017-03-22 10:06:29 -03:00
m2m-deinterlace.c [media] platform: constify vb2_ops structures 2016-09-19 16:21:06 -03:00
Makefile [media] vcodec: mediatek: Add Mediatek JPEG Decoder Driver 2017-03-03 08:26:46 -03:00
mx2_emmaprp.c [media] platform: don't break long lines 2016-10-21 10:06:32 -02:00
pxa_camera.c [media] media: platform: pxa_camera: add missing sensor power on 2016-10-24 18:08:12 -02:00
rcar_fdp1.c [media] v4l: rcar_fdp1: use %4.4s to format a 4-byte string 2017-02-03 11:50:40 -02:00
rcar_jpu.c [media] platform: constify vb2_ops structures 2016-09-19 16:21:06 -03:00
rcar-fcp.c [media] v4l: rcar-fcp: Fix module autoload for OF registration 2016-11-16 13:17:07 -02:00
sh_veu.c [media] vb2: replace void *alloc_ctxs by struct device *alloc_devs 2016-07-08 14:45:07 -03:00
sh_vou.c [media] platform: constify vb2_ops structures 2016-09-19 16:21:06 -03:00
via-camera.c [media] platform: don't break long lines 2016-10-21 10:06:32 -02:00
via-camera.h
vim2m.c [media] vim2m: Clean up file handle in open() error path 2017-01-31 07:44:26 -02:00