aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/sound/firewire/amdtp-stream.h
diff options
context:
space:
mode:
authorTakashi Sakamoto <o-takashi@sakamocchi.jp>2019-10-18 00:54:22 +0900
committerTakashi Iwai <tiwai@suse.de>2019-10-18 04:35:53 +0200
commite229853d505d7ab77e9b68b0ac91d19f48fe6d80 (patch)
treee6c898c120d037f328d5b562b04b2870388d556b /sound/firewire/amdtp-stream.h
parentALSA: fireface: share PCM buffer size for both direction (diff)
downloadwireguard-linux-e229853d505d7ab77e9b68b0ac91d19f48fe6d80.tar.xz
wireguard-linux-e229853d505d7ab77e9b68b0ac91d19f48fe6d80.zip
ALSA: firewire-lib: schedule hardware IRQ according to the size of PCM period
ALSA IEC 61883-1/6 packet streaming engine controls 1394 OHCI controller to generate hardware IRQ for fixed number of isochronous packets (=16) since its first commit. This commit allow the engine to generate it for variable period according to the number of event to handle. For outgoing stream, internal calculator is used to check the accumulated events. For incoming stream, the number of data block in the packet of stream is used to check the accumulated events. When it's unavailable, fixed number of packet roughly calculated in advance is used instead of event counting. Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp> Link: https://lore.kernel.org/r/20191017155424.885-11-o-takashi@sakamocchi.jp Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/firewire/amdtp-stream.h')
-rw-r--r--sound/firewire/amdtp-stream.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/sound/firewire/amdtp-stream.h b/sound/firewire/amdtp-stream.h
index 8d541727e437..344818e936df 100644
--- a/sound/firewire/amdtp-stream.h
+++ b/sound/firewire/amdtp-stream.h
@@ -145,6 +145,9 @@ struct amdtp_stream {
int syt_override;
} rx;
} ctx_data;
+ unsigned int event_count;
+ unsigned int events_per_period;
+ unsigned int idle_irq_interval;
/* For CIP headers. */
unsigned int source_node_id_field;