Skip to content

Commit f670841

Browse files
wenliangwubroonie
authored andcommitted
ASoC: mediatek: mt8195: add reset controller
Audio hardware is possibly used in the firmware stage, so resetting audio hardware before regcache records default register values is required. Signed-off-by: Trevor Wu <trevor.wu@mediatek.com> Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Link: https://lore.kernel.org/r/20220308072435.22460-2-trevor.wu@mediatek.com Signed-off-by: Mark Brown <broonie@kernel.org>
1 parent 6b6bb5e commit f670841

1 file changed

Lines changed: 16 additions & 0 deletions

File tree

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

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
#include <linux/of_platform.h>
1717
#include <linux/of_reserved_mem.h>
1818
#include <linux/pm_runtime.h>
19+
#include <linux/reset.h>
1920
#include "mt8195-afe-common.h"
2021
#include "mt8195-afe-clk.h"
2122
#include "mt8195-reg.h"
@@ -3056,6 +3057,7 @@ static int mt8195_afe_pcm_dev_probe(struct platform_device *pdev)
30563057
struct mtk_base_afe *afe;
30573058
struct mt8195_afe_private *afe_priv;
30583059
struct device *dev = &pdev->dev;
3060+
struct reset_control *rstc;
30593061
int i, irq_id, ret;
30603062
struct snd_soc_component *component;
30613063

@@ -3092,6 +3094,20 @@ static int mt8195_afe_pcm_dev_probe(struct platform_device *pdev)
30923094
return ret;
30933095
}
30943096

3097+
/* reset controller to reset audio regs before regmap cache */
3098+
rstc = devm_reset_control_get_exclusive(dev, "audiosys");
3099+
if (IS_ERR(rstc)) {
3100+
ret = PTR_ERR(rstc);
3101+
dev_err(dev, "could not get audiosys reset:%d\n", ret);
3102+
return ret;
3103+
}
3104+
3105+
ret = reset_control_reset(rstc);
3106+
if (ret) {
3107+
dev_err(dev, "failed to trigger audio reset:%d\n", ret);
3108+
return ret;
3109+
}
3110+
30953111
spin_lock_init(&afe_priv->afe_ctrl_lock);
30963112

30973113
mutex_init(&afe->irq_alloc_lock);

0 commit comments

Comments
 (0)