Lines Matching full:wow
1907 struct cfg80211_wowlan *wow, u32 *filter) in ath6kl_wow_usr() argument
1914 for (i = 0; i < wow->n_patterns; i++) { in ath6kl_wow_usr()
1924 for (pos = 0; pos < wow->patterns[i].pattern_len; pos++) { in ath6kl_wow_usr()
1925 if (wow->patterns[i].mask[pos / 8] & (0x1 << (pos % 8))) in ath6kl_wow_usr()
1931 * to the firmware. It means, given WOW patterns are always in ath6kl_wow_usr()
1936 wow->patterns[i].pattern_len, in ath6kl_wow_usr()
1938 wow->patterns[i].pattern, mask); in ath6kl_wow_usr()
1943 if (wow->disconnect) in ath6kl_wow_usr()
1946 if (wow->magic_pkt) in ath6kl_wow_usr()
1949 if (wow->gtk_rekey_failure) in ath6kl_wow_usr()
1952 if (wow->eap_identity_req) in ath6kl_wow_usr()
1955 if (wow->four_way_handshake) in ath6kl_wow_usr()
1999 ath6kl_err("failed to add WOW unicast IP pattern\n"); in ath6kl_wow_ap()
2009 ath6kl_err("failed to add WOW ARP pattern\n"); in ath6kl_wow_ap()
2022 ath6kl_err("failed to add WOW mDNS/SSDP/LLMNR pattern\n"); in ath6kl_wow_ap()
2032 ath6kl_err("failed to add WOW DHCP broadcast pattern\n"); in ath6kl_wow_ap()
2055 ath6kl_err("failed to add WOW unicast pattern\n"); in ath6kl_wow_sta()
2070 ath6kl_err("failed to add WOW mDNS/SSDP/LLMNR pattern\n"); in ath6kl_wow_sta()
2128 struct cfg80211_wowlan *wow, u32 *filter) in ath6kl_wow_suspend_vif() argument
2147 /* Clear existing WOW patterns */ in ath6kl_wow_suspend_vif()
2153 * Skip the default WOW pattern configuration in ath6kl_wow_suspend_vif()
2154 * if the driver receives any WOW patterns from in ath6kl_wow_suspend_vif()
2157 if (wow) in ath6kl_wow_suspend_vif()
2158 ret = ath6kl_wow_usr(ar, vif, wow, filter); in ath6kl_wow_suspend_vif()
2222 static int ath6kl_wow_suspend(struct ath6kl *ar, struct cfg80211_wowlan *wow) in ath6kl_wow_suspend() argument
2229 /* enter / leave wow suspend on first vif always */ in ath6kl_wow_suspend()
2235 if (wow && (wow->n_patterns > WOW_MAX_FILTERS_PER_LIST)) in ath6kl_wow_suspend()
2246 ret = ath6kl_wow_suspend_vif(vif, wow, &filter); in ath6kl_wow_suspend()
2320 ath6kl_warn("Failed to configure host sleep mode for wow resume: %d\n", in ath6kl_wow_resume()
2370 /* Disable WOW mode */ in ath6kl_cfg80211_deepsleep_suspend()
2422 struct cfg80211_wowlan *wow) in ath6kl_cfg80211_suspend() argument
2431 ath6kl_dbg(ATH6KL_DBG_SUSPEND, "wow mode suspend\n"); in ath6kl_cfg80211_suspend()
2438 ret = ath6kl_wow_suspend(ar, wow); in ath6kl_cfg80211_suspend()
2500 ath6kl_dbg(ATH6KL_DBG_SUSPEND, "wow mode resume\n"); in ath6kl_cfg80211_resume()
2504 ath6kl_warn("wow mode resume failed: %d\n", ret); in ath6kl_cfg80211_resume()
2542 struct cfg80211_wowlan *wow) in __ath6kl_cfg80211_suspend() argument
2548 return ath6kl_hif_suspend(ar, wow); in __ath6kl_cfg80211_suspend()
2566 * FIXME: WOW suspend mode is selected if the host sdio controller supports
2568 * wake up the host when WOW pattern matches. This causes sdio irq handler
2574 * In the current scenario, WOW resume should happen before start processing
2575 * any data from the target. So It's required to perform WOW resume in RX path.
2576 * Ideally we should perform WOW resume only in the actual platform
2577 * resume path. This area needs bit rework to avoid WOW resume in RX path.