All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sascha Hauer <s.hauer@pengutronix.de>
To: alsa-devel@alsa-project.org
Cc: Xiubo Li <Xiubo.Lee@gmail.com>,
	Fabio Estevam <festevam@gmail.com>,
	Sascha Hauer <s.hauer@pengutronix.de>,
	Vinod Koul <vkoul@kernel.org>, NXP Linux Team <linux-imx@nxp.com>,
	kernel@pengutronix.de, dmaengine@vger.kernel.org,
	Shengjiu Wang <shengjiu.wang@gmail.com>
Subject: [PATCH v2 13/19] ASoC: fsl_micfil: Drop get_pdm_clk()
Date: Mon, 28 Mar 2022 13:27:38 +0200	[thread overview]
Message-ID: <20220328112744.1575631-14-s.hauer@pengutronix.de> (raw)
In-Reply-To: <20220328112744.1575631-1-s.hauer@pengutronix.de>

get_pdm_clk() calculates the PDM clock based on the quality setting,
but really the PDM clock is independent of the quality, it's always
rate * 4 * micfil->osr. Just drop the function and do the calculation
in the caller.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
---
 sound/soc/fsl/fsl_micfil.c | 38 +-------------------------------------
 1 file changed, 1 insertion(+), 37 deletions(-)

diff --git a/sound/soc/fsl/fsl_micfil.c b/sound/soc/fsl/fsl_micfil.c
index 4b4b7fbbf5c4f..8335646a84d17 100644
--- a/sound/soc/fsl/fsl_micfil.c
+++ b/sound/soc/fsl/fsl_micfil.c
@@ -111,42 +111,6 @@ static const struct snd_kcontrol_new fsl_micfil_snd_controls[] = {
 		     snd_soc_get_enum_double, snd_soc_put_enum_double),
 };
 
-static inline int get_pdm_clk(struct fsl_micfil *micfil,
-			      unsigned int rate)
-{
-	u32 ctrl2_reg;
-	int qsel;
-	int bclk;
-	int osr = MICFIL_OSR_DEFAULT;
-
-	regmap_read(micfil->regmap, REG_MICFIL_CTRL2, &ctrl2_reg);
-	qsel = FIELD_GET(MICFIL_CTRL2_QSEL, ctrl2_reg);
-
-	switch (qsel) {
-	case MICFIL_QSEL_HIGH_QUALITY:
-		bclk = rate * 8 * osr / 2; /* kfactor = 0.5 */
-		break;
-	case MICFIL_QSEL_MEDIUM_QUALITY:
-	case MICFIL_QSEL_VLOW0_QUALITY:
-		bclk = rate * 4 * osr * 1; /* kfactor = 1 */
-		break;
-	case MICFIL_QSEL_LOW_QUALITY:
-	case MICFIL_QSEL_VLOW1_QUALITY:
-		bclk = rate * 2 * osr * 2; /* kfactor = 2 */
-		break;
-	case MICFIL_QSEL_VLOW2_QUALITY:
-		bclk = rate * osr * 4; /* kfactor = 4 */
-		break;
-	default:
-		dev_err(&micfil->pdev->dev,
-			"Please make sure you select a valid quality.\n");
-		bclk = -1;
-		break;
-	}
-
-	return bclk;
-}
-
 static inline int get_clk_div(struct fsl_micfil *micfil,
 			      unsigned int rate)
 {
@@ -155,7 +119,7 @@ static inline int get_clk_div(struct fsl_micfil *micfil,
 
 	mclk_rate = clk_get_rate(micfil->mclk);
 
-	clk_div = mclk_rate / (get_pdm_clk(micfil, rate) * 2);
+	clk_div = mclk_rate / (rate * micfil->osr * 8);
 
 	return clk_div;
 }
-- 
2.30.2


WARNING: multiple messages have this Message-ID (diff)
From: Sascha Hauer <s.hauer@pengutronix.de>
To: alsa-devel@alsa-project.org
Cc: Xiubo Li <Xiubo.Lee@gmail.com>,
	Fabio Estevam <festevam@gmail.com>,
	Shengjiu Wang <shengjiu.wang@gmail.com>,
	kernel@pengutronix.de, Vinod Koul <vkoul@kernel.org>,
	NXP Linux Team <linux-imx@nxp.com>,
	dmaengine@vger.kernel.org, Sascha Hauer <s.hauer@pengutronix.de>
Subject: [PATCH v2 13/19] ASoC: fsl_micfil: Drop get_pdm_clk()
Date: Mon, 28 Mar 2022 13:27:38 +0200	[thread overview]
Message-ID: <20220328112744.1575631-14-s.hauer@pengutronix.de> (raw)
In-Reply-To: <20220328112744.1575631-1-s.hauer@pengutronix.de>

get_pdm_clk() calculates the PDM clock based on the quality setting,
but really the PDM clock is independent of the quality, it's always
rate * 4 * micfil->osr. Just drop the function and do the calculation
in the caller.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
---
 sound/soc/fsl/fsl_micfil.c | 38 +-------------------------------------
 1 file changed, 1 insertion(+), 37 deletions(-)

diff --git a/sound/soc/fsl/fsl_micfil.c b/sound/soc/fsl/fsl_micfil.c
index 4b4b7fbbf5c4f..8335646a84d17 100644
--- a/sound/soc/fsl/fsl_micfil.c
+++ b/sound/soc/fsl/fsl_micfil.c
@@ -111,42 +111,6 @@ static const struct snd_kcontrol_new fsl_micfil_snd_controls[] = {
 		     snd_soc_get_enum_double, snd_soc_put_enum_double),
 };
 
