Skip to contentSkip to conversation

ASoC: max98926: Fix blr_clk_ratio calculation

PATCH In review Axel Lin 3 participants 3 messages Feb 17, 2016

Subsystems (2)
lore
Share & tools
lore

Axel Lin

author
#0 lore raw

PATCH 1/1 ASoC: max98926: Fix blr_clk_ratio calculation

Current code calculates blr_clk_ratio before setting max98926->ch_size, fix it.

---
Hi Anish,
I don't have this h/w, please review and test this patch.

thanks,
Axel

 sound/soc/codecs/max98926.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
sound/soc/codecs/max98926.c +4 -2
index 66884ebd..5245e10 100644
@@ -383,8 +383,7 @@ static int max98926_dai_hw_params(struct snd_pcm_substream *substream,
 	int rate = params_rate(params), i;
 	struct snd_soc_codec *codec = dai->codec;
 	struct max98926_priv *max98926 = snd_soc_codec_get_drvdata(codec);
-	/* BCLK/LRCLK ratio calculation */
-	int blr_clk_ratio = params_channels(params) * max98926->ch_size;
+	int blr_clk_ratio;
 
 	switch (params_format(params)) {
 	case SNDRV_PCM_FORMAT_S16_LE:
@@ -414,6 +413,9 @@ static int max98926_dai_hw_params(struct snd_pcm_substream *substream,
 		return -EINVAL;
 	}
 
+	/* BCLK/LRCLK ratio calculation */
+	blr_clk_ratio = params_channels(params) * max98926->ch_size;
+
 	switch (blr_clk_ratio) {
 	case 32:
 		regmap_update_bits(max98926->regmap,
Signature · 1 line
2.1.4
Acked-by on v1 1/1
#1 lore raw

Looks good to me. Thanks.

Quoted 43 lines · Axel Lin

Current code calculates blr_clk_ratio before setting max98926->ch_size, fix it.

---
Hi Anish,
I don't have this h/w, please review and test this patch.

thanks,
Axel

 sound/soc/codecs/max98926.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
sound/soc/codecs/max98926.c +4 -3
index 66884ebd..5245e10 100644
@@ -383,8 +383,7 @@ static int max98926_dai_hw_params(struct snd_pcm_substream *substream,
        int rate = params_rate(params), i;
        struct snd_soc_codec *codec = dai->codec;
        struct max98926_priv *max98926 = snd_soc_codec_get_drvdata(codec);
-       /* BCLK/LRCLK ratio calculation */
-       int blr_clk_ratio = params_channels(params) * max98926->ch_size;
+       int blr_clk_ratio;
 
        switch (params_format(params)) {
        case SNDRV_PCM_FORMAT_S16_LE:
@@ -414,6 +413,9 @@ static int max98926_dai_hw_params(struct snd_pcm_substream *substream,
                return -EINVAL;
        }
 
+       /* BCLK/LRCLK ratio calculation */
+       blr_clk_ratio = params_channels(params) * max98926->ch_size;
+
        switch (blr_clk_ratio) {
        case 32:
                regmap_update_bits(max98926->regmap,
--

2.1.4

maintainer
#2 lore raw

Applied "ASoC: max98926: Fix blr_clk_ratio calculation" to the asoc tree

In reply to Axel Lin

The patch

ASoC: max98926: Fix blr_clk_ratio calculation

has been applied to the asoc tree at

git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git

All being well this means that it will be integrated into the linux-next tree (usually sometime in the next 24 hours) and sent to Linus during the next merge window (or sooner if it is a bug fix), however if problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing and review of the tree, please engage with people reporting problems and send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they should be sent as incremental updates against current git, existing patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying to this mail.

Thanks,
Mark

Quoted 1 line

From cffee535f0b09ab0801cbec01a8ae81595aa99bc Mon Sep 17 00:00:00 2001

From: Axel Lin <[email protected]>
Date: Wed, 17 Feb 2016 08:46:07 +0800
Subject: [PATCH] ASoC: max98926: Fix blr_clk_ratio calculation

Current code calculates blr_clk_ratio before setting max98926->ch_size, fix it.

---
 sound/soc/codecs/max98926.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
sound/soc/codecs/max98926.c +4 -2
index 66884ebdf2bb..5245e107de30 100644
@@ -383,8 +383,7 @@ static int max98926_dai_hw_params(struct snd_pcm_substream *substream,
 	int rate = params_rate(params), i;
 	struct snd_soc_codec *codec = dai->codec;
 	struct max98926_priv *max98926 = snd_soc_codec_get_drvdata(codec);
-	/* BCLK/LRCLK ratio calculation */
-	int blr_clk_ratio = params_channels(params) * max98926->ch_size;
+	int blr_clk_ratio;
 
 	switch (params_format(params)) {
 	case SNDRV_PCM_FORMAT_S16_LE:
@@ -414,6 +413,9 @@ static int max98926_dai_hw_params(struct snd_pcm_substream *substream,
 		return -EINVAL;
 	}
 
+	/* BCLK/LRCLK ratio calculation */
+	blr_clk_ratio = params_channels(params) * max98926->ch_size;
+
 	switch (blr_clk_ratio) {
 	case 32:
 		regmap_update_bits(max98926->regmap,
Signature · 1 line
2.7.0