diff options
author | Takashi Sakamoto <o-takashi@sakamocchi.jp> | 2017-03-31 15:06:07 +0200 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2017-04-05 21:31:40 +0200 |
commit | 3b196c394dd9f8f34064f5814bb287757c80ee35 (patch) | |
tree | 12d983371d7a3ed87e194b7021a1ecf8d00fe367 /include/asm-generic | |
parent | ALSA: firewire-lib: use the same prototype for functions to handle packet (diff) | |
download | linux-3b196c394dd9f8f34064f5814bb287757c80ee35.tar.xz linux-3b196c394dd9f8f34064f5814bb287757c80ee35.zip |
ALSA: firewire-lib: add no-header packet processing
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>
Diffstat (limited to 'include/asm-generic')
0 files changed, 0 insertions, 0 deletions