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
next prev 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: 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.