aboutsummaryrefslogtreecommitdiffstats
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 13:21:36 -0400
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,
1294} 1294}
1295 1295
1296static struct fw_iso_context * 1296static struct fw_iso_context *
1297ohci_allocate_iso_context(struct fw_card *card, int type, 1297ohci_allocate_iso_context(struct fw_card *card, int type, size_t header_size)
1298 int sync, int tags, size_t header_size)
1299{ 1298{
1300 struct fw_ohci *ohci = fw_ohci(card); 1299 struct fw_ohci *ohci = fw_ohci(card);
1301 struct iso_context *ctx, *list; 1300 struct iso_context *ctx, *list;
@@ -1357,7 +1356,8 @@ ohci_allocate_iso_context(struct fw_card *card, int type,
1357 return ERR_PTR(retval); 1356 return ERR_PTR(retval);
1358} 1357}
1359 1358
1360static int ohci_start_iso(struct fw_iso_context *base, s32 cycle) 1359static int ohci_start_iso(struct fw_iso_context *base,
1360 s32 cycle, u32 sync, u32 tags)
1361{ 1361{
1362 struct iso_context *ctx = container_of(base, struct iso_context, base); 1362 struct iso_context *ctx = container_of(base, struct iso_context, base);
1363 struct fw_ohci *ohci = ctx->context.ohci; 1363 struct fw_ohci *ohci = ctx->context.ohci;
@@ -1379,8 +1379,7 @@ static int ohci_start_iso(struct fw_iso_context *base, s32 cycle)
1379 reg_write(ohci, OHCI1394_IsoRecvIntEventClear, 1 << index); 1379 reg_write(ohci, OHCI1394_IsoRecvIntEventClear, 1 << index);
1380 reg_write(ohci, OHCI1394_IsoRecvIntMaskSet, 1 << index); 1380 reg_write(ohci, OHCI1394_IsoRecvIntMaskSet, 1 << index);
1381 reg_write(ohci, context_match(ctx->context.regs), 1381 reg_write(ohci, context_match(ctx->context.regs),
1382 (ctx->base.tags << 28) | 1382 (tags << 28) | (sync << 8) | ctx->base.channel);
1383 (ctx->base.sync << 8) | ctx->base.channel);
1384 context_run(&ctx->context, 1383 context_run(&ctx->context,
1385 IR_CONTEXT_DUAL_BUFFER_MODE | 1384 IR_CONTEXT_DUAL_BUFFER_MODE |
1386 IR_CONTEXT_ISOCH_HEADER); 1385 IR_CONTEXT_ISOCH_HEADER);