Skip to content

Commit 6e2127d

Browse files
committed
ASoC: mediatek: support memory-region assignment
Merge series from Trevor Wu <trevor.wu@mediatek.com>: This series of patches adds support for memory-region assignment, so the access region of DMA engine could be restricted. Patches are based on broonie tree "for-next" branch. Trevor Wu (2): ASoC: mediatek: mt8195: support reserved memory assignment dt-bindings: mediatek: mt8195: add memory-region property .../devicetree/bindings/sound/mt8195-afe-pcm.yaml | 8 ++++++++ sound/soc/mediatek/mt8195/mt8195-afe-pcm.c | 7 +++++++ 2 files changed, 15 insertions(+) -- 2.18.0
2 parents c736d64 + 2da6362 commit 6e2127d

2 files changed

Lines changed: 15 additions & 0 deletions

File tree

Documentation/devicetree/bindings/sound/mt8195-afe-pcm.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,12 @@ properties:
1919
interrupts:
2020
maxItems: 1
2121

22+
memory-region:
23+
maxItems: 1
24+
description: |
25+
Shared memory region for AFE memif. A "shared-dma-pool".
26+
See ../reserved-memory/reserved-memory.txt for details.
27+
2228
mediatek,topckgen:
2329
$ref: "/schemas/types.yaml#/definitions/phandle"
2430
description: The phandle of the mediatek topckgen controller
@@ -125,6 +131,7 @@ required:
125131
- power-domains
126132
- clocks
127133
- clock-names
134+
- memory-region
128135

129136
additionalProperties: false
130137

@@ -139,6 +146,7 @@ examples:
139146
interrupts = <GIC_SPI 822 IRQ_TYPE_LEVEL_HIGH 0>;
140147
mediatek,topckgen = <&topckgen>;
141148
power-domains = <&spm 7>; //MT8195_POWER_DOMAIN_AUDIO
149+
memory-region = <&snd_dma_mem_reserved>;
142150
clocks = <&clk26m>,
143151
<&topckgen 163>, //CLK_TOP_APLL1
144152
<&topckgen 166>, //CLK_TOP_APLL2

sound/soc/mediatek/mt8195/mt8195-afe-pcm.c

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
#include <linux/of.h>
1515
#include <linux/of_address.h>
1616
#include <linux/of_platform.h>
17+
#include <linux/of_reserved_mem.h>
1718
#include <linux/pm_runtime.h>
1819
#include "mt8195-afe-common.h"
1920
#include "mt8195-afe-clk.h"
@@ -3061,6 +3062,12 @@ static int mt8195_afe_pcm_dev_probe(struct platform_device *pdev)
30613062
int i, irq_id, ret;
30623063
struct snd_soc_component *component;
30633064

3065+
ret = of_reserved_mem_device_init(dev);
3066+
if (ret) {
3067+
dev_err(dev, "failed to assign memory region: %d\n", ret);
3068+
return ret;
3069+
}
3070+
30643071
ret = dma_set_mask_and_coherent(dev, DMA_BIT_MASK(33));
30653072
if (ret)
30663073
return ret;

0 commit comments

Comments
 (0)