mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-18 22:14:16 +00:00
media: mediatek: vcodec: Alloc DMA memory with DMA_ATTR_ALLOC_SINGLE_PAGES
As talked about in commit 14d3ae2efe
("ARM: 8507/1: dma-mapping: Use
DMA_ATTR_ALLOC_SINGLE_PAGES hint to optimize alloc"), it doesn't
really make sense to try to allocate contiguous chunks of memory for
video encoding/decoding. Let's switch the Mediatek vcodec driver to
pass DMA_ATTR_ALLOC_SINGLE_PAGES and take some of the stress off the
memory subsystem.
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Tested-by: Fei Shao <fshao@chromium.org>
Reviewed-by: Fei Shao <fshao@chromium.org>
Reviewed-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
Signed-off-by: Sebastian Fricke <sebastian.fricke@collabora.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
This commit is contained in:
parent
48d85de244
commit
b785ea5b16
1 changed files with 2 additions and 1 deletions
|
@ -63,7 +63,8 @@ int mtk_vcodec_mem_alloc(void *priv, struct mtk_vcodec_mem *mem)
|
|||
id = dec_ctx->id;
|
||||
}
|
||||
|
||||
mem->va = dma_alloc_coherent(&plat_dev->dev, mem->size, &mem->dma_addr, GFP_KERNEL);
|
||||
mem->va = dma_alloc_attrs(&plat_dev->dev, mem->size, &mem->dma_addr,
|
||||
GFP_KERNEL, DMA_ATTR_ALLOC_SINGLE_PAGES);
|
||||
if (!mem->va) {
|
||||
mtk_v4l2_err(plat_dev, "%s dma_alloc size=0x%zx failed!",
|
||||
__func__, mem->size);
|
||||
|
|
Loading…
Add table
Reference in a new issue