-static inline int get_pdm_clk(struct fsl_micfil *micfil,
-			      unsigned int rate)
-{
-	u32 ctrl2_reg;
-	int qsel;
-	int bclk;
-	int osr = MICFIL_OSR_DEFAULT;
-
-	regmap_read(micfil->regmap, REG_MICFIL_CTRL2, &ctrl2_reg);
-	qsel = FIELD_GET(MICFIL_CTRL2_QSEL, ctrl2_reg);
-
-	switch (qsel) {
-	case MICFIL_QSEL_HIGH_QUALITY:
-		bclk = rate * 8 * osr / 2; /* kfactor = 0.5 */
-		break;
-	case MICFIL_QSEL_MEDIUM_QUALITY:
-	case MICFIL_QSEL_VLOW0_QUALITY:
-		bclk = rate * 4 * osr * 1; /* kfactor = 1 */
-		break;
-	case MICFIL_QSEL_LOW_QUALITY:
-	case MICFIL_QSEL_VLOW1_QUALITY:
-		bclk = rate * 2 * osr * 2; /* kfactor = 2 */
-		break;
-	case MICFIL_QSEL_VLOW2_QUALITY:
-		bclk = rate * osr * 4; /* kfactor = 4 */
-		break;
-	default:
-		dev_err(&micfil->pdev->dev,
-			"Please make sure you select a valid quality.\n");
-		bclk = -1;
-		break;
-	}
-
-	return bclk;
-}
-
 static inline int get_clk_div(struct fsl_micfil *micfil,
 			      unsigned int rate)
 {
@@ -155,7 +119,7 @@ static inline int get_clk_div(struct fsl_micfil *micfil,
 
 	mclk_rate = clk_get_rate(micfil->mclk);
 
-	clk_div = mclk_rate / (get_pdm_clk(micfil, rate) * 2);
+	clk_div = mclk_rate / (rate * micfil->osr * 8);
 
 	return clk_div;
 }
-- 
2.30.2


  parent reply	other threads:[~2022-03-28 11:32 UTC|newest]

Thread overview: 64+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-28 11:27 [PATCH v2 00/19] ASoC: fsl_micfil: Driver updates Sascha Hauer
2022-03-28 11:27 ` Sascha Hauer
2022-03-28 11:27 ` [PATCH v2 01/19] ASoC: fsl_micfil: Drop unnecessary register read Sascha Hauer
2022-03-28 11:27   ` Sascha Hauer
2022-03-28 11:27 ` [PATCH v2 02/19] ASoC: fsl_micfil: Drop unused " Sascha Hauer
2022-03-28 11:27   ` Sascha Hauer
2022-03-28 11:27 ` [PATCH v2 03/19] ASoC: fsl_micfil: drop fsl_micfil_set_mclk_rate() Sascha Hauer
2022-03-28 11:27   ` Sascha Hauer
2022-03-28 11:27 ` [PATCH v2 04/19] ASoC: fsl_micfil: do not define SHIFT/MASK for single bits Sascha Hauer
2022-03-28 11:27   ` Sascha Hauer
2022-03-28 11:27 ` [PATCH v2 05/19] ASoC: fsl_micfil: use GENMASK to define register bit fields Sascha Hauer
2022-03-28 11:27   ` Sascha Hauer
2022-04-07  2:08   ` Shengjiu Wang
2022-04-07  7:38     ` Sascha Hauer
2022-03-28 11:27 ` [PATCH v2 06/19] ASoC: fsl_micfil: use clear/set bits Sascha Hauer
2022-03-28 11:27   ` Sascha Hauer
2022-03-28 11:27 ` [PATCH v2 07/19] ASoC: fsl_micfil: drop error messages from failed register accesses Sascha Hauer
2022-03-28 11:27   ` Sascha Hauer
2022-03-28 11:27 ` [PATCH v2 08/19] ASoC: fsl_micfil: drop unused variables Sascha Hauer
2022-03-28 11:27   ` Sascha Hauer
2022-03-28 11:27 ` [PATCH v2 09/19] dma: imx-sdma: error out on unsupported transfer types Sascha Hauer
2022-03-28 11:27   ` Sascha Hauer
2022-03-28 11:27 ` [PATCH v2 10/19] dma: imx-sdma: Add multi fifo support Sascha Hauer
2022-03-28 11:27   ` Sascha Hauer
2022-03-29 10:55   ` Fabio Estevam
2022-03-29 10:55     ` Fabio Estevam
2022-03-30  7:49     ` Sascha Hauer
2022-03-30  7:49       ` Sascha Hauer
2022-03-31  5:26   ` Vinod Koul
2022-03-31  5:26     ` Vinod Koul
2022-03-31  6:49     ` Sascha Hauer
2022-03-31  6:49       ` Sascha Hauer
2022-03-31  6:54       ` Vinod Koul
2022-03-31  6:54         ` Vinod Koul
2022-03-31  7:58         ` Sascha Hauer
2022-03-31  7:58           ` Sascha Hauer
2022-04-07  7:22           ` Vinod Koul
2022-04-07  7:22             ` Vinod Koul
2022-04-01 12:01         ` Sascha Hauer
2022-04-01 12:01           ` Sascha Hauer
2022-04-07  7:23           ` Vinod Koul
2022-04-07  7:23             ` Vinod Koul
2022-04-07  7:41             ` Sascha Hauer
2022-04-07  7:41               ` Sascha Hauer
2022-03-28 11:27 ` [PATCH v2 11/19] ASoC: fsl_micfil: add " Sascha Hauer
2022-03-28 11:27   ` Sascha Hauer
2022-03-30  7:50   ` Sascha Hauer
2022-03-30  7:50     ` Sascha Hauer
2022-03-28 11:27 ` [PATCH v2 12/19] ASoC: fsl_micfil: use define for OSR default value Sascha Hauer
2022-03-28 11:27   ` Sascha Hauer
2022-03-28 11:27 ` Sascha Hauer [this message]
2022-03-28 11:27   ` [PATCH v2 13/19] ASoC: fsl_micfil: Drop get_pdm_clk() Sascha Hauer
2022-03-28 11:27 ` [PATCH v2 14/19] ASoC: fsl_micfil: simplify clock setting Sascha Hauer
2022-03-28 11:27   ` Sascha Hauer
2022-03-28 11:27 ` [PATCH v2 15/19] ASoC: fsl_micfil: rework quality setting Sascha Hauer
2022-03-28 11:27   ` Sascha Hauer
2022-03-28 11:27 ` [PATCH v2 16/19] ASoC: fsl_micfil: drop unused include Sascha Hauer
2022-03-28 11:27   ` Sascha Hauer
2022-03-28 11:27 ` [PATCH v2 17/19] ASoC: fsl_micfil: drop only once used defines Sascha Hauer
2022-03-28 11:27   ` Sascha Hauer
2022-03-28 11:27 ` [PATCH v2 18/19] ASoC: fsl_micfil: drop support for undocumented property Sascha Hauer
2022-03-28 11:27   ` Sascha Hauer
2022-03-28 11:27 ` [PATCH v2 19/19] ASoC: fsl_micfil: fold fsl_set_clock_params() into its only user Sascha Hauer
2022-03-28 11:27   ` Sascha Hauer

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=20220328112744.1575631-14-s.hauer@pengutronix.de \
    --to=s.hauer@pengutronix.de \
    --cc=Xiubo.Lee@gmail.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=dmaengine@vger.kernel.org \
    --cc=festevam@gmail.com \
    --cc=kernel@pengutronix.de \
    --cc=linux-imx@nxp.com \
    --cc=shengjiu.wang@gmail.com \
    --cc=vkoul@kernel.org \
    /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: link
Be 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.