3b196c394d
As long as investigating Fireface 400, IEC 61883-1/6 is not applied to its packet streaming protocol. Remarks of the specific protocol are: * Each packet doesn't include CIP headers. * 64,0 and 128,0 kHz are supported. * The device doesn't necessarily transmit 8,000 packets per second. * 0, 1, 2, 3 are used as tag for rx isochronous packets, however 0 is used for tx isochronous packets. On the other hand, there's a common feature. The number of data blocks transferred in a second is the same as sampling transmission frequency. Current ALSA IEC 61883-1/6 engine already has a method to calculate it and this driver can utilize it for rx packets, as well as tx packets. This commit adds support for the transferring protocol. CIP_NO_HEADERS flag is newly added. When this flag is set: * Both of 0 (without CIP header) and 1 (with CIP header) are used as tag to handle incoming isochronous packet. * 0 (without CIP header) is used as tag to transfer outgoing isochronous packet. * Skip CIP header evaluation. * Use unique way to calculate the quadlets of isochronous packet payload. In ALSA PCM interface, 128.0 kHz is not supported, and the ALSA IEC 61883-1/6 engine doesn't support 64.0 kHz. These modes are dropped. The sequence of rx packet has a remarkable quirk about tag. This will be described in later commits. Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp> Signed-off-by: Takashi Iwai <tiwai@suse.de> |
||
---|---|---|
.. | ||
bebob | ||
dice | ||
digi00x | ||
fireface | ||
fireworks | ||
motu | ||
oxfw | ||
tascam | ||
amdtp-am824.c | ||
amdtp-am824.h | ||
amdtp-stream-trace.h | ||
amdtp-stream.c | ||
amdtp-stream.h | ||
cmp.c | ||
cmp.h | ||
fcp.c | ||
fcp.h | ||
isight.c | ||
iso-resources.c | ||
iso-resources.h | ||
Kconfig | ||
lib.c | ||
lib.h | ||
Makefile | ||
packets-buffer.c | ||
packets-buffer.h |