On Mon, Sep 04, 2017 at 09:34:12PM +0200, Sergej Sawazki wrote: > + /* oversampling rate */ > + if (params_rate(params) > 96000) > + mode |= 0x0040; > + else if (params_rate(params) > 48000) > + mode |= 0x0020; Should this not have a case for <= 48k as well? To reset the mode if it was set on a previous playback. > + > /* bit size */ > switch (params_width(params)) { > case 16: > @@ -243,6 +250,7 @@ static int wm8741_hw_params(struct snd_pcm_substream *substream, > params_width(params), params_rate(params)); > > snd_soc_write(codec, WM8741_FORMAT_CONTROL, iface); > + snd_soc_write(codec, WM8741_MODE_CONTROL_1, mode); Better to use an update_bits rather than basically open-code it with read and then this write. Thanks, Charles _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel