On 9/10/07, Rene Herman rene.herman@gmail.com wrote:
On 09/10/2007 11:40 PM, Krzysztof Helt wrote:
On Mon, 10 Sep 2007 20:29:21 +0200 Rene Herman rene.herman@gmail.com wrote:
Thanks to Krysztof Helt for pinpointing this problem.
Please change it to Krzysztof Helt
Oh, very sorry.
diff --git a/sound/isa/cs423x/cs4231_lib.c b/sound/isa/cs423x/cs4231_lib.c index 914d77b..9e8e0f1 100644 --- a/sound/isa/cs423x/cs4231_lib.c +++ b/sound/isa/cs423x/cs4231_lib.c @@ -346,16 +346,14 @@ void snd_cs4231_mce_down(struct snd_cs4231 *chip) } snd_cs4231_busy_wait(chip);
- /* calibration process */
The snd_cs4231_busy_wait(chip) is not needed any more here.
I believe it is. I glanced over the CS4232 datasheet (note how cs4232 uses snd-cs4332-lib) and it adds a point 4 (see page 53):
- Wait until 80h NOT returned
I think it is not needed to way for it with this 1ms delay.
Anyway, do you care to change this long snd_cs4231_busy_wait(chip) to the snd_cs4231_wait(chip) used in other functions to wait for ready bit?
I suppose the comment and code:
/* huh.. looks like this sequence is proper for CS4231A chip (GUS MAX) */ for (timeout = 5; timeout > 0; timeout--) cs4231_inb(chip, CS4231P(REGSEL));
was needed to fix what we fixed (delay checking bits until they are set). My aim is to completely eliminate snd_cs4231_busy_wait() and replace it with just snd_cs4231_wait().
Regards, Krzysztof