On Tuesday 03 February 2009 13:41:37 Mark Brown wrote:
One more question: it seems that my rx1950 clocked in a way that I can't get precise divisor for 44100 and 22050 rates, but uda1380 driver propose them (look UDA1380_RATES define and struct snd_soc_dai uda1380_dai[]. How to exclude all rates except 16000 and 48000? Should I declare my own snd_soc_dai and copy necessary members from uda1380's one?
Set up additional constraints in your machine driver - see how drivers like wm8903 enforce symmetric configurations for playback and record for an example.
Cool, thanks :)
/* FIXME enable DAC_CLK */
- uda1380_write(codec, UDA1380_CLK, clk | R00_DAC_CLK);
- uda1380_write(codec, UDA1380_CLK, clk);
..are you sure this fix won't break existing users? Based on your explanation above (which should *really* go into the commit) I'd expect this to be conditional on something. It looks like what you really want to do here is clean up the FIXMEs :)
Yep, I'm pretty sure. It will restore WSPLL bit if it was set before. It only changes behavior of driver if SYSCLK was chosen. It seems that FIXMEs can be removed, I can resubmit patch if you want.
Btw, Philipp, what do you think about it?
Regards Vasily