On Mon, Jun 17, 2024 at 3:53 PM Yong Wu (吴勇) <Yong.Wu@xxxxxxxxxxxx> wrote: > > On Wed, 2024-06-12 at 14:22 +0900, Tomasz Figa wrote: > > > > External email : Please do not click links or open attachments until > > you have verified the sender or the content. > > On Thu, May 16, 2024 at 08:20:50PM +0800, Yunfei Dong wrote: > > > Need to call dma heap interface to allocate/free secure memory when > > playing > > > secure video. > > > > > > Signed-off-by: Yunfei Dong <yunfei.dong@xxxxxxxxxxxx> > > > --- > > > .../media/platform/mediatek/vcodec/Kconfig | 1 + > > > .../mediatek/vcodec/common/mtk_vcodec_util.c | 122 > > +++++++++++++++++- > > > .../mediatek/vcodec/common/mtk_vcodec_util.h | 3 + > > > 3 files changed, 123 insertions(+), 3 deletions(-) > > > > > > diff --git a/drivers/media/platform/mediatek/vcodec/Kconfig > > b/drivers/media/platform/mediatek/vcodec/Kconfig > > > index bc8292232530..707865703e61 100644 > > > --- a/drivers/media/platform/mediatek/vcodec/Kconfig > > > +++ b/drivers/media/platform/mediatek/vcodec/Kconfig > > > @@ -17,6 +17,7 @@ config VIDEO_MEDIATEK_VCODEC > > [snip] > > > > -void mtk_vcodec_mem_free(void *priv, struct mtk_vcodec_mem *mem) > > > +static int mtk_vcodec_mem_alloc_sec(struct mtk_vcodec_dec_ctx > > *ctx, struct mtk_vcodec_mem *mem) > > > +{ > > > +struct device *dev = &ctx->dev->plat_dev->dev; > > > +struct dma_buf *dma_buffer; > > > +struct dma_heap *vdec_heap; > > > +struct dma_buf_attachment *attach; > > > +struct sg_table *sgt; > > > +unsigned long size = mem->size; > > > +int ret = 0; > > > + > > > +if (!size) > > > +return -EINVAL; > > > + > > > +vdec_heap = dma_heap_find("restricted_mtk_cma"); > > > +if (!vdec_heap) { > > > +mtk_v4l2_vdec_err(ctx, "dma heap find failed!"); > > > +return -EPERM; > > > +} > > > > How is the heap name determined here? My recollection is that the > > heap > > name comes from the heap node in the DT, so it may vary depending on > > the > > board. > > > > Is the heap name documented anywhere in the DT bindings? > > > > Shouldn't we rather query DT for a phandle to the right heap? > > > > Hi Tomasz, > > This heap name does not come from dt-binding. It is hard-coded in the > driver[1]. Because the heap driver is a pure SW driver, there is no > corresponding HW unit, and there is no way to add a dtsi node. > > [1] > https://lore.kernel.org/linux-mediatek/20240515112308.10171-10-yong.wu@xxxxxxxxxxxx/ Okay, I see. Thanks for clarifying. Best regards, Tomasz