Russell,
On Sat, Sep 5, 2015 at 1:31 AM, Russell King - ARM Linux linux@arm.linux.org.uk wrote:
On Fri, Sep 04, 2015 at 07:03:11PM -0700, Doug Anderson wrote:
AKA: just replace your entire "compute_n" function with:
return (128 * freq) / 1000;
...and it's 100% simpler _and_ gets you a (marginally) better rate (assuming you really have 22.175000). If it was just about a 32000.222 vs 32000 I'd not be saying anything right now. It's about adding complexity.
No. It doesn't work for all cases. Do the calculations for every sample rate in those tables in the HDMI spec, and you'll find out why.
If you know the answer, just tell me. If you're talking about 74.25 vs. 32 kHz it is further evidence of what I'm saying. Note that picking only one of the two listed CTS values again puts you in a worse position for regenerating the proper audio clock then just using the default N=4096.
-Doug