On Tue, 30 Sep 2003, Denis Sbragion wrote:

> Hello Jaroslav and Takashi,
>
> may be I finally nailed down the SPDIF problem with the TerraTec EWX 24/96.
> The problem is caused by the execution of a second CS8427 reset in the
> snd_cs8427_iec958_pcm() function in the cs8427.c file, exactly in the
> following lines of code:
>
> ...
> reset = chip->rate != rate;
> snd_i2c_unlock(cs8427->bus);
> if (reset)
>       snd_cs8427_reset(cs8427);
> ...
>
> Anyway, I think the problem arise elsewhere, within the ice1712.c file, in
> the snd_ice1712_playback_pro_hw_params(), where there are the following
> lines of code:
>
> ...
> if (ice->spdif.ops.setup_rate)
>       ice->spdif.ops.setup_rate(ice, params_rate(hw_params));
> ...

I moved these two lines to snd_ice1712_set_pro_rate() function.

> where the spdif rate is changed without checking if the rate is locked or
> not, i.e. without verifying if the is_pro_rate_locked() function returns
> true. Attached to this e-mail there's the obvious patch for this problem,
> changing the previous line into:
>
> ...
> if (ice->spdif.ops.setup_rate && !is_pro_rate_locked(ice))
>       ice->spdif.ops.setup_rate(ice, params_rate(hw_params));
> ...
>
> With this patch my EWX works flawless with ALSA 0.9.7, anyway I can't check
> if it is going to cause problems with other ICE1712 based soundcards. I
> hope this change is the right one, and not something that makes just my
> soundcard work.

But I think that we still need to investigate why the second reset of
the CS8427 chip failed.

                                                Jaroslav

-----
Jaroslav Kysela <[EMAIL PROTECTED]>
Linux Kernel Sound Maintainer
ALSA Project, SuSE Labs


-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel

Reply via email to