On Mon, Oct 26, 2020 at 9:31 PM Mark Brown <broonie@xxxxxxxxxx> wrote: > > On Mon, Oct 26, 2020 at 06:40:55PM +0800, Shengjiu Wang wrote: > > > +static int fsl_aud2htx_hw_params(struct snd_pcm_substream *substream, > > + struct snd_pcm_hw_params *params, > > + struct snd_soc_dai *cpu_dai) > > +{ > > + struct fsl_aud2htx *aud2htx = snd_soc_dai_get_drvdata(cpu_dai); > > + > > + /* DMA request when number of entries < WTMK_LOW */ > > + regmap_update_bits(aud2htx->regmap, AUD2HTX_CTRL_EXT, > > + AUD2HTX_CTRE_DT_MASK, 0); > > + > > + /* Disable interrupts*/ > > + regmap_update_bits(aud2htx->regmap, AUD2HTX_IRQ_MASK, > > + AUD2HTX_WM_HIGH_IRQ_MASK | > > + AUD2HTX_WM_LOW_IRQ_MASK | > > + AUD2HTX_OVF_MASK, > > + AUD2HTX_WM_HIGH_IRQ_MASK | > > + AUD2HTX_WM_LOW_IRQ_MASK | > > + AUD2HTX_OVF_MASK); > > + > > + /* Configur watermark */ > > + regmap_update_bits(aud2htx->regmap, AUD2HTX_CTRL_EXT, > > + AUD2HTX_CTRE_WL_MASK, > > + AUD2HTX_WTMK_LOW << AUD2HTX_CTRE_WL_SHIFT); > > + regmap_update_bits(aud2htx->regmap, AUD2HTX_CTRL_EXT, > > + AUD2HTX_CTRE_WH_MASK, > > + AUD2HTX_WTMK_HIGH << AUD2HTX_CTRE_WH_SHIFT); > > + return 0; > > +} > > This doesn't look like a hw_params operation - it doesn't appear to > reference the params at all, or even containt any conditional > statements. Shouldn't this be configured just once at driver load? Ok, I will update it. best regards wang shengjiu