qcacld-3.0: Support to deliver mlme event to SON

Support to deliver below mlme event to SON:
MLME_EVENT_VDEV_STATE,
MLME_EVENT_INST_RSSI,
MLME_EVENT_TX_PWR_CHANGE.

Change-Id: I0535d80cea155f5b94abecfa609d34940e57cdd7
CRs-Fixed: 3054810
This commit is contained in:
Li Feng
2021-11-08 11:51:03 +08:00
committed by Madan Koyyalamudi
parent 141a4592ae
commit f50a9f03fe
5 changed files with 236 additions and 0 deletions

View File

@@ -1,5 +1,6 @@
/*
* Copyright (c) 2021, The Linux Foundation. All rights reserved.
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -77,6 +78,36 @@ void wlan_son_ind_assoc_req_frm(struct wlan_objmgr_vdev *vdev,
uint8_t *macaddr, bool is_reassoc,
uint8_t *frame, uint16_t frame_len,
QDF_STATUS status);
/**
* wlan_son_deliver_tx_power() - notify son module of tx power
* @vdev: vdev
* @max_pwr: max power in dBm unit
*
* Return: 0 if event is sent successfully
*/
int wlan_son_deliver_tx_power(struct wlan_objmgr_vdev *vdev,
int32_t max_pwr);
/**
* wlan_son_deliver_vdev_stop() - notify son module of vdev stop
* @vdev: vdev
*
* Return: 0 if event is sent successfully
*/
int wlan_son_deliver_vdev_stop(struct wlan_objmgr_vdev *vdev);
/**
* wlan_son_deliver_inst_rssi() - notify son module of inst rssi
* @vdev: vdev
* @peer: peer device
* @irssi: inst rssi above the noise floor in dB unit
*
* Return: 0 if event is sent successfully
*/
int wlan_son_deliver_inst_rssi(struct wlan_objmgr_vdev *vdev,
struct wlan_objmgr_peer *peer,
uint32_t irssi);
#else
static inline bool wlan_son_peer_is_kickout_allow(struct wlan_objmgr_vdev *vdev,
@@ -92,5 +123,26 @@ void wlan_son_ind_assoc_req_frm(struct wlan_objmgr_vdev *vdev,
QDF_STATUS status)
{
}
static inline
int wlan_son_deliver_tx_power(struct wlan_objmgr_vdev *vdev,
int32_t max_pwr)
{
return -EINVAL;
}
static inline
int wlan_son_deliver_vdev_stop(struct wlan_objmgr_vdev *vdev)
{
return -EINVAL;
}
static inline
int wlan_son_deliver_inst_rssi(struct wlan_objmgr_vdev *vdev,
struct wlan_objmgr_peer *peer,
uint32_t irssi)
{
return -EINVAL;
}
#endif /*WLAN_FEATURE_SON*/
#endif