[alsa-devel] [PATCH] ad1838/cs4231 -- fix MCE timeout upon initial load
Rene Herman
rene.herman at gmail.com
Tue Sep 18 08:50:59 CEST 2007
On 09/18/2007 04:32 AM, Trent Piepho wrote:
> You can see the version in Hg after your patch was applied, and it uses
> schedule_timeout()
Yes, as said, that was a mismatch between the 2.6.22.x I was looking at and
the patch that removed the _interruptible() from a few months go already.
Also explains some of the mis-communication with Krzysztof earlier...
> I seem to have deleted the necessary unlock call before I sent the patch.
> One of the tests is inverted too. Here is a new version which fixes all
> that. The other problem you pointed at out in the current code about
> mistaken timeouts is fixed as well.
Yes, I agree with this, looking much better now. The removal of that last
INIT checking loop _might_ cause a timing difference if earlier we just
timed out in snd_ad1848_wait() but in that case, we're sol already anyway
and who cares. Comment is good as well. Maybe s/should/could/ in:
+ * has in fact not begun. It should take 128 (no AC) or 384 (AC) cycles
+ * for ACI to drop. This gives a wait of at most 70 ms with a more
+ * typical value of 3-9 ms.
By the way, as to the cs4231 mirror image -- the CS4248 was the only chip
that I didn't experience the autocalibration "(1)" timeout on using
cs4231_lib which seems to indicate that for the CS423x chips, ACI never
comes up at all when not auto-calibrating. Just for info, this same code
handles that just fine.
I just now tested this on a CS4231A driven by ad1848_lib -- is working fine.
Acked-by: Rene Herman <rene.herman at gmail.com>
Rene.
More information about the Alsa-devel
mailing list