Commit 252163a6 authored by Sugar Zhang's avatar Sugar Zhang Committed by Mark Brown

ASoC: rockchip: pdm: optimize clear logic

There is no need to reset controller every time, do this
once in pdm_probe.
Signed-off-by: default avatarSugar Zhang <sugar.zhang@rock-chips.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent a7980cd2
...@@ -183,9 +183,6 @@ static int rockchip_pdm_hw_params(struct snd_pcm_substream *substream, ...@@ -183,9 +183,6 @@ static int rockchip_pdm_hw_params(struct snd_pcm_substream *substream,
val); val);
regmap_update_bits(pdm->regmap, PDM_DMA_CTRL, PDM_DMA_RDL_MSK, regmap_update_bits(pdm->regmap, PDM_DMA_CTRL, PDM_DMA_RDL_MSK,
PDM_DMA_RDL(16)); PDM_DMA_RDL(16));
regmap_update_bits(pdm->regmap, PDM_SYSCONFIG,
PDM_RX_MASK | PDM_RX_CLR_MASK,
PDM_RX_STOP | PDM_RX_CLR_WR);
} }
return 0; return 0;
...@@ -353,6 +350,7 @@ static bool rockchip_pdm_volatile_reg(struct device *dev, unsigned int reg) ...@@ -353,6 +350,7 @@ static bool rockchip_pdm_volatile_reg(struct device *dev, unsigned int reg)
{ {
switch (reg) { switch (reg) {
case PDM_SYSCONFIG: case PDM_SYSCONFIG:
case PDM_FIFO_CTRL:
case PDM_INT_CLR: case PDM_INT_CLR:
case PDM_INT_ST: case PDM_INT_ST:
return true; return true;
...@@ -436,6 +434,7 @@ static int rockchip_pdm_probe(struct platform_device *pdev) ...@@ -436,6 +434,7 @@ static int rockchip_pdm_probe(struct platform_device *pdev)
goto err_suspend; goto err_suspend;
} }
rockchip_pdm_rxctrl(pdm, 0);
ret = devm_snd_dmaengine_pcm_register(&pdev->dev, NULL, 0); ret = devm_snd_dmaengine_pcm_register(&pdev->dev, NULL, 0);
if (ret) { if (ret) {
dev_err(&pdev->dev, "could not register pcm: %d\n", ret); dev_err(&pdev->dev, "could not register pcm: %d\n", ret);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment