From: Codrin Ciubotariu <codrin.ciubotariu@microchip.com> To: <alsa-devel@alsa-project.org>, <linux-kernel@vger.kernel.org> Cc: <lars@metafoo.de>, <lgirdwood@gmail.com>, <broonie@kernel.org>, <perex@perex.cz>, <tiwai@suse.com>, Codrin Ciubotariu <codrin.ciubotariu@microchip.com> Subject: [PATCH 2/2] ASoC: codecs: ad193x: Reset DAC Control 1 register at probe Date: Wed, 26 Jun 2019 13:49:47 +0300 [thread overview] Message-ID: <20190626104947.26547-2-codrin.ciubotariu@microchip.com> (raw) In-Reply-To: <20190626104947.26547-1-codrin.ciubotariu@microchip.com> Since the ad193x codecs have no software reset, we have to reinitialize the registers after a hardware reset. For example, if we change the device-tree between these resets, changing the audio format of the DAI link from DSP_A with 8 TDM channels to I2S 2 channels, DAC Control 1 register will remain configured for 8 channels. This patch resets this register at probe to its default value. Signed-off-by: Codrin Ciubotariu <codrin.ciubotariu@microchip.com> --- sound/soc/codecs/ad193x.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sound/soc/codecs/ad193x.c b/sound/soc/codecs/ad193x.c index 3ebc0524f4b2..cda435562a1d 100644 --- a/sound/soc/codecs/ad193x.c +++ b/sound/soc/codecs/ad193x.c @@ -427,6 +427,8 @@ static int ad193x_component_probe(struct snd_soc_component *component) regmap_write(ad193x->regmap, AD193X_DAC_CTRL2, 0x1A); /* dac in tdm mode */ regmap_write(ad193x->regmap, AD193X_DAC_CTRL0, 0x40); + /* reset DAC ctrl1 */ + regmap_write(ad193x->regmap, AD193X_DAC_CTRL1, 0x00); /* adc only */ if (ad193x_has_adc(ad193x)) { -- 2.20.1
WARNING: multiple messages have this Message-ID (diff)
From: Codrin Ciubotariu <codrin.ciubotariu@microchip.com> To: alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org Cc: lars@metafoo.de, lgirdwood@gmail.com, broonie@kernel.org, perex@perex.cz, tiwai@suse.com, Codrin Ciubotariu <codrin.ciubotariu@microchip.com> Subject: [PATCH 2/2] ASoC: codecs: ad193x: Reset DAC Control 1 register at probe Date: Wed, 26 Jun 2019 13:49:47 +0300 [thread overview] Message-ID: <20190626104947.26547-2-codrin.ciubotariu@microchip.com> (raw) In-Reply-To: <20190626104947.26547-1-codrin.ciubotariu@microchip.com> Since the ad193x codecs have no software reset, we have to reinitialize the registers after a hardware reset. For example, if we change the device-tree between these resets, changing the audio format of the DAI link from DSP_A with 8 TDM channels to I2S 2 channels, DAC Control 1 register will remain configured for 8 channels. This patch resets this register at probe to its default value. Signed-off-by: Codrin Ciubotariu <codrin.ciubotariu@microchip.com> --- sound/soc/codecs/ad193x.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sound/soc/codecs/ad193x.c b/sound/soc/codecs/ad193x.c index 3ebc0524f4b2..cda435562a1d 100644 --- a/sound/soc/codecs/ad193x.c +++ b/sound/soc/codecs/ad193x.c @@ -427,6 +427,8 @@ static int ad193x_component_probe(struct snd_soc_component *component) regmap_write(ad193x->regmap, AD193X_DAC_CTRL2, 0x1A); /* dac in tdm mode */ regmap_write(ad193x->regmap, AD193X_DAC_CTRL0, 0x40); + /* reset DAC ctrl1 */ + regmap_write(ad193x->regmap, AD193X_DAC_CTRL1, 0x00); /* adc only */ if (ad193x_has_adc(ad193x)) { -- 2.20.1
next prev parent reply other threads:[~2019-06-26 10:50 UTC|newest] Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-06-26 10:49 [PATCH 1/2] ASoC: codecs: ad193x: Fix memory corruption on BE 64b systems Codrin Ciubotariu 2019-06-26 10:49 ` Codrin Ciubotariu 2019-06-26 10:49 ` Codrin Ciubotariu [this message] 2019-06-26 10:49 ` [PATCH 2/2] ASoC: codecs: ad193x: Reset DAC Control 1 register at probe Codrin Ciubotariu 2019-06-26 11:23 ` Mark Brown 2019-06-26 12:16 ` Codrin.Ciubotariu 2019-06-26 12:16 ` Codrin.Ciubotariu 2019-06-26 11:32 ` Applied "ASoC: codecs: ad193x: Fix memory corruption on BE 64b systems" to the asoc tree Mark Brown 2019-06-26 11:32 ` Mark Brown 2019-06-26 12:45 ` [PATCH 1/2] ASoC: codecs: ad193x: Fix memory corruption on BE 64b systems gianluca
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20190626104947.26547-2-codrin.ciubotariu@microchip.com \ --to=codrin.ciubotariu@microchip.com \ --cc=alsa-devel@alsa-project.org \ --cc=broonie@kernel.org \ --cc=lars@metafoo.de \ --cc=lgirdwood@gmail.com \ --cc=linux-kernel@vger.kernel.org \ --cc=perex@perex.cz \ --cc=tiwai@suse.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.