[alsa-devel] [PATCH 1/2] ALSA: update sync header when streams are linked/unlinked
pierre-louis.bossart at linux.intel.com
Thu May 24 00:01:54 CEST 2012
>> If I understand you well, the sync id should be a unique identifier
>> shared by all linked streams in the same group.
> Just to clarify: does the sync id identify streams that are linked, or
> streams that can be started atomically when linked? Because at the
> moment, all drivers implement the latter. Furthermore, it's possible
> to link completely unrelated devices, so not even the card number could
> be used for the former.
I may have a very Intel-centric view, but it should be the former,
identify all streams currently linked. All devices controlled by the
same HDAudio controller can be linked at any time, providing the list of
possible streams to link to does help anyone since the information is
known by default.
However, I've also seen that a lot of non-HDAudio drivers seem to
provide the ability to link only playback and capture for synchronized
full-duplex operation. This is a much simpler case than multiple
playback/capture devices, most serial links (SSI, McBSP, SSP, etc)
provide such capabilities. Bottom line is that maybe the sync
information needs to provide both the devices that can be linked and the
devices currently linked.
Regarding the card #, linking between devices handled by different
controllers is not supported in hardware, only 32 devices controlled
with the same SSYNC register can be linked. In addition there are tests
in the HDAudio code to yank devices with a different card number from
the group (see azx_pcm_trigger() in hda_intel.c)
More information about the Alsa-devel