Hello Marek, On 02/14/2017 04:52 AM, Marek Szyprowski wrote: > 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). > > Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> > --- Reviewed-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Tested-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Best regards, -- Javier Martinez Canillas Open Source Group Samsung Research America