summary refs log tree commit diff
path: root/sound/soc
diff options
context:
space:
mode:
authorTrevor Wu <trevor.wu@mediatek.com>2021-11-30 13:39:04 +0800
committerMark Brown <broonie@kernel.org>2021-12-06 13:49:16 +0000
commit4d408ea0282c374a304ce402866cb7b8a56c6b05 (patch)
tree3392c06cbb0466fbc29014e702dbae1d2bb5dce6 /sound/soc
parent0695ad92fe1a0bb7697eb92c6a145a73c5ab0e24 (diff)
downloadlinux-4d408ea0282c374a304ce402866cb7b8a56c6b05.tar.gz
ASoC: mediatek: mt8195: support reserved memory assignment
For security purpose, restrict the memory assess region of AFE memif.
The specified memory region should be assigned from DTS.

Signed-off-by: Trevor Wu <trevor.wu@mediatek.com>
Link: https://lore.kernel.org/r/20211130053905.28470-2-trevor.wu@mediatek.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc')
-rw-r--r--sound/soc/mediatek/mt8195/mt8195-afe-pcm.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/sound/soc/mediatek/mt8195/mt8195-afe-pcm.c b/sound/soc/mediatek/mt8195/mt8195-afe-pcm.c
index 2bb05a828e8d..8a6db24116e3 100644
--- a/sound/soc/mediatek/mt8195/mt8195-afe-pcm.c
+++ b/sound/soc/mediatek/mt8195/mt8195-afe-pcm.c
@@ -14,6 +14,7 @@
 #include <linux/of.h>
 #include <linux/of_address.h>
 #include <linux/of_platform.h>
+#include <linux/of_reserved_mem.h>
 #include <linux/pm_runtime.h>
 #include "mt8195-afe-common.h"
 #include "mt8195-afe-clk.h"
@@ -3061,6 +3062,12 @@ static int mt8195_afe_pcm_dev_probe(struct platform_device *pdev)
 	int i, irq_id, ret;
 	struct snd_soc_component *component;
 
+	ret = of_reserved_mem_device_init(dev);
+	if (ret) {
+		dev_err(dev, "failed to assign memory region: %d\n", ret);
+		return ret;
+	}
+
 	ret = dma_set_mask_and_coherent(dev, DMA_BIT_MASK(33));
 	if (ret)
 		return ret;