Hi Markus, On Thu, Jun 02, 2016 at 10:03:21AM +0200, Code Kipper wrote: > snip > > + > > + /* Always favor the highest oversampling rate */ > > + for (i = (ARRAY_SIZE(sun4i_i2s_oversample_rates) - 1); i >= 0; i--) { > > + unsigned int oversample_rate = sun4i_i2s_oversample_rates[i]; > > + > > + bclk_div = sun4i_i2s_get_bclk_div(i2s, oversample_rate, > > + word_size); > > + mclk_div = sun4i_i2s_get_mclk_div(i2s, oversample_rate, > > + clk_rate, > > + rate); > > + > > + if ((bclk_div >= 0) && (mclk_div >= 0)) > > + break; > > + } > > + > > + if (bclk_div < 0 && mclk_div < 0) > > this wouldn't work if one of the divs returns a valid value and I saw > this when working with this driver. Use if ((bclk_div < 0) || > (mclk_div < 0)). Rest of the code looks code and I will have a go at > testing with it ASAP, Ack, thanks! Maxime -- Maxime Ripard, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
Attachment:
signature.asc
Description: PGP signature