Lines Matching full:wow
1910 struct cfg80211_wowlan *wow, u32 *filter) in ath6kl_wow_usr() argument
1917 for (i = 0; i < wow->n_patterns; i++) { in ath6kl_wow_usr()
1927 for (pos = 0; pos < wow->patterns[i].pattern_len; pos++) { in ath6kl_wow_usr()
1928 if (wow->patterns[i].mask[pos / 8] & (0x1 << (pos % 8))) in ath6kl_wow_usr()
1934 * to the firmware. It means, given WOW patterns are always in ath6kl_wow_usr()
1939 wow->patterns[i].pattern_len, in ath6kl_wow_usr()
1941 wow->patterns[i].pattern, mask); in ath6kl_wow_usr()
1946 if (wow->disconnect) in ath6kl_wow_usr()
1949 if (wow->magic_pkt) in ath6kl_wow_usr()
1952 if (wow->gtk_rekey_failure) in ath6kl_wow_usr()
1955 if (wow->eap_identity_req) in ath6kl_wow_usr()
1958 if (wow->four_way_handshake) in ath6kl_wow_usr()
2002 ath6kl_err("failed to add WOW unicast IP pattern\n"); in ath6kl_wow_ap()
2012 ath6kl_err("failed to add WOW ARP pattern\n"); in ath6kl_wow_ap()
2025 ath6kl_err("failed to add WOW mDNS/SSDP/LLMNR pattern\n"); in ath6kl_wow_ap()
2035 ath6kl_err("failed to add WOW DHCP broadcast pattern\n"); in ath6kl_wow_ap()
2058 ath6kl_err("failed to add WOW unicast pattern\n"); in ath6kl_wow_sta()
2073 ath6kl_err("failed to add WOW mDNS/SSDP/LLMNR pattern\n"); in ath6kl_wow_sta()
2131 struct cfg80211_wowlan *wow, u32 *filter) in ath6kl_wow_suspend_vif() argument
2150 /* Clear existing WOW patterns */ in ath6kl_wow_suspend_vif()
2156 * Skip the default WOW pattern configuration in ath6kl_wow_suspend_vif()
2157 * if the driver receives any WOW patterns from in ath6kl_wow_suspend_vif()
2160 if (wow) in ath6kl_wow_suspend_vif()
2161 ret = ath6kl_wow_usr(ar, vif, wow, filter); in ath6kl_wow_suspend_vif()
2225 static int ath6kl_wow_suspend(struct ath6kl *ar, struct cfg80211_wowlan *wow) in ath6kl_wow_suspend() argument
2232 /* enter / leave wow suspend on first vif always */ in ath6kl_wow_suspend()
2238 if (wow && (wow->n_patterns > WOW_MAX_FILTERS_PER_LIST)) in ath6kl_wow_suspend()
2249 ret = ath6kl_wow_suspend_vif(vif, wow, &filter); in ath6kl_wow_suspend()
2323 ath6kl_warn("Failed to configure host sleep mode for wow resume: %d\n", in ath6kl_wow_resume()
2373 /* Disable WOW mode */ in ath6kl_cfg80211_deepsleep_suspend()
2425 struct cfg80211_wowlan *wow) in ath6kl_cfg80211_suspend() argument
2434 ath6kl_dbg(ATH6KL_DBG_SUSPEND, "wow mode suspend\n"); in ath6kl_cfg80211_suspend()
2441 ret = ath6kl_wow_suspend(ar, wow); in ath6kl_cfg80211_suspend()
2503 ath6kl_dbg(ATH6KL_DBG_SUSPEND, "wow mode resume\n"); in ath6kl_cfg80211_resume()
2507 ath6kl_warn("wow mode resume failed: %d\n", ret); in ath6kl_cfg80211_resume()
2545 struct cfg80211_wowlan *wow) in __ath6kl_cfg80211_suspend() argument
2551 return ath6kl_hif_suspend(ar, wow); in __ath6kl_cfg80211_suspend()
2569 * FIXME: WOW suspend mode is selected if the host sdio controller supports
2571 * wake up the host when WOW pattern matches. This causes sdio irq handler
2577 * In the current scenario, WOW resume should happen before start processing
2578 * any data from the target. So It's required to perform WOW resume in RX path.
2579 * Ideally we should perform WOW resume only in the actual platform
2580 * resume path. This area needs bit rework to avoid WOW resume in RX path.