blob: 72f0c379082d8d7d73d5e56afcd4b655d27b2281 [file] [log] [blame]
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001/*
Himanshu Agarwaledf30dc2017-06-05 15:54:27 +05302 * Copyright (c) 2013-2018 The Linux Foundation. All rights reserved.
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003 *
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08004 * Permission to use, copy, modify, and/or distribute this software for
5 * any purpose with or without fee is hereby granted, provided that the
6 * above copyright notice and this permission notice appear in all
7 * copies.
8 *
9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
10 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
11 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
12 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
13 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
14 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
15 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
16 * PERFORMANCE OF THIS SOFTWARE.
17 */
18
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080019#ifndef HDD_IPA_H__
20#define HDD_IPA_H__
21
22/**
23 * DOC: wlan_hdd_ipa.h
24 *
25 * WLAN IPA interface module headers
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080026 */
27
Sravan Kumar Kairam858073b2018-03-13 09:03:32 +053028#include <qdf_nbuf.h>
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080029
30#ifdef IPA_OFFLOAD
Houston Hoffman43d47fa2016-02-24 16:34:30 -080031
32/**
Sravan Kumar Kairam858073b2018-03-13 09:03:32 +053033 * hdd_ipa_send_skb_to_network() - Send skb to kernel
34 * @skb: network buffer
35 * @adapter: network adapter
36 *
37 * Called when a network buffer is received which should not be routed
38 * to the IPA module.
39 *
40 * Return: None
Prakash Dhavali87b38e32016-11-14 16:22:53 -080041 */
Sravan Kumar Kairam858073b2018-03-13 09:03:32 +053042void hdd_ipa_send_skb_to_network(qdf_nbuf_t skb, qdf_netdev_t dev);
Prakash Dhavali87b38e32016-11-14 16:22:53 -080043
44/**
Sravan Kumar Kairam858073b2018-03-13 09:03:32 +053045 * hdd_ipa_set_tx_flow_info() - To set TX flow info if IPA is
46 * enabled
Houston Hoffman43d47fa2016-02-24 16:34:30 -080047 *
Sravan Kumar Kairam858073b2018-03-13 09:03:32 +053048 * This routine is called to set TX flow info if IPA is enabled
49 *
50 * Return: None
Houston Hoffman43d47fa2016-02-24 16:34:30 -080051 */
Tushnim Bhattacharyya9e81b4c2017-02-15 17:11:14 -080052void hdd_ipa_set_tx_flow_info(void);
Yun Park46255682017-10-09 15:56:34 -070053
jiadbb47e132018-03-30 16:28:30 +080054/**
55 * hdd_ipa_set_mcc_mode() - To set mcc mode if IPA is enabled
56 * @mcc_mode: mcc mode
57 *
58 * This routine is called to set mcc mode if IPA is enabled
59 *
60 * Return: None
61 */
62void hdd_ipa_set_mcc_mode(bool mcc_mode);
63
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080064#else
Sravan Kumar Kairam858073b2018-03-13 09:03:32 +053065static inline
66void hdd_ipa_send_skb_to_network(qdf_nbuf_t skb, qdf_netdev_t dev)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080067{
Manikandan Mohanbb8a7ee2017-02-09 11:26:53 -080068}
Tushnim Bhattacharyya9e81b4c2017-02-15 17:11:14 -080069
70static inline void hdd_ipa_set_tx_flow_info(void)
71{
Tushnim Bhattacharyya9e81b4c2017-02-15 17:11:14 -080072}
73
jiadbb47e132018-03-30 16:28:30 +080074static inline void hdd_ipa_set_mcc_mode(bool mcc_mode)
75{
76}
77
Sravan Kumar Kairam858073b2018-03-13 09:03:32 +053078#endif
79#endif /* HDD_IPA_H__ */