summaryrefslogtreecommitdiff
path: root/drivers/firewire/fw-transaction.h
diff options
context:
space:
mode:
authorKristian Høgsberg <krh@redhat.com>2007-02-16 17:34:51 -0500
committerStefan Richter <stefanr@s5r6.in-berlin.de>2007-03-09 22:03:04 +0100
commit98b6cbe83b6e8db54638746c9040c7962d96b322 (patch)
treead9d7587a5dde5510b402da8681e8c3d150d7ca5 /drivers/firewire/fw-transaction.h
parent21efb3cfc6ed49991638000f58bb23b838c76e25 (diff)
downloadlinux-next-98b6cbe83b6e8db54638746c9040c7962d96b322.tar.gz
firewire: Implement sync and tag matching for isochronous receive.
Signed-off-by: Kristian Høgsberg <krh@redhat.com> Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Diffstat (limited to 'drivers/firewire/fw-transaction.h')
-rw-r--r--drivers/firewire/fw-transaction.h13
1 files changed, 11 insertions, 2 deletions
diff --git a/drivers/firewire/fw-transaction.h b/drivers/firewire/fw-transaction.h
index 22e45ccd7b1d..cbea845dc40a 100644
--- a/drivers/firewire/fw-transaction.h
+++ b/drivers/firewire/fw-transaction.h
@@ -332,6 +332,12 @@ struct fw_iso_packet {
#define FW_ISO_CONTEXT_TRANSMIT 0
#define FW_ISO_CONTEXT_RECEIVE 1
+#define FW_ISO_CONTEXT_MATCH_TAG0 1
+#define FW_ISO_CONTEXT_MATCH_TAG1 2
+#define FW_ISO_CONTEXT_MATCH_TAG2 4
+#define FW_ISO_CONTEXT_MATCH_TAG3 8
+#define FW_ISO_CONTEXT_MATCH_ALL_TAGS 15
+
struct fw_iso_context;
typedef void (*fw_iso_callback_t) (struct fw_iso_context *context,
@@ -357,6 +363,8 @@ struct fw_iso_context {
int type;
int channel;
int speed;
+ int sync;
+ int tags;
size_t header_size;
fw_iso_callback_t callback;
void *callback_data;
@@ -374,7 +382,8 @@ fw_iso_buffer_destroy(struct fw_iso_buffer *buffer, struct fw_card *card);
struct fw_iso_context *
fw_iso_context_create(struct fw_card *card, int type,
- int channel, int speed, size_t header_size,
+ int channel, int speed,
+ int sync, int tags, size_t header_size,
fw_iso_callback_t callback, void *callback_data);
void
@@ -425,7 +434,7 @@ struct fw_card_driver {
int node_id, int generation);
struct fw_iso_context *
- (*allocate_iso_context)(struct fw_card *card,
+ (*allocate_iso_context)(struct fw_card *card, int sync, int tags,
int type, size_t header_size);
void (*free_iso_context)(struct fw_iso_context *ctx);