summaryrefslogtreecommitdiff
path: root/drivers/firewire/fw-ohci.c
diff options
context:
space:
mode:
authorKristian Høgsberg <krh@redhat.com>2007-03-14 17:34:54 -0400
committerStefan Richter <stefanr@s5r6.in-berlin.de>2007-03-15 18:21:36 +0100
commiteb0306eac0aad0b7da18d8fbfb777f155b2c010d (patch)
treeac0d1922362804b9687deb5bffb8179ac670149a /drivers/firewire/fw-ohci.c
parentc70dc788fd8d3870b41231b6a53a64afb98cfd13 (diff)
firewire: Move sync and tag parameters to start_iso ioctl.
Setting these at create_context time or start_iso time doesn't matter much, but raw1394 sets them at start_iso time so that will be easier to emulate this way. 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-ohci.c')
-rw-r--r--drivers/firewire/fw-ohci.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/drivers/firewire/fw-ohci.c b/drivers/firewire/fw-ohci.c
index 17e13d099294..abb9dc12a613 100644
--- a/drivers/firewire/fw-ohci.c
+++ b/drivers/firewire/fw-ohci.c
@@ -1294,8 +1294,7 @@ static int handle_it_packet(struct context *context,
}
static struct fw_iso_context *
-ohci_allocate_iso_context(struct fw_card *card, int type,
- int sync, int tags, size_t header_size)
+ohci_allocate_iso_context(struct fw_card *card, int type, size_t header_size)
{
struct fw_ohci *ohci = fw_ohci(card);
struct iso_context *ctx, *list;
@@ -1357,7 +1356,8 @@ ohci_allocate_iso_context(struct fw_card *card, int type,
return ERR_PTR(retval);
}
-static int ohci_start_iso(struct fw_iso_context *base, s32 cycle)
+static int ohci_start_iso(struct fw_iso_context *base,
+ s32 cycle, u32 sync, u32 tags)
{
struct iso_context *ctx = container_of(base, struct iso_context, base);
struct fw_ohci *ohci = ctx->context.ohci;
@@ -1379,8 +1379,7 @@ static int ohci_start_iso(struct fw_iso_context *base, s32 cycle)
reg_write(ohci, OHCI1394_IsoRecvIntEventClear, 1 << index);
reg_write(ohci, OHCI1394_IsoRecvIntMaskSet, 1 << index);
reg_write(ohci, context_match(ctx->context.regs),
- (ctx->base.tags << 28) |
- (ctx->base.sync << 8) | ctx->base.channel);
+ (tags << 28) | (sync << 8) | ctx->base.channel);
context_run(&ctx->context,
IR_CONTEXT_DUAL_BUFFER_MODE |
IR_CONTEXT_ISOCH_HEADER);