diff options
author | Takashi Sakamoto <o-takashi@sakamocchi.jp> | 2014-04-25 17:45:03 +0400 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2014-05-26 16:24:33 +0400 |
commit | 7ab566453fe32d6745a82772a16e9bc34c5403a5 (patch) | |
tree | 30732973953135dc33d10b163b3624ef9cb867dd /sound/firewire/amdtp.c | |
parent | 315fd41fe9d43838ab5afd26c58d908d18313d9a (diff) | |
download | linux-7ab566453fe32d6745a82772a16e9bc34c5403a5.tar.xz |
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>
Diffstat (limited to 'sound/firewire/amdtp.c')
-rw-r--r-- | sound/firewire/amdtp.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/sound/firewire/amdtp.c b/sound/firewire/amdtp.c index 5b8846123474..dce4c6dd3f6d 100644 --- a/sound/firewire/amdtp.c +++ b/sound/firewire/amdtp.c @@ -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; |