On Thu, Sep 17, 2015 at 10:42 AM, Mark Brown broonie@kernel.org wrote:
On Thu, Sep 17, 2015 at 06:29:58AM -0700, Caleb Crome wrote:
Yes, PM suspend and resume of device. We have some scripts (to be upstreamed later) that would play audio, suspend the device, resume the device and then retest the audio.
That seems particularly likely to result in multiple codecs getting out of phase alignment. i.e. when restarting, you want to be sure to follow the same startup procedure as the first time to make sure all codecs are aligned.
Why should resume be any different from initial system power up?
Heh, perhaps only because I don't understand how it all works :-)
The example I was thinking of is if the card gets partially powered down. For example, start recording on 8 channels (4 codecs, called 0, 1, 2, 3 in this example). At this point, all's well, and all 4 codecs are in perfect phase sync.
Then switch to playing 2 channel mode with codec 0 only. Since codecs 1, 2, 3 are no longer needed, then they could get powered down.
Then, switch back to 8 channel mode -- codec 0 is up and running, and now you want to turn on codecs 1, 2, 3. At this point it's literally impossible to resync them with codec 0 without powering down codec 0 and starting from scratch. This is true of the TLV320AIC seris of codecs. The CS53L30 has a dedicated sync pin on the other hand, so could perhaps recover gracefully in this situation.
-Caleb