xref: /wlan-driver/qcacld-3.0/components/pmo/dispatcher/inc/wlan_pmo_obj_mgmt_api.h (revision 5113495b16420b49004c444715d2daae2066e7dc)
1*5113495bSYour Name /*
2*5113495bSYour Name  * Copyright (c) 2017-2019, 2021 The Linux Foundation. All rights reserved.
3*5113495bSYour Name  * Copyright (c) 2022-2024 Qualcomm Innovation Center, Inc. All rights reserved.
4*5113495bSYour Name  *
5*5113495bSYour Name  * Permission to use, copy, modify, and/or distribute this software for
6*5113495bSYour Name  * any purpose with or without fee is hereby granted, provided that the
7*5113495bSYour Name  * above copyright notice and this permission notice appear in all
8*5113495bSYour Name  * copies.
9*5113495bSYour Name  *
10*5113495bSYour Name  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
11*5113495bSYour Name  * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
12*5113495bSYour Name  * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
13*5113495bSYour Name  * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
14*5113495bSYour Name  * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
15*5113495bSYour Name  * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
16*5113495bSYour Name  * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
17*5113495bSYour Name  * PERFORMANCE OF THIS SOFTWARE.
18*5113495bSYour Name  */
19*5113495bSYour Name /**
20*5113495bSYour Name  * DOC: declare utility API related to the pmo component
21*5113495bSYour Name  * called by other components
22*5113495bSYour Name  */
23*5113495bSYour Name 
24*5113495bSYour Name #ifndef _WLAN_PMO_OBJ_MGMT_API_H_
25*5113495bSYour Name #define _WLAN_PMO_OBJ_MGMT_API_H_
26*5113495bSYour Name 
27*5113495bSYour Name #include "wlan_pmo_common_public_struct.h"
28*5113495bSYour Name #include "wlan_pmo_obj_mgmt_public_struct.h"
29*5113495bSYour Name 
30*5113495bSYour Name #ifdef WLAN_POWER_MANAGEMENT_OFFLOAD
31*5113495bSYour Name /**
32*5113495bSYour Name  * pmo_init() - initialize pmo_ctx context.
33*5113495bSYour Name  *
34*5113495bSYour Name  * This function initializes the power manager offloads (a.k.a pmo) context.
35*5113495bSYour Name  *
36*5113495bSYour Name  * Return: QDF_STATUS_SUCCESS - in case of success else return error
37*5113495bSYour Name  */
38*5113495bSYour Name QDF_STATUS pmo_init(void);
39*5113495bSYour Name 
40*5113495bSYour Name /**
41*5113495bSYour Name  * pmo_deinit() - De initialize pmo_ctx context.
42*5113495bSYour Name  *
43*5113495bSYour Name  * This function De initializes power manager offloads (a.k.a pmo) context.
44*5113495bSYour Name  *
45*5113495bSYour Name  * Return: QDF_STATUS_SUCCESS - in case of success else return error
46*5113495bSYour Name  */
47*5113495bSYour Name QDF_STATUS pmo_deinit(void);
48*5113495bSYour Name 
49*5113495bSYour Name /**
50*5113495bSYour Name  * pmo_psoc_object_created_notification(): pmo psoc create handler
51*5113495bSYour Name  * @psoc: psoc which is going to created by objmgr
52*5113495bSYour Name  * @arg: argument for vdev create handler
53*5113495bSYour Name  *
54*5113495bSYour Name  * PMO, register this api with objmgr to detect psoc is created in fwr
55*5113495bSYour Name  *
56*5113495bSYour Name  * Return QDF_STATUS status in case of success else return error
57*5113495bSYour Name  */
58*5113495bSYour Name QDF_STATUS pmo_psoc_object_created_notification(struct wlan_objmgr_psoc *psoc,
59*5113495bSYour Name 						void *arg);
60*5113495bSYour Name 
61*5113495bSYour Name /**
62*5113495bSYour Name  * pmo_psoc_object_destroyed_notification(): pmo psoc delete handler
63*5113495bSYour Name  * @psoc: psoc which is going to delete by objmgr
64*5113495bSYour Name  * @arg: argument for vdev delete handler
65*5113495bSYour Name  *
66*5113495bSYour Name  * PMO, register this api with objmgr to detect psoc is deleted in fwr
67*5113495bSYour Name  *
68*5113495bSYour Name  * Return QDF_STATUS status in case of success else return error
69*5113495bSYour Name  */
70*5113495bSYour Name QDF_STATUS pmo_psoc_object_destroyed_notification(struct wlan_objmgr_psoc *psoc,
71*5113495bSYour Name 						  void *arg);
72*5113495bSYour Name 
73*5113495bSYour Name /**
74*5113495bSYour Name  * pmo_vdev_object_created_notification(): pmo vdev create handler
75*5113495bSYour Name  * @vdev: vdev which is going to created by objmgr
76*5113495bSYour Name  * @arg: argument for vdev create handler
77*5113495bSYour Name  *
78*5113495bSYour Name  * PMO, register this api with objmgr to detect vdev is created in fwr
79*5113495bSYour Name  *
80*5113495bSYour Name  * Return QDF_STATUS status in case of success else return error
81*5113495bSYour Name  */
82*5113495bSYour Name QDF_STATUS pmo_vdev_object_created_notification(struct wlan_objmgr_vdev *vdev,
83*5113495bSYour Name 						void *arg);
84*5113495bSYour Name 
85*5113495bSYour Name /**
86*5113495bSYour Name  * pmo_vdev_ready() - handles vdev ready in firmware event
87*5113495bSYour Name  * @vdev: vdev which is ready in firmware
88*5113495bSYour Name  * @bridgeaddr: Bridge MAC address
89*5113495bSYour Name  *
90*5113495bSYour Name  * Objmgr vdev_create event does not guarantee vdev creation in firmware.
91*5113495bSYour Name  * Any logic that would normally go in the vdev_create event, but needs to
92*5113495bSYour Name  * communicate with firmware, needs to go here instead.
93*5113495bSYour Name  *
94*5113495bSYour Name  * Return QDF_STATUS
95*5113495bSYour Name  */
96*5113495bSYour Name QDF_STATUS pmo_vdev_ready(struct wlan_objmgr_vdev *vdev,
97*5113495bSYour Name 			  struct qdf_mac_addr *bridgeaddr);
98*5113495bSYour Name 
99*5113495bSYour Name /**
100*5113495bSYour Name  * pmo_vdev_object_destroyed_notification(): pmo vdev delete handler
101*5113495bSYour Name  * @vdev: vdev which is going to delete by objmgr
102*5113495bSYour Name  * @arg: argument for vdev delete handler
103*5113495bSYour Name  *
104*5113495bSYour Name  * PMO, register this api with objmgr to detect vdev is deleted in fwr
105*5113495bSYour Name  *
106*5113495bSYour Name  * Return QDF_STATUS status in case of success else return error
107*5113495bSYour Name  */
108*5113495bSYour Name QDF_STATUS pmo_vdev_object_destroyed_notification(struct wlan_objmgr_vdev *vdev,
109*5113495bSYour Name 						  void *arg);
110*5113495bSYour Name 
111*5113495bSYour Name /**
112*5113495bSYour Name  * pmo_register_suspend_handler(): register suspend handler for components
113*5113495bSYour Name  * @id: component id
114*5113495bSYour Name  * @handler: resume handler for the mention component
115*5113495bSYour Name  * @arg: argument to pass while calling resume handler
116*5113495bSYour Name  *
117*5113495bSYour Name  * Return QDF_STATUS status -in case of success else return error
118*5113495bSYour Name  */
119*5113495bSYour Name QDF_STATUS pmo_register_suspend_handler(enum wlan_umac_comp_id id,
120*5113495bSYour Name 					pmo_psoc_suspend_handler handler,
121*5113495bSYour Name 					void *arg);
122*5113495bSYour Name 
123*5113495bSYour Name /**
124*5113495bSYour Name  * pmo_unregister_suspend_handler():unregister suspend handler for components
125*5113495bSYour Name  * @id: component id
126*5113495bSYour Name  * @handler: resume handler for the mention component
127*5113495bSYour Name  *
128*5113495bSYour Name  * Return QDF_STATUS status -in case of success else return error
129*5113495bSYour Name  */
130*5113495bSYour Name QDF_STATUS pmo_unregister_suspend_handler(enum wlan_umac_comp_id id,
131*5113495bSYour Name 					  pmo_psoc_suspend_handler handler);
132*5113495bSYour Name 
133*5113495bSYour Name /**
134*5113495bSYour Name  * pmo_register_resume_handler(): API to register resume handler for components
135*5113495bSYour Name  * @id: component id
136*5113495bSYour Name  * @handler: resume handler for the mention component
137*5113495bSYour Name  * @arg: argument to pass while calling resume handler
138*5113495bSYour Name  *
139*5113495bSYour Name  * Return QDF_STATUS status - in case of success else return error
140*5113495bSYour Name  */
141*5113495bSYour Name QDF_STATUS pmo_register_resume_handler(enum wlan_umac_comp_id id,
142*5113495bSYour Name 				       pmo_psoc_resume_handler handler,
143*5113495bSYour Name 				       void *arg);
144*5113495bSYour Name 
145*5113495bSYour Name /**
146*5113495bSYour Name  * pmo_unregister_resume_handler(): unregister resume handler for components
147*5113495bSYour Name  * @id: component id
148*5113495bSYour Name  * @handler: resume handler for the mention component
149*5113495bSYour Name  *
150*5113495bSYour Name  * Return QDF_STATUS status - in case of success else return error
151*5113495bSYour Name  */
152*5113495bSYour Name QDF_STATUS pmo_unregister_resume_handler(enum wlan_umac_comp_id id,
153*5113495bSYour Name 					 pmo_psoc_resume_handler handler);
154*5113495bSYour Name 
155*5113495bSYour Name /**
156*5113495bSYour Name  * pmo_suspend_all_components(): API to suspend all component
157*5113495bSYour Name  * @psoc:objmgr psoc
158*5113495bSYour Name  * @suspend_type: Tell suspend type (apps suspend / runtime suspend)
159*5113495bSYour Name  *
160*5113495bSYour Name  * Return QDF_STATUS status - in case of success else return error
161*5113495bSYour Name  */
162*5113495bSYour Name QDF_STATUS pmo_suspend_all_components(struct wlan_objmgr_psoc *psoc,
163*5113495bSYour Name 				      enum qdf_suspend_type suspend_type);
164*5113495bSYour Name 
165*5113495bSYour Name /**
166*5113495bSYour Name  * pmo_resume_all_components(): API to resume all component
167*5113495bSYour Name  * @psoc:objmgr psoc
168*5113495bSYour Name  * @suspend_type: Tell suspend type from which resume is required
169*5113495bSYour Name  *
170*5113495bSYour Name  * Return QDF_STATUS status - in case of success else return error
171*5113495bSYour Name  */
172*5113495bSYour Name QDF_STATUS pmo_resume_all_components(struct wlan_objmgr_psoc *psoc,
173*5113495bSYour Name 				     enum qdf_suspend_type suspend_type);
174*5113495bSYour Name 
175*5113495bSYour Name /**
176*5113495bSYour Name  * pmo_register_pause_bitmap_notifier(): API to register pause bitmap notifier
177*5113495bSYour Name  * @psoc: objmgr psoc handle
178*5113495bSYour Name  * @handler: pause bitmap updated notifier
179*5113495bSYour Name  *
180*5113495bSYour Name  * Return QDF_STATUS status - in case of success else return error
181*5113495bSYour Name  */
182*5113495bSYour Name QDF_STATUS pmo_register_pause_bitmap_notifier(struct wlan_objmgr_psoc *psoc,
183*5113495bSYour Name 					      pmo_notify_pause_bitmap handler);
184*5113495bSYour Name 
185*5113495bSYour Name /**
186*5113495bSYour Name  * pmo_unregister_pause_bitmap_notifier(): API to unregister pause bitmap
187*5113495bSYour Name  * notifier
188*5113495bSYour Name  * @psoc: objmgr psoc handle
189*5113495bSYour Name  *
190*5113495bSYour Name  * Return QDF_STATUS status - in case of success else return error
191*5113495bSYour Name  */
192*5113495bSYour Name QDF_STATUS pmo_unregister_pause_bitmap_notifier(struct wlan_objmgr_psoc *psoc);
193*5113495bSYour Name 
194*5113495bSYour Name /**
195*5113495bSYour Name  * pmo_register_get_pause_bitmap(): API to get register pause bitmap notifier
196*5113495bSYour Name  * @psoc: objmgr psoc handle
197*5113495bSYour Name  * @handler: pause bitmap updated notifier
198*5113495bSYour Name  *
199*5113495bSYour Name  * Return QDF_STATUS status - in case of success else return error
200*5113495bSYour Name  */
201*5113495bSYour Name QDF_STATUS pmo_register_get_pause_bitmap(struct wlan_objmgr_psoc *psoc,
202*5113495bSYour Name 					 pmo_get_pause_bitmap handler);
203*5113495bSYour Name 
204*5113495bSYour Name /**
205*5113495bSYour Name  * pmo_unregister_get_pause_bitmap(): API to unregister get pause bitmap
206*5113495bSYour Name  * callback
207*5113495bSYour Name  * @psoc: objmgr psoc handle
208*5113495bSYour Name  *
209*5113495bSYour Name  * Return QDF_STATUS status - in case of success else return error
210*5113495bSYour Name  */
211*5113495bSYour Name QDF_STATUS pmo_unregister_get_pause_bitmap(struct wlan_objmgr_psoc *psoc);
212*5113495bSYour Name 
213*5113495bSYour Name /**
214*5113495bSYour Name  * pmo_register_get_dtim_period_callback(): API to register callback that gets
215*5113495bSYour Name  * dtim period from mlme
216*5113495bSYour Name  * @psoc: objmgr psoc handle
217*5113495bSYour Name  * @handler: pointer to the callback function
218*5113495bSYour Name  *
219*5113495bSYour Name  * Return: QDF_STATUS_SUCCESS in case of success else error
220*5113495bSYour Name  */
221*5113495bSYour Name QDF_STATUS pmo_register_get_dtim_period_callback(struct wlan_objmgr_psoc *psoc,
222*5113495bSYour Name 						 pmo_get_dtim_period handler);
223*5113495bSYour Name 
224*5113495bSYour Name /**
225*5113495bSYour Name  * pmo_unregister_get_dtim_period_callback(): API to unregister callback that
226*5113495bSYour Name  * gets dtim period from mlme
227*5113495bSYour Name  * @psoc: objmgr psoc handle
228*5113495bSYour Name  *
229*5113495bSYour Name  * Return: QDF_STATUS_SUCCESS in case of success else error
230*5113495bSYour Name  */
231*5113495bSYour Name QDF_STATUS
232*5113495bSYour Name pmo_unregister_get_dtim_period_callback(struct wlan_objmgr_psoc *psoc);
233*5113495bSYour Name 
234*5113495bSYour Name /**
235*5113495bSYour Name  * pmo_register_get_beacon_interval_callback(): API to register callback that
236*5113495bSYour Name  * gets beacon interval from mlme
237*5113495bSYour Name  * @psoc: objmgr psoc handle
238*5113495bSYour Name  * @handler: pointer to the callback function
239*5113495bSYour Name  *
240*5113495bSYour Name  * Return: QDF_STATUS_SUCCESS in case of success else error
241*5113495bSYour Name  */
242*5113495bSYour Name QDF_STATUS
243*5113495bSYour Name pmo_register_get_beacon_interval_callback(struct wlan_objmgr_psoc *psoc,
244*5113495bSYour Name 					  pmo_get_beacon_interval handler);
245*5113495bSYour Name 
246*5113495bSYour Name /**
247*5113495bSYour Name  * pmo_unregister_get_beacon_interval_callback(): API to unregister callback
248*5113495bSYour Name  * that gets beacon interval from mlme
249*5113495bSYour Name  * @psoc: objmgr psoc handle
250*5113495bSYour Name  *
251*5113495bSYour Name  * Return: QDF_STATUS_SUCCESS in case of success else error
252*5113495bSYour Name  */
253*5113495bSYour Name QDF_STATUS
254*5113495bSYour Name pmo_unregister_get_beacon_interval_callback(struct wlan_objmgr_psoc *psoc);
255*5113495bSYour Name 
256*5113495bSYour Name /**
257*5113495bSYour Name  * pmo_register_is_device_in_low_pwr_mode(): API to get register device  power
258*5113495bSYour Name  * save check notifier.
259*5113495bSYour Name  * @psoc: objmgr psoc handle
260*5113495bSYour Name  * @handler: device power save check notifier
261*5113495bSYour Name  *
262*5113495bSYour Name  * Return QDF_STATUS status - in case of success else return error
263*5113495bSYour Name  */
264*5113495bSYour Name QDF_STATUS pmo_register_is_device_in_low_pwr_mode(struct wlan_objmgr_psoc *psoc,
265*5113495bSYour Name 					 pmo_is_device_in_low_pwr_mode handler);
266*5113495bSYour Name 
267*5113495bSYour Name /**
268*5113495bSYour Name  * pmo_unregister_is_device_in_low_pwr_mode(): API to unregister device  power
269*5113495bSYour Name  * save check notifier.
270*5113495bSYour Name  * @psoc: objmgr psoc handle
271*5113495bSYour Name  *
272*5113495bSYour Name  * Return QDF_STATUS status - in case of success else return error
273*5113495bSYour Name  */
274*5113495bSYour Name QDF_STATUS
275*5113495bSYour Name pmo_unregister_is_device_in_low_pwr_mode(struct wlan_objmgr_psoc *psoc);
276*5113495bSYour Name 
277*5113495bSYour Name /**
278*5113495bSYour Name  * wlan_pmo_get_sap_mode_bus_suspend(): API to get SAP bus suspend config
279*5113495bSYour Name  * @psoc: objmgr psoc handle
280*5113495bSYour Name  *
281*5113495bSYour Name  * Return true in case of peer connected SAP bus suspend is allowed
282*5113495bSYour Name  * else return false
283*5113495bSYour Name  */
284*5113495bSYour Name bool
285*5113495bSYour Name wlan_pmo_get_sap_mode_bus_suspend(struct wlan_objmgr_psoc *psoc);
286*5113495bSYour Name 
287*5113495bSYour Name /**
288*5113495bSYour Name  * wlan_pmo_get_go_mode_bus_suspend(): API to get GO bus suspend config
289*5113495bSYour Name  * @psoc: objmgr psoc handle
290*5113495bSYour Name  *
291*5113495bSYour Name  * Return true in case of peer connected GO bus suspend is allowed
292*5113495bSYour Name  * else return false
293*5113495bSYour Name  */
294*5113495bSYour Name bool
295*5113495bSYour Name wlan_pmo_get_go_mode_bus_suspend(struct wlan_objmgr_psoc *psoc);
296*5113495bSYour Name 
297*5113495bSYour Name /*
298*5113495bSYour Name  * wlan_pmo_no_op_on_page_fault() - Whether to ignore page fault wakeups
299*5113495bSYour Name  * @psoc: PSOC object manager
300*5113495bSYour Name  *
301*5113495bSYour Name  * Return: true if host has to ignore page fault wakeup events else false.
302*5113495bSYour Name  */
303*5113495bSYour Name bool wlan_pmo_no_op_on_page_fault(struct wlan_objmgr_psoc *psoc);
304*5113495bSYour Name 
305*5113495bSYour Name /*
306*5113495bSYour Name  * wlan_pmo_enable_ssr_on_page_fault: Enable/disable ssr on pagefault
307*5113495bSYour Name  * @psoc: objmgr psoc
308*5113495bSYour Name  *
309*5113495bSYour Name  * Return: True if SSR is enabled on pagefault
310*5113495bSYour Name  */
311*5113495bSYour Name bool wlan_pmo_enable_ssr_on_page_fault(struct wlan_objmgr_psoc *psoc);
312*5113495bSYour Name 
313*5113495bSYour Name /*
314*5113495bSYour Name  * wlan_pmo_get_min_pagefault_wakeups_for_action() - get min pagefault wakeups
315*5113495bSYour Name  * for host to initiate action
316*5113495bSYour Name  * @psoc: objmgr psoc
317*5113495bSYour Name  *
318*5113495bSYour Name  * Return: Min pagefault wakeups for action
319*5113495bSYour Name  */
320*5113495bSYour Name uint8_t
321*5113495bSYour Name wlan_pmo_get_min_pagefault_wakeups_for_action(struct wlan_objmgr_psoc *psoc);
322*5113495bSYour Name 
323*5113495bSYour Name /*
324*5113495bSYour Name  * wlan_pmo_get_interval_for_pagefault_wakeup_counts: get ssr interval for
325*5113495bSYour Name  * pagefault
326*5113495bSYour Name  * @psoc: objmgr psoc
327*5113495bSYour Name  *
328*5113495bSYour Name  * Return: SSR interval for pagefault
329*5113495bSYour Name  */
330*5113495bSYour Name uint32_t
331*5113495bSYour Name wlan_pmo_get_interval_for_pagefault_wakeup_counts(
332*5113495bSYour Name 						struct wlan_objmgr_psoc *psoc);
333*5113495bSYour Name 
334*5113495bSYour Name QDF_STATUS wlan_pmo_get_listen_interval(struct wlan_objmgr_vdev *vdev,
335*5113495bSYour Name 					uint32_t *listen_interval);
336*5113495bSYour Name 
337*5113495bSYour Name /**
338*5113495bSYour Name  * wlan_pmo_set_ps_params() - Set vdev OPM params
339*5113495bSYour Name  * @vdev: pointer to vdev object
340*5113495bSYour Name  * @ps_params: pointer to OPM params
341*5113495bSYour Name  *
342*5113495bSYour Name  * Return: None
343*5113495bSYour Name  */
344*5113495bSYour Name void wlan_pmo_set_ps_params(struct wlan_objmgr_vdev *vdev,
345*5113495bSYour Name 			    struct pmo_ps_params *ps_params);
346*5113495bSYour Name 
347*5113495bSYour Name /**
348*5113495bSYour Name  * wlan_pmo_get_ps_params() - Get vdev OPM params
349*5113495bSYour Name  * @vdev: pointer to vdev object
350*5113495bSYour Name  * @ps_params: Pointer to get OPM params
351*5113495bSYour Name  *
352*5113495bSYour Name  * Return: QDF Status
353*5113495bSYour Name  */
354*5113495bSYour Name QDF_STATUS wlan_pmo_get_ps_params(struct wlan_objmgr_vdev *vdev,
355*5113495bSYour Name 				  struct pmo_ps_params *ps_params);
356*5113495bSYour Name 
357*5113495bSYour Name #else /* WLAN_POWER_MANAGEMENT_OFFLOAD */
358*5113495bSYour Name 
pmo_init(void)359*5113495bSYour Name static inline QDF_STATUS pmo_init(void)
360*5113495bSYour Name {
361*5113495bSYour Name 	return QDF_STATUS_SUCCESS;
362*5113495bSYour Name }
363*5113495bSYour Name 
pmo_deinit(void)364*5113495bSYour Name static inline QDF_STATUS pmo_deinit(void)
365*5113495bSYour Name {
366*5113495bSYour Name 	return QDF_STATUS_SUCCESS;
367*5113495bSYour Name }
368*5113495bSYour Name 
369*5113495bSYour Name static inline QDF_STATUS
pmo_psoc_object_created_notification(struct wlan_objmgr_psoc * psoc,void * arg)370*5113495bSYour Name pmo_psoc_object_created_notification(struct wlan_objmgr_psoc *psoc, void *arg)
371*5113495bSYour Name {
372*5113495bSYour Name 	return QDF_STATUS_SUCCESS;
373*5113495bSYour Name }
374*5113495bSYour Name 
375*5113495bSYour Name static inline QDF_STATUS
pmo_psoc_object_destroyed_notification(struct wlan_objmgr_psoc * psoc,void * arg)376*5113495bSYour Name pmo_psoc_object_destroyed_notification(struct wlan_objmgr_psoc *psoc, void *arg)
377*5113495bSYour Name {
378*5113495bSYour Name 	return QDF_STATUS_SUCCESS;
379*5113495bSYour Name }
380*5113495bSYour Name 
381*5113495bSYour Name static inline QDF_STATUS
pmo_vdev_object_created_notification(struct wlan_objmgr_vdev * vdev,void * arg)382*5113495bSYour Name pmo_vdev_object_created_notification(struct wlan_objmgr_vdev *vdev, void *arg)
383*5113495bSYour Name {
384*5113495bSYour Name 	return QDF_STATUS_SUCCESS;
385*5113495bSYour Name }
386*5113495bSYour Name 
387*5113495bSYour Name static inline QDF_STATUS
pmo_vdev_ready(struct wlan_objmgr_vdev * vdev,struct qdf_mac_addr * bridgeaddr)388*5113495bSYour Name pmo_vdev_ready(struct wlan_objmgr_vdev *vdev, struct qdf_mac_addr *bridgeaddr)
389*5113495bSYour Name {
390*5113495bSYour Name 	return QDF_STATUS_SUCCESS;
391*5113495bSYour Name }
392*5113495bSYour Name 
393*5113495bSYour Name static inline QDF_STATUS
pmo_vdev_object_destroyed_notification(struct wlan_objmgr_vdev * vdev,void * arg)394*5113495bSYour Name pmo_vdev_object_destroyed_notification(struct wlan_objmgr_vdev *vdev, void *arg)
395*5113495bSYour Name {
396*5113495bSYour Name 	return QDF_STATUS_SUCCESS;
397*5113495bSYour Name }
398*5113495bSYour Name 
399*5113495bSYour Name static inline QDF_STATUS
pmo_register_suspend_handler(enum wlan_umac_comp_id id,pmo_psoc_suspend_handler handler,void * arg)400*5113495bSYour Name pmo_register_suspend_handler(enum wlan_umac_comp_id id,
401*5113495bSYour Name 			     pmo_psoc_suspend_handler handler,
402*5113495bSYour Name 			     void *arg)
403*5113495bSYour Name {
404*5113495bSYour Name 	return QDF_STATUS_SUCCESS;
405*5113495bSYour Name }
406*5113495bSYour Name 
407*5113495bSYour Name static inline QDF_STATUS
pmo_unregister_suspend_handler(enum wlan_umac_comp_id id,pmo_psoc_suspend_handler handler)408*5113495bSYour Name pmo_unregister_suspend_handler(enum wlan_umac_comp_id id,
409*5113495bSYour Name 			       pmo_psoc_suspend_handler handler)
410*5113495bSYour Name {
411*5113495bSYour Name 	return QDF_STATUS_SUCCESS;
412*5113495bSYour Name }
413*5113495bSYour Name 
414*5113495bSYour Name static inline QDF_STATUS
pmo_register_resume_handler(enum wlan_umac_comp_id id,pmo_psoc_resume_handler handler,void * arg)415*5113495bSYour Name pmo_register_resume_handler(enum wlan_umac_comp_id id,
416*5113495bSYour Name 			    pmo_psoc_resume_handler handler,
417*5113495bSYour Name 			    void *arg)
418*5113495bSYour Name {
419*5113495bSYour Name 	return QDF_STATUS_SUCCESS;
420*5113495bSYour Name }
421*5113495bSYour Name 
422*5113495bSYour Name static inline QDF_STATUS
pmo_unregister_resume_handler(enum wlan_umac_comp_id id,pmo_psoc_resume_handler handler)423*5113495bSYour Name pmo_unregister_resume_handler(enum wlan_umac_comp_id id,
424*5113495bSYour Name 			      pmo_psoc_resume_handler handler)
425*5113495bSYour Name {
426*5113495bSYour Name 	return QDF_STATUS_SUCCESS;
427*5113495bSYour Name }
428*5113495bSYour Name 
429*5113495bSYour Name static inline QDF_STATUS
pmo_suspend_all_components(struct wlan_objmgr_psoc * psoc,enum qdf_suspend_type suspend_type)430*5113495bSYour Name pmo_suspend_all_components(struct wlan_objmgr_psoc *psoc,
431*5113495bSYour Name 			   enum qdf_suspend_type suspend_type)
432*5113495bSYour Name {
433*5113495bSYour Name 	return QDF_STATUS_SUCCESS;
434*5113495bSYour Name }
435*5113495bSYour Name 
436*5113495bSYour Name static inline QDF_STATUS
pmo_resume_all_components(struct wlan_objmgr_psoc * psoc,enum qdf_suspend_type suspend_type)437*5113495bSYour Name pmo_resume_all_components(struct wlan_objmgr_psoc *psoc,
438*5113495bSYour Name 			  enum qdf_suspend_type suspend_type)
439*5113495bSYour Name {
440*5113495bSYour Name 	return QDF_STATUS_SUCCESS;
441*5113495bSYour Name }
442*5113495bSYour Name 
443*5113495bSYour Name static inline QDF_STATUS
pmo_register_pause_bitmap_notifier(struct wlan_objmgr_psoc * psoc,pmo_notify_pause_bitmap handler)444*5113495bSYour Name pmo_register_pause_bitmap_notifier(struct wlan_objmgr_psoc *psoc,
445*5113495bSYour Name 				   pmo_notify_pause_bitmap handler)
446*5113495bSYour Name {
447*5113495bSYour Name 	return QDF_STATUS_SUCCESS;
448*5113495bSYour Name }
449*5113495bSYour Name 
450*5113495bSYour Name static inline QDF_STATUS
pmo_unregister_pause_bitmap_notifier(struct wlan_objmgr_psoc * psoc)451*5113495bSYour Name pmo_unregister_pause_bitmap_notifier(struct wlan_objmgr_psoc *psoc)
452*5113495bSYour Name {
453*5113495bSYour Name 	return QDF_STATUS_SUCCESS;
454*5113495bSYour Name }
455*5113495bSYour Name 
456*5113495bSYour Name static inline QDF_STATUS
pmo_register_get_pause_bitmap(struct wlan_objmgr_psoc * psoc,pmo_get_pause_bitmap handler)457*5113495bSYour Name pmo_register_get_pause_bitmap(struct wlan_objmgr_psoc *psoc,
458*5113495bSYour Name 			      pmo_get_pause_bitmap handler)
459*5113495bSYour Name {
460*5113495bSYour Name 	return QDF_STATUS_SUCCESS;
461*5113495bSYour Name }
462*5113495bSYour Name 
463*5113495bSYour Name static inline QDF_STATUS
pmo_unregister_get_pause_bitmap(struct wlan_objmgr_psoc * psoc)464*5113495bSYour Name pmo_unregister_get_pause_bitmap(struct wlan_objmgr_psoc *psoc)
465*5113495bSYour Name {
466*5113495bSYour Name 	return QDF_STATUS_SUCCESS;
467*5113495bSYour Name }
468*5113495bSYour Name 
469*5113495bSYour Name static inline QDF_STATUS
pmo_register_is_device_in_low_pwr_mode(struct wlan_objmgr_psoc * psoc,pmo_is_device_in_low_pwr_mode handler)470*5113495bSYour Name pmo_register_is_device_in_low_pwr_mode(struct wlan_objmgr_psoc *psoc,
471*5113495bSYour Name 				       pmo_is_device_in_low_pwr_mode handler)
472*5113495bSYour Name {
473*5113495bSYour Name 	return QDF_STATUS_SUCCESS;
474*5113495bSYour Name }
475*5113495bSYour Name 
476*5113495bSYour Name static inline QDF_STATUS
pmo_unregister_is_device_in_low_pwr_mode(struct wlan_objmgr_psoc * psoc)477*5113495bSYour Name pmo_unregister_is_device_in_low_pwr_mode(struct wlan_objmgr_psoc *psoc)
478*5113495bSYour Name {
479*5113495bSYour Name 	return QDF_STATUS_SUCCESS;
480*5113495bSYour Name }
481*5113495bSYour Name 
482*5113495bSYour Name static inline QDF_STATUS
pmo_register_get_dtim_period_callback(struct wlan_objmgr_psoc * psoc,pmo_get_dtim_period handler)483*5113495bSYour Name pmo_register_get_dtim_period_callback(struct wlan_objmgr_psoc *psoc,
484*5113495bSYour Name 				      pmo_get_dtim_period handler)
485*5113495bSYour Name {
486*5113495bSYour Name 	return QDF_STATUS_SUCCESS;
487*5113495bSYour Name }
488*5113495bSYour Name 
489*5113495bSYour Name static inline QDF_STATUS
pmo_unregister_get_dtim_period_callback(struct wlan_objmgr_psoc * psoc)490*5113495bSYour Name pmo_unregister_get_dtim_period_callback(struct wlan_objmgr_psoc *psoc)
491*5113495bSYour Name {
492*5113495bSYour Name 	return QDF_STATUS_SUCCESS;
493*5113495bSYour Name }
494*5113495bSYour Name 
495*5113495bSYour Name static inline QDF_STATUS
pmo_register_get_beacon_interval_callback(struct wlan_objmgr_psoc * psoc,pmo_get_beacon_interval handler)496*5113495bSYour Name pmo_register_get_beacon_interval_callback(struct wlan_objmgr_psoc *psoc,
497*5113495bSYour Name 					  pmo_get_beacon_interval handler)
498*5113495bSYour Name {
499*5113495bSYour Name 	return QDF_STATUS_SUCCESS;
500*5113495bSYour Name }
501*5113495bSYour Name 
502*5113495bSYour Name static inline QDF_STATUS
pmo_unregister_get_beacon_interval_callback(struct wlan_objmgr_psoc * psoc)503*5113495bSYour Name pmo_unregister_get_beacon_interval_callback(struct wlan_objmgr_psoc *psoc)
504*5113495bSYour Name {
505*5113495bSYour Name 	return QDF_STATUS_SUCCESS;
506*5113495bSYour Name }
507*5113495bSYour Name 
508*5113495bSYour Name static inline bool
wlan_pmo_get_sap_mode_bus_suspend(struct wlan_objmgr_psoc * psoc)509*5113495bSYour Name wlan_pmo_get_sap_mode_bus_suspend(struct wlan_objmgr_psoc *psoc)
510*5113495bSYour Name {
511*5113495bSYour Name 	return false;
512*5113495bSYour Name }
513*5113495bSYour Name 
514*5113495bSYour Name static inline bool
wlan_pmo_get_go_mode_bus_suspend(struct wlan_objmgr_psoc * psoc)515*5113495bSYour Name wlan_pmo_get_go_mode_bus_suspend(struct wlan_objmgr_psoc *psoc)
516*5113495bSYour Name {
517*5113495bSYour Name 	return false;
518*5113495bSYour Name }
519*5113495bSYour Name 
wlan_pmo_no_op_on_page_fault(struct wlan_objmgr_psoc * psoc)520*5113495bSYour Name static inline bool wlan_pmo_no_op_on_page_fault(struct wlan_objmgr_psoc *psoc)
521*5113495bSYour Name {
522*5113495bSYour Name 	return true;
523*5113495bSYour Name }
524*5113495bSYour Name 
525*5113495bSYour Name static inline bool
wlan_pmo_enable_ssr_on_page_fault(struct wlan_objmgr_psoc * psoc)526*5113495bSYour Name wlan_pmo_enable_ssr_on_page_fault(struct wlan_objmgr_psoc *psoc)
527*5113495bSYour Name {
528*5113495bSYour Name 	return false;
529*5113495bSYour Name }
530*5113495bSYour Name 
531*5113495bSYour Name static inline uint8_t
wlan_pmo_get_min_pagefault_wakeups_for_action(struct wlan_objmgr_psoc * psoc)532*5113495bSYour Name wlan_pmo_get_min_pagefault_wakeups_for_action(struct wlan_objmgr_psoc *psoc)
533*5113495bSYour Name {
534*5113495bSYour Name 	return 0;
535*5113495bSYour Name }
536*5113495bSYour Name 
537*5113495bSYour Name static inline uint32_t
wlan_pmo_get_interval_for_pagefault_wakeup_counts(struct wlan_objmgr_psoc * psoc)538*5113495bSYour Name wlan_pmo_get_interval_for_pagefault_wakeup_counts(struct wlan_objmgr_psoc *psoc)
539*5113495bSYour Name {
540*5113495bSYour Name 	return 0;
541*5113495bSYour Name }
542*5113495bSYour Name 
wlan_pmo_get_listen_interval(struct wlan_objmgr_vdev * vdev,uint32_t * listen_interval)543*5113495bSYour Name static QDF_STATUS wlan_pmo_get_listen_interval(struct wlan_objmgr_vdev *vdev,
544*5113495bSYour Name 					       uint32_t *listen_interval)
545*5113495bSYour Name {
546*5113495bSYour Name 	return QDF_STATUS_SUCCESS;
547*5113495bSYour Name }
548*5113495bSYour Name 
549*5113495bSYour Name static inline
wlan_pmo_set_ps_params(struct wlan_objmgr_vdev * vdev,struct pmo_ps_params * ps_params)550*5113495bSYour Name void wlan_pmo_set_ps_params(struct wlan_objmgr_vdev *vdev,
551*5113495bSYour Name 			    struct pmo_ps_params *ps_params)
552*5113495bSYour Name {
553*5113495bSYour Name }
554*5113495bSYour Name 
555*5113495bSYour Name static inline QDF_STATUS
wlan_pmo_get_ps_params(struct wlan_objmgr_vdev * vdev,struct pmo_ps_params * ps_params)556*5113495bSYour Name wlan_pmo_get_ps_params(struct wlan_objmgr_vdev *vdev,
557*5113495bSYour Name 		       struct pmo_ps_params *ps_params)
558*5113495bSYour Name {
559*5113495bSYour Name 	return QDF_STATUS_SUCCESS;
560*5113495bSYour Name }
561*5113495bSYour Name #endif /* WLAN_POWER_MANAGEMENT_OFFLOAD */
562*5113495bSYour Name 
563*5113495bSYour Name #endif /* end  of _WLAN_PMO_OBJ_MGMT_API_H_ */
564