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