qcacld-3.0: Control GRO en/dis based on TC filter prio
The dynamic GRO enable/disable based on ingress filters should currently is restricted only to standalone STA. This was done to address issue where ingress filters are added on STA interface whenever SAP is up disabling GRO unnecessarily. Fix is to allow dynamic GRO to work on all interfaces and concurrency scenarios based on the priority of the ingress filter configured to avoid unnecessary GRO disable in STA+SAP. Change-Id: I1742f4539353939e3a40ff4096b3f833f2029b12 CRs-Fixed: 3206815
这个提交包含在:

提交者
Madan Koyyalamudi

父节点
e82fd479db
当前提交
47a80af63c
@@ -1790,15 +1790,14 @@ struct policy_mgr_cdp_cbacks {
|
||||
/**
|
||||
* struct policy_mgr_dp_cbacks - CDP Callbacks to be invoked
|
||||
* from policy manager
|
||||
* @hdd_rx_handle_concurrency: Callback to handle concurrency related
|
||||
* operations for rx
|
||||
* @hdd_disable_rx_ol_in_concurrency: Callback to disable LRO/GRO offloads
|
||||
* @hdd_set_rx_mode_rps_cb: Callback to set RPS
|
||||
* @hdd_ipa_set_mcc_mode_cb: Callback to set mcc mode for ipa module
|
||||
* @hdd_v2_flow_pool_map: Callback to create vdev flow pool
|
||||
* @hdd_v2_flow_pool_unmap: Callback to delete vdev flow pool
|
||||
*/
|
||||
struct policy_mgr_dp_cbacks {
|
||||
void (*hdd_rx_handle_concurrency)(bool);
|
||||
void (*hdd_disable_rx_ol_in_concurrency)(bool);
|
||||
void (*hdd_set_rx_mode_rps_cb)(bool);
|
||||
void (*hdd_ipa_set_mcc_mode_cb)(bool);
|
||||
void (*hdd_v2_flow_pool_map)(int);
|
||||
|
@@ -3474,8 +3474,8 @@ void policy_mgr_incr_active_session(struct wlan_objmgr_psoc *psoc,
|
||||
(policy_mgr_mode_specific_connection_count(psoc,
|
||||
PM_NDI_MODE,
|
||||
NULL) > 0)) {
|
||||
if (pm_ctx->dp_cbacks.hdd_rx_handle_concurrency)
|
||||
pm_ctx->dp_cbacks.hdd_rx_handle_concurrency(true);
|
||||
if (pm_ctx->dp_cbacks.hdd_disable_rx_ol_in_concurrency)
|
||||
pm_ctx->dp_cbacks.hdd_disable_rx_ol_in_concurrency(true);
|
||||
};
|
||||
|
||||
/* Enable RPS if SAP interface has come up */
|
||||
@@ -3638,8 +3638,8 @@ QDF_STATUS policy_mgr_decr_active_session(struct wlan_objmgr_psoc *psoc,
|
||||
(policy_mgr_mode_specific_connection_count(psoc,
|
||||
PM_NDI_MODE,
|
||||
NULL) == 0))) {
|
||||
if (pm_ctx->dp_cbacks.hdd_rx_handle_concurrency)
|
||||
pm_ctx->dp_cbacks.hdd_rx_handle_concurrency(false);
|
||||
if (pm_ctx->dp_cbacks.hdd_disable_rx_ol_in_concurrency)
|
||||
pm_ctx->dp_cbacks.hdd_disable_rx_ol_in_concurrency(false);
|
||||
};
|
||||
|
||||
/* Disable RPS if SAP interface has come up */
|
||||
|
@@ -806,8 +806,8 @@ QDF_STATUS policy_mgr_register_dp_cb(struct wlan_objmgr_psoc *psoc,
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
}
|
||||
|
||||
pm_ctx->dp_cbacks.hdd_rx_handle_concurrency =
|
||||
dp_cbacks->hdd_rx_handle_concurrency;
|
||||
pm_ctx->dp_cbacks.hdd_disable_rx_ol_in_concurrency =
|
||||
dp_cbacks->hdd_disable_rx_ol_in_concurrency;
|
||||
pm_ctx->dp_cbacks.hdd_set_rx_mode_rps_cb =
|
||||
dp_cbacks->hdd_set_rx_mode_rps_cb;
|
||||
pm_ctx->dp_cbacks.hdd_ipa_set_mcc_mode_cb =
|
||||
|
在新工单中引用
屏蔽一个用户