xref: /wlan-dirver/qca-wifi-host-cmn/qdf/linux/src/qdf_ipa.c (revision 0626a4da6c07f30da06dd6747e8cc290a60371d8)
1 /*
2  * Copyright (c) 2018 The Linux Foundation. All rights reserved.
3  *
4  * 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 
19 /**
20  * DOC: qdf_ipa.c
21  *
22  * This source file contains linux specific definitions for QDF IPA APIs
23  */
24 
25 /* Include Files */
26 #include <qdf_ipa.h>
27 
28 static uint8_t __qdf_to_ipa_wlan_event(int qdf_ipa_event)
29 {
30 	uint8_t ipa_event;
31 
32 	switch (qdf_ipa_event) {
33 	case QDF_IPA_CLIENT_CONNECT:
34 		ipa_event = WLAN_CLIENT_CONNECT;
35 		break;
36 	case QDF_IPA_CLIENT_DISCONNECT:
37 		ipa_event = WLAN_CLIENT_DISCONNECT;
38 		break;
39 	case QDF_IPA_AP_CONNECT:
40 		ipa_event = WLAN_AP_CONNECT;
41 		break;
42 	case QDF_IPA_AP_DISCONNECT:
43 		ipa_event = WLAN_AP_DISCONNECT;
44 		break;
45 	case QDF_IPA_STA_CONNECT:
46 		ipa_event = WLAN_STA_CONNECT;
47 		break;
48 	case QDF_IPA_STA_DISCONNECT:
49 		ipa_event = WLAN_STA_DISCONNECT;
50 		break;
51 	case QDF_IPA_CLIENT_CONNECT_EX:
52 		ipa_event = WLAN_CLIENT_CONNECT_EX;
53 		break;
54 	case QDF_SWITCH_TO_SCC:
55 		ipa_event = WLAN_SWITCH_TO_SCC;
56 		break;
57 	case QDF_SWITCH_TO_MCC:
58 		ipa_event = WLAN_SWITCH_TO_MCC;
59 		break;
60 	case QDF_WDI_ENABLE:
61 		ipa_event = WLAN_WDI_ENABLE;
62 		break;
63 	case QDF_WDI_DISABLE:
64 		ipa_event = WLAN_WDI_DISABLE;
65 		break;
66 	case QDF_FWR_SSR_BEFORE_SHUTDOWN:
67 		ipa_event = WLAN_FWR_SSR_BEFORE_SHUTDOWN;
68 		break;
69 	case QDF_IPA_WLAN_EVENT_MAX:
70 	default:
71 		ipa_event = IPA_WLAN_EVENT_MAX;
72 		break;
73 	}
74 
75 	return ipa_event;
76 }
77 
78 void __qdf_ipa_set_meta_msg_type(__qdf_ipa_msg_meta_t *meta, int type)
79 {
80 	meta->msg_type = __qdf_to_ipa_wlan_event(type);
81 }
82