summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Stefan Richter 2008-06-21 15:38:52 +0200
committerGravatar Dan Dennedy 2008-07-05 13:16:30 -0700
commit4ce429a797a7790d5c42cb4398b54b549a01d625 (patch)
treebc9637cdfcd51c1af5433874e79acb860e5895d0
parentPlug dir leak and initialize data structs (diff)
Fix raw1394_read_cycle_timer after juju integration
The ieee1394 version of raw1394_read_cycle_timer() fell over the cliff in "First cut at integrating juju". This brings it back and adds a juju version of it. Also correct a typo in the inline documentation: s/get/read/
-rw-r--r--src/dispatch.c11
-rw-r--r--src/fw-iso.c19
-rw-r--r--src/fw.h2
-rw-r--r--src/raw1394.h2
4 files changed, 33 insertions, 1 deletions
diff --git a/src/dispatch.c b/src/dispatch.c
index 4fe805e..aa40071 100644
--- a/src/dispatch.c
+++ b/src/dispatch.c
@@ -543,3 +543,14 @@ void raw1394_iso_shutdown(raw1394handle_t handle)
else
ieee1394_iso_shutdown(handle->mode.ieee1394);
}
+
+int raw1394_read_cycle_timer(raw1394handle_t handle,
+ u_int32_t *cycle_timer, u_int64_t *local_time)
+{
+ if (handle && handle->is_fw)
+ return fw_read_cycle_timer(handle->mode.fw,
+ cycle_timer, local_time);
+ else
+ return ieee1394_read_cycle_timer(handle->mode.ieee1394,
+ cycle_timer, local_time);
+}
diff --git a/src/fw-iso.c b/src/fw-iso.c
index a1794c3..f493444 100644
--- a/src/fw-iso.c
+++ b/src/fw-iso.c
@@ -529,3 +529,22 @@ void fw_iso_shutdown(fw_handle_t handle)
free(handle->iso.packets);
handle->iso.packets = NULL;
}
+
+int fw_read_cycle_timer(fw_handle_t handle,
+ u_int32_t *cycle_timer, u_int64_t *local_time)
+{
+#ifdef FW_CDEV_IOC_GET_CYCLE_TIMER /* added in kernel 2.6.24 */
+ int err;
+ struct fw_cdev_get_cycle_timer ctr = { 0 };
+
+ err = ioctl(handle->iso.fd, FW_CDEV_IOC_GET_CYCLE_TIMER, &ctr);
+ if (!err) {
+ *cycle_timer = ctr.cycle_timer;
+ *local_time = ctr.local_time;
+ }
+ return err;
+#else
+ errno = ENOSYS;
+ return -1;
+#endif /* defined(FW_CDEV_IOC_GET_CYCLE_TIMER) */
+}
diff --git a/src/fw.h b/src/fw.h
index e3196de..4ee9017 100644
--- a/src/fw.h
+++ b/src/fw.h
@@ -253,5 +253,7 @@ int fw_iso_recv_unlisten_channel(fw_handle_t handle,
int fw_iso_recv_set_channel_mask(fw_handle_t handle, u_int64_t mask);
void fw_iso_stop(fw_handle_t handle);
void fw_iso_shutdown(fw_handle_t handle);
+int fw_read_cycle_timer(fw_handle_t handle,
+ u_int32_t *cycle_timer, u_int64_t *local_time);
#endif
diff --git a/src/raw1394.h b/src/raw1394.h
index 1bcdf19..7cc07e6 100644
--- a/src/raw1394.h
+++ b/src/raw1394.h
@@ -329,7 +329,7 @@ void raw1394_iso_stop(raw1394handle_t handle);
void raw1394_iso_shutdown(raw1394handle_t handle);
/**
- * raw1394_get_cycle_timer - get the current value of the cycle timer
+ * raw1394_read_cycle_timer - get the current value of the cycle timer
* @handle: libraw1394 handle
* @cycle_timer: buffer for Isochronous Cycle Timer
* @local_time: buffer for local system time in microseconds since Epoch
2003-01-06back out previous commit - don't drop the legacy API just yetGravatar dmaas 6-173/+130 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@100 53a565d1-3bb7-0310-b661-cf11e63c67ab 2003-01-05emulate legacy ISO reception API on top of new rawiso APIGravatar dmaas 7-131/+174 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@99 53a565d1-3bb7-0310-b661-cf11e63c67ab 2002-12-24update iso API for multi-channel reception and new packet buffer layoutGravatar dmaas 4-123/+236 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@98 53a565d1-3bb7-0310-b661-cf11e63c67ab 2002-12-20oops, irq_interval needs to be signedGravatar anonymous 1-1/+1 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@97 53a565d1-3bb7-0310-b661-cf11e63c67ab 2002-12-20dmaas - renamed exported arm definitions into the raw1394_ namespace; ↵Gravatar anonymous 3-124/+48 brought kernel-raw1394.h back in sync with the kernel version git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@96 53a565d1-3bb7-0310-b661-cf11e63c67ab 2002-12-16rawiso updates:Gravatar dmaas 3-18/+25 - changed return type of rawiso xmit/recv handlers from int to enum raw1394_iso_disposition - added an ioctl (RAW1394_ISO_QUEUE_ACTIVITY) to force an ISO_ACTIVITY event into the queue. This is needed for handling RAW1394_ISO_DEFER, to kick us out of the next read() instead of sleeping forever. - removed references to "8-byte" isochronous header - this is an OHCI-specific implementation detail git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@95 53a565d1-3bb7-0310-b661-cf11e63c67ab 2002-11-18fix cplusplus extern C blockGravatar ddennedy 1-4/+4 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@94 53a565d1-3bb7-0310-b661-cf11e63c67ab 2002-11-18merged rawiso branchGravatar ddennedy 7-6/+488 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@93 53a565d1-3bb7-0310-b661-cf11e63c67ab