ALSA: fireworks/firewire-lib: Add a quirk for empty packet with TAG0

Fireworks has a quirk to transmit empty packets with TAG0. This commit
adds handling this quirk for full duplex stream synchronization.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Takashi Sakamoto
2014-04-25 22:45:03 +09:00
committed by Takashi Iwai
parent 315fd41fe9
commit 7ab566453f
3 changed files with 10 additions and 3 deletions

View File

@@ -815,7 +815,7 @@ int amdtp_stream_start(struct amdtp_stream *s, int channel, int speed)
};
unsigned int header_size;
enum dma_data_direction dir;
int type, err;
int type, tag, err;
mutex_lock(&s->mutex);
@@ -869,9 +869,12 @@ int amdtp_stream_start(struct amdtp_stream *s, int channel, int speed)
} while (s->packet_index > 0);
/* NOTE: TAG1 matches CIP. This just affects in stream. */
tag = FW_ISO_CONTEXT_MATCH_TAG1;
if (s->flags & CIP_EMPTY_WITH_TAG0)
tag |= FW_ISO_CONTEXT_MATCH_TAG0;
s->callbacked = false;
err = fw_iso_context_start(s->context, -1, 0,
FW_ISO_CONTEXT_MATCH_TAG1);
err = fw_iso_context_start(s->context, -1, 0, tag);
if (err < 0)
goto err_context;