[alsa-devel] [PATCH 17/17] firewire-lib: Add quirks for Fireworks chipset

Takashi Sakamoto o-takashi at sakamocchi.jp
Mon Nov 25 04:13:20 CET 2013


I forgot to add this comment about Fireworks quirk.

3. This module handle transmitted packets with both TAG0 and TAG1

In IEC 61883-1, each common isochronous packet (CIP) has 'tag' field in 
its packet header. The value is generally 0x01 (CIP header is included = 
TAG1). But Fireworks in IEC 61883-1/6 compliant mode transmits 'no data' 
packet with 0x00 (No CIP header is included = TAG0) but the packet 
includes CIP structure. For duplex streams synchronization, this packets 
must be handled.

Current firewire-lib supports packet with TAG1. This commit makes 
firewire-lib to support both TAG0 and TAG1 for this quirk.

When handling CIP packet with invalid header, this module already output 
'Invalid CIP header for AMDTP' log and continue to process.

(I note this 'no data' packet is out of specification because it 
includes no dummy data. In IEC 61883-6, 'no data' packet is generated by 
two ways. One is empty CIP packet defined in IEC 61883-1. Another is 
'special non-empty packet' defined in IEC 61883-6. Fireworks uses 
strange combination of them.)


Takashi Sakamoto
o-takashi at sakamocchi.jp

More information about the Alsa-devel mailing list