[alsa-devel] [PATCH BAT V1 0/7] BAT: Add Basic Audio Tester command line tool

James Cameron quozl at laptop.org
Fri Sep 18 01:00:25 CEST 2015


On Thu, Sep 17, 2015 at 03:40:33PM -0700, Caleb Crome wrote:
> The more I think of this channel synchronization issue, the
> thorinier it gets.
> 
> Basically, with the TLV320AIC series of codecs, whenever any of the
> DAC or ADC channels are powered up on any codec, the MCLK needs to be
> stopped, all DACs/ADCs turned off, then configuration can happen, then
> all DACs/ADCs can be turned back on, then MCLK starts again.  That's
> the only way to ensure phase/delay accuracy among several codecs.
> 
> So, going from play-only to play+record requires MCLK be stopped, then
> restarted.

Aye.  Lots of clocks in lots of domains.  Also pay penalty of any
delays needed to stabilise ADCs.

Same general issue with many single codecs though, if capture vs
playback synchronisation required.

> Maybe it's not too terrible.  Any thoughts?

In this scenario my preference would be to always configure the codecs
and DMA for playback and capture, and do any gating higher in the
stack; e.g. send zero samples if there is no playback stream, and
discard samples if there is no capture stream.

-- 
James Cameron
http://quozl.linux.org.au/


More information about the Alsa-devel mailing list