On Wed, 1 Oct 2014 17:05:32 +0300 Jyri Sarha <jsarha@xxxxxx> wrote: > > case AFMT_I2S: > > reg_write(priv, REG_MUX_AP, MUX_AP_SELECT_I2S); > > clksel_aip = AIP_CLKSEL_AIP_I2S; > > clksel_fs = AIP_CLKSEL_FS_ACLK; > > - cts_n = CTS_N_M(3) | CTS_N_K(3); > > + > > + /* with I2S input, the CTS_N predivider depends on > > + * the sample width */ > > + switch (priv->audio_sample_format) { > > + case SNDRV_PCM_FORMAT_S16_LE: > > + cts_n = CTS_N_M(3) | CTS_N_K(1); > > + break; > > + case SNDRV_PCM_FORMAT_S24_LE: > > + cts_n = CTS_N_M(3) | CTS_N_K(2); > > + break; > > + default: > > Setting the default here does not really help, because > priv->audio_sample_format is initialized to SNDRV_PCM_FORMAT_S24_LE in > tda998x_encoder_set_config(). But I am Ok with the default being > changed for 24 bit samples on i2s interface. > > > + case SNDRV_PCM_FORMAT_S32_LE: > > + cts_n = CTS_N_M(3) | CTS_N_K(3); > > + break; > > + } I looked again at the original driver and they set K = 1 for 16 bits and K = 3 for 24 or 32 bits. Anyway, letting K = 3 for 16 bits works for me, so, I will not change this code in the next version. Thanks. -- Ken ar c'hentañ | ** Breizh ha Linux atav! ** Jef | http://moinejf.free.fr/ _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel