From: Sascha Hauer <s.hauer@pengutronix.de>
To: Shengjiu Wang <shengjiu.wang@gmail.com>
Cc: alsa-devel@alsa-project.org, Xiubo Li <Xiubo.Lee@gmail.com>,
Vinod Koul <vkoul@kernel.org>, NXP Linux Team <linux-imx@nxp.com>,
Sascha Hauer <kernel@pengutronix.de>,
dmaengine@vger.kernel.org, Fabio Estevam <festevam@gmail.com>
Subject: Re: [PATCH v3 14/20] ASoC: fsl_micfil: Drop get_pdm_clk()
Date: Thu, 7 Apr 2022 09:04:51 +0200 [thread overview]
Message-ID: <20220407070451.GY4012@pengutronix.de> (raw)
In-Reply-To: <CAA+D8AMMDF1eL_sdE_zF-52ZoaxyWjAtCOQyOZ71+ozzfqf1qg@mail.gmail.com>
On Thu, Apr 07, 2022 at 11:41:52AM +0800, Shengjiu Wang wrote:
> On Tue, Apr 5, 2022 at 4:00 PM Sascha Hauer <[1]s.hauer@pengutronix.de>
> wrote:
>
> 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 <[2]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);
>
> Where is micfil->osr assigned a value?
Should be MICFIL_OSR_DEFAULT instead.
Sascha
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
WARNING: multiple messages have this Message-ID (diff)
From: Sascha Hauer <s.hauer@pengutronix.de>
To: Shengjiu Wang <shengjiu.wang@gmail.com>
Cc: alsa-devel@alsa-project.org, Xiubo Li <Xiubo.Lee@gmail.com>,
Fabio Estevam <festevam@gmail.com>,
Sascha Hauer <kernel@pengutronix.de>,
Vinod Koul <vkoul@kernel.org>, NXP Linux Team <linux-imx@nxp.com>,
dmaengine@vger.kernel.org
Subject: Re: [PATCH v3 14/20] ASoC: fsl_micfil: Drop get_pdm_clk()
Date: Thu, 7 Apr 2022 09:04:51 +0200 [thread overview]
Message-ID: <20220407070451.GY4012@pengutronix.de> (raw)
In-Reply-To: <CAA+D8AMMDF1eL_sdE_zF-52ZoaxyWjAtCOQyOZ71+ozzfqf1qg@mail.gmail.com>
On Thu, Apr 07, 2022 at 11:41:52AM +0800, Shengjiu Wang wrote:
> On Tue, Apr 5, 2022 at 4:00 PM Sascha Hauer <[1]s.hauer@pengutronix.de>
> wrote:
>
> 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 <[2]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);
>
> Where is micfil->osr assigned a value?
Should be MICFIL_OSR_DEFAULT instead.
Sascha
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
next prev parent reply other threads:[~2022-04-07 7:05 UTC|newest]
Thread overview: 74+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-04-05 7:59 [PATCH v3 00/20] ASoC: fsl_micfil: Driver updates Sascha Hauer
2022-04-05 7:59 ` Sascha Hauer
2022-04-05 7:59 ` [PATCH v3 01/20] ASoC: fsl_micfil: Drop unnecessary register read Sascha Hauer
2022-04-05 7:59 ` Sascha Hauer
2022-04-06 12:42 ` Shengjiu Wang
2022-04-05 7:59 ` [PATCH v3 02/20] ASoC: fsl_micfil: Drop unused " Sascha Hauer
2022-04-05 7:59 ` Sascha Hauer
2022-04-06 12:44 ` Shengjiu Wang
2022-04-05 7:59 ` [PATCH v3 03/20] ASoC: fsl_micfil: drop fsl_micfil_set_mclk_rate() Sascha Hauer
2022-04-05 7:59 ` Sascha Hauer
2022-04-06 13:01 ` Shengjiu Wang
2022-04-05 7:59 ` [PATCH v3 04/20] ASoC: fsl_micfil: do not define SHIFT/MASK for single bits Sascha Hauer
2022-04-05 7:59 ` Sascha Hauer
2022-04-06 13:05 ` Shengjiu Wang
2022-04-05 7:59 ` [PATCH v3 05/20] ASoC: fsl_micfil: use GENMASK to define register bit fields Sascha Hauer
2022-04-05 7:59 ` Sascha Hauer
2022-04-05 7:59 ` [PATCH v3 06/20] ASoC: fsl_micfil: use clear/set bits Sascha Hauer
2022-04-05 7:59 ` Sascha Hauer
2022-04-07 2:15 ` Shengjiu Wang
2022-04-05 7:59 ` [PATCH v3 07/20] ASoC: fsl_micfil: drop error messages from failed register accesses Sascha Hauer
2022-04-05 7:59 ` Sascha Hauer
2022-04-07 2:18 ` Shengjiu Wang
2022-04-05 7:59 ` [PATCH v3 08/20] ASoC: fsl_micfil: drop unused variables Sascha Hauer
2022-04-05 7:59 ` Sascha Hauer
2022-04-07 2:28 ` Shengjiu Wang
2022-04-05 7:59 ` [PATCH v3 09/20] dmaengine: imx: Move header to include/dma/ Sascha Hauer
2022-04-05 7:59 ` Sascha Hauer
2022-04-07 8:30 ` Vinod Koul
2022-04-07 8:30 ` Vinod Koul
2022-04-05 7:59 ` [PATCH v3 10/20] dmaengine: imx-sdma: error out on unsupported transfer types Sascha Hauer
2022-04-05 7:59 ` Sascha Hauer
2022-04-07 8:30 ` Vinod Koul
2022-04-07 8:30 ` Vinod Koul
2022-04-05 7:59 ` [PATCH v3 11/20] dmaengine: imx-sdma: Add multi fifo support Sascha Hauer
2022-04-05 7:59 ` Sascha Hauer
2022-04-07 2:23 ` [EXT] " Joy Zou
2022-04-07 7:27 ` Sascha Hauer
2022-04-07 7:27 ` Sascha Hauer
2022-04-07 8:31 ` Vinod Koul
2022-04-07 8:31 ` Vinod Koul
2022-04-05 7:59 ` [PATCH v3 12/20] ASoC: fsl_micfil: add " Sascha Hauer
2022-04-05 7:59 ` Sascha Hauer
2022-04-05 14:05 ` kernel test robot
2022-04-05 14:05 ` kernel test robot
2022-04-05 14:05 ` kernel test robot
2022-04-05 14:05 ` kernel test robot
2022-04-05 7:59 ` [PATCH v3 13/20] ASoC: fsl_micfil: use define for OSR default value Sascha Hauer
2022-04-05 7:59 ` Sascha Hauer
2022-04-07 2:46 ` Shengjiu Wang
2022-04-05 7:59 ` [PATCH v3 14/20] ASoC: fsl_micfil: Drop get_pdm_clk() Sascha Hauer
2022-04-05 7:59 ` Sascha Hauer
2022-04-07 3:41 ` Shengjiu Wang
2022-04-07 7:04 ` Sascha Hauer [this message]
2022-04-07 7:04 ` Sascha Hauer
2022-04-05 7:59 ` [PATCH v3 15/20] ASoC: fsl_micfil: simplify clock setting Sascha Hauer
2022-04-05 7:59 ` Sascha Hauer
2022-04-07 5:09 ` Shengjiu Wang
2022-04-07 7:08 ` Sascha Hauer
2022-04-07 7:08 ` Sascha Hauer
2022-04-05 7:59 ` [PATCH v3 16/20] ASoC: fsl_micfil: rework quality setting Sascha Hauer
2022-04-05 7:59 ` Sascha Hauer
2022-04-07 5:24 ` Shengjiu Wang
2022-04-05 7:59 ` [PATCH v3 17/20] ASoC: fsl_micfil: drop unused include Sascha Hauer
2022-04-05 7:59 ` Sascha Hauer
2022-04-07 5:26 ` Shengjiu Wang
2022-04-05 7:59 ` [PATCH v3 18/20] ASoC: fsl_micfil: drop only once used defines Sascha Hauer
2022-04-05 7:59 ` Sascha Hauer
2022-04-07 5:27 ` Shengjiu Wang
2022-04-05 7:59 ` [PATCH v3 19/20] ASoC: fsl_micfil: drop support for undocumented property Sascha Hauer
2022-04-05 7:59 ` Sascha Hauer
2022-04-07 5:30 ` Shengjiu Wang
2022-04-05 7:59 ` [PATCH v3 20/20] ASoC: fsl_micfil: fold fsl_set_clock_params() into its only user Sascha Hauer
2022-04-05 7:59 ` Sascha Hauer
2022-04-07 5:36 ` Shengjiu Wang
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=20220407070451.GY4012@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.