qcacmn: Add wmi config for AST flow override
Add wmi configuration to send AST flow override config to wlan fw during init Change-Id: Ia2915b40273bce25ab2cb48fdf34a618991c44bc
This commit is contained in:
@@ -373,6 +373,12 @@
|
||||
#define WMI_HOST_TPC_REGINDEX_MAX 4
|
||||
#define WMI_HOST_ARRAY_GAIN_NUM_STREAMS 2
|
||||
|
||||
/* AST Index for flow override */
|
||||
#define WMI_CONFIG_MSDU_AST_INDEX_0 0x0
|
||||
#define WMI_CONFIG_MSDU_AST_INDEX_1 0x1
|
||||
#define WMI_CONFIG_MSDU_AST_INDEX_2 0x2
|
||||
#define WMI_CONFIG_MSDU_AST_INDEX_3 0x3
|
||||
|
||||
#include "qdf_atomic.h"
|
||||
|
||||
#ifdef BIG_ENDIAN_HOST
|
||||
@@ -5170,6 +5176,15 @@ struct wmi_host_fw_abi_ver {
|
||||
* @max_num_group_keys: max number of group keys supported for VLAN
|
||||
* @re_ul_resp: enable 11ax UL response feature (UL-OFDMA) for repeater
|
||||
* @ipa_disable: disable IPA feature
|
||||
* @ast_1_valid_mask_enable: mask to enable ast index 1
|
||||
* @ast_2_valid_mask_enable: mask to enable ast index 2
|
||||
* @ast_3_valid_mask_enable: mask to enable ast index 3
|
||||
* @ast_0_flow_mask_enable: mask to enable flow support for ast index 0
|
||||
* @ast_1_flow_mask_enable: mask to enable flow support for ast index 1
|
||||
* @ast_2_flow_mask_enable: mask to enable flow support for ast index 2
|
||||
* @ast_3_flow_mask_enable: mask to enable flow support for ast index 3
|
||||
* @ast_tid_high_mask_enable: enable tid valid mask for high priority flow
|
||||
* @ast_tid_low_mask_enable: enable tid valid mask for low priority flow
|
||||
*/
|
||||
typedef struct {
|
||||
uint32_t num_vdevs;
|
||||
@@ -5257,6 +5272,15 @@ typedef struct {
|
||||
uint32_t max_num_group_keys;
|
||||
uint32_t re_ul_resp;
|
||||
bool ipa_disable;
|
||||
uint32_t ast_1_valid_mask_enable:1,
|
||||
ast_2_valid_mask_enable:1,
|
||||
ast_3_valid_mask_enable:1;
|
||||
uint32_t ast_0_flow_mask_enable:4,
|
||||
ast_1_flow_mask_enable:4,
|
||||
ast_2_flow_mask_enable:4,
|
||||
ast_3_flow_mask_enable:4,
|
||||
ast_tid_high_mask_enable:8,
|
||||
ast_tid_low_mask_enable:8;
|
||||
} target_resource_config;
|
||||
|
||||
/**
|
||||
|
@@ -6810,6 +6810,64 @@ void wmi_copy_resource_config(wmi_resource_config *resource_cfg,
|
||||
WMI_SET_BITS(resource_cfg->flags2, 0, 4,
|
||||
tgt_res_cfg->re_ul_resp);
|
||||
|
||||
|
||||
/*
|
||||
* Enable ast flow override per peer
|
||||
*/
|
||||
resource_cfg->msdu_flow_override_config0 = 0;
|
||||
WMI_MSDU_FLOW_AST_ENABLE_SET(
|
||||
resource_cfg->msdu_flow_override_config0,
|
||||
WMI_CONFIG_MSDU_AST_INDEX_1,
|
||||
tgt_res_cfg->ast_1_valid_mask_enable);
|
||||
|
||||
WMI_MSDU_FLOW_AST_ENABLE_SET(
|
||||
resource_cfg->msdu_flow_override_config0,
|
||||
WMI_CONFIG_MSDU_AST_INDEX_2,
|
||||
tgt_res_cfg->ast_2_valid_mask_enable);
|
||||
|
||||
WMI_MSDU_FLOW_AST_ENABLE_SET(
|
||||
resource_cfg->msdu_flow_override_config0,
|
||||
WMI_CONFIG_MSDU_AST_INDEX_3,
|
||||
tgt_res_cfg->ast_3_valid_mask_enable);
|
||||
|
||||
/*
|
||||
* Enable ast flow mask and TID valid mask configurations
|
||||
*/
|
||||
resource_cfg->msdu_flow_override_config1 = 0;
|
||||
|
||||
/*Enable UDP flow for Ast index 0*/
|
||||
WMI_MSDU_FLOW_ASTX_MSDU_FLOW_MASKS_SET(
|
||||
resource_cfg->msdu_flow_override_config1,
|
||||
WMI_CONFIG_MSDU_AST_INDEX_0,
|
||||
tgt_res_cfg->ast_0_flow_mask_enable);
|
||||
|
||||
/*Enable Non UDP flow for Ast index 1*/
|
||||
WMI_MSDU_FLOW_ASTX_MSDU_FLOW_MASKS_SET(
|
||||
resource_cfg->msdu_flow_override_config1,
|
||||
WMI_CONFIG_MSDU_AST_INDEX_1,
|
||||
tgt_res_cfg->ast_1_flow_mask_enable);
|
||||
|
||||
/*Enable Hi-Priority flow for Ast index 2*/
|
||||
WMI_MSDU_FLOW_ASTX_MSDU_FLOW_MASKS_SET(
|
||||
resource_cfg->msdu_flow_override_config1,
|
||||
WMI_CONFIG_MSDU_AST_INDEX_2,
|
||||
tgt_res_cfg->ast_2_flow_mask_enable);
|
||||
|
||||
/*Enable Low-Priority flow for Ast index 3*/
|
||||
WMI_MSDU_FLOW_ASTX_MSDU_FLOW_MASKS_SET(
|
||||
resource_cfg->msdu_flow_override_config1,
|
||||
WMI_CONFIG_MSDU_AST_INDEX_3,
|
||||
tgt_res_cfg->ast_3_flow_mask_enable);
|
||||
|
||||
/*Enable all 8 tid for Hi-Pririty Flow Queue*/
|
||||
WMI_MSDU_FLOW_TID_VALID_HI_MASKS_SET(
|
||||
resource_cfg->msdu_flow_override_config1,
|
||||
tgt_res_cfg->ast_tid_high_mask_enable);
|
||||
|
||||
/*Enable all 8 tid for Low-Pririty Flow Queue*/
|
||||
WMI_MSDU_FLOW_TID_VALID_LOW_MASKS_SET(
|
||||
resource_cfg->msdu_flow_override_config1,
|
||||
tgt_res_cfg->ast_tid_low_mask_enable);
|
||||
}
|
||||
|
||||
/* copy_hw_mode_id_in_init_cmd() - Helper routine to copy hw_mode in init cmd
|
||||
|
Reference in New Issue
Block a user