qcacld-3.0: Enabling RPS for STA in STA+SAP mode

In STA+SAP mode, RPS is enabled only for SAP interface and
not for STA interface resulting in low throughput as STA RX
will also take the IPA path.
To fix this, enable/disable RPS when SAP is turned on/off
when IPA is enabled

Change-Id: I67c0da2fbbb43bd7b34969bbb05c1127e60d5673
CRs-Fixed: 2783136
This commit is contained in:
Ananya Gupta
2020-09-29 01:07:36 +05:30
committed by snandini
parent c526619159
commit b7b97c1bc5
10 changed files with 215 additions and 2 deletions

View File

@@ -176,6 +176,24 @@ void ucfg_ipa_reg_sap_xmit_cb(struct wlan_objmgr_pdev *pdev,
void ucfg_ipa_reg_send_to_nw_cb(struct wlan_objmgr_pdev *pdev,
wlan_ipa_send_to_nw cb);
/**
* ucfg_ipa_reg_rps_enable_cb() - Register cb to enable RPS
* @pdev: pdev obj
* @cb: callback
*
* Return: None
*/
#ifdef IPA_LAN_RX_NAPI_SUPPORT
void ucfg_ipa_reg_rps_enable_cb(struct wlan_objmgr_pdev *pdev,
wlan_ipa_rps_enable cb);
#else
static inline
void ucfg_ipa_reg_rps_enable_cb(struct wlan_objmgr_pdev *pdev,
wlan_ipa_rps_enable cb)
{
}
#endif
/**
* ucfg_ipa_set_mcc_mode() - Set MCC mode
* @pdev: pdev obj
@@ -494,6 +512,12 @@ void ucfg_ipa_reg_send_to_nw_cb(struct wlan_objmgr_pdev *pdev,
{
}
static inline
void ucfg_ipa_reg_rps_enable_cb(struct wlan_objmgr_pdev *pdev,
wlan_ipa_rps_enable cb)
{
}
static inline
void ucfg_ipa_set_mcc_mode(struct wlan_objmgr_pdev *pdev, bool mcc_mode)
{

View File

@@ -104,9 +104,16 @@ void ucfg_ipa_reg_send_to_nw_cb(struct wlan_objmgr_pdev *pdev,
wlan_ipa_send_to_nw cb)
{
return ipa_reg_send_to_nw_cb(pdev, cb);
}
#ifdef IPA_LAN_RX_NAPI_SUPPORT
void ucfg_ipa_reg_rps_enable_cb(struct wlan_objmgr_pdev *pdev,
wlan_ipa_rps_enable cb)
{
return ipa_reg_rps_enable_cb(pdev, cb);
}
#endif
void ucfg_ipa_set_mcc_mode(struct wlan_objmgr_pdev *pdev, bool mcc_mode)
{
return ipa_set_mcc_mode(pdev, mcc_mode);