1 /*
2  * Copyright (c) 2023 Qualcomm Innovation Center, Inc. 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: This file contains ll_sap north bound interface definitions
21  */
22 #include "../../core/src/wlan_ll_sap_main.h"
23 #include "../../core/src/wlan_ll_lt_sap_main.h"
24 #include "../../core/src/wlan_ll_lt_sap_bearer_switch.h"
25 #include <wlan_ll_sap_ucfg_api.h>
26 
ucfg_ll_sap_init(void)27 QDF_STATUS ucfg_ll_sap_init(void)
28 {
29 	return ll_sap_init();
30 }
31 
ucfg_ll_sap_deinit(void)32 QDF_STATUS ucfg_ll_sap_deinit(void)
33 {
34 	return ll_sap_deinit();
35 }
36 
ucfg_is_ll_lt_sap_supported(struct wlan_objmgr_psoc * psoc)37 bool ucfg_is_ll_lt_sap_supported(struct wlan_objmgr_psoc *psoc)
38 {
39 	return ll_lt_sap_is_supported(psoc);
40 }
41 
ucfg_ll_lt_sap_request_for_audio_transport_switch(struct wlan_objmgr_vdev * vdev,enum bearer_switch_req_type req_type)42 QDF_STATUS ucfg_ll_lt_sap_request_for_audio_transport_switch(
43 					struct wlan_objmgr_vdev *vdev,
44 					enum bearer_switch_req_type req_type)
45 {
46 	return ll_lt_sap_request_for_audio_transport_switch(vdev, req_type);
47 }
48 
ucfg_ll_lt_sap_deliver_audio_transport_switch_resp(struct wlan_objmgr_vdev * vdev,enum bearer_switch_req_type req_type,enum bearer_switch_status status)49 void ucfg_ll_lt_sap_deliver_audio_transport_switch_resp(
50 					struct wlan_objmgr_vdev *vdev,
51 					enum bearer_switch_req_type req_type,
52 					enum bearer_switch_status status)
53 {
54 	ll_lt_sap_deliver_audio_transport_switch_resp(vdev, req_type,
55 						      status);
56 }
57 
ucfg_ll_sap_register_cb(struct ll_sap_ops * ll_sap_global_ops)58 void ucfg_ll_sap_register_cb(struct ll_sap_ops *ll_sap_global_ops)
59 {
60 	ll_sap_register_os_if_cb(ll_sap_global_ops);
61 }
62 
ucfg_ll_sap_unregister_cb(void)63 void ucfg_ll_sap_unregister_cb(void)
64 {
65 	ll_sap_unregister_os_if_cb();
66 }
67 
ucfg_ll_sap_psoc_enable(struct wlan_objmgr_psoc * psoc)68 QDF_STATUS ucfg_ll_sap_psoc_enable(struct wlan_objmgr_psoc *psoc)
69 {
70 	return ll_sap_psoc_enable(psoc);
71 }
72 
ucfg_ll_sap_psoc_disable(struct wlan_objmgr_psoc * psoc)73 QDF_STATUS ucfg_ll_sap_psoc_disable(struct wlan_objmgr_psoc *psoc)
74 {
75 	return ll_sap_psoc_disable(psoc);
76 }
77