1 /*
2 * Copyright (c) 2020, The Linux Foundation. All rights reserved.
3 * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
4 *
5 * Permission to use, copy, modify, and/or distribute this software for any
6 * purpose with or without fee is hereby granted, provided that the above
7 * copyright notice and this permission notice appear in all copies.
8 *
9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 */
17
18 /**
19 * DOC: This file contains definitions for target_if roaming offload.
20 */
21
22 #ifndef TARGET_IF_CM_ROAM_OFFLOAD_H__
23 #define TARGET_IF_CM_ROAM_OFFLOAD_H__
24
25 #include "wlan_cm_roam_public_struct.h"
26
27 /**
28 * target_if_cm_roam_register_tx_ops - Target IF API to register roam
29 * related tx op.
30 * @tx_ops: Pointer to tx ops fp struct
31 *
32 * Return: QDF_STATUS
33 */
34 QDF_STATUS
35 target_if_cm_roam_register_tx_ops(struct wlan_cm_roam_tx_ops *tx_ops);
36
37 #ifdef WLAN_FEATURE_11BE_MLO
38 /**
39 * target_if_stop_rso_stop_timer() - Stop the RSO_STOP timer
40 * @roam_event: Roam event data
41 *
42 * This stops the RSO stop timer in below cases,
43 * 1. If the reason is RSO_STATUS and notif is CM_ROAM_NOTIF_SCAN_MODE_SUCCESS
44 * 2. If wait started already and received HO_FAIL event
45 *
46 * Return: QDF_STATUS
47 */
48 QDF_STATUS
49 target_if_stop_rso_stop_timer(struct roam_offload_roam_event *roam_event);
50 #else
51 static inline QDF_STATUS
target_if_stop_rso_stop_timer(struct roam_offload_roam_event * roam_event)52 target_if_stop_rso_stop_timer(struct roam_offload_roam_event *roam_event)
53 {
54 roam_event->rso_timer_stopped = false;
55 return QDF_STATUS_E_NOSUPPORT;
56 }
57 #endif
58
59 #ifdef WLAN_FEATURE_ROAM_OFFLOAD
60 /**
61 * target_if_cm_send_rso_stop_failure_rsp() - Send RSO_STOP failure rsp to CM
62 * @psoc: psoc object
63 * @vdev_id: vdev_id on which RSO stop is issued
64 *
65 * Return: QDF_STATUS
66 */
67 QDF_STATUS
68 target_if_cm_send_rso_stop_failure_rsp(struct wlan_objmgr_psoc *psoc,
69 uint8_t vdev_id);
70 #else
71 static inline QDF_STATUS
target_if_cm_send_rso_stop_failure_rsp(struct wlan_objmgr_psoc * psoc,uint8_t vdev_id)72 target_if_cm_send_rso_stop_failure_rsp(struct wlan_objmgr_psoc *psoc,
73 uint8_t vdev_id)
74 {
75 return QDF_STATUS_E_NOSUPPORT;
76 }
77 #endif
78 #endif
79