xref: /wlan-driver/qca-wifi-host-cmn/qdf/inc/qdf_ipa.h (revision 5113495b16420b49004c444715d2daae2066e7dc)
1*5113495bSYour Name /*
2*5113495bSYour Name  * Copyright (c) 2017-2021, The Linux Foundation. All rights reserved.
3*5113495bSYour Name  * Copyright (c) 2022-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 any
6*5113495bSYour Name  * purpose with or without fee is hereby granted, provided that the above
7*5113495bSYour Name  * copyright notice and this permission notice appear in all copies.
8*5113495bSYour Name  *
9*5113495bSYour Name  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10*5113495bSYour Name  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11*5113495bSYour Name  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12*5113495bSYour Name  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13*5113495bSYour Name  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14*5113495bSYour Name  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15*5113495bSYour Name  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16*5113495bSYour Name  */
17*5113495bSYour Name 
18*5113495bSYour Name #ifndef _QDF_IPA_H
19*5113495bSYour Name #define _QDF_IPA_H
20*5113495bSYour Name 
21*5113495bSYour Name #include <linux/types.h>
22*5113495bSYour Name 
23*5113495bSYour Name #ifdef IPA_OFFLOAD
24*5113495bSYour Name 
25*5113495bSYour Name #include <i_qdf_ipa.h>
26*5113495bSYour Name 
27*5113495bSYour Name /**
28*5113495bSYour Name  * enum qdf_ipa_wlan_event - QDF IPA events
29*5113495bSYour Name  * @QDF_IPA_CLIENT_CONNECT: Client Connects
30*5113495bSYour Name  * @QDF_IPA_CLIENT_DISCONNECT: Client Disconnects
31*5113495bSYour Name  * @QDF_IPA_AP_CONNECT: SoftAP is started
32*5113495bSYour Name  * @QDF_IPA_AP_DISCONNECT: SoftAP is stopped
33*5113495bSYour Name  * @QDF_IPA_STA_CONNECT: STA associates to AP
34*5113495bSYour Name  * @QDF_IPA_STA_DISCONNECT: STA dissociates from AP
35*5113495bSYour Name  * @QDF_IPA_CLIENT_CONNECT_EX: Peer associates/re-associates to softap
36*5113495bSYour Name  * @QDF_SWITCH_TO_SCC: WLAN interfaces in scc mode
37*5113495bSYour Name  * @QDF_SWITCH_TO_MCC: WLAN interfaces in mcc mode
38*5113495bSYour Name  * @QDF_WDI_ENABLE: WDI enable complete
39*5113495bSYour Name  * @QDF_WDI_DISABLE: WDI teardown
40*5113495bSYour Name  * @QDF_FWR_SSR_BEFORE_SHUTDOWN: WLAN FW recovery
41*5113495bSYour Name  * @QDF_IPA_WLAN_EVENT_MAX: Max value for the enum
42*5113495bSYour Name  */
43*5113495bSYour Name typedef enum {
44*5113495bSYour Name 	QDF_IPA_CLIENT_CONNECT,
45*5113495bSYour Name 	QDF_IPA_CLIENT_DISCONNECT,
46*5113495bSYour Name 	QDF_IPA_AP_CONNECT,
47*5113495bSYour Name 	QDF_IPA_AP_DISCONNECT,
48*5113495bSYour Name 	QDF_IPA_STA_CONNECT,
49*5113495bSYour Name 	QDF_IPA_STA_DISCONNECT,
50*5113495bSYour Name 	QDF_IPA_CLIENT_CONNECT_EX,
51*5113495bSYour Name 	QDF_SWITCH_TO_SCC,
52*5113495bSYour Name 	QDF_SWITCH_TO_MCC,
53*5113495bSYour Name 	QDF_WDI_ENABLE,
54*5113495bSYour Name 	QDF_WDI_DISABLE,
55*5113495bSYour Name 	QDF_FWR_SSR_BEFORE_SHUTDOWN,
56*5113495bSYour Name 	QDF_IPA_WLAN_EVENT_MAX
57*5113495bSYour Name } qdf_ipa_wlan_event;
58*5113495bSYour Name 
59*5113495bSYour Name /**
60*5113495bSYour Name  * qdf_ipa_wdi_meter_evt_type_t - type of event client callback is
61*5113495bSYour Name  * for AP+STA mode metering
62*5113495bSYour Name  * @IPA_GET_WDI_SAP_STATS: get IPA_stats between SAP and STA -
63*5113495bSYour Name  *			use ipa_get_wdi_sap_stats structure
64*5113495bSYour Name  * @IPA_SET_WIFI_QUOTA: set quota limit on STA -
65*5113495bSYour Name  *			use ipa_set_wifi_quota structure
66*5113495bSYour Name  */
67*5113495bSYour Name typedef __qdf_ipa_wdi_meter_evt_type_t qdf_ipa_wdi_meter_evt_type_t;
68*5113495bSYour Name 
69*5113495bSYour Name typedef __qdf_ipa_get_wdi_sap_stats_t qdf_ipa_get_wdi_sap_stats_t;
70*5113495bSYour Name 
71*5113495bSYour Name /**
72*5113495bSYour Name  * qdf_ipa_set_wifi_quota_t - structure used for
73*5113495bSYour Name  *                                   IPA_SET_WIFI_QUOTA.
74*5113495bSYour Name  */
75*5113495bSYour Name typedef __qdf_ipa_set_wifi_quota_t qdf_ipa_set_wifi_quota_t;
76*5113495bSYour Name 
77*5113495bSYour Name /**
78*5113495bSYour Name  * qdf_ipa_connect_params_t - low-level client connect input parameters. Either
79*5113495bSYour Name  * client allocates the data and desc FIFO and specifies that in data+desc OR
80*5113495bSYour Name  * specifies sizes and pipe_mem pref and IPA does the allocation.
81*5113495bSYour Name  */
82*5113495bSYour Name typedef __qdf_ipa_connect_params_t qdf_ipa_connect_params_t;
83*5113495bSYour Name 
84*5113495bSYour Name /**
85*5113495bSYour Name  * qdf_ipa_tx_meta_t - meta-data for the TX packet
86*5113495bSYour Name  */
87*5113495bSYour Name typedef __qdf_ipa_tx_meta_t qdf_ipa_tx_meta_t;
88*5113495bSYour Name 
89*5113495bSYour Name /**
90*5113495bSYour Name  *  __qdf_ipa_sps_params_t - SPS related output parameters resulting from
91*5113495bSYour Name  */
92*5113495bSYour Name typedef __qdf_ipa_sps_params_t qdf_ipa_sps_params_t;
93*5113495bSYour Name 
94*5113495bSYour Name /**
95*5113495bSYour Name  * qdf_ipa_tx_intf_t - interface tx properties
96*5113495bSYour Name  */
97*5113495bSYour Name typedef __qdf_ipa_tx_intf_t qdf_ipa_tx_intf_t;
98*5113495bSYour Name 
99*5113495bSYour Name /**
100*5113495bSYour Name  * qdf_ipa_rx_intf_t - interface rx properties
101*5113495bSYour Name  */
102*5113495bSYour Name typedef __qdf_ipa_rx_intf_t qdf_ipa_rx_intf_t;
103*5113495bSYour Name 
104*5113495bSYour Name /**
105*5113495bSYour Name  * qdf_ipa_ext_intf_t - interface ext properties
106*5113495bSYour Name  */
107*5113495bSYour Name typedef __qdf_ipa_ext_intf_t qdf_ipa_ext_intf_t;
108*5113495bSYour Name 
109*5113495bSYour Name /**
110*5113495bSYour Name  * qdf_ipa_sys_connect_params_t - information needed to setup an IPA end-point
111*5113495bSYour Name  * in system-BAM mode
112*5113495bSYour Name  */
113*5113495bSYour Name typedef __qdf_ipa_sys_connect_params_t qdf_ipa_sys_connect_params_t;
114*5113495bSYour Name 
115*5113495bSYour Name /**
116*5113495bSYour Name  * __qdf_pa_rm_event_t - IPA RM events
117*5113495bSYour Name  *
118*5113495bSYour Name  * Indicate the resource state change
119*5113495bSYour Name  */
120*5113495bSYour Name typedef __qdf_ipa_rm_event_t qdf_ipa_rm_event_t;
121*5113495bSYour Name 
122*5113495bSYour Name /**
123*5113495bSYour Name  * struct qdf_ipa_rm_register_params_t - information needed to
124*5113495bSYour Name  *      register IPA RM client with IPA RM
125*5113495bSYour Name  */
126*5113495bSYour Name typedef __qdf_ipa_rm_register_params_t qdf_ipa_rm_register_params_t;
127*5113495bSYour Name 
128*5113495bSYour Name /**
129*5113495bSYour Name  * struct qdf_ipa_rm_create_params_t - information needed to initialize
130*5113495bSYour Name  *				the resource
131*5113495bSYour Name  *
132*5113495bSYour Name  * IPA RM client is expected to perform non blocking operations only
133*5113495bSYour Name  * in request_resource and release_resource functions and
134*5113495bSYour Name  * release notification context as soon as possible.
135*5113495bSYour Name  */
136*5113495bSYour Name typedef __qdf_ipa_rm_create_params_t qdf_ipa_rm_create_params_t;
137*5113495bSYour Name 
138*5113495bSYour Name /**
139*5113495bSYour Name  * qdf_ipa_rm_perf_profile_t - information regarding IPA RM client performance
140*5113495bSYour Name  * profile
141*5113495bSYour Name  */
142*5113495bSYour Name typedef __qdf_ipa_rm_perf_profile_t qdf_ipa_rm_perf_profile_t;
143*5113495bSYour Name 
144*5113495bSYour Name /**
145*5113495bSYour Name  * qdf_ipa_tx_data_desc_t - information needed
146*5113495bSYour Name  * to send data packet to HW link: link to data descriptors
147*5113495bSYour Name  * priv: client specific private data
148*5113495bSYour Name  */
149*5113495bSYour Name typedef __qdf_ipa_tx_data_desc_t qdf_ipa_tx_data_desc_t;
150*5113495bSYour Name 
151*5113495bSYour Name /**
152*5113495bSYour Name  * qdf_ipa_rx_data_t - information needed
153*5113495bSYour Name  * to send to wlan driver on receiving data from ipa hw
154*5113495bSYour Name  */
155*5113495bSYour Name typedef __qdf_ipa_rx_data_t qdf_ipa_rx_data_t;
156*5113495bSYour Name 
157*5113495bSYour Name /**
158*5113495bSYour Name  * qdf_ipa_wdi_ul_params_t - WDI_RX configuration
159*5113495bSYour Name  */
160*5113495bSYour Name typedef __qdf_ipa_wdi_ul_params_t qdf_ipa_wdi_ul_params_t;
161*5113495bSYour Name 
162*5113495bSYour Name /**
163*5113495bSYour Name  * qdf_ipa_wdi_ul_params_smmu_t - WDI_RX configuration (with WLAN SMMU)
164*5113495bSYour Name  */
165*5113495bSYour Name typedef __qdf_ipa_wdi_ul_params_smmu_t qdf_ipa_wdi_ul_params_smmu_t;
166*5113495bSYour Name 
167*5113495bSYour Name /**
168*5113495bSYour Name  * qdf_ipa_wdi_dl_params_t - WDI_TX configuration
169*5113495bSYour Name  */
170*5113495bSYour Name typedef __qdf_ipa_wdi_dl_params_t qdf_ipa_wdi_dl_params_t;
171*5113495bSYour Name 
172*5113495bSYour Name /**
173*5113495bSYour Name  * qdf_ipa_wdi_dl_params_smmu_t - WDI_TX configuration (with WLAN SMMU)
174*5113495bSYour Name  */
175*5113495bSYour Name typedef __qdf_ipa_wdi_dl_params_smmu_t qdf_ipa_wdi_dl_params_smmu_t;
176*5113495bSYour Name 
177*5113495bSYour Name /**
178*5113495bSYour Name  * qdf_ipa_wdi_in_params_t - information provided by WDI client
179*5113495bSYour Name  */
180*5113495bSYour Name typedef __qdf_ipa_wdi_in_params_t qdf_ipa_wdi_in_params_t;
181*5113495bSYour Name 
182*5113495bSYour Name /**
183*5113495bSYour Name  * qdf_ipa_wdi_out_params_t - information provided to WDI client
184*5113495bSYour Name  */
185*5113495bSYour Name typedef __qdf_ipa_wdi_out_params_t qdf_ipa_wdi_out_params_t;
186*5113495bSYour Name 
187*5113495bSYour Name /**
188*5113495bSYour Name  * qdf_ipa_wdi_db_params_t - information provided to retrieve
189*5113495bSYour Name  *       physical address of uC doorbell
190*5113495bSYour Name  */
191*5113495bSYour Name typedef __qdf_ipa_wdi_db_params_t qdf_ipa_wdi_db_params_t;
192*5113495bSYour Name 
193*5113495bSYour Name /**
194*5113495bSYour Name  * qdf_ipa_wdi_uc_ready_params_t - uC ready CB parameters
195*5113495bSYour Name  */
196*5113495bSYour Name typedef void (*qdf_ipa_uc_ready_cb)(void *priv);
197*5113495bSYour Name typedef __qdf_ipa_wdi_uc_ready_params_t qdf_ipa_wdi_uc_ready_params_t;
198*5113495bSYour Name 
199*5113495bSYour Name /**
200*5113495bSYour Name  * qdf_ipa_wdi_buffer_info_t - address info of a WLAN allocated buffer
201*5113495bSYour Name  *
202*5113495bSYour Name  * IPA driver will create/release IOMMU mapping in IPA SMMU from iova->pa
203*5113495bSYour Name  */
204*5113495bSYour Name typedef __qdf_ipa_wdi_buffer_info_t qdf_ipa_wdi_buffer_info_t;
205*5113495bSYour Name 
206*5113495bSYour Name /**
207*5113495bSYour Name  * qdf_ipa_gsi_ep_config_t - IPA GSI endpoint configurations
208*5113495bSYour Name  */
209*5113495bSYour Name typedef __qdf_ipa_gsi_ep_config_t qdf_ipa_gsi_ep_config_t;
210*5113495bSYour Name 
211*5113495bSYour Name /**
212*5113495bSYour Name  * qdf_ipa_dp_evt_type_t - type of event client callback is
213*5113495bSYour Name  * invoked for on data path
214*5113495bSYour Name  * @IPA_RECEIVE: data is struct sk_buff
215*5113495bSYour Name  * @IPA_WRITE_DONE: data is struct sk_buff
216*5113495bSYour Name  */
217*5113495bSYour Name typedef __qdf_ipa_dp_evt_type_t qdf_ipa_dp_evt_type_t;
218*5113495bSYour Name 
219*5113495bSYour Name #ifdef WDI3_STATS_UPDATE
220*5113495bSYour Name /**
221*5113495bSYour Name  * qdf_ipa_wdi_tx_info_t - WLAN embedded TX bytes information
222*5113495bSYour Name  *
223*5113495bSYour Name  * WLAN host fills this structure to update IPA driver about
224*5113495bSYour Name  * embedded TX information.
225*5113495bSYour Name  */
226*5113495bSYour Name typedef __qdf_ipa_wdi_tx_info_t qdf_ipa_wdi_tx_info_t;
227*5113495bSYour Name 
228*5113495bSYour Name /**
229*5113495bSYour Name  * qdf_ipa_wdi_bw_info_t - BW threshold levels to be monitored
230*5113495bSYour Name  * by IPA uC
231*5113495bSYour Name  */
232*5113495bSYour Name typedef __qdf_ipa_wdi_bw_info_t qdf_ipa_wdi_bw_info_t;
233*5113495bSYour Name 
234*5113495bSYour Name /**
235*5113495bSYour Name  * qdf_ipa_inform_wlan_bw_t - BW information given by IPA driver
236*5113495bSYour Name  * whenever uC detects threshold level reached
237*5113495bSYour Name  */
238*5113495bSYour Name typedef __qdf_ipa_inform_wlan_bw_t qdf_ipa_inform_wlan_bw_t;
239*5113495bSYour Name #endif
240*5113495bSYour Name 
241*5113495bSYour Name typedef __qdf_ipa_hdr_add_t qdf_ipa_hdr_add_t;
242*5113495bSYour Name typedef __qdf_ipa_hdr_del_t qdf_ipa_hdr_del_t;
243*5113495bSYour Name typedef __qdf_ipa_ioc_add_hdr_t qdf_ipa_ioc_add_hdr_t;
244*5113495bSYour Name typedef __qdf_ipa_ioc_del_hdr_t qdf_ipa_ioc_del_hdr_t;
245*5113495bSYour Name typedef __qdf_ipa_ioc_get_hdr_t qdf_ipa_ioc_get_hdr_t;
246*5113495bSYour Name typedef __qdf_ipa_ioc_copy_hdr_t qdf_ipa_ioc_copy_hdr_t;
247*5113495bSYour Name typedef __qdf_ipa_ioc_add_hdr_proc_ctx_t qdf_ipa_ioc_add_hdr_proc_ctx_t;
248*5113495bSYour Name typedef __qdf_ipa_ioc_del_hdr_proc_ctx_t qdf_ipa_ioc_del_hdr_proc_ctx_t;
249*5113495bSYour Name typedef __qdf_ipa_msg_meta_t qdf_ipa_msg_meta_t;
250*5113495bSYour Name typedef __qdf_ipa_client_type_t qdf_ipa_client_type_t;
251*5113495bSYour Name typedef __qdf_ipa_hw_stats_wdi_info_data_t qdf_ipa_hw_stats_wdi_info_data_t;
252*5113495bSYour Name typedef __qdf_ipa_rm_resource_name_t  qdf_ipa_rm_resource_name_t;
253*5113495bSYour Name typedef __qdf_ipa_wlan_event_t qdf_ipa_wlan_event_t;
254*5113495bSYour Name typedef __qdf_ipa_wlan_msg_t qdf_ipa_wlan_msg_t;
255*5113495bSYour Name typedef __qdf_ipa_wlan_msg_ex_t qdf_ipa_wlan_msg_ex_t;
256*5113495bSYour Name typedef __qdf_ipa_ioc_tx_intf_prop_t qdf_ipa_ioc_tx_intf_prop_t;
257*5113495bSYour Name typedef __qdf_ipa_ioc_rx_intf_prop_t qdf_ipa_ioc_rx_intf_prop_t;
258*5113495bSYour Name typedef __qdf_ipa_wlan_hdr_attrib_val_t qdf_ipa_wlan_hdr_attrib_val_t;
259*5113495bSYour Name typedef int (*qdf_ipa_msg_pull_fn)(void *buff, u32 len, u32 type);
260*5113495bSYour Name typedef void (*qdf_ipa_ready_cb)(void *user_data);
261*5113495bSYour Name 
262*5113495bSYour Name #ifdef IPA_WDS_EASYMESH_FEATURE
263*5113495bSYour Name /**
264*5113495bSYour Name  * __qdf_ipa_ast_info_type_t - AST entry create/update information
265*5113495bSYour Name  */
266*5113495bSYour Name typedef __qdf_ipa_ast_info_type_t qdf_ipa_ast_info_type_t;
267*5113495bSYour Name #endif
268*5113495bSYour Name 
269*5113495bSYour Name #define QDF_IPA_SET_META_MSG_TYPE(meta, msg_type) \
270*5113495bSYour Name 	__QDF_IPA_SET_META_MSG_TYPE(meta, msg_type)
271*5113495bSYour Name 
272*5113495bSYour Name #define QDF_IPA_RM_RESOURCE_GRANTED __QDF_IPA_RM_RESOURCE_GRANTED
273*5113495bSYour Name #define QDF_IPA_RM_RESOURCE_RELEASED __QDF_IPA_RM_RESOURCE_RELEASED
274*5113495bSYour Name 
275*5113495bSYour Name #define QDF_IPA_VOLTAGE_LEVEL __QDF_IPA_VOLTAGE_LEVEL
276*5113495bSYour Name 
277*5113495bSYour Name #define QDF_IPA_RM_RESOURCE_WLAN_PROD __QDF_IPA_RM_RESOURCE_WLAN_PROD
278*5113495bSYour Name #define QDF_IPA_RM_RESOURCE_WLAN_CONS __QDF_IPA_RM_RESOURCE_WLAN_CONS
279*5113495bSYour Name #define QDF_IPA_RM_RESOURCE_APPS_CONS __QDF_IPA_RM_RESOURCE_APPS_CONS
280*5113495bSYour Name 
281*5113495bSYour Name #define QDF_IPA_CLIENT_WLAN1_PROD __QDF_IPA_CLIENT_WLAN1_PROD
282*5113495bSYour Name #define QDF_IPA_CLIENT_WLAN3_PROD __QDF_IPA_CLIENT_WLAN3_PROD
283*5113495bSYour Name #define QDF_IPA_CLIENT_WLAN1_CONS __QDF_IPA_CLIENT_WLAN1_CONS
284*5113495bSYour Name #define QDF_IPA_CLIENT_WLAN2_CONS __QDF_IPA_CLIENT_WLAN2_CONS
285*5113495bSYour Name #define QDF_IPA_CLIENT_WLAN3_CONS __QDF_IPA_CLIENT_WLAN3_CONS
286*5113495bSYour Name #define QDF_IPA_CLIENT_WLAN4_CONS __QDF_IPA_CLIENT_WLAN4_CONS
287*5113495bSYour Name #define QDF_IPA_CLIENT_WLAN4_PROD __QDF_IPA_CLIENT_WLAN4_PROD
288*5113495bSYour Name #ifdef FEATURE_IPA_PIPE_CHANGE_WDI1
289*5113495bSYour Name #define QDF_IPA_CLIENT_WLAN_LEGACY_CONS   QDF_IPA_CLIENT_WLAN3_CONS
290*5113495bSYour Name #define QDF_IPA_CLIENT_WLAN_LEGACY_PROD   QDF_IPA_CLIENT_WLAN3_PROD
291*5113495bSYour Name #define QDF_IPA_CLIENT_MCC2_CONS          QDF_IPA_CLIENT_WLAN4_CONS
292*5113495bSYour Name #else
293*5113495bSYour Name #define QDF_IPA_CLIENT_WLAN_LEGACY_CONS   QDF_IPA_CLIENT_WLAN1_CONS
294*5113495bSYour Name #define QDF_IPA_CLIENT_WLAN_LEGACY_PROD   QDF_IPA_CLIENT_WLAN1_PROD
295*5113495bSYour Name #define QDF_IPA_CLIENT_MCC2_CONS          QDF_IPA_CLIENT_WLAN3_CONS
296*5113495bSYour Name #endif
297*5113495bSYour Name 
298*5113495bSYour Name #ifdef QCN7605_SUPPORT
299*5113495bSYour Name #define QDF_IPA_CLIENT_WLAN_WDI2_CONS __QDF_IPA_CLIENT_WLAN_WDI2_CONS
300*5113495bSYour Name #define QDF_IPA_CLIENT_WLAN_WDI2_PROD __QDF_IPA_CLIENT_WLAN_WDI2_PROD
301*5113495bSYour Name #else
302*5113495bSYour Name #define QDF_IPA_CLIENT_WLAN_WDI2_CONS QDF_IPA_CLIENT_WLAN1_CONS
303*5113495bSYour Name #define QDF_IPA_CLIENT_WLAN_WDI2_PROD QDF_IPA_CLIENT_WLAN1_PROD
304*5113495bSYour Name #endif
305*5113495bSYour Name 
306*5113495bSYour Name /*
307*5113495bSYour Name  * Resume / Suspend
308*5113495bSYour Name  */
309*5113495bSYour Name 
310*5113495bSYour Name #if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 10, 0))
qdf_ipa_reset_endpoint(u32 clnt_hdl)311*5113495bSYour Name static inline int qdf_ipa_reset_endpoint(u32 clnt_hdl)
312*5113495bSYour Name {
313*5113495bSYour Name 	return __qdf_ipa_reset_endpoint(clnt_hdl);
314*5113495bSYour Name }
315*5113495bSYour Name 
316*5113495bSYour Name /*
317*5113495bSYour Name  * Remove ep delay
318*5113495bSYour Name  */
qdf_ipa_clear_endpoint_delay(u32 clnt_hdl)319*5113495bSYour Name static inline int qdf_ipa_clear_endpoint_delay(u32 clnt_hdl)
320*5113495bSYour Name {
321*5113495bSYour Name 	return __qdf_ipa_clear_endpoint_delay(clnt_hdl);
322*5113495bSYour Name }
323*5113495bSYour Name 
324*5113495bSYour Name /*
325*5113495bSYour Name  * Header removal / addition
326*5113495bSYour Name  */
qdf_ipa_add_hdr(qdf_ipa_ioc_add_hdr_t * hdrs)327*5113495bSYour Name static inline int qdf_ipa_add_hdr(qdf_ipa_ioc_add_hdr_t *hdrs)
328*5113495bSYour Name {
329*5113495bSYour Name 	return __qdf_ipa_add_hdr(hdrs);
330*5113495bSYour Name }
331*5113495bSYour Name 
qdf_ipa_del_hdr(qdf_ipa_ioc_del_hdr_t * hdls)332*5113495bSYour Name static inline int qdf_ipa_del_hdr(qdf_ipa_ioc_del_hdr_t *hdls)
333*5113495bSYour Name {
334*5113495bSYour Name 	return __qdf_ipa_del_hdr(hdls);
335*5113495bSYour Name }
336*5113495bSYour Name 
qdf_ipa_commit_hdr(void)337*5113495bSYour Name static inline int qdf_ipa_commit_hdr(void)
338*5113495bSYour Name {
339*5113495bSYour Name 	return __qdf_ipa_commit_hdr();
340*5113495bSYour Name }
341*5113495bSYour Name 
qdf_ipa_get_hdr(qdf_ipa_ioc_get_hdr_t * lookup)342*5113495bSYour Name static inline int qdf_ipa_get_hdr(qdf_ipa_ioc_get_hdr_t *lookup)
343*5113495bSYour Name {
344*5113495bSYour Name 	return __qdf_ipa_get_hdr(lookup);
345*5113495bSYour Name }
346*5113495bSYour Name 
qdf_ipa_put_hdr(u32 hdr_hdl)347*5113495bSYour Name static inline int qdf_ipa_put_hdr(u32 hdr_hdl)
348*5113495bSYour Name {
349*5113495bSYour Name 	return __qdf_ipa_put_hdr(hdr_hdl);
350*5113495bSYour Name }
351*5113495bSYour Name 
qdf_ipa_copy_hdr(qdf_ipa_ioc_copy_hdr_t * copy)352*5113495bSYour Name static inline int qdf_ipa_copy_hdr(qdf_ipa_ioc_copy_hdr_t *copy)
353*5113495bSYour Name {
354*5113495bSYour Name 	return __qdf_ipa_copy_hdr(copy);
355*5113495bSYour Name }
356*5113495bSYour Name 
qdf_ipa_register_pull_msg(qdf_ipa_msg_meta_t * meta,qdf_ipa_msg_pull_fn callback)357*5113495bSYour Name static inline int qdf_ipa_register_pull_msg(qdf_ipa_msg_meta_t *meta,
358*5113495bSYour Name 		qdf_ipa_msg_pull_fn callback)
359*5113495bSYour Name {
360*5113495bSYour Name 	return __qdf_ipa_register_pull_msg(meta, callback);
361*5113495bSYour Name }
362*5113495bSYour Name 
qdf_ipa_deregister_pull_msg(qdf_ipa_msg_meta_t * meta)363*5113495bSYour Name static inline int qdf_ipa_deregister_pull_msg(qdf_ipa_msg_meta_t *meta)
364*5113495bSYour Name {
365*5113495bSYour Name 	return __qdf_ipa_deregister_pull_msg(meta);
366*5113495bSYour Name }
367*5113495bSYour Name 
368*5113495bSYour Name /*
369*5113495bSYour Name  * Interface
370*5113495bSYour Name  */
qdf_ipa_register_intf(const char * name,const qdf_ipa_tx_intf_t * tx,const qdf_ipa_rx_intf_t * rx)371*5113495bSYour Name static inline int qdf_ipa_register_intf(const char *name,
372*5113495bSYour Name 				     const qdf_ipa_tx_intf_t *tx,
373*5113495bSYour Name 				     const qdf_ipa_rx_intf_t *rx)
374*5113495bSYour Name {
375*5113495bSYour Name 	return __qdf_ipa_register_intf(name, tx, rx);
376*5113495bSYour Name }
377*5113495bSYour Name 
qdf_ipa_register_intf_ext(const char * name,const qdf_ipa_tx_intf_t * tx,const qdf_ipa_rx_intf_t * rx,const qdf_ipa_ext_intf_t * ext)378*5113495bSYour Name static inline int qdf_ipa_register_intf_ext(const char *name,
379*5113495bSYour Name 		const qdf_ipa_tx_intf_t *tx,
380*5113495bSYour Name 		const qdf_ipa_rx_intf_t *rx,
381*5113495bSYour Name 		const qdf_ipa_ext_intf_t *ext)
382*5113495bSYour Name {
383*5113495bSYour Name 	return __qdf_ipa_register_intf_ext(name, tx, rx, ext);
384*5113495bSYour Name }
385*5113495bSYour Name 
qdf_ipa_deregister_intf(const char * name)386*5113495bSYour Name static inline int qdf_ipa_deregister_intf(const char *name)
387*5113495bSYour Name {
388*5113495bSYour Name 	return __qdf_ipa_deregister_intf(name);
389*5113495bSYour Name }
390*5113495bSYour Name 
391*5113495bSYour Name /*
392*5113495bSYour Name  * Data path
393*5113495bSYour Name  */
qdf_ipa_tx_dp(qdf_ipa_client_type_t dst,struct sk_buff * skb,qdf_ipa_tx_meta_t * metadata)394*5113495bSYour Name static inline int qdf_ipa_tx_dp(qdf_ipa_client_type_t dst, struct sk_buff *skb,
395*5113495bSYour Name 		qdf_ipa_tx_meta_t *metadata)
396*5113495bSYour Name {
397*5113495bSYour Name 	return __qdf_ipa_tx_dp(dst, skb, metadata);
398*5113495bSYour Name }
399*5113495bSYour Name 
400*5113495bSYour Name /*
401*5113495bSYour Name  * To transfer multiple data packets
402*5113495bSYour Name  */
qdf_ipa_tx_dp_mul(qdf_ipa_client_type_t dst,qdf_ipa_tx_data_desc_t * data_desc)403*5113495bSYour Name static inline int qdf_ipa_tx_dp_mul(
404*5113495bSYour Name 	qdf_ipa_client_type_t dst,
405*5113495bSYour Name 	qdf_ipa_tx_data_desc_t *data_desc)
406*5113495bSYour Name {
407*5113495bSYour Name 	return __qdf_ipa_tx_dp_mul(dst, data_desc);
408*5113495bSYour Name }
409*5113495bSYour Name 
410*5113495bSYour Name /*
411*5113495bSYour Name  * System pipes
412*5113495bSYour Name  */
qdf_ipa_get_smem_restr_bytes(void)413*5113495bSYour Name static inline u16 qdf_ipa_get_smem_restr_bytes(void)
414*5113495bSYour Name {
415*5113495bSYour Name 	return __qdf_ipa_get_smem_restr_bytes();
416*5113495bSYour Name }
417*5113495bSYour Name 
qdf_ipa_connect_wdi_pipe(qdf_ipa_wdi_in_params_t * in,qdf_ipa_wdi_out_params_t * out)418*5113495bSYour Name static inline int qdf_ipa_connect_wdi_pipe(qdf_ipa_wdi_in_params_t *in,
419*5113495bSYour Name 		qdf_ipa_wdi_out_params_t *out)
420*5113495bSYour Name {
421*5113495bSYour Name 	return __qdf_ipa_connect_wdi_pipe(in, out);
422*5113495bSYour Name }
423*5113495bSYour Name 
qdf_ipa_disconnect_wdi_pipe(u32 clnt_hdl)424*5113495bSYour Name static inline int qdf_ipa_disconnect_wdi_pipe(u32 clnt_hdl)
425*5113495bSYour Name {
426*5113495bSYour Name 	return __qdf_ipa_disconnect_wdi_pipe(clnt_hdl);
427*5113495bSYour Name }
428*5113495bSYour Name 
qdf_ipa_enable_wdi_pipe(u32 clnt_hdl)429*5113495bSYour Name static inline int qdf_ipa_enable_wdi_pipe(u32 clnt_hdl)
430*5113495bSYour Name {
431*5113495bSYour Name 	return __qdf_ipa_enable_wdi_pipe(clnt_hdl);
432*5113495bSYour Name }
433*5113495bSYour Name 
qdf_ipa_disable_wdi_pipe(u32 clnt_hdl)434*5113495bSYour Name static inline int qdf_ipa_disable_wdi_pipe(u32 clnt_hdl)
435*5113495bSYour Name {
436*5113495bSYour Name 	return __qdf_ipa_disable_wdi_pipe(clnt_hdl);
437*5113495bSYour Name }
438*5113495bSYour Name 
qdf_ipa_resume_wdi_pipe(u32 clnt_hdl)439*5113495bSYour Name static inline int qdf_ipa_resume_wdi_pipe(u32 clnt_hdl)
440*5113495bSYour Name {
441*5113495bSYour Name 	return __qdf_ipa_resume_wdi_pipe(clnt_hdl);
442*5113495bSYour Name }
443*5113495bSYour Name 
qdf_ipa_suspend_wdi_pipe(u32 clnt_hdl)444*5113495bSYour Name static inline int qdf_ipa_suspend_wdi_pipe(u32 clnt_hdl)
445*5113495bSYour Name {
446*5113495bSYour Name 	return __qdf_ipa_suspend_wdi_pipe(clnt_hdl);
447*5113495bSYour Name }
448*5113495bSYour Name 
qdf_ipa_uc_wdi_get_dbpa(qdf_ipa_wdi_db_params_t * out)449*5113495bSYour Name static inline int qdf_ipa_uc_wdi_get_dbpa(
450*5113495bSYour Name 	qdf_ipa_wdi_db_params_t *out)
451*5113495bSYour Name {
452*5113495bSYour Name 	return __qdf_ipa_uc_wdi_get_dbpa(out);
453*5113495bSYour Name }
454*5113495bSYour Name 
455*5113495bSYour Name 
456*5113495bSYour Name /*
457*5113495bSYour Name  * Resource manager
458*5113495bSYour Name  */
qdf_ipa_rm_create_resource(qdf_ipa_rm_create_params_t * create_params)459*5113495bSYour Name static inline int qdf_ipa_rm_create_resource(
460*5113495bSYour Name 		qdf_ipa_rm_create_params_t *create_params)
461*5113495bSYour Name {
462*5113495bSYour Name 	return __qdf_ipa_rm_create_resource(create_params);
463*5113495bSYour Name }
464*5113495bSYour Name 
qdf_ipa_rm_delete_resource(qdf_ipa_rm_resource_name_t resource_name)465*5113495bSYour Name static inline int qdf_ipa_rm_delete_resource(
466*5113495bSYour Name 		qdf_ipa_rm_resource_name_t resource_name)
467*5113495bSYour Name {
468*5113495bSYour Name 	return __qdf_ipa_rm_delete_resource(resource_name);
469*5113495bSYour Name }
470*5113495bSYour Name 
qdf_ipa_rm_register(qdf_ipa_rm_resource_name_t resource_name,qdf_ipa_rm_register_params_t * reg_params)471*5113495bSYour Name static inline int qdf_ipa_rm_register(qdf_ipa_rm_resource_name_t resource_name,
472*5113495bSYour Name 			qdf_ipa_rm_register_params_t *reg_params)
473*5113495bSYour Name {
474*5113495bSYour Name 	return __qdf_ipa_rm_register(resource_name, reg_params);
475*5113495bSYour Name }
476*5113495bSYour Name 
qdf_ipa_rm_set_perf_profile(qdf_ipa_rm_resource_name_t resource_name,qdf_ipa_rm_perf_profile_t * profile)477*5113495bSYour Name static inline int qdf_ipa_rm_set_perf_profile(
478*5113495bSYour Name 		qdf_ipa_rm_resource_name_t resource_name,
479*5113495bSYour Name 		qdf_ipa_rm_perf_profile_t *profile)
480*5113495bSYour Name {
481*5113495bSYour Name 	return __qdf_ipa_rm_set_perf_profile(resource_name, profile);
482*5113495bSYour Name }
483*5113495bSYour Name 
qdf_ipa_rm_deregister(qdf_ipa_rm_resource_name_t resource_name,qdf_ipa_rm_register_params_t * reg_params)484*5113495bSYour Name static inline int qdf_ipa_rm_deregister(qdf_ipa_rm_resource_name_t resource_name,
485*5113495bSYour Name 			qdf_ipa_rm_register_params_t *reg_params)
486*5113495bSYour Name {
487*5113495bSYour Name 	return __qdf_ipa_rm_deregister(resource_name, reg_params);
488*5113495bSYour Name }
489*5113495bSYour Name 
qdf_ipa_rm_add_dependency(qdf_ipa_rm_resource_name_t resource_name,qdf_ipa_rm_resource_name_t depends_on_name)490*5113495bSYour Name static inline int qdf_ipa_rm_add_dependency(
491*5113495bSYour Name 		qdf_ipa_rm_resource_name_t resource_name,
492*5113495bSYour Name 		qdf_ipa_rm_resource_name_t depends_on_name)
493*5113495bSYour Name {
494*5113495bSYour Name 	return __qdf_ipa_rm_add_dependency(resource_name, depends_on_name);
495*5113495bSYour Name }
496*5113495bSYour Name 
qdf_ipa_rm_add_dependency_sync(qdf_ipa_rm_resource_name_t resource_name,qdf_ipa_rm_resource_name_t depends_on_name)497*5113495bSYour Name static inline int qdf_ipa_rm_add_dependency_sync(
498*5113495bSYour Name 		qdf_ipa_rm_resource_name_t resource_name,
499*5113495bSYour Name 		qdf_ipa_rm_resource_name_t depends_on_name)
500*5113495bSYour Name {
501*5113495bSYour Name 	return __qdf_ipa_rm_add_dependency_sync(resource_name, depends_on_name);
502*5113495bSYour Name }
503*5113495bSYour Name 
qdf_ipa_rm_delete_dependency(qdf_ipa_rm_resource_name_t resource_name,qdf_ipa_rm_resource_name_t depends_on_name)504*5113495bSYour Name static inline int qdf_ipa_rm_delete_dependency(
505*5113495bSYour Name 		qdf_ipa_rm_resource_name_t resource_name,
506*5113495bSYour Name 		qdf_ipa_rm_resource_name_t depends_on_name)
507*5113495bSYour Name {
508*5113495bSYour Name 	return __qdf_ipa_rm_delete_dependency(resource_name, depends_on_name);
509*5113495bSYour Name }
510*5113495bSYour Name 
qdf_ipa_rm_request_resource(qdf_ipa_rm_resource_name_t resource_name)511*5113495bSYour Name static inline int qdf_ipa_rm_request_resource(
512*5113495bSYour Name 		qdf_ipa_rm_resource_name_t resource_name)
513*5113495bSYour Name {
514*5113495bSYour Name 	return __qdf_ipa_rm_request_resource(resource_name);
515*5113495bSYour Name }
516*5113495bSYour Name 
qdf_ipa_rm_release_resource(qdf_ipa_rm_resource_name_t resource_name)517*5113495bSYour Name static inline int qdf_ipa_rm_release_resource(
518*5113495bSYour Name 		qdf_ipa_rm_resource_name_t resource_name)
519*5113495bSYour Name {
520*5113495bSYour Name 	return __qdf_ipa_rm_release_resource(resource_name);
521*5113495bSYour Name }
522*5113495bSYour Name 
qdf_ipa_rm_notify_completion(qdf_ipa_rm_event_t event,qdf_ipa_rm_resource_name_t resource_name)523*5113495bSYour Name static inline int qdf_ipa_rm_notify_completion(qdf_ipa_rm_event_t event,
524*5113495bSYour Name 		qdf_ipa_rm_resource_name_t resource_name)
525*5113495bSYour Name {
526*5113495bSYour Name 	return __qdf_ipa_rm_notify_completion(event, resource_name);
527*5113495bSYour Name }
528*5113495bSYour Name 
qdf_ipa_rm_inactivity_timer_init(qdf_ipa_rm_resource_name_t resource_name,unsigned long msecs)529*5113495bSYour Name static inline int qdf_ipa_rm_inactivity_timer_init(
530*5113495bSYour Name 		qdf_ipa_rm_resource_name_t resource_name,
531*5113495bSYour Name 			unsigned long msecs)
532*5113495bSYour Name {
533*5113495bSYour Name 	return __qdf_ipa_rm_inactivity_timer_init(resource_name, msecs);
534*5113495bSYour Name }
535*5113495bSYour Name 
qdf_ipa_rm_inactivity_timer_destroy(qdf_ipa_rm_resource_name_t resource_name)536*5113495bSYour Name static inline int qdf_ipa_rm_inactivity_timer_destroy(
537*5113495bSYour Name 		qdf_ipa_rm_resource_name_t resource_name)
538*5113495bSYour Name {
539*5113495bSYour Name 	return __qdf_ipa_rm_inactivity_timer_destroy(resource_name);
540*5113495bSYour Name }
541*5113495bSYour Name 
qdf_ipa_rm_inactivity_timer_request_resource(qdf_ipa_rm_resource_name_t resource_name)542*5113495bSYour Name static inline int qdf_ipa_rm_inactivity_timer_request_resource(
543*5113495bSYour Name 				qdf_ipa_rm_resource_name_t resource_name)
544*5113495bSYour Name {
545*5113495bSYour Name 	return __qdf_ipa_rm_inactivity_timer_request_resource(resource_name);
546*5113495bSYour Name }
547*5113495bSYour Name 
qdf_ipa_rm_inactivity_timer_release_resource(qdf_ipa_rm_resource_name_t resource_name)548*5113495bSYour Name static inline int qdf_ipa_rm_inactivity_timer_release_resource(
549*5113495bSYour Name 				qdf_ipa_rm_resource_name_t resource_name)
550*5113495bSYour Name {
551*5113495bSYour Name 	return __qdf_ipa_rm_inactivity_timer_release_resource(resource_name);
552*5113495bSYour Name }
553*5113495bSYour Name 
554*5113495bSYour Name /*
555*5113495bSYour Name  * Miscellaneous
556*5113495bSYour Name  */
qdf_ipa_bam_reg_dump(void)557*5113495bSYour Name static inline void qdf_ipa_bam_reg_dump(void)
558*5113495bSYour Name {
559*5113495bSYour Name 	return __qdf_ipa_bam_reg_dump();
560*5113495bSYour Name }
561*5113495bSYour Name 
qdf_ipa_get_ep_mapping(qdf_ipa_client_type_t client)562*5113495bSYour Name static inline int qdf_ipa_get_ep_mapping(qdf_ipa_client_type_t client)
563*5113495bSYour Name {
564*5113495bSYour Name 	return __qdf_ipa_get_ep_mapping(client);
565*5113495bSYour Name }
566*5113495bSYour Name 
qdf_ipa_proxy_clk_vote(void)567*5113495bSYour Name static inline void qdf_ipa_proxy_clk_vote(void)
568*5113495bSYour Name {
569*5113495bSYour Name 	return __qdf_ipa_proxy_clk_vote();
570*5113495bSYour Name }
571*5113495bSYour Name 
qdf_ipa_proxy_clk_unvote(void)572*5113495bSYour Name static inline void qdf_ipa_proxy_clk_unvote(void)
573*5113495bSYour Name {
574*5113495bSYour Name 	return __qdf_ipa_proxy_clk_unvote();
575*5113495bSYour Name }
576*5113495bSYour Name 
qdf_ipa_is_client_handle_valid(u32 clnt_hdl)577*5113495bSYour Name static inline bool qdf_ipa_is_client_handle_valid(u32 clnt_hdl)
578*5113495bSYour Name {
579*5113495bSYour Name 	return __qdf_ipa_is_client_handle_valid(clnt_hdl);
580*5113495bSYour Name }
581*5113495bSYour Name 
qdf_ipa_get_client_mapping(int pipe_idx)582*5113495bSYour Name static inline qdf_ipa_client_type_t qdf_ipa_get_client_mapping(int pipe_idx)
583*5113495bSYour Name {
584*5113495bSYour Name 	return __qdf_ipa_get_client_mapping(pipe_idx);
585*5113495bSYour Name }
586*5113495bSYour Name 
qdf_ipa_get_rm_resource_from_ep(int pipe_idx)587*5113495bSYour Name static inline qdf_ipa_rm_resource_name_t qdf_ipa_get_rm_resource_from_ep(
588*5113495bSYour Name 	int pipe_idx)
589*5113495bSYour Name {
590*5113495bSYour Name 	return __qdf_ipa_get_rm_resource_from_ep(pipe_idx);
591*5113495bSYour Name }
592*5113495bSYour Name 
qdf_ipa_get_modem_cfg_emb_pipe_flt(void)593*5113495bSYour Name static inline bool qdf_ipa_get_modem_cfg_emb_pipe_flt(void)
594*5113495bSYour Name {
595*5113495bSYour Name 	return __qdf_ipa_get_modem_cfg_emb_pipe_flt();
596*5113495bSYour Name }
597*5113495bSYour Name 
qdf_ipa_create_wdi_mapping(u32 num_buffers,__qdf_ipa_wdi_buffer_info_t * info)598*5113495bSYour Name static inline int qdf_ipa_create_wdi_mapping(u32 num_buffers,
599*5113495bSYour Name 		__qdf_ipa_wdi_buffer_info_t *info)
600*5113495bSYour Name {
601*5113495bSYour Name 	return __qdf_ipa_create_wdi_mapping(num_buffers, info);
602*5113495bSYour Name }
603*5113495bSYour Name 
qdf_ipa_release_wdi_mapping(u32 num_buffers,qdf_ipa_wdi_buffer_info_t * info)604*5113495bSYour Name static inline int qdf_ipa_release_wdi_mapping(u32 num_buffers,
605*5113495bSYour Name 		qdf_ipa_wdi_buffer_info_t *info)
606*5113495bSYour Name {
607*5113495bSYour Name 	return __qdf_ipa_release_wdi_mapping(num_buffers, info);
608*5113495bSYour Name }
609*5113495bSYour Name 
qdf_ipa_disable_apps_wan_cons_deaggr(uint32_t agg_size,uint32_t agg_count)610*5113495bSYour Name static inline int qdf_ipa_disable_apps_wan_cons_deaggr(uint32_t agg_size,
611*5113495bSYour Name 		uint32_t agg_count)
612*5113495bSYour Name {
613*5113495bSYour Name 	return __qdf_ipa_disable_apps_wan_cons_deaggr(agg_size, agg_count);
614*5113495bSYour Name }
615*5113495bSYour Name 
qdf_ipa_get_gsi_ep_info(qdf_ipa_client_type_t client)616*5113495bSYour Name static inline const qdf_ipa_gsi_ep_config_t *qdf_ipa_get_gsi_ep_info(qdf_ipa_client_type_t client)
617*5113495bSYour Name {
618*5113495bSYour Name 	return __qdf_ipa_get_gsi_ep_info(client);
619*5113495bSYour Name }
620*5113495bSYour Name 
qdf_ipa_stop_gsi_channel(u32 clnt_hdl)621*5113495bSYour Name static inline int qdf_ipa_stop_gsi_channel(u32 clnt_hdl)
622*5113495bSYour Name {
623*5113495bSYour Name 	return __qdf_ipa_stop_gsi_channel(clnt_hdl);
624*5113495bSYour Name }
625*5113495bSYour Name 
626*5113495bSYour Name #endif
qdf_ipa_free_skb(qdf_ipa_rx_data_t * rx_in)627*5113495bSYour Name static inline void qdf_ipa_free_skb(qdf_ipa_rx_data_t *rx_in)
628*5113495bSYour Name {
629*5113495bSYour Name 	return __qdf_ipa_free_skb(rx_in);
630*5113495bSYour Name }
631*5113495bSYour Name 
qdf_ipa_uc_reg_rdyCB(qdf_ipa_wdi_uc_ready_params_t * param)632*5113495bSYour Name static inline int qdf_ipa_uc_reg_rdyCB(
633*5113495bSYour Name 	qdf_ipa_wdi_uc_ready_params_t *param)
634*5113495bSYour Name {
635*5113495bSYour Name 	return __qdf_ipa_uc_reg_rdyCB(param);
636*5113495bSYour Name }
637*5113495bSYour Name 
qdf_ipa_uc_dereg_rdyCB(void)638*5113495bSYour Name static inline int qdf_ipa_uc_dereg_rdyCB(void)
639*5113495bSYour Name {
640*5113495bSYour Name 	return __qdf_ipa_uc_dereg_rdyCB();
641*5113495bSYour Name }
642*5113495bSYour Name 
qdf_ipa_get_wdi_stats(qdf_ipa_hw_stats_wdi_info_data_t * stats)643*5113495bSYour Name static inline int qdf_ipa_get_wdi_stats(qdf_ipa_hw_stats_wdi_info_data_t *stats)
644*5113495bSYour Name {
645*5113495bSYour Name 	return __qdf_ipa_get_wdi_stats(stats);
646*5113495bSYour Name }
647*5113495bSYour Name 
qdf_ipa_register_ipa_ready_cb(void (* qdf_ipa_ready_cb)(void * user_data),void * user_data)648*5113495bSYour Name static inline int qdf_ipa_register_ipa_ready_cb(
649*5113495bSYour Name 	void (*qdf_ipa_ready_cb)(void *user_data),
650*5113495bSYour Name 	void *user_data)
651*5113495bSYour Name {
652*5113495bSYour Name 	return __qdf_ipa_register_ipa_ready_cb(qdf_ipa_ready_cb, user_data);
653*5113495bSYour Name }
654*5113495bSYour Name 
qdf_ipa_setup_sys_pipe(qdf_ipa_sys_connect_params_t * sys_in,u32 * clnt_hdl)655*5113495bSYour Name static inline int qdf_ipa_setup_sys_pipe(qdf_ipa_sys_connect_params_t *sys_in,
656*5113495bSYour Name 					 u32 *clnt_hdl)
657*5113495bSYour Name {
658*5113495bSYour Name 	return __qdf_ipa_setup_sys_pipe(sys_in, clnt_hdl);
659*5113495bSYour Name }
660*5113495bSYour Name 
qdf_ipa_teardown_sys_pipe(u32 clnt_hdl)661*5113495bSYour Name static inline int qdf_ipa_teardown_sys_pipe(u32 clnt_hdl)
662*5113495bSYour Name {
663*5113495bSYour Name 	return __qdf_ipa_teardown_sys_pipe(clnt_hdl);
664*5113495bSYour Name }
665*5113495bSYour Name 
666*5113495bSYour Name /*
667*5113495bSYour Name  * Messaging
668*5113495bSYour Name  */
qdf_ipa_send_msg(qdf_ipa_msg_meta_t * meta,void * buff,ipa_msg_free_fn callback)669*5113495bSYour Name static inline int qdf_ipa_send_msg(qdf_ipa_msg_meta_t *meta, void *buff,
670*5113495bSYour Name 				   ipa_msg_free_fn callback)
671*5113495bSYour Name {
672*5113495bSYour Name 	return __qdf_ipa_send_msg(meta, buff, callback);
673*5113495bSYour Name }
674*5113495bSYour Name 
qdf_ipa_is_ready(void)675*5113495bSYour Name static inline bool qdf_ipa_is_ready(void)
676*5113495bSYour Name {
677*5113495bSYour Name 	return __qdf_ipa_is_ready();
678*5113495bSYour Name }
679*5113495bSYour Name 
680*5113495bSYour Name #ifdef FEATURE_METERING
qdf_ipa_broadcast_wdi_quota_reach_ind(uint32_t index,uint64_t quota_bytes)681*5113495bSYour Name static inline int qdf_ipa_broadcast_wdi_quota_reach_ind(uint32_t index,
682*5113495bSYour Name 							uint64_t quota_bytes)
683*5113495bSYour Name {
684*5113495bSYour Name 	return __qdf_ipa_broadcast_wdi_quota_reach_ind(index, quota_bytes);
685*5113495bSYour Name }
686*5113495bSYour Name #endif
687*5113495bSYour Name 
688*5113495bSYour Name #ifdef ENABLE_SMMU_S1_TRANSLATION
689*5113495bSYour Name /**
690*5113495bSYour Name  * qdf_get_ipa_smmu_enabled() - to get IPA SMMU enable status
691*5113495bSYour Name  *
692*5113495bSYour Name  * Return: true when IPA SMMU enabled, otherwise false
693*5113495bSYour Name  */
qdf_get_ipa_smmu_enabled(void)694*5113495bSYour Name static inline bool qdf_get_ipa_smmu_enabled(void)
695*5113495bSYour Name {
696*5113495bSYour Name 	return __qdf_get_ipa_smmu_enabled();
697*5113495bSYour Name }
698*5113495bSYour Name #endif
699*5113495bSYour Name 
700*5113495bSYour Name #ifdef IPA_LAN_RX_NAPI_SUPPORT
701*5113495bSYour Name /**
702*5113495bSYour Name  * qdf_ipa_get_lan_rx_napi() - Check if NAPI is enabled in LAN
703*5113495bSYour Name  * RX DP
704*5113495bSYour Name  *
705*5113495bSYour Name  * Returns: true if enabled, false otherwise
706*5113495bSYour Name  */
qdf_ipa_get_lan_rx_napi(void)707*5113495bSYour Name static inline bool qdf_ipa_get_lan_rx_napi(void)
708*5113495bSYour Name {
709*5113495bSYour Name 	return __qdf_ipa_get_lan_rx_napi();
710*5113495bSYour Name }
711*5113495bSYour Name #else
qdf_ipa_get_lan_rx_napi(void)712*5113495bSYour Name static inline bool qdf_ipa_get_lan_rx_napi(void)
713*5113495bSYour Name {
714*5113495bSYour Name 	return false;
715*5113495bSYour Name }
716*5113495bSYour Name #endif /* IPA_LAN_RX_NAPI_SUPPORT */
717*5113495bSYour Name #else
718*5113495bSYour Name #ifdef ENABLE_SMMU_S1_TRANSLATION
qdf_get_ipa_smmu_enabled(void)719*5113495bSYour Name static inline bool qdf_get_ipa_smmu_enabled(void)
720*5113495bSYour Name {
721*5113495bSYour Name 	return false;
722*5113495bSYour Name }
723*5113495bSYour Name #endif
724*5113495bSYour Name #endif /* IPA_OFFLOAD */
725*5113495bSYour Name #endif /* _QDF_IPA_H */
726