|
@@ -112,6 +112,14 @@ static int wlcore_smart_config_decode_event(struct wl1271 *wl,
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
+static void wlcore_event_time_sync(struct wl1271 *wl, u16 tsf_msb, u16 tsf_lsb)
|
|
|
+{
|
|
|
+ u32 clock;
|
|
|
+ /* convert the MSB+LSB to a u32 TSF value */
|
|
|
+ clock = (tsf_msb << 16) | tsf_lsb;
|
|
|
+ wl1271_info("TIME_SYNC_EVENT_ID: clock %u", clock);
|
|
|
+}
|
|
|
+
|
|
|
int wl18xx_process_mailbox_events(struct wl1271 *wl)
|
|
|
{
|
|
|
struct wl18xx_event_mailbox *mbox = wl->mbox;
|
|
@@ -128,6 +136,11 @@ int wl18xx_process_mailbox_events(struct wl1271 *wl)
|
|
|
wl18xx_scan_completed(wl, wl->scan_wlvif);
|
|
|
}
|
|
|
|
|
|
+ if (vector & TIME_SYNC_EVENT_ID)
|
|
|
+ wlcore_event_time_sync(wl,
|
|
|
+ mbox->time_sync_tsf_msb,
|
|
|
+ mbox->time_sync_tsf_lsb);
|
|
|
+
|
|
|
if (vector & RADAR_DETECTED_EVENT_ID) {
|
|
|
wl1271_info("radar event: channel %d type %s",
|
|
|
mbox->radar_channel,
|