aboutsummaryrefslogtreecommitdiffstats
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 16:03:04 -0500
commit98b6cbe83b6e8db54638746c9040c7962d96b322 (patch)
treead9d7587a5dde5510b402da8681e8c3d150d7ca5 /drivers/firewire/fw-transaction.h
parent21efb3cfc6ed49991638000f58bb23b838c76e25 (diff)
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 {
332#define FW_ISO_CONTEXT_TRANSMIT 0 332#define FW_ISO_CONTEXT_TRANSMIT 0
333#define FW_ISO_CONTEXT_RECEIVE 1 333#define FW_ISO_CONTEXT_RECEIVE 1
334 334
335#define FW_ISO_CONTEXT_MATCH_TAG0 1
336#define FW_ISO_CONTEXT_MATCH_TAG1 2
337#define FW_ISO_CONTEXT_MATCH_TAG2 4
338#define FW_ISO_CONTEXT_MATCH_TAG3 8
339#define FW_ISO_CONTEXT_MATCH_ALL_TAGS 15
340
335struct fw_iso_context; 341struct fw_iso_context;
336 342
337typedef void (*fw_iso_callback_t) (struct fw_iso_context *context, 343typedef void (*fw_iso_callback_t) (struct fw_iso_context *context,
@@ -357,6 +363,8 @@ struct fw_iso_context {
357 int type; 363 int type;
358 int channel; 364 int channel;
359 int speed; 365 int speed;
366 int sync;
367 int tags;
360 size_t header_size; 368 size_t header_size;
361 fw_iso_callback_t callback; 369 fw_iso_callback_t callback;
362 void *callback_data; 370 void *callback_data;
@@ -374,7 +382,8 @@ fw_iso_buffer_destroy(struct fw_iso_buffer *buffer, struct fw_card *card);
374 382
375struct fw_iso_context * 383struct fw_iso_context *
376fw_iso_context_create(struct fw_card *card, int type, 384fw_iso_context_create(struct fw_card *card, int type,
377 int channel, int speed, size_t header_size, 385 int channel, int speed,
386 int sync, int tags, size_t header_size,
378 fw_iso_callback_t callback, void *callback_data); 387 fw_iso_callback_t callback, void *callback_data);
379 388
380void 389void
@@ -425,7 +434,7 @@ struct fw_card_driver {
425 int node_id, int generation); 434 int node_id, int generation);
426 435
427 struct fw_iso_context * 436 struct fw_iso_context *
428 (*allocate_iso_context)(struct fw_card *card, 437 (*allocate_iso_context)(struct fw_card *card, int sync, int tags,
429 int type, size_t header_size); 438 int type, size_t header_size);
430 void (*free_iso_context)(struct fw_iso_context *ctx); 439 void (*free_iso_context)(struct fw_iso_context *ctx);
431 440