qcacld-3.0: Spatial Reuse enhancement for SAP

Add below two enhancements for SAP
1. Spatial Reuse enabled in single MAC concurrency
2. Set bit HESIGA_Spatial_reuse_value15_allowed in SRP IE

Change-Id: Id2d3d04ae1b3b9a2e6d84f30749b577bc7b79061
CRs-Fixed: 3305447
This commit is contained in:
Rachit Kankane
2022-08-09 18:07:52 +05:30
committed by Madan Koyyalamudi
parent 13046aa4c1
commit 983623c4b8
18 changed files with 156 additions and 124 deletions

View File

@@ -25,6 +25,7 @@
#include <qdf_trace.h>
#include <wlan_objmgr_vdev_obj.h>
#ifdef WLAN_FEATURE_SR
/**
* wlan_spatial_reuse_config_set() - Set spatial reuse config
* @vdev: objmgr manager vdev
@@ -36,6 +37,15 @@
QDF_STATUS wlan_spatial_reuse_config_set(struct wlan_objmgr_vdev *vdev,
uint8_t sr_ctrl,
uint8_t non_srg_max_pd_offset);
#else
static inline
QDF_STATUS wlan_spatial_reuse_config_set(struct wlan_objmgr_vdev *vdev,
uint8_t sr_ctrl,
uint8_t non_srg_max_pd_offset)
{
return QDF_STATUS_SUCCESS;
}
#endif
/**
* wlan_spatial_reuse_he_siga_val15_allowed_set() - Set spatial reuse config

View File

@@ -43,20 +43,22 @@ void ucfg_spatial_reuse_send_sr_config(struct wlan_objmgr_vdev *vdev,
bool enable)
{
uint8_t sr_ctrl = 0;
uint8_t non_srg_max_pd_offset = 0;
/* Disabled PD Threshold */
uint8_t non_srg_max_pd_offset = 0x80;
if (enable && (!wlan_vdev_mlme_get_he_spr_enabled(vdev))) {
/* SR feature itself is disabled by user */
if (!wlan_vdev_mlme_get_he_spr_enabled(vdev))
return;
if (enable) {
sr_ctrl = wlan_vdev_mlme_get_sr_ctrl(vdev);
non_srg_max_pd_offset = wlan_vdev_mlme_get_pd_offset(vdev);
if (sr_ctrl && non_srg_max_pd_offset) {
if (sr_ctrl && non_srg_max_pd_offset)
wlan_spatial_reuse_config_set(vdev, sr_ctrl,
non_srg_max_pd_offset);
wlan_vdev_mlme_set_he_spr_enabled(vdev, true);
}
} else if (!enable && wlan_vdev_mlme_get_he_spr_enabled(vdev)) {
} else {
wlan_spatial_reuse_config_set(vdev, sr_ctrl,
non_srg_max_pd_offset);
wlan_vdev_mlme_set_he_spr_enabled(vdev, false);
}
}