1 /* Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved. 2 * 3 * Permission to use, copy, modify, and/or distribute this software for any 4 * purpose with or without fee is hereby granted, provided that the above 5 * copyright notice and this permission notice appear in all copies. 6 * 7 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 8 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 9 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 10 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 11 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 12 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 13 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 14 */ 15 16 /* 17 * DOC: contains MLO manager public file containing setup/teardown functionality 18 */ 19 20 #ifdef WLAN_MLO_MULTI_CHIP 21 /** 22 * mlo_setup_update_total_socs() - API to update total socs for mlo 23 * @tot_socs: Total socs 24 * 25 * Return: None. 26 */ 27 void mlo_setup_update_total_socs(uint8_t tot_socs); 28 29 /** 30 * mlo_setup_update_num_links() - API to update num links in soc for mlo 31 * @soc_id: soc object of SoC corresponding to num_link 32 * @num_links: Number of links in that soc 33 * 34 * Return: None. 35 */ 36 void mlo_setup_update_num_links(struct wlan_objmgr_psoc *psoc, 37 uint8_t num_links); 38 39 /** 40 * mlo_setup_update_soc_ready() - API to notify when FW init done 41 * @psoc: soc object of SoC ready 42 * 43 * Return: None. 44 */ 45 void mlo_setup_update_soc_ready(struct wlan_objmgr_psoc *psoc); 46 47 /** 48 * mlo_setup_link_ready() - API to notify link ready 49 * @pdev: Pointer to pdev object 50 * 51 * Return: None. 52 */ 53 void mlo_setup_link_ready(struct wlan_objmgr_pdev *pdev); 54 55 /** 56 * mlo_link_setup_complete() - API to notify setup complete 57 * @pdev: Pointer to pdev object 58 * 59 * Return: None. 60 */ 61 void mlo_link_setup_complete(struct wlan_objmgr_pdev *pdev); 62 63 /** 64 * mlo_link_teardown_complete() - API to notify teardown complete 65 * @pdev: Pointer to pdev object 66 * 67 * Return: None. 68 */ 69 void mlo_link_teardown_complete(struct wlan_objmgr_pdev *pdev); 70 71 /** 72 * mlo_link_teardown_link() - API to trigger teardown 73 * @psoc: Pointer to psoc object 74 * @reason: Reason code for MLO tear down 75 * 76 * Return: QDF_STATUS - success / failure. 77 */ 78 QDF_STATUS mlo_link_teardown_link(struct wlan_objmgr_psoc *psoc, 79 uint32_t reason); 80 #endif 81