qcacmn: Add VDEV MLME support for SR Prohibit

Add VDEV MLME variables, function to support SR prohibit
Enable / Disable

Change-Id: I9b6128f179880dd407dc042f6bbbbde63135f4ed
CRs-Fixed: 3308159
This commit is contained in:
Rachit Kankane
2022-10-09 01:24:24 +05:30
committed by Madan Koyyalamudi
parent 8f76bf1455
commit c7964d96d6
2 changed files with 64 additions and 1 deletions

View File

@@ -382,8 +382,9 @@ struct vdev_mlme_mgmt_generic {
uint8_t he_spr_srg_max_pd_offset; uint8_t he_spr_srg_max_pd_offset;
uint8_t he_spr_srg_min_pd_offset; uint8_t he_spr_srg_min_pd_offset;
bool he_spr_enabled; bool he_spr_enabled;
int32_t pd_threshold;
bool he_spr_disabled_due_conc; bool he_spr_disabled_due_conc;
bool sr_prohibit_enabled;
int32_t pd_threshold;
uint64_t srg_bss_color; uint64_t srg_bss_color;
uint64_t srg_partial_bssid; uint64_t srg_partial_bssid;
#endif #endif
@@ -1275,6 +1276,30 @@ bool wlan_vdev_mlme_is_sr_disable_due_conc(struct wlan_objmgr_vdev *vdev)
return vdev_mlme->mgmt.generic.he_spr_disabled_due_conc; return vdev_mlme->mgmt.generic.he_spr_disabled_due_conc;
} }
/**
* wlan_vdev_mlme_is_sr_prohibit_en() - spatial reuse PD prohibit enabled
* / disabled (HE_SIGA_Val15_Allowed)
* @vdev: VDEV object
*
* API to check whether the spatial reuse PD prohibit is enabled / disabled
*
* Caller need to acquire lock with wlan_vdev_obj_lock()
*
* Return:
* @sr_prohibit_enabled: Spatial reuse PD prohibit enabled / disabled
*/
static inline
bool wlan_vdev_mlme_is_sr_prohibit_en(struct wlan_objmgr_vdev *vdev)
{
struct vdev_mlme_obj *vdev_mlme;
vdev_mlme = wlan_vdev_mlme_get_cmpt_obj(vdev);
if (!vdev_mlme)
return false;
return vdev_mlme->mgmt.generic.sr_prohibit_enabled;
}
/** /**
* wlan_vdev_mlme_set_sr_ctrl() - set spatial reuse SR control * wlan_vdev_mlme_set_sr_ctrl() - set spatial reuse SR control
* @vdev: VDEV object * @vdev: VDEV object
@@ -1367,6 +1392,31 @@ void wlan_vdev_mlme_set_sr_disable_due_conc(struct wlan_objmgr_vdev *vdev,
he_spr_disabled_due_conc; he_spr_disabled_due_conc;
} }
/**
* wlan_vdev_mlme_set_sr_prohibit_en() - set spatial reuse PD prohibit enabled
* / disabled (HE_SIGA_Val15_Allowed)
* @vdev: VDEV object
* @sr_prohibit_enabled: True / False - PD Prohibit enabled / disabled
*
* API to set spatial reuse PD prohibit enabled / disabled
*
* Caller need to acquire lock with wlan_vdev_obj_lock()
*
* Return: void
*/
static inline
void wlan_vdev_mlme_set_sr_prohibit_en(struct wlan_objmgr_vdev *vdev,
bool sr_prohibit_enabled)
{
struct vdev_mlme_obj *vdev_mlme;
vdev_mlme = wlan_vdev_mlme_get_cmpt_obj(vdev);
if (!vdev_mlme)
return;
vdev_mlme->mgmt.generic.sr_prohibit_enabled = sr_prohibit_enabled;
}
/** /**
* wlan_vdev_mlme_set_srg_pd_offset() - set spatial reuse SRG pd max/min offset * wlan_vdev_mlme_set_srg_pd_offset() - set spatial reuse SRG pd max/min offset
* @vdev: VDEV object * @vdev: VDEV object
@@ -1544,6 +1594,12 @@ bool wlan_vdev_mlme_is_sr_disable_due_conc(struct wlan_objmgr_vdev *vdev)
return false; return false;
} }
static inline
bool wlan_vdev_mlme_is_sr_prohibit_en(struct wlan_objmgr_vdev *vdev)
{
return false;
}
static inline void wlan_vdev_mlme_set_sr_ctrl(struct wlan_objmgr_vdev *vdev, static inline void wlan_vdev_mlme_set_sr_ctrl(struct wlan_objmgr_vdev *vdev,
uint8_t sr_ctrl) uint8_t sr_ctrl)
{ {
@@ -1565,6 +1621,12 @@ void wlan_vdev_mlme_set_sr_disable_due_conc(struct wlan_objmgr_vdev *vdev,
bool he_spr_disabled_due_conc) bool he_spr_disabled_due_conc)
{ {
} }
static inline
void wlan_vdev_mlme_set_sr_prohibit_en(struct wlan_objmgr_vdev *vdev,
bool sr_prohibit_enabled)
{
}
#endif #endif
#else #else
static inline void wlan_vdev_mlme_set_he_mcs_12_13_map( static inline void wlan_vdev_mlme_set_he_mcs_12_13_map(

View File

@@ -448,6 +448,7 @@ vdev_param_sr_prohibit_send_tlv(struct wmi_unified *wmi_handle,
cmd->vdev_id = param->vdev_id; cmd->vdev_id = param->vdev_id;
cmd->tidmap = 0; cmd->tidmap = 0;
cmd->prohibit_enable = param->sr_he_siga_val15_allowed; cmd->prohibit_enable = param->sr_he_siga_val15_allowed;
wmi_debug("SR Prohibit enabled: %d", cmd->prohibit_enable);
wmi_mtrace(WMI_VDEV_PARAM_ENABLE_SR_PROHIBIT_CMDID, cmd->vdev_id, 0); wmi_mtrace(WMI_VDEV_PARAM_ENABLE_SR_PROHIBIT_CMDID, cmd->vdev_id, 0);
if (wmi_unified_cmd_send(wmi_handle, buf, len, if (wmi_unified_cmd_send(wmi_handle, buf, len,