aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging/greybus/control.h
diff options
context:
space:
mode:
authorBryan O'Donoghue <bryan.odonoghue@linaro.org>2016-05-12 12:43:51 +0100
committerGreg Kroah-Hartman <gregkh@google.com>2016-05-14 18:26:24 +0200
commitfa433b619655bf2d253094074d132004a9fa479c (patch)
tree92d260093ea1daba0fa8ec6926982525ab37f1c0 /drivers/staging/greybus/control.h
parentgreybus: svc: Add TimeSync SVC commands (diff)
downloadlinux-dev-fa433b619655bf2d253094074d132004a9fa479c.tar.xz
linux-dev-fa433b619655bf2d253094074d132004a9fa479c.zip
greybus: control: Add TimeSync get-last-event logic
gb_control_timesync_get_last_event() sends a request asking for the FrameTime at the last SVC strobe event. The responding entity returns the FrameTime in the response phase of the request. Performing this operation to an Interface after previously: 1. Synchronizing time using timesync-enable/timesync-authoritative 2. Sending an SVC_TIMESYNC_PING will return the FrameTime of the responding entity at the SVC-ping. If this command is sent before synchronization has been initiated or successfully completed the responding entity should return an error code. - control.c::gb_control_timesync_get_last_event(u64 *frame_time) Returns the FrameTime at the last SVC_TIMESYNC_PING to the AP Module. Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> Reviewed-by: Vaibhav Hiremath <vaibhav.hiremath@linaro.org> Reviewed-by: Johan Hovold <johan@hovoldconsulting.com> Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Diffstat (limited to 'drivers/staging/greybus/control.h')
-rw-r--r--drivers/staging/greybus/control.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/staging/greybus/control.h b/drivers/staging/greybus/control.h
index 773cdde4dc44..02b583901029 100644
--- a/drivers/staging/greybus/control.h
+++ b/drivers/staging/greybus/control.h
@@ -43,6 +43,8 @@ int gb_control_get_manifest_operation(struct gb_interface *intf, void *manifest,
int gb_control_timesync_enable(struct gb_control *control, u8 count,
u64 frame_time, u32 strobe_delay, u32 refclk);
int gb_control_timesync_disable(struct gb_control *control);
+int gb_control_timesync_get_last_event(struct gb_control *control,
+ u64 *frame_time);
int gb_control_timesync_authoritative(struct gb_control *control,
u64 *frame_time, u8 count);