mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] Prevent writing reserved registers on tlv320aic3104 CODECs
@ 2015-09-30 23:24 Rick Mann
  2015-10-01 10:15 ` Mark Brown
  0 siblings, 1 reply; 2+ messages in thread
From: Rick Mann @ 2015-09-30 23:24 UTC (permalink / raw)
  To: lgirdwood, broonie
  Cc: perex, tiwai, peter.ujfalusi, jarkko.nikula, rmann, alsa-devel,
	linux-kernel

The current code writes a set of registers that are reserved on the tlc320aic3104. The change skips those registers for that IC.

Signed-off-by: Rick Mann <rmann@latencyzero.com>
---
 sound/soc/codecs/tlv320aic3x.c | 19 +++++++++++--------
 1 file changed, 11 insertions(+), 8 deletions(-)

diff --git a/sound/soc/codecs/tlv320aic3x.c b/sound/soc/codecs/tlv320aic3x.c
index f1c9fffcd3a6..8d893e94e78d 100644
--- a/sound/soc/codecs/tlv320aic3x.c
+++ b/sound/soc/codecs/tlv320aic3x.c
@@ -1531,14 +1531,17 @@ static int aic3x_init(struct snd_soc_codec *codec)
 	snd_soc_write(codec, PGAL_2_LLOPM_VOL, DEFAULT_VOL);
 	snd_soc_write(codec, PGAR_2_RLOPM_VOL, DEFAULT_VOL);
 
-	/* Line2 to HP Bypass default volume, disconnect from Output Mixer */
-	snd_soc_write(codec, LINE2L_2_HPLOUT_VOL, DEFAULT_VOL);
-	snd_soc_write(codec, LINE2R_2_HPROUT_VOL, DEFAULT_VOL);
-	snd_soc_write(codec, LINE2L_2_HPLCOM_VOL, DEFAULT_VOL);
-	snd_soc_write(codec, LINE2R_2_HPRCOM_VOL, DEFAULT_VOL);
-	/* Line2 Line Out default volume, disconnect from Output Mixer */
-	snd_soc_write(codec, LINE2L_2_LLOPM_VOL, DEFAULT_VOL);
-	snd_soc_write(codec, LINE2R_2_RLOPM_VOL, DEFAULT_VOL);
+	/* On tlv320aic3104, these registers are reserved and must not be written */
+	if (aic3x->model != AIC3X_MODEL_3104) {
+		/* Line2 to HP Bypass default volume, disconnect from Output Mixer */
+		snd_soc_write(codec, LINE2L_2_HPLOUT_VOL, DEFAULT_VOL);
+		snd_soc_write(codec, LINE2R_2_HPROUT_VOL, DEFAULT_VOL);
+		snd_soc_write(codec, LINE2L_2_HPLCOM_VOL, DEFAULT_VOL);
+		snd_soc_write(codec, LINE2R_2_HPRCOM_VOL, DEFAULT_VOL);
+		/* Line2 Line Out default volume, disconnect from Output Mixer */
+		snd_soc_write(codec, LINE2L_2_LLOPM_VOL, DEFAULT_VOL);
+		snd_soc_write(codec, LINE2R_2_RLOPM_VOL, DEFAULT_VOL);
+	}
 
 	switch (aic3x->model) {
 	case AIC3X_MODEL_3X:
-- 
1.9.1


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH] Prevent writing reserved registers on tlv320aic3104 CODECs
  2015-09-30 23:24 [PATCH] Prevent writing reserved registers on tlv320aic3104 CODECs Rick Mann
@ 2015-10-01 10:15 ` Mark Brown
  0 siblings, 0 replies; 2+ messages in thread
From: Mark Brown @ 2015-10-01 10:15 UTC (permalink / raw)
  To: Rick Mann
  Cc: lgirdwood, perex, tiwai, peter.ujfalusi, jarkko.nikula,
	alsa-devel, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 383 bytes --]

On Wed, Sep 30, 2015 at 04:24:53PM -0700, Rick Mann wrote:
> The current code writes a set of registers that are reserved on the tlc320aic3104. The change skips those registers for that IC.

I'll apply this but please keep your commit logs wrapped at
considerably less than 80 columns and use subject lines reflecting the
style for the subsystem - see SubmittingPatches for details.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 473 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2015-10-01 10:15 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-09-30 23:24 [PATCH] Prevent writing reserved registers on tlv320aic3104 CODECs Rick Mann
2015-10-01 10:15 ` Mark Brown

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®