qcacld-3.0: Handle SRG and NON-SRG pd threshold

Currently, only single pd_threshold is fetched and
treated as SRG and NON-SRG pd threshold instead of
handling both threshold separately.

Fix is to get SRG and NON-SRG pd threshold from
userspace instead of single pd threshold

Change-Id: I2a131ea9040c799bc12a17a9ce42be02da8a717b
CRs-Fixed: 3328189
This commit is contained in:
Sheenam Monga
2022-11-03 19:53:46 +05:30
committed by Madan Koyyalamudi
parent 1b32411a89
commit 45372b860a
6 changed files with 39 additions and 25 deletions

View File

@@ -127,16 +127,16 @@ QDF_STATUS wlan_spatial_reuse_he_siga_val15_allowed_set(
/**
* wlan_sr_setup_req() - Enable SR with provided pd threshold
*
* @vdev: objmgr vdev
* @pdev: objmgr pdev
* @is_sr_enable: sr enable/disable
* @pd_threshold: pd threshold
* @srg_pd_threshold: SRG pd threshold
* @non_srg_pd_threshold: NON SRG PD threshold
*
* Return: QDF_STATUS
*/
QDF_STATUS
wlan_sr_setup_req(struct wlan_objmgr_vdev *vdev,
struct wlan_objmgr_pdev *pdev, bool is_sr_enable,
int32_t pd_threshold);
int32_t srg_pd_threshold, int32_t non_srg_pd_threshold);
#endif

View File

@@ -119,19 +119,21 @@ void ucfg_spatial_reuse_send_sr_prohibit(struct wlan_objmgr_vdev *vdev,
bool enable_he_siga_val15_prohibit);
/**
* ucfg_spatial_reuse_setup_req() - To enable/disable SR
*
* ucfg_spatial_reuse_setup_req() - To enable/disable SR (Spatial Reuse)
* vdev: object manager vdev
* pdev: object manager pdev
* is_sr_enable: sr enable/disable
* pd_threshold: pd threshold
* is_sr_enable: SR enable/disable
* srg_pd_threshold: SRG pd threshold
* non_srg_pd_threshold: NON SRG pd threshold
*
* Return: Success/Failure
*/
QDF_STATUS ucfg_spatial_reuse_setup_req(struct wlan_objmgr_vdev *vdev,
struct wlan_objmgr_pdev *pdev,
bool is_sr_enable,
int32_t pd_threshold);
QDF_STATUS
ucfg_spatial_reuse_setup_req(struct wlan_objmgr_vdev *vdev,
struct wlan_objmgr_pdev *pdev,
bool is_sr_enable, int32_t srg_pd_threshold,
int32_t non_srg_pd_threshold);
#else
static inline
void ucfg_spatial_reuse_register_cb(struct wlan_objmgr_psoc *psoc,

View File

@@ -68,7 +68,8 @@ QDF_STATUS wlan_spatial_reuse_he_siga_val15_allowed_set(
QDF_STATUS
wlan_sr_setup_req(struct wlan_objmgr_vdev *vdev, struct wlan_objmgr_pdev *pdev,
bool is_sr_enable, int32_t pd_threshold) {
bool is_sr_enable, int32_t srg_pd_threshold,
int32_t non_srg_pd_threshold) {
struct wlan_lmac_if_tx_ops *tx_ops;
QDF_STATUS status = QDF_STATUS_E_FAILURE;
@@ -77,7 +78,8 @@ wlan_sr_setup_req(struct wlan_objmgr_vdev *vdev, struct wlan_objmgr_pdev *pdev,
tx_ops->spatial_reuse_tx_ops.target_if_set_sr_enable_disable) {
status =
tx_ops->spatial_reuse_tx_ops.target_if_set_sr_enable_disable(
vdev, pdev, is_sr_enable, pd_threshold);
vdev, pdev, is_sr_enable,
srg_pd_threshold, non_srg_pd_threshold);
return status;
}
return status;

View File

@@ -115,7 +115,9 @@ void ucfg_spatial_reuse_send_sr_prohibit(struct wlan_objmgr_vdev *vdev,
QDF_STATUS
ucfg_spatial_reuse_setup_req(struct wlan_objmgr_vdev *vdev,
struct wlan_objmgr_pdev *pdev,
bool is_sr_enable, int32_t pd_threshold)
bool is_sr_enable, int32_t srg_pd_threshold,
int32_t non_srg_pd_threshold)
{
return wlan_sr_setup_req(vdev, pdev, is_sr_enable, pd_threshold);
return wlan_sr_setup_req(vdev, pdev, is_sr_enable,
srg_pd_threshold, non_srg_pd_threshold);
}