wl18xx: add radar detection implementation
Add support for CAC start/stop commands, and pass radar detection events from the fw to mac80211. Bump fw name (to wl18xx-fw-4.bin) and min fw version (to 8.9.*.*.11), and align event mailbox accordingly. Signed-off-by: Guy Mishol <guym@ti.com> Signed-off-by: Eliad Peller <eliad@wizery.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
This commit is contained in:
@@ -47,6 +47,19 @@ int wl18xx_wait_for_event(struct wl1271 *wl, enum wlcore_wait_event event,
|
||||
return wlcore_cmd_wait_for_event_or_timeout(wl, local_event, timeout);
|
||||
}
|
||||
|
||||
static const char *wl18xx_radar_type_decode(u8 radar_type)
|
||||
{
|
||||
switch (radar_type) {
|
||||
case RADAR_TYPE_REGULAR:
|
||||
return "REGULAR";
|
||||
case RADAR_TYPE_CHIRP:
|
||||
return "CHIRP";
|
||||
case RADAR_TYPE_NONE:
|
||||
default:
|
||||
return "N/A";
|
||||
}
|
||||
}
|
||||
|
||||
static int wlcore_smart_config_sync_event(struct wl1271 *wl, u8 sync_channel,
|
||||
u8 sync_band)
|
||||
{
|
||||
@@ -115,6 +128,14 @@ int wl18xx_process_mailbox_events(struct wl1271 *wl)
|
||||
wl18xx_scan_completed(wl, wl->scan_wlvif);
|
||||
}
|
||||
|
||||
if (vector & RADAR_DETECTED_EVENT_ID) {
|
||||
wl1271_info("radar event: channel %d type %s",
|
||||
mbox->radar_channel,
|
||||
wl18xx_radar_type_decode(mbox->radar_type));
|
||||
|
||||
ieee80211_radar_detected(wl->hw);
|
||||
}
|
||||
|
||||
if (vector & PERIODIC_SCAN_REPORT_EVENT_ID) {
|
||||
wl1271_debug(DEBUG_EVENT,
|
||||
"PERIODIC_SCAN_REPORT_EVENT (results %d)",
|
||||
|
Reference in New Issue
Block a user