linux/drivers/media/platform/s5p-mfc
Marek Szyprowski 60641e2259 [media] s5p-mfc: Use preallocated block allocator always for MFC v6+
It turned out that all versions of MFC v6+ hardware doesn't have a strict
requirement for ALL buffers to be allocated on higher addresses than the
firmware base like it was documented for MFC v5. 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. Basing on this fact, the
special DMA configuration based on two reserved memory regions is not
really needed for MFC v6+ devices, because the memory requirements for the
firmware, device and per-context buffers can be fulfilled by the simple
probe-time pre-allocated block allocator introduced in previous patch.

This patch enables support for such pre-allocated block based allocator
always for MFC v6+ devices. Due to the limitations of the memory management
subsystem the largest supported size of the pre-allocated buffer when no
CMA (Contiguous Memory Allocator) is enabled is 4 MiB.

This patch also removes the requirement to provide two reserved memory
regions for MFC v6+ devices in device tree. Now the driver is fully
functional without them.

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:34:47 -03:00
..
Makefile [media] s5p makefiles: don't override other selections on obj-[ym] 2013-06-20 05:46:00 -03:00
regs-mfc-v6.h [media] s5p-mfc: Reduce firmware buffer size for MFC v6+ variants 2017-04-05 15:55:39 -03:00
regs-mfc-v7.h [media] s5p-mfc: Reduce firmware buffer size for MFC v6+ variants 2017-04-05 15:55:39 -03:00
regs-mfc-v8.h [media] s5p-mfc: Reduce firmware buffer size for MFC v6+ variants 2017-04-05 15:55:39 -03:00
regs-mfc.h [media] s5p-mfc: Skip incomplete frame 2016-11-16 16:39:35 -02:00
s5p_mfc_cmd_v5.c [media] s5p-mfc: Put firmware to private buffer structure 2017-04-05 15:53:06 -03:00
s5p_mfc_cmd_v5.h [media] s5p-mfc: Update MFCv5 driver for callback based architecture 2012-10-05 22:53:37 -03:00
s5p_mfc_cmd_v6.c [media] s5p-mfc: add return value check in mfc_sys_init_cmd 2015-08-11 06:24:32 -03:00
s5p_mfc_cmd_v6.h [media] s5p-mfc: Update MFC v4l2 driver to support MFC6.x 2012-10-05 23:08:31 -03:00
s5p_mfc_cmd.c [media] s5p-mfc: Rename IS_MFCV6 macro 2013-08-18 07:08:34 -03:00
s5p_mfc_cmd.h [media] s5p-mfc: Update MFCv5 driver for callback based architecture 2012-10-05 22:53:37 -03:00
s5p_mfc_common.h [media] s5p-mfc: Add support for probe-time preallocated block based allocator 2017-04-05 16:01:24 -03:00
s5p_mfc_ctrl.c [media] s5p-mfc: Allocate firmware with internal private buffer alloc function 2017-04-05 15:55:00 -03:00
s5p_mfc_ctrl.h [media] s5p-mfc: Remove unused structures and dead code 2017-04-05 15:45:43 -03:00
s5p_mfc_debug.h [media] s5p-mfc: Use printk_ratelimited for reporting ioctl errors 2016-11-30 09:16:23 -02:00
s5p_mfc_dec.c [media] s5p-mfc: Replace mem_dev_* entries with an array 2017-04-05 15:47:31 -03:00
s5p_mfc_dec.h [media] s5p-mfc: constify s5p_mfc_codec_ops structures 2015-12-23 13:52:30 -02:00
s5p_mfc_enc.c [media] s5p-mfc: Replace mem_dev_* entries with an array 2017-04-05 15:47:31 -03:00
s5p_mfc_enc.h [media] s5p-mfc: constify s5p_mfc_codec_ops structures 2015-12-23 13:52:30 -02:00
s5p_mfc_intr.c [media] s5p-mfc: Update MFCv5 driver for callback based architecture 2012-10-05 22:53:37 -03:00
s5p_mfc_intr.h
s5p_mfc_iommu.h [media] s5p-mfc: Remove special configuration of IOMMU domain 2017-04-05 16:02:26 -03:00
s5p_mfc_opr_v5.c [media] s5p-mfc: Simplify alloc/release private buffer functions 2017-04-05 15:51:33 -03:00
s5p_mfc_opr_v5.h [media] s5p-mfc: Update MFCv5 driver for callback based architecture 2012-10-05 22:53:37 -03:00
s5p_mfc_opr_v6.c [media] s5p-mfc: Simplify alloc/release private buffer functions 2017-04-05 15:51:33 -03:00
s5p_mfc_opr_v6.h [media] s5p-mfc: Add variants to access mfc registers 2014-05-23 15:30:38 -03:00
s5p_mfc_opr.c [media] s5p-mfc: Add support for probe-time preallocated block based allocator 2017-04-05 16:01:24 -03:00
s5p_mfc_opr.h [media] s5p-mfc: Simplify alloc/release private buffer functions 2017-04-05 15:51:33 -03:00
s5p_mfc_pm.c [media] s5p-mfc: Rework clock handling 2016-11-30 09:21:30 -02:00
s5p_mfc_pm.h
s5p_mfc.c [media] s5p-mfc: Use preallocated block allocator always for MFC v6+ 2017-04-05 16:34:47 -03:00