1 /*
2  * Copyright (c) 2020 The Linux Foundation. All rights reserved.
3  * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
4  *
5  * Permission to use, copy, modify, and/or distribute this software for
6  * any purpose with or without fee is hereby granted, provided that the
7  * above copyright notice and this permission notice appear in all
8  * copies.
9  *
10  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
11  * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
12  * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
13  * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
14  * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
15  * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
16  * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
17  * PERFORMANCE OF THIS SOFTWARE.
18  */
19 
20 /**
21  * DOC: target_if_cfr_adrastea.h
22  *
23  * Target interface of CFR for ADRASTEA implementation
24  *
25  */
26 
27 #ifndef _TARGET_IF_CFR_ADRASTEA_H
28 #define _TARGET_IF_CFR_ADRASTEA_H
29 
30 /* Max size:
31  * 532 = 112 bytes(csi_cfr_header) + 416 bytes(cfr payload) + 4 bytes(trailer)
32  */
33 #define STREAMFS_MAX_SUBBUF_ADRASTEA 532
34 
35 #define STREAMFS_NUM_BUF_SUBBUF_ADRASTEA 255
36 
37 #ifdef WLAN_CFR_ADRASTEA
38 /**
39  * cfr_adrastea_init_pdev() - Init pdev cfr for ADRASTEA
40  * @psoc: pointer to psoc object
41  * @pdev: pointer to pdev object
42  *
43  * Init pdev cfr parameters
44  *
45  * Return: QDF status
46  */
47 QDF_STATUS cfr_adrastea_init_pdev(struct wlan_objmgr_psoc *psoc,
48 				  struct wlan_objmgr_pdev *pdev);
49 
50 /**
51  * cfr_adrastea_deinit_pdev() - De-init pdev cfr for ADRASTEA
52  * @psoc: pointer to psoc object
53  * @pdev: pointer to pdev object
54  *
55  * Deinit pdev cfr parameters
56  *
57  * Return: QDF status
58  */
59 QDF_STATUS cfr_adrastea_deinit_pdev(struct wlan_objmgr_psoc *psoc,
60 				    struct wlan_objmgr_pdev *pdev);
61 #else
62 static inline
cfr_adrastea_init_pdev(struct wlan_objmgr_psoc * psoc,struct wlan_objmgr_pdev * pdev)63 QDF_STATUS cfr_adrastea_init_pdev(struct wlan_objmgr_psoc *psoc,
64 				  struct wlan_objmgr_pdev *pdev)
65 {
66 	return QDF_STATUS_SUCCESS;
67 }
68 
69 static inline
cfr_adrastea_deinit_pdev(struct wlan_objmgr_psoc * psoc,struct wlan_objmgr_pdev * pdev)70 QDF_STATUS cfr_adrastea_deinit_pdev(struct wlan_objmgr_psoc *psoc,
71 				    struct wlan_objmgr_pdev *pdev)
72 {
73 	return QDF_STATUS_SUCCESS;
74 }
75 #endif
76 
77 #endif /* _TARGET_IF_CFR_ADRASTEA_H */
78 
79