xref: /linux/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pno.h (revision c6989fd55ceb633d2f18c12ffae01b9123125c89)
1ac55136fSArend Van Spriel /*
2ac55136fSArend Van Spriel  * Copyright (c) 2016 Broadcom
3ac55136fSArend Van Spriel  *
4ac55136fSArend Van Spriel  * Permission to use, copy, modify, and/or distribute this software for any
5ac55136fSArend Van Spriel  * purpose with or without fee is hereby granted, provided that the above
6ac55136fSArend Van Spriel  * copyright notice and this permission notice appear in all copies.
7ac55136fSArend Van Spriel  *
8ac55136fSArend Van Spriel  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9ac55136fSArend Van Spriel  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10ac55136fSArend Van Spriel  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
11ac55136fSArend Van Spriel  * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12ac55136fSArend Van Spriel  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
13ac55136fSArend Van Spriel  * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
14ac55136fSArend Van Spriel  * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15ac55136fSArend Van Spriel  */
16ac55136fSArend Van Spriel #ifndef _BRCMF_PNO_H
17ac55136fSArend Van Spriel #define _BRCMF_PNO_H
18ac55136fSArend Van Spriel 
19ac55136fSArend Van Spriel #define BRCMF_PNO_SCAN_COMPLETE			1
20ac55136fSArend Van Spriel #define BRCMF_PNO_MAX_PFN_COUNT			16
21*c6989fd5SArend Van Spriel #define BRCMF_PNO_SCHED_SCAN_MIN_PERIOD	10
22*c6989fd5SArend Van Spriel #define BRCMF_PNO_SCHED_SCAN_MAX_PERIOD	508
23ac55136fSArend Van Spriel 
24ac55136fSArend Van Spriel /**
25ac55136fSArend Van Spriel  * brcmf_pno_clean - disable and clear pno in firmware.
26ac55136fSArend Van Spriel  *
27ac55136fSArend Van Spriel  * @ifp: interface object used.
28ac55136fSArend Van Spriel  */
29ac55136fSArend Van Spriel int brcmf_pno_clean(struct brcmf_if *ifp);
30ac55136fSArend Van Spriel 
31ac55136fSArend Van Spriel /**
323e48611dSArend Van Spriel  * brcmf_pno_start_sched_scan - initiate scheduled scan on device.
33ac55136fSArend Van Spriel  *
34ac55136fSArend Van Spriel  * @ifp: interface object used.
353e48611dSArend Van Spriel  * @req: configuration parameters for scheduled scan.
36ac55136fSArend Van Spriel  */
373e48611dSArend Van Spriel int brcmf_pno_start_sched_scan(struct brcmf_if *ifp,
383e48611dSArend Van Spriel 			       struct cfg80211_sched_scan_request *req);
393e2e86abSArend Van Spriel 
40ac55136fSArend Van Spriel #endif /* _BRCMF_PNO_H */
41