xref: /wlan-driver/qca-wifi-host-cmn/ipa/dispatcher/inc/wlan_ipa_ucfg_api.h (revision 5113495b16420b49004c444715d2daae2066e7dc)
1*5113495bSYour Name /*
2*5113495bSYour Name  * Copyright (c) 2018-2021 The Linux Foundation. All rights reserved.
3*5113495bSYour Name  * Copyright (c) 2021-2023 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 public API related to the wlan ipa called by north bound
21*5113495bSYour Name  */
22*5113495bSYour Name 
23*5113495bSYour Name #ifndef _WLAN_IPA_UCFG_API_H_
24*5113495bSYour Name #define _WLAN_IPA_UCFG_API_H_
25*5113495bSYour Name 
26*5113495bSYour Name #include "wlan_ipa_public_struct.h"
27*5113495bSYour Name #include "wlan_ipa_obj_mgmt_api.h"
28*5113495bSYour Name #include "wlan_objmgr_pdev_obj.h"
29*5113495bSYour Name #include "qdf_types.h"
30*5113495bSYour Name #include "wlan_ipa_main.h"
31*5113495bSYour Name 
32*5113495bSYour Name #ifdef IPA_OFFLOAD
33*5113495bSYour Name 
34*5113495bSYour Name /**
35*5113495bSYour Name  * ucfg_ipa_set_pld_enable() - set g_ipa_pld_enable
36*5113495bSYour Name  * @flag: flag to set g_ipa_pld_enable
37*5113495bSYour Name  *
38*5113495bSYour Name  * Return: None
39*5113495bSYour Name  */
40*5113495bSYour Name void ucfg_ipa_set_pld_enable(bool flag);
41*5113495bSYour Name 
42*5113495bSYour Name /**
43*5113495bSYour Name  * ucfg_ipa_get_pld_enable() - check if IPA is disabled in pld
44*5113495bSYour Name  *
45*5113495bSYour Name  * Return: g_ipa_pld_enable
46*5113495bSYour Name  */
47*5113495bSYour Name bool ucfg_ipa_get_pld_enable(void);
48*5113495bSYour Name 
49*5113495bSYour Name /**
50*5113495bSYour Name  * ucfg_ipa_is_present() - get IPA hw status
51*5113495bSYour Name  *
52*5113495bSYour Name  * ipa_uc_reg_rdyCB is not directly designed to check
53*5113495bSYour Name  * ipa hw status. This is an undocumented function which
54*5113495bSYour Name  * has confirmed with IPA team.
55*5113495bSYour Name  *
56*5113495bSYour Name  * Return: true - ipa hw present
57*5113495bSYour Name  *         false - ipa hw not present
58*5113495bSYour Name  */
59*5113495bSYour Name bool ucfg_ipa_is_present(void);
60*5113495bSYour Name 
61*5113495bSYour Name /**
62*5113495bSYour Name  * ucfg_ipa_is_ready() - get IPA ready status
63*5113495bSYour Name  *
64*5113495bSYour Name  * After ipa_ready_cb() is registered and later invoked by IPA
65*5113495bSYour Name  * driver, ipa ready status flag is updated in wlan driver.
66*5113495bSYour Name  * Unless IPA ready callback is invoked and ready status is
67*5113495bSYour Name  * updated none of the IPA APIs should be invoked.
68*5113495bSYour Name  *
69*5113495bSYour Name  * Return: true - ipa is ready
70*5113495bSYour Name  *         false - ipa is not ready
71*5113495bSYour Name  */
72*5113495bSYour Name bool ucfg_ipa_is_ready(void);
73*5113495bSYour Name 
74*5113495bSYour Name /**
75*5113495bSYour Name  * ucfg_ipa_is_enabled() - get IPA enable status
76*5113495bSYour Name  *
77*5113495bSYour Name  * Return: true - ipa is enabled
78*5113495bSYour Name  *         false - ipa is not enabled
79*5113495bSYour Name  */
80*5113495bSYour Name bool ucfg_ipa_is_enabled(void);
81*5113495bSYour Name 
82*5113495bSYour Name /**
83*5113495bSYour Name  * ucfg_ipa_uc_is_enabled() - get IPA uC enable status
84*5113495bSYour Name  *
85*5113495bSYour Name  * Return: true - ipa uC is enabled
86*5113495bSYour Name  *         false - ipa uC is not enabled
87*5113495bSYour Name  */
88*5113495bSYour Name bool ucfg_ipa_uc_is_enabled(void);
89*5113495bSYour Name 
90*5113495bSYour Name /**
91*5113495bSYour Name  * ucfg_ipa_is_vlan_enabled() - get IPA vlan support enable status
92*5113495bSYour Name  *
93*5113495bSYour Name  * Return: true - ipa vlan support is enabled
94*5113495bSYour Name  *         false - ipa vlan support is not enabled
95*5113495bSYour Name  */
96*5113495bSYour Name bool ucfg_ipa_is_vlan_enabled(void);
97*5113495bSYour Name 
98*5113495bSYour Name /**
99*5113495bSYour Name  * ucfg_ipa_set_dp_handle() - register DP handle
100*5113495bSYour Name  * @psoc: psoc handle
101*5113495bSYour Name  * @dp_soc: data path soc handle
102*5113495bSYour Name  *
103*5113495bSYour Name  * Return: None
104*5113495bSYour Name  */
105*5113495bSYour Name void ucfg_ipa_set_dp_handle(struct wlan_objmgr_psoc *psoc,
106*5113495bSYour Name 			       void *dp_soc);
107*5113495bSYour Name 
108*5113495bSYour Name /**
109*5113495bSYour Name  * ucfg_ipa_set_pdev_id() - register pdev id
110*5113495bSYour Name  * @psoc: psoc handle
111*5113495bSYour Name  * @pdev_id: data path txrx pdev id
112*5113495bSYour Name  *
113*5113495bSYour Name  * Return: None
114*5113495bSYour Name  */
115*5113495bSYour Name void ucfg_ipa_set_pdev_id(struct wlan_objmgr_psoc *psoc,
116*5113495bSYour Name 			  uint8_t pdev_id);
117*5113495bSYour Name 
118*5113495bSYour Name /**
119*5113495bSYour Name  * ucfg_ipa_set_perf_level() - Set IPA perf level
120*5113495bSYour Name  * @pdev: pdev obj
121*5113495bSYour Name  * @tx_packets: Number of packets transmitted in the last sample period
122*5113495bSYour Name  * @rx_packets: Number of packets received in the last sample period
123*5113495bSYour Name  *
124*5113495bSYour Name  * Return: QDF_STATUS_SUCCESS on success
125*5113495bSYour Name  */
126*5113495bSYour Name QDF_STATUS ucfg_ipa_set_perf_level(struct wlan_objmgr_pdev *pdev,
127*5113495bSYour Name 				   uint64_t tx_packets, uint64_t rx_packets);
128*5113495bSYour Name 
129*5113495bSYour Name /**
130*5113495bSYour Name  * ucfg_ipa_uc_info() - Print IPA uC resource and session information
131*5113495bSYour Name  * @pdev: pdev obj
132*5113495bSYour Name  *
133*5113495bSYour Name  * Return: None
134*5113495bSYour Name  */
135*5113495bSYour Name void ucfg_ipa_uc_info(struct wlan_objmgr_pdev *pdev);
136*5113495bSYour Name 
137*5113495bSYour Name /**
138*5113495bSYour Name  * ucfg_ipa_uc_stat() - Print IPA uC stats
139*5113495bSYour Name  * @pdev: pdev obj
140*5113495bSYour Name  *
141*5113495bSYour Name  * Return: None
142*5113495bSYour Name  */
143*5113495bSYour Name void ucfg_ipa_uc_stat(struct wlan_objmgr_pdev *pdev);
144*5113495bSYour Name 
145*5113495bSYour Name 
146*5113495bSYour Name /**
147*5113495bSYour Name  * ucfg_ipa_uc_rt_debug_host_dump() - IPA rt debug host dump
148*5113495bSYour Name  * @pdev: pdev obj
149*5113495bSYour Name  *
150*5113495bSYour Name  * Return: None
151*5113495bSYour Name  */
152*5113495bSYour Name void ucfg_ipa_uc_rt_debug_host_dump(struct wlan_objmgr_pdev *pdev);
153*5113495bSYour Name 
154*5113495bSYour Name /**
155*5113495bSYour Name  * ucfg_ipa_dump_info() - Dump IPA context information
156*5113495bSYour Name  * @pdev: pdev obj
157*5113495bSYour Name  *
158*5113495bSYour Name  * Return: None
159*5113495bSYour Name  */
160*5113495bSYour Name void ucfg_ipa_dump_info(struct wlan_objmgr_pdev *pdev);
161*5113495bSYour Name 
162*5113495bSYour Name /**
163*5113495bSYour Name  * ucfg_ipa_uc_stat_request() - Get IPA stats from IPA.
164*5113495bSYour Name  * @pdev: pdev obj
165*5113495bSYour Name  * @reason: STAT REQ Reason
166*5113495bSYour Name  *
167*5113495bSYour Name  * Return: None
168*5113495bSYour Name  */
169*5113495bSYour Name void ucfg_ipa_uc_stat_request(struct wlan_objmgr_pdev *pdev,
170*5113495bSYour Name 			      uint8_t reason);
171*5113495bSYour Name 
172*5113495bSYour Name /**
173*5113495bSYour Name  * ucfg_ipa_uc_stat_query() - Query the IPA stats
174*5113495bSYour Name  * @pdev: pdev obj
175*5113495bSYour Name  * @ipa_tx_diff: tx packet count diff from previous tx packet count
176*5113495bSYour Name  * @ipa_rx_diff: rx packet count diff from previous rx packet count
177*5113495bSYour Name  *
178*5113495bSYour Name  * Return: None
179*5113495bSYour Name  */
180*5113495bSYour Name void ucfg_ipa_uc_stat_query(struct wlan_objmgr_pdev *pdev,
181*5113495bSYour Name 			    uint32_t *ipa_tx_diff, uint32_t *ipa_rx_diff);
182*5113495bSYour Name 
183*5113495bSYour Name /**
184*5113495bSYour Name  * ucfg_ipa_reg_sap_xmit_cb() - Register upper layer SAP cb to transmit
185*5113495bSYour Name  * @pdev: pdev obj
186*5113495bSYour Name  * @cb: callback
187*5113495bSYour Name  *
188*5113495bSYour Name  * Return: None
189*5113495bSYour Name  */
190*5113495bSYour Name void ucfg_ipa_reg_sap_xmit_cb(struct wlan_objmgr_pdev *pdev,
191*5113495bSYour Name 			      wlan_ipa_softap_xmit cb);
192*5113495bSYour Name 
193*5113495bSYour Name /**
194*5113495bSYour Name  * ucfg_ipa_reg_send_to_nw_cb() - Register cb to send IPA Rx packet to network
195*5113495bSYour Name  * @pdev: pdev obj
196*5113495bSYour Name  * @cb: callback
197*5113495bSYour Name  *
198*5113495bSYour Name  * Return: None
199*5113495bSYour Name  */
200*5113495bSYour Name void ucfg_ipa_reg_send_to_nw_cb(struct wlan_objmgr_pdev *pdev,
201*5113495bSYour Name 				wlan_ipa_send_to_nw cb);
202*5113495bSYour Name 
203*5113495bSYour Name /**
204*5113495bSYour Name  * ucfg_ipa_reg_rps_enable_cb() - Register cb to enable RPS
205*5113495bSYour Name  * @pdev: pdev obj
206*5113495bSYour Name  * @cb: callback
207*5113495bSYour Name  *
208*5113495bSYour Name  * Return: None
209*5113495bSYour Name  */
210*5113495bSYour Name #if defined(QCA_CONFIG_RPS) && !defined(MDM_PLATFORM)
211*5113495bSYour Name void ucfg_ipa_reg_rps_enable_cb(struct wlan_objmgr_pdev *pdev,
212*5113495bSYour Name 				wlan_ipa_rps_enable cb);
213*5113495bSYour Name #else
214*5113495bSYour Name static inline
ucfg_ipa_reg_rps_enable_cb(struct wlan_objmgr_pdev * pdev,wlan_ipa_rps_enable cb)215*5113495bSYour Name void ucfg_ipa_reg_rps_enable_cb(struct wlan_objmgr_pdev *pdev,
216*5113495bSYour Name 				wlan_ipa_rps_enable cb)
217*5113495bSYour Name {
218*5113495bSYour Name }
219*5113495bSYour Name #endif
220*5113495bSYour Name 
221*5113495bSYour Name /**
222*5113495bSYour Name  * ucfg_ipa_reg_is_driver_unloading_cb() - Register cb to check if driver
223*5113495bSYour Name  * is unloading
224*5113495bSYour Name  * @pdev: pdev obj
225*5113495bSYour Name  * @cb: callback
226*5113495bSYour Name  *
227*5113495bSYour Name  * Return: None
228*5113495bSYour Name  */
229*5113495bSYour Name void ucfg_ipa_reg_is_driver_unloading_cb(struct wlan_objmgr_pdev *pdev,
230*5113495bSYour Name 					 wlan_ipa_driver_unloading cb);
231*5113495bSYour Name 
232*5113495bSYour Name /**
233*5113495bSYour Name  * ucfg_ipa_set_mcc_mode() - Set MCC mode
234*5113495bSYour Name  * @pdev: pdev obj
235*5113495bSYour Name  * @mcc_mode: 0=MCC/1=SCC
236*5113495bSYour Name  *
237*5113495bSYour Name  * Return: void
238*5113495bSYour Name  */
239*5113495bSYour Name void ucfg_ipa_set_mcc_mode(struct wlan_objmgr_pdev *pdev, bool mcc_mode);
240*5113495bSYour Name 
241*5113495bSYour Name /**
242*5113495bSYour Name  * ucfg_ipa_set_dfs_cac_tx() - Set DFS cac tx block
243*5113495bSYour Name  * @pdev: pdev obj
244*5113495bSYour Name  * @tx_block: dfs cac tx block
245*5113495bSYour Name  *
246*5113495bSYour Name  * Return: void
247*5113495bSYour Name  */
248*5113495bSYour Name void ucfg_ipa_set_dfs_cac_tx(struct wlan_objmgr_pdev *pdev, bool tx_block);
249*5113495bSYour Name 
250*5113495bSYour Name /**
251*5113495bSYour Name  * ucfg_ipa_set_ap_ibss_fwd() - Set AP intra bss forward
252*5113495bSYour Name  * @pdev: pdev obj
253*5113495bSYour Name  * @session_id: vdev id
254*5113495bSYour Name  * @intra_bss: enable or disable ap intra bss forward
255*5113495bSYour Name  *
256*5113495bSYour Name  * Return: void
257*5113495bSYour Name  */
258*5113495bSYour Name void ucfg_ipa_set_ap_ibss_fwd(struct wlan_objmgr_pdev *pdev, uint8_t session_id,
259*5113495bSYour Name 			      bool intra_bss);
260*5113495bSYour Name 
261*5113495bSYour Name /**
262*5113495bSYour Name  * ucfg_ipa_uc_force_pipe_shutdown() - Force shutdown IPA pipe
263*5113495bSYour Name  * @pdev: pdev obj
264*5113495bSYour Name  *
265*5113495bSYour Name  * Return: void
266*5113495bSYour Name  */
267*5113495bSYour Name void ucfg_ipa_uc_force_pipe_shutdown(struct wlan_objmgr_pdev *pdev);
268*5113495bSYour Name 
269*5113495bSYour Name /**
270*5113495bSYour Name  * ucfg_ipa_flush() - flush IPA exception path SKB's
271*5113495bSYour Name  * @pdev: pdev obj
272*5113495bSYour Name  *
273*5113495bSYour Name  * Return: None
274*5113495bSYour Name  */
275*5113495bSYour Name void ucfg_ipa_flush(struct wlan_objmgr_pdev *pdev);
276*5113495bSYour Name 
277*5113495bSYour Name /**
278*5113495bSYour Name  * ucfg_ipa_suspend() - Suspend IPA
279*5113495bSYour Name  * @pdev: pdev obj
280*5113495bSYour Name  *
281*5113495bSYour Name  * Return: QDF STATUS
282*5113495bSYour Name  */
283*5113495bSYour Name QDF_STATUS ucfg_ipa_suspend(struct wlan_objmgr_pdev *pdev);
284*5113495bSYour Name 
285*5113495bSYour Name /**
286*5113495bSYour Name  * ucfg_ipa_resume() - Resume IPA
287*5113495bSYour Name  * @pdev: pdev obj
288*5113495bSYour Name  *
289*5113495bSYour Name  * Return: QDF STATUS
290*5113495bSYour Name  */
291*5113495bSYour Name QDF_STATUS ucfg_ipa_resume(struct wlan_objmgr_pdev *pdev);
292*5113495bSYour Name 
293*5113495bSYour Name /**
294*5113495bSYour Name  * ucfg_ipa_uc_ol_init() - Initialize IPA uC offload
295*5113495bSYour Name  * @pdev: pdev obj
296*5113495bSYour Name  * @osdev: OS dev
297*5113495bSYour Name  *
298*5113495bSYour Name  * Return: QDF STATUS
299*5113495bSYour Name  */
300*5113495bSYour Name QDF_STATUS ucfg_ipa_uc_ol_init(struct wlan_objmgr_pdev *pdev,
301*5113495bSYour Name 			       qdf_device_t osdev);
302*5113495bSYour Name 
303*5113495bSYour Name /**
304*5113495bSYour Name  * ucfg_ipa_uc_ol_deinit() - Deinitialize IPA uC offload
305*5113495bSYour Name  * @pdev: pdev obj
306*5113495bSYour Name  *
307*5113495bSYour Name  * Return: QDF STATUS
308*5113495bSYour Name  */
309*5113495bSYour Name QDF_STATUS ucfg_ipa_uc_ol_deinit(struct wlan_objmgr_pdev *pdev);
310*5113495bSYour Name 
311*5113495bSYour Name /**
312*5113495bSYour Name  * ucfg_ipa_is_tx_pending() - Check if IPA WLAN TX completions are pending
313*5113495bSYour Name  * @pdev: pdev obj
314*5113495bSYour Name  *
315*5113495bSYour Name  * Return: bool if pending TX for IPA.
316*5113495bSYour Name  */
317*5113495bSYour Name bool ucfg_ipa_is_tx_pending(struct wlan_objmgr_pdev *pdev);
318*5113495bSYour Name 
319*5113495bSYour Name /**
320*5113495bSYour Name  * ucfg_ipa_send_mcc_scc_msg() - Send IPA WLAN_SWITCH_TO_MCC/SCC message
321*5113495bSYour Name  * @pdev: pdev obj
322*5113495bSYour Name  * @mcc_mode: 0=MCC/1=SCC
323*5113495bSYour Name  *
324*5113495bSYour Name  * Return: QDF STATUS
325*5113495bSYour Name  */
326*5113495bSYour Name QDF_STATUS ucfg_ipa_send_mcc_scc_msg(struct wlan_objmgr_pdev *pdev,
327*5113495bSYour Name 				     bool mcc_mode);
328*5113495bSYour Name 
329*5113495bSYour Name /**
330*5113495bSYour Name  * ucfg_ipa_wlan_evt() - IPA event handler
331*5113495bSYour Name  * @pdev: pdev obj
332*5113495bSYour Name  * @net_dev: Interface net device
333*5113495bSYour Name  * @device_mode: Net interface device mode
334*5113495bSYour Name  * @session_id: session id for the event
335*5113495bSYour Name  * @ipa_event_type: event enum of type ipa_wlan_event
336*5113495bSYour Name  * @mac_addr: MAC address associated with the event
337*5113495bSYour Name  * @is_2g_iface: true if interface is operating on 2G band, otherwise false
338*5113495bSYour Name  *
339*5113495bSYour Name  * Return: QDF_STATUS
340*5113495bSYour Name  */
341*5113495bSYour Name QDF_STATUS ucfg_ipa_wlan_evt(struct wlan_objmgr_pdev *pdev,
342*5113495bSYour Name 			     qdf_netdev_t net_dev, uint8_t device_mode,
343*5113495bSYour Name 			     uint8_t session_id,
344*5113495bSYour Name 			     enum wlan_ipa_wlan_event ipa_event_type,
345*5113495bSYour Name 			     const uint8_t *mac_addr, bool is_2g_iface);
346*5113495bSYour Name 
347*5113495bSYour Name /**
348*5113495bSYour Name  * ucfg_ipa_uc_smmu_map() - Map / Unmap DMA buffer to IPA UC
349*5113495bSYour Name  * @map: Map / unmap operation
350*5113495bSYour Name  * @num_buf: Number of buffers in array
351*5113495bSYour Name  * @buf_arr: Buffer array of DMA mem mapping info
352*5113495bSYour Name  *
353*5113495bSYour Name  * Return: Status of map operation
354*5113495bSYour Name  */
355*5113495bSYour Name int ucfg_ipa_uc_smmu_map(bool map, uint32_t num_buf, qdf_mem_info_t *buf_arr);
356*5113495bSYour Name 
357*5113495bSYour Name /**
358*5113495bSYour Name  * ucfg_ipa_is_fw_wdi_activated - Is FW WDI activated?
359*5113495bSYour Name  * @pdev: pdev obj
360*5113495bSYour Name  *
361*5113495bSYour Name  * Return: true if FW WDI activated, false otherwise
362*5113495bSYour Name  */
363*5113495bSYour Name bool ucfg_ipa_is_fw_wdi_activated(struct wlan_objmgr_pdev *pdev);
364*5113495bSYour Name 
365*5113495bSYour Name /**
366*5113495bSYour Name  * ucfg_ipa_uc_cleanup_sta() - disconnect and cleanup sta iface
367*5113495bSYour Name  * @pdev: pdev obj
368*5113495bSYour Name  * @net_dev: Interface net device
369*5113495bSYour Name  * @session_id: vdev id
370*5113495bSYour Name  *
371*5113495bSYour Name  * Send disconnect sta event to IPA driver and cleanup IPA iface,
372*5113495bSYour Name  * if not yet done
373*5113495bSYour Name  *
374*5113495bSYour Name  * Return: void
375*5113495bSYour Name  */
376*5113495bSYour Name void ucfg_ipa_uc_cleanup_sta(struct wlan_objmgr_pdev *pdev,
377*5113495bSYour Name 			     qdf_netdev_t net_dev, uint8_t session_id);
378*5113495bSYour Name 
379*5113495bSYour Name /**
380*5113495bSYour Name  * ucfg_ipa_uc_disconnect_ap() - send ap disconnect event
381*5113495bSYour Name  * @pdev: pdev obj
382*5113495bSYour Name  * @net_dev: Interface net device
383*5113495bSYour Name  *
384*5113495bSYour Name  * Send disconnect ap event to IPA driver during SSR
385*5113495bSYour Name  *
386*5113495bSYour Name  * Return: QDF_STATUS
387*5113495bSYour Name  */
388*5113495bSYour Name QDF_STATUS ucfg_ipa_uc_disconnect_ap(struct wlan_objmgr_pdev *pdev,
389*5113495bSYour Name 				     qdf_netdev_t net_dev);
390*5113495bSYour Name 
391*5113495bSYour Name /**
392*5113495bSYour Name  * ucfg_ipa_cleanup_dev_iface() - Clean up net dev IPA interface
393*5113495bSYour Name  * @pdev: pdev obj
394*5113495bSYour Name  * @net_dev: Interface net device
395*5113495bSYour Name  * @session_id: vdev id
396*5113495bSYour Name  *
397*5113495bSYour Name  *
398*5113495bSYour Name  * Return: None
399*5113495bSYour Name  */
400*5113495bSYour Name void ucfg_ipa_cleanup_dev_iface(struct wlan_objmgr_pdev *pdev,
401*5113495bSYour Name 				qdf_netdev_t net_dev, uint8_t session_id);
402*5113495bSYour Name 
403*5113495bSYour Name /**
404*5113495bSYour Name  * ucfg_ipa_uc_ssr_cleanup() - Handle IPA cleanup for SSR
405*5113495bSYour Name  * @pdev: pdev obj
406*5113495bSYour Name  *
407*5113495bSYour Name  * From hostside do cleanup such as deregister IPA interafces
408*5113495bSYour Name  * and send disconnect events so that it will be sync after SSR
409*5113495bSYour Name  *
410*5113495bSYour Name  * Return: None
411*5113495bSYour Name  */
412*5113495bSYour Name void ucfg_ipa_uc_ssr_cleanup(struct wlan_objmgr_pdev *pdev);
413*5113495bSYour Name 
414*5113495bSYour Name /**
415*5113495bSYour Name  * ucfg_ipa_fw_rejuvenate_send_msg() - Send msg to IPA driver in FW rejuvenate
416*5113495bSYour Name  * @pdev: pdev obj
417*5113495bSYour Name  *
418*5113495bSYour Name  * Return: None
419*5113495bSYour Name  */
420*5113495bSYour Name void ucfg_ipa_fw_rejuvenate_send_msg(struct wlan_objmgr_pdev *pdev);
421*5113495bSYour Name 
422*5113495bSYour Name /**
423*5113495bSYour Name  * ucfg_ipa_component_config_update() - update IPA component config
424*5113495bSYour Name  * @psoc: pointer to psoc object
425*5113495bSYour Name  *
426*5113495bSYour Name  * Return: None
427*5113495bSYour Name  */
428*5113495bSYour Name void ucfg_ipa_component_config_update(struct wlan_objmgr_psoc *psoc);
429*5113495bSYour Name 
430*5113495bSYour Name /**
431*5113495bSYour Name  * ucfg_ipa_component_config_free() - Free IPA component config
432*5113495bSYour Name  *
433*5113495bSYour Name  * Return: None
434*5113495bSYour Name  */
435*5113495bSYour Name void ucfg_ipa_component_config_free(void);
436*5113495bSYour Name 
437*5113495bSYour Name /**
438*5113495bSYour Name  * ucfg_ipa_get_tx_buf_count() - get IPA tx buffer count
439*5113495bSYour Name  *
440*5113495bSYour Name  * Return: IPA tx buffer count
441*5113495bSYour Name  */
442*5113495bSYour Name uint32_t ucfg_ipa_get_tx_buf_count(void);
443*5113495bSYour Name 
444*5113495bSYour Name /**
445*5113495bSYour Name  * ucfg_ipa_update_tx_stats() - send embedded tx traffic in bytes to IPA
446*5113495bSYour Name  * @pdev: pdev obj
447*5113495bSYour Name  * @sta_tx: tx in bytes on sta vdev
448*5113495bSYour Name  * @ap_tx: tx in bytes on sap vdev
449*5113495bSYour Name  *
450*5113495bSYour Name  * Return: void
451*5113495bSYour Name  */
452*5113495bSYour Name void ucfg_ipa_update_tx_stats(struct wlan_objmgr_pdev *pdev, uint64_t sta_tx,
453*5113495bSYour Name 			      uint64_t ap_tx);
454*5113495bSYour Name /**
455*5113495bSYour Name  * ucfg_ipa_flush_pending_vdev_events() - flush pending vdev wlan ipa events
456*5113495bSYour Name  * @pdev: pdev obj
457*5113495bSYour Name  * @vdev_id: vdev id
458*5113495bSYour Name  *
459*5113495bSYour Name  * Return: None
460*5113495bSYour Name  */
461*5113495bSYour Name void ucfg_ipa_flush_pending_vdev_events(struct wlan_objmgr_pdev *pdev,
462*5113495bSYour Name 					uint8_t vdev_id);
463*5113495bSYour Name 
464*5113495bSYour Name /**
465*5113495bSYour Name  * ucfg_ipa_is_wds_enabled() - get IPA AP WDS status
466*5113495bSYour Name  *
467*5113495bSYour Name  * IPA driver requires WDS status for adding filter rules
468*5113495bSYour Name  * to support easymesh feature, IPA expects wds status
469*5113495bSYour Name  * with WLAN_IPA_AP_CONNECT event.
470*5113495bSYour Name  *
471*5113495bSYour Name  * Return: true - WDS is enabled
472*5113495bSYour Name  *         false - WDS is not enabled
473*5113495bSYour Name  */
474*5113495bSYour Name bool ucfg_ipa_is_wds_enabled(void);
475*5113495bSYour Name 
476*5113495bSYour Name /**
477*5113495bSYour Name  * ucfg_ipa_get_alt_pipe() - Get alt_pipe for vdev_id
478*5113495bSYour Name  * @pdev: pdev obj
479*5113495bSYour Name  * @vdev_id: vdev_id of the target interface
480*5113495bSYour Name  * @alt_pipe: Boolean output to indicate if interface with @vdev_id
481*5113495bSYour Name  *	      is using alternate TX pipe or not.
482*5113495bSYour Name  *
483*5113495bSYour Name  * Return: QDF_STATUS
484*5113495bSYour Name  */
485*5113495bSYour Name QDF_STATUS ucfg_ipa_get_alt_pipe(struct wlan_objmgr_pdev *pdev,
486*5113495bSYour Name 				 uint8_t vdev_id,
487*5113495bSYour Name 				 bool *alt_pipe);
488*5113495bSYour Name 
489*5113495bSYour Name /**
490*5113495bSYour Name  * ucfg_ipa_set_perf_level_bw_enabled - Get bandwidth based IPA perf
491*5113495bSYour Name  *				       voting status
492*5113495bSYour Name  * @pdev: pdev objmgr pointer
493*5113495bSYour Name  *
494*5113495bSYour Name  * This function returns true or false for bandwidth based IPA perf level
495*5113495bSYour Name  * voting.
496*5113495bSYour Name  *
497*5113495bSYour Name  * Return: true - bandwidth based IPA perf voting is enabld. Otherwise false.
498*5113495bSYour Name  */
499*5113495bSYour Name bool ucfg_ipa_set_perf_level_bw_enabled(struct wlan_objmgr_pdev *pdev);
500*5113495bSYour Name 
501*5113495bSYour Name /**
502*5113495bSYour Name  * ucfg_ipa_set_perf_level_bw() - Set IPA perf level based on BW
503*5113495bSYour Name  * @pdev: pdev objmgr pointer
504*5113495bSYour Name  * @lvl: enum wlan_ipa_bw_level
505*5113495bSYour Name  *
506*5113495bSYour Name  * This routine is called to set IPA perf level based on max BW
507*5113495bSYour Name  * configured among in-use STA and SAP vdevs
508*5113495bSYour Name  *
509*5113495bSYour Name  * Return: None
510*5113495bSYour Name  */
511*5113495bSYour Name void ucfg_ipa_set_perf_level_bw(struct wlan_objmgr_pdev *pdev,
512*5113495bSYour Name 				enum wlan_ipa_bw_level lvl);
513*5113495bSYour Name 
514*5113495bSYour Name #else
ucfg_ipa_set_pld_enable(bool flag)515*5113495bSYour Name static inline void ucfg_ipa_set_pld_enable(bool flag)
516*5113495bSYour Name {
517*5113495bSYour Name }
518*5113495bSYour Name 
ucfg_ipa_get_pld_enable(void)519*5113495bSYour Name static inline bool ucfg_ipa_get_pld_enable(void)
520*5113495bSYour Name {
521*5113495bSYour Name 	return true;
522*5113495bSYour Name }
523*5113495bSYour Name 
ucfg_ipa_is_present(void)524*5113495bSYour Name static inline bool ucfg_ipa_is_present(void)
525*5113495bSYour Name {
526*5113495bSYour Name 	return false;
527*5113495bSYour Name }
528*5113495bSYour Name 
ucfg_ipa_is_ready(void)529*5113495bSYour Name static inline bool ucfg_ipa_is_ready(void)
530*5113495bSYour Name {
531*5113495bSYour Name 	return false;
532*5113495bSYour Name }
533*5113495bSYour Name 
ucfg_ipa_update_config(struct wlan_ipa_config * config)534*5113495bSYour Name static inline void ucfg_ipa_update_config(struct wlan_ipa_config *config)
535*5113495bSYour Name {
536*5113495bSYour Name }
537*5113495bSYour Name 
ucfg_ipa_is_enabled(void)538*5113495bSYour Name static inline bool ucfg_ipa_is_enabled(void)
539*5113495bSYour Name {
540*5113495bSYour Name 	return false;
541*5113495bSYour Name }
542*5113495bSYour Name 
ucfg_ipa_uc_is_enabled(void)543*5113495bSYour Name static inline bool ucfg_ipa_uc_is_enabled(void)
544*5113495bSYour Name {
545*5113495bSYour Name 	return false;
546*5113495bSYour Name }
547*5113495bSYour Name 
ucfg_ipa_is_vlan_enabled(void)548*5113495bSYour Name static inline bool ucfg_ipa_is_vlan_enabled(void)
549*5113495bSYour Name {
550*5113495bSYour Name 	return false;
551*5113495bSYour Name }
552*5113495bSYour Name 
553*5113495bSYour Name static inline
ucfg_ipa_set_dp_handle(struct wlan_objmgr_psoc * psoc,void * dp_soc)554*5113495bSYour Name QDF_STATUS ucfg_ipa_set_dp_handle(struct wlan_objmgr_psoc *psoc,
555*5113495bSYour Name 				     void *dp_soc)
556*5113495bSYour Name {
557*5113495bSYour Name 	return QDF_STATUS_SUCCESS;
558*5113495bSYour Name }
559*5113495bSYour Name 
560*5113495bSYour Name static inline
ucfg_ipa_set_pdev_id(struct wlan_objmgr_psoc * psoc,uint8_t pdev_id)561*5113495bSYour Name QDF_STATUS ucfg_ipa_set_pdev_id(struct wlan_objmgr_psoc *psoc,
562*5113495bSYour Name 				uint8_t pdev_id)
563*5113495bSYour Name {
564*5113495bSYour Name 	return QDF_STATUS_SUCCESS;
565*5113495bSYour Name }
566*5113495bSYour Name 
567*5113495bSYour Name static inline
ucfg_ipa_set_perf_level(struct wlan_objmgr_pdev * pdev,uint64_t tx_packets,uint64_t rx_packets)568*5113495bSYour Name QDF_STATUS ucfg_ipa_set_perf_level(struct wlan_objmgr_pdev *pdev,
569*5113495bSYour Name 				   uint64_t tx_packets, uint64_t rx_packets)
570*5113495bSYour Name {
571*5113495bSYour Name 	return QDF_STATUS_SUCCESS;
572*5113495bSYour Name }
573*5113495bSYour Name 
574*5113495bSYour Name static inline
ucfg_ipa_uc_info(struct wlan_objmgr_pdev * pdev)575*5113495bSYour Name void ucfg_ipa_uc_info(struct wlan_objmgr_pdev *pdev)
576*5113495bSYour Name {
577*5113495bSYour Name }
578*5113495bSYour Name 
579*5113495bSYour Name static inline
ucfg_ipa_uc_stat(struct wlan_objmgr_pdev * pdev)580*5113495bSYour Name void ucfg_ipa_uc_stat(struct wlan_objmgr_pdev *pdev)
581*5113495bSYour Name {
582*5113495bSYour Name }
583*5113495bSYour Name 
584*5113495bSYour Name static inline
ucfg_ipa_uc_rt_debug_host_dump(struct wlan_objmgr_pdev * pdev)585*5113495bSYour Name void ucfg_ipa_uc_rt_debug_host_dump(struct wlan_objmgr_pdev *pdev)
586*5113495bSYour Name {
587*5113495bSYour Name }
588*5113495bSYour Name 
589*5113495bSYour Name static inline
ucfg_ipa_dump_info(struct wlan_objmgr_pdev * pdev)590*5113495bSYour Name void ucfg_ipa_dump_info(struct wlan_objmgr_pdev *pdev)
591*5113495bSYour Name {
592*5113495bSYour Name }
593*5113495bSYour Name 
594*5113495bSYour Name static inline
ucfg_ipa_uc_stat_request(struct wlan_objmgr_pdev * pdev,uint8_t reason)595*5113495bSYour Name void ucfg_ipa_uc_stat_request(struct wlan_objmgr_pdev *pdev,
596*5113495bSYour Name 			      uint8_t reason)
597*5113495bSYour Name {
598*5113495bSYour Name }
599*5113495bSYour Name 
600*5113495bSYour Name static inline
ucfg_ipa_uc_stat_query(struct wlan_objmgr_pdev * pdev,uint32_t * ipa_tx_diff,uint32_t * ipa_rx_diff)601*5113495bSYour Name void ucfg_ipa_uc_stat_query(struct wlan_objmgr_pdev *pdev,
602*5113495bSYour Name 			    uint32_t *ipa_tx_diff, uint32_t *ipa_rx_diff)
603*5113495bSYour Name {
604*5113495bSYour Name }
605*5113495bSYour Name 
606*5113495bSYour Name static inline
ucfg_ipa_reg_sap_xmit_cb(struct wlan_objmgr_pdev * pdev,wlan_ipa_softap_xmit cb)607*5113495bSYour Name void ucfg_ipa_reg_sap_xmit_cb(struct wlan_objmgr_pdev *pdev,
608*5113495bSYour Name 			      wlan_ipa_softap_xmit cb)
609*5113495bSYour Name {
610*5113495bSYour Name }
611*5113495bSYour Name 
612*5113495bSYour Name static inline
ucfg_ipa_reg_send_to_nw_cb(struct wlan_objmgr_pdev * pdev,wlan_ipa_send_to_nw cb)613*5113495bSYour Name void ucfg_ipa_reg_send_to_nw_cb(struct wlan_objmgr_pdev *pdev,
614*5113495bSYour Name 				wlan_ipa_send_to_nw cb)
615*5113495bSYour Name {
616*5113495bSYour Name }
617*5113495bSYour Name 
618*5113495bSYour Name static inline
ucfg_ipa_reg_rps_enable_cb(struct wlan_objmgr_pdev * pdev,wlan_ipa_rps_enable cb)619*5113495bSYour Name void ucfg_ipa_reg_rps_enable_cb(struct wlan_objmgr_pdev *pdev,
620*5113495bSYour Name 				wlan_ipa_rps_enable cb)
621*5113495bSYour Name {
622*5113495bSYour Name }
623*5113495bSYour Name 
624*5113495bSYour Name static inline
ucfg_ipa_reg_is_driver_unloading_cb(struct wlan_objmgr_pdev * pdev,wlan_ipa_driver_unloading cb)625*5113495bSYour Name void ucfg_ipa_reg_is_driver_unloading_cb(struct wlan_objmgr_pdev *pdev,
626*5113495bSYour Name 					 wlan_ipa_driver_unloading cb)
627*5113495bSYour Name {
628*5113495bSYour Name }
629*5113495bSYour Name 
630*5113495bSYour Name static inline
ucfg_ipa_set_mcc_mode(struct wlan_objmgr_pdev * pdev,bool mcc_mode)631*5113495bSYour Name void ucfg_ipa_set_mcc_mode(struct wlan_objmgr_pdev *pdev, bool mcc_mode)
632*5113495bSYour Name {
633*5113495bSYour Name }
634*5113495bSYour Name 
635*5113495bSYour Name static inline
ucfg_ipa_set_dfs_cac_tx(struct wlan_objmgr_pdev * pdev,bool tx_block)636*5113495bSYour Name void ucfg_ipa_set_dfs_cac_tx(struct wlan_objmgr_pdev *pdev, bool tx_block)
637*5113495bSYour Name {
638*5113495bSYour Name }
639*5113495bSYour Name 
640*5113495bSYour Name static inline
ucfg_ipa_set_ap_ibss_fwd(struct wlan_objmgr_pdev * pdev,uint8_t session_id,bool intra_bss)641*5113495bSYour Name void ucfg_ipa_set_ap_ibss_fwd(struct wlan_objmgr_pdev *pdev, uint8_t session_id,
642*5113495bSYour Name 			      bool intra_bss)
643*5113495bSYour Name {
644*5113495bSYour Name }
645*5113495bSYour Name 
646*5113495bSYour Name static inline
ucfg_ipa_uc_force_pipe_shutdown(struct wlan_objmgr_pdev * pdev)647*5113495bSYour Name void ucfg_ipa_uc_force_pipe_shutdown(struct wlan_objmgr_pdev *pdev)
648*5113495bSYour Name {
649*5113495bSYour Name }
650*5113495bSYour Name 
651*5113495bSYour Name static inline
ucfg_ipa_flush(struct wlan_objmgr_pdev * pdev)652*5113495bSYour Name void ucfg_ipa_flush(struct wlan_objmgr_pdev *pdev)
653*5113495bSYour Name {
654*5113495bSYour Name }
655*5113495bSYour Name 
656*5113495bSYour Name static inline
ucfg_ipa_suspend(struct wlan_objmgr_pdev * pdev)657*5113495bSYour Name QDF_STATUS ucfg_ipa_suspend(struct wlan_objmgr_pdev *pdev)
658*5113495bSYour Name {
659*5113495bSYour Name 	return QDF_STATUS_SUCCESS;
660*5113495bSYour Name }
661*5113495bSYour Name 
662*5113495bSYour Name static inline
ucfg_ipa_resume(struct wlan_objmgr_pdev * pdev)663*5113495bSYour Name QDF_STATUS ucfg_ipa_resume(struct wlan_objmgr_pdev *pdev)
664*5113495bSYour Name {
665*5113495bSYour Name 	return QDF_STATUS_SUCCESS;
666*5113495bSYour Name }
667*5113495bSYour Name 
668*5113495bSYour Name static inline
ucfg_ipa_uc_ol_init(struct wlan_objmgr_pdev * pdev,qdf_device_t osdev)669*5113495bSYour Name QDF_STATUS ucfg_ipa_uc_ol_init(struct wlan_objmgr_pdev *pdev,
670*5113495bSYour Name 			       qdf_device_t osdev)
671*5113495bSYour Name {
672*5113495bSYour Name 	return QDF_STATUS_SUCCESS;
673*5113495bSYour Name }
674*5113495bSYour Name 
675*5113495bSYour Name static inline
ucfg_ipa_uc_ol_deinit(struct wlan_objmgr_pdev * pdev)676*5113495bSYour Name QDF_STATUS ucfg_ipa_uc_ol_deinit(struct wlan_objmgr_pdev *pdev)
677*5113495bSYour Name {
678*5113495bSYour Name 	return QDF_STATUS_SUCCESS;
679*5113495bSYour Name }
680*5113495bSYour Name 
ucfg_ipa_is_tx_pending(struct wlan_objmgr_pdev * pdev)681*5113495bSYour Name static inline bool ucfg_ipa_is_tx_pending(struct wlan_objmgr_pdev *pdev)
682*5113495bSYour Name {
683*5113495bSYour Name 	return false;
684*5113495bSYour Name }
685*5113495bSYour Name 
686*5113495bSYour Name static inline
ucfg_ipa_send_mcc_scc_msg(struct wlan_objmgr_pdev * pdev,bool mcc_mode)687*5113495bSYour Name QDF_STATUS ucfg_ipa_send_mcc_scc_msg(struct wlan_objmgr_pdev *pdev,
688*5113495bSYour Name 				     bool mcc_mode)
689*5113495bSYour Name {
690*5113495bSYour Name 	return QDF_STATUS_SUCCESS;
691*5113495bSYour Name }
692*5113495bSYour Name 
693*5113495bSYour Name static inline
ucfg_ipa_wlan_evt(struct wlan_objmgr_pdev * pdev,qdf_netdev_t net_dev,uint8_t device_mode,uint8_t session_id,enum wlan_ipa_wlan_event ipa_event_type,const uint8_t * mac_addr,bool is_2g_iface)694*5113495bSYour Name QDF_STATUS ucfg_ipa_wlan_evt(struct wlan_objmgr_pdev *pdev,
695*5113495bSYour Name 			     qdf_netdev_t net_dev, uint8_t device_mode,
696*5113495bSYour Name 			     uint8_t session_id,
697*5113495bSYour Name 			     enum wlan_ipa_wlan_event ipa_event_type,
698*5113495bSYour Name 			     const uint8_t *mac_addr, bool is_2g_iface)
699*5113495bSYour Name {
700*5113495bSYour Name 	return QDF_STATUS_SUCCESS;
701*5113495bSYour Name }
702*5113495bSYour Name 
703*5113495bSYour Name static inline
ucfg_ipa_uc_smmu_map(bool map,uint32_t num_buf,qdf_mem_info_t * buf_arr)704*5113495bSYour Name int ucfg_ipa_uc_smmu_map(bool map, uint32_t num_buf, qdf_mem_info_t *buf_arr)
705*5113495bSYour Name {
706*5113495bSYour Name 	return 0;
707*5113495bSYour Name }
708*5113495bSYour Name 
709*5113495bSYour Name static inline
ucfg_ipa_is_fw_wdi_activated(struct wlan_objmgr_pdev * pdev)710*5113495bSYour Name bool ucfg_ipa_is_fw_wdi_activated(struct wlan_objmgr_pdev *pdev)
711*5113495bSYour Name {
712*5113495bSYour Name 	return false;
713*5113495bSYour Name }
714*5113495bSYour Name 
715*5113495bSYour Name static inline
ucfg_ipa_uc_cleanup_sta(struct wlan_objmgr_pdev * pdev,qdf_netdev_t net_dev,uint8_t session_id)716*5113495bSYour Name void ucfg_ipa_uc_cleanup_sta(struct wlan_objmgr_pdev *pdev,
717*5113495bSYour Name 			     qdf_netdev_t net_dev, uint8_t session_id)
718*5113495bSYour Name {
719*5113495bSYour Name }
720*5113495bSYour Name 
721*5113495bSYour Name static inline
ucfg_ipa_uc_disconnect_ap(struct wlan_objmgr_pdev * pdev,qdf_netdev_t net_dev)722*5113495bSYour Name QDF_STATUS ucfg_ipa_uc_disconnect_ap(struct wlan_objmgr_pdev *pdev,
723*5113495bSYour Name 				     qdf_netdev_t net_dev)
724*5113495bSYour Name {
725*5113495bSYour Name 	return QDF_STATUS_SUCCESS;
726*5113495bSYour Name }
727*5113495bSYour Name 
728*5113495bSYour Name static inline
ucfg_ipa_cleanup_dev_iface(struct wlan_objmgr_pdev * pdev,qdf_netdev_t net_dev,uint8_t session_id)729*5113495bSYour Name void ucfg_ipa_cleanup_dev_iface(struct wlan_objmgr_pdev *pdev,
730*5113495bSYour Name 				qdf_netdev_t net_dev, uint8_t session_id)
731*5113495bSYour Name {
732*5113495bSYour Name }
733*5113495bSYour Name 
734*5113495bSYour Name static inline
ucfg_ipa_uc_ssr_cleanup(struct wlan_objmgr_pdev * pdev)735*5113495bSYour Name void ucfg_ipa_uc_ssr_cleanup(struct wlan_objmgr_pdev *pdev)
736*5113495bSYour Name {
737*5113495bSYour Name }
738*5113495bSYour Name 
739*5113495bSYour Name static inline
ucfg_ipa_fw_rejuvenate_send_msg(struct wlan_objmgr_pdev * pdev)740*5113495bSYour Name void ucfg_ipa_fw_rejuvenate_send_msg(struct wlan_objmgr_pdev *pdev)
741*5113495bSYour Name {
742*5113495bSYour Name }
743*5113495bSYour Name 
744*5113495bSYour Name static inline
ucfg_ipa_component_config_update(struct wlan_objmgr_psoc * psoc)745*5113495bSYour Name void ucfg_ipa_component_config_update(struct wlan_objmgr_psoc *psoc)
746*5113495bSYour Name {
747*5113495bSYour Name }
748*5113495bSYour Name 
749*5113495bSYour Name static inline
ucfg_ipa_component_config_free(void)750*5113495bSYour Name void ucfg_ipa_component_config_free(void)
751*5113495bSYour Name {
752*5113495bSYour Name }
753*5113495bSYour Name 
754*5113495bSYour Name static inline
ucfg_ipa_get_tx_buf_count(void)755*5113495bSYour Name uint32_t ucfg_ipa_get_tx_buf_count(void)
756*5113495bSYour Name {
757*5113495bSYour Name 	return 0;
758*5113495bSYour Name }
759*5113495bSYour Name 
760*5113495bSYour Name static inline
ucfg_ipa_update_tx_stats(struct wlan_objmgr_pdev * pdev,uint64_t sta_tx,uint64_t ap_tx)761*5113495bSYour Name void ucfg_ipa_update_tx_stats(struct wlan_objmgr_pdev *pdev, uint64_t sta_tx,
762*5113495bSYour Name 			      uint64_t ap_tx)
763*5113495bSYour Name {
764*5113495bSYour Name }
765*5113495bSYour Name 
766*5113495bSYour Name static inline
ucfg_ipa_flush_pending_vdev_events(struct wlan_objmgr_pdev * pdev,uint8_t vdev_id)767*5113495bSYour Name void ucfg_ipa_flush_pending_vdev_events(struct wlan_objmgr_pdev *pdev,
768*5113495bSYour Name 					uint8_t vdev_id)
769*5113495bSYour Name {
770*5113495bSYour Name }
771*5113495bSYour Name 
772*5113495bSYour Name static inline
ucfg_ipa_is_wds_enabled(void)773*5113495bSYour Name bool ucfg_ipa_is_wds_enabled(void)
774*5113495bSYour Name {
775*5113495bSYour Name 	return false;
776*5113495bSYour Name }
777*5113495bSYour Name 
778*5113495bSYour Name static inline
ucfg_ipa_get_alt_pipe(struct wlan_objmgr_pdev * pdev,uint8_t vdev_id,bool * alt_pipe)779*5113495bSYour Name QDF_STATUS ucfg_ipa_get_alt_pipe(struct wlan_objmgr_pdev *pdev,
780*5113495bSYour Name 				 uint8_t vdev_id,
781*5113495bSYour Name 				 bool *alt_pipe)
782*5113495bSYour Name {
783*5113495bSYour Name 	return QDF_STATUS_SUCCESS;
784*5113495bSYour Name }
785*5113495bSYour Name 
786*5113495bSYour Name static inline
ucfg_ipa_set_perf_level_bw_enabled(struct wlan_objmgr_pdev * pdev)787*5113495bSYour Name bool ucfg_ipa_set_perf_level_bw_enabled(struct wlan_objmgr_pdev *pdev)
788*5113495bSYour Name {
789*5113495bSYour Name 	return false;
790*5113495bSYour Name }
791*5113495bSYour Name 
ucfg_ipa_set_perf_level_bw(struct wlan_objmgr_pdev * pdev,enum wlan_ipa_bw_level lvl)792*5113495bSYour Name static inline void ucfg_ipa_set_perf_level_bw(struct wlan_objmgr_pdev *pdev,
793*5113495bSYour Name 					      enum wlan_ipa_bw_level lvl)
794*5113495bSYour Name {
795*5113495bSYour Name }
796*5113495bSYour Name 
797*5113495bSYour Name #endif /* IPA_OFFLOAD */
798*5113495bSYour Name #endif /* _WLAN_IPA_UCFG_API_H_ */
799