diff options
author | Akshu Agrawal <akshu.agrawal@amd.com> | 2020-03-28 12:39:16 +0300 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2020-03-30 17:32:35 +0300 |
commit | a91ab6509cd382dae4b7953155f47f276ff0d22f (patch) | |
tree | 474a0452a541e3ad75f88c2750066462f62eea2a /sound/soc | |
parent | 76385a665ff5cfdf0a6dda43ec9bce7e7d5387d3 (diff) | |
download | linux-a91ab6509cd382dae4b7953155f47f276ff0d22f.tar.xz |
ASoC: AMD: Clear format bits before setting them
This avoids residual bit form previous format when the format is changed.
Hence, the resultant format is not an invalid one.
Signed-off-by: Akshu Agrawal <akshu.agrawal@amd.com>
Signed-off-by: Ravulapati Vishnu vardhan rao <Vishnuvardhanrao.Ravulapati@amd.com>
Link: https://lore.kernel.org/r/20200328093921.32211-1-akshu.agrawal@amd.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc')
-rw-r--r-- | sound/soc/amd/raven/acp3x-i2s.c | 1 | ||||
-rw-r--r-- | sound/soc/amd/raven/acp3x.h | 2 |
2 files changed, 3 insertions, 0 deletions
diff --git a/sound/soc/amd/raven/acp3x-i2s.c b/sound/soc/amd/raven/acp3x-i2s.c index 3a3c47e820ab..f160d35a6832 100644 --- a/sound/soc/amd/raven/acp3x-i2s.c +++ b/sound/soc/amd/raven/acp3x-i2s.c @@ -139,6 +139,7 @@ static int acp3x_i2s_hwparams(struct snd_pcm_substream *substream, rv_writel(adata->tdm_fmt, rtd->acp3x_base + frmt_reg); } val = rv_readl(rtd->acp3x_base + reg_val); + val &= ~ACP3x_ITER_IRER_SAMP_LEN_MASK; val = val | (rtd->xfer_resolution << 3); rv_writel(val, rtd->acp3x_base + reg_val); return 0; diff --git a/sound/soc/amd/raven/acp3x.h b/sound/soc/amd/raven/acp3x.h index 21e7ac017f2b..03fe93913e12 100644 --- a/sound/soc/amd/raven/acp3x.h +++ b/sound/soc/amd/raven/acp3x.h @@ -76,6 +76,8 @@ #define ACP_POWERED_OFF 0x02 #define ACP_POWER_OFF_IN_PROGRESS 0x03 +#define ACP3x_ITER_IRER_SAMP_LEN_MASK 0x38 + struct acp3x_platform_info { u16 play_i2s_instance; u16 cap_i2s_instance; |