summaryrefslogtreecommitdiffstats
path: root/sound/firewire/bebob/bebob_stream.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/firewire/bebob/bebob_stream.c')
-rw-r--r--sound/firewire/bebob/bebob_stream.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/sound/firewire/bebob/bebob_stream.c b/sound/firewire/bebob/bebob_stream.c
index 975670a29a72..91306da1bafe 100644
--- a/sound/firewire/bebob/bebob_stream.c
+++ b/sound/firewire/bebob/bebob_stream.c
@@ -7,7 +7,7 @@
#include "./bebob.h"
-#define READY_TIMEOUT_MS 2500
+#define READY_TIMEOUT_MS 4000
/*
* NOTE;
@@ -644,12 +644,14 @@ int snd_bebob_stream_start_duplex(struct snd_bebob *bebob)
if (err < 0)
goto error;
- // Some devices transfer isoc packets with discontinuous counter in the beginning
- // of packet streaming.
- if (bebob->version < 2)
- tx_init_skip_cycles = 3200;
+ if (!bebob->discontinuity_quirk)
+ tx_init_skip_cycles = 0;
else
tx_init_skip_cycles = 16000;
+
+ // MEMO: In the early stage of packet streaming, the device transfers NODATA packets.
+ // After several hundred cycles, it begins to multiplex event into the packet with
+ // syt information.
err = amdtp_domain_start(&bebob->domain, tx_init_skip_cycles);
if (err < 0)
goto error;