aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKristian Høgsberg <krh@redhat.com>2007-06-13 18:31:59 -0400
committerKristian Høgsberg <krh@redhat.com>2007-06-13 18:31:59 -0400
commit78a77758c766142bb02dcc02a8aab7c331202b45 (patch)
tree494fd72a4eb4f48c4ce21c09a256704a6fb1bcb1
parentfcba731c21fc7aadd952a9e5fb4f7635e64af4e8 (diff)
downloadlibraw1394-78a77758c766142bb02dcc02a8aab7c331202b45.tar.gz
Update the juju implementation to follow the recent bitfield changes.
-rw-r--r--juju/juju.h2
-rw-r--r--juju/raw1394-iso.c23
2 files changed, 9 insertions, 16 deletions
diff --git a/juju/juju.h b/juju/juju.h
index c7a2ebd..8746ac2 100644
--- a/juju/juju.h
+++ b/juju/juju.h
@@ -29,8 +29,6 @@
#include "../src/csr.h"
#include "config.h"
-#define ACK_COMPLETE 1
-
#define ptr_to_u64(p) ((__u64)(unsigned long)(p))
#define u64_to_ptr(p) ((void *)(unsigned long)(p))
diff --git a/juju/raw1394-iso.c b/juju/raw1394-iso.c
index 5e18dab..b1e493c 100644
--- a/juju/raw1394-iso.c
+++ b/juju/raw1394-iso.c
@@ -40,13 +40,14 @@ queue_packet(raw1394handle_t handle,
int err;
p = &handle->iso.packets[handle->iso.packet_index];
- p->payload_length = length;
- p->interrupt =
- handle->iso.packet_phase == handle->iso.irq_interval - 1;
- p->skip = 0;
- p->tag = tag;
- p->sy = sy;
- p->header_length = header_length;
+ p->control =
+ FW_CDEV_ISO_PAYLOAD_LENGTH(length) |
+ FW_CDEV_ISO_TAG(tag) |
+ FW_CDEV_ISO_SY(sy) |
+ FW_CDEV_ISO_HEADER_LENGTH(header_length);
+
+ if (handle->iso.packet_phase == handle->iso.irq_interval - 1)
+ p->control |= FW_CDEV_ISO_INTERRUPT;
handle->iso.head += length;
handle->iso.packet_count++;
@@ -291,13 +292,7 @@ int raw1394_iso_xmit_sync(raw1394handle_t handle)
struct fw_cdev_queue_iso queue_iso;
int len;
- skip.payload_length = 0;
- skip.interrupt = 1;
- skip.skip = 1;
- skip.tag = 0;
- skip.sy = 0;
- skip.header_length = 0;
-
+ skip.control = FW_CDEV_ISO_INTERRUPT | FW_CDEV_ISO_SKIP;
queue_iso.packets = ptr_to_u64(&skip);
queue_iso.size = sizeof skip;
queue_iso.data = 0;