Re: [PATCH v4 14/21] ASoC: fsl_micfil: Drop get_pdm_clk()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Apr 7, 2022 at 4:49 PM Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> 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 <s.hauer@xxxxxxxxxxxxxx>
>

Acked-by: Shengjiu Wang <shengjiu.wang@xxxxxxxxx>

Best regards
wang shengjiu

> ---
>
> Notes:
>     Changes since v3:
>     - Don't use uninitialized and no longer present struct fsl_micfil::osr
>
>  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 a35c1c580dbc1..3ddc988b4fe65 100644
> --- a/sound/soc/fsl/fsl_micfil.c
> +++ b/sound/soc/fsl/fsl_micfil.c
> @@ -110,42 +110,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)
>  {
> @@ -154,7 +118,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_DEFAULT * 8);
>
>         return clk_div;
>  }
> --
> 2.30.2
>
>



[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Pulse Audio]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux