qcacmn: update TX ILP capability to DP and target
After receiving WMI service ready ext2 event and htt msdu index to qtype map is derived, call CDP API to evaluate whether TX ILP can be supported or not, update the TX ILP capability to DP, also send WMI INIT CMD to FW to notify if host has enabled the TX ILP support or not. Change-Id: I472ebc5c7fa4b2996b790b58274fa3c048f6d7f9 CRs-Fixed: 3447519
Este commit está contenido en:

cometido por
Madan Koyyalamudi

padre
ebdd12b6a9
commit
499696eab5
@@ -33,6 +33,9 @@
|
||||
#include <service_ready_param.h>
|
||||
#include <init_cmd_api.h>
|
||||
#include <cdp_txrx_cmn.h>
|
||||
#ifdef DP_TX_PACKET_INSPECT_FOR_ILP
|
||||
#include <cdp_txrx_misc.h>
|
||||
#endif
|
||||
#include <wlan_reg_ucfg_api.h>
|
||||
#if defined(WLAN_FEATURE_11BE_MLO) && defined(WLAN_MLO_MULTI_CHIP)
|
||||
#include <wlan_mlo_mgr_cmn.h>
|
||||
@@ -136,6 +139,27 @@ init_deinit_update_roam_stats_cap(struct wmi_unified *wmi_handle,
|
||||
{}
|
||||
#endif
|
||||
|
||||
#ifdef DP_TX_PACKET_INSPECT_FOR_ILP
|
||||
static void
|
||||
init_deinit_update_tx_ilp_cap(struct wlan_objmgr_psoc *psoc,
|
||||
struct tgt_info *info)
|
||||
{
|
||||
ol_txrx_soc_handle soc;
|
||||
|
||||
soc = wlan_psoc_get_dp_handle(psoc);
|
||||
info->wlan_res_cfg.tx_ilp_enable =
|
||||
cdp_evaluate_update_tx_ilp_cfg(
|
||||
soc, info->service_ext2_param.num_msdu_idx_qtype_map,
|
||||
info->msdu_idx_qtype_map);
|
||||
}
|
||||
#else
|
||||
static void
|
||||
init_deinit_update_tx_ilp_cap(struct wlan_objmgr_psoc *psoc,
|
||||
struct tgt_info *info)
|
||||
{
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef MULTI_CLIENT_LL_SUPPORT
|
||||
/**
|
||||
* init_deinit_update_multi_client_ll_caps() - Update multi client service
|
||||
@@ -536,6 +560,8 @@ static int init_deinit_service_ext2_ready_event_handler(ol_scn_t scn_handle,
|
||||
goto exit;
|
||||
}
|
||||
|
||||
init_deinit_update_tx_ilp_cap(psoc, info);
|
||||
|
||||
err_code = init_deinit_populate_twt_cap_ext2(psoc, wmi_handle, event,
|
||||
info);
|
||||
|
||||
|
@@ -6715,6 +6715,7 @@ struct target_feature_set {
|
||||
* support
|
||||
* @notify_frame_support: capability to mark notify frames from host
|
||||
* @dp_peer_meta_data_ver: datapath peer meta data version flag
|
||||
* @tx_ilp_enable: capability to support TX ILP from host
|
||||
*/
|
||||
typedef struct {
|
||||
uint32_t num_vdevs;
|
||||
@@ -6843,6 +6844,9 @@ typedef struct {
|
||||
uint32_t num_max_active_vdevs;
|
||||
uint8_t notify_frame_support;
|
||||
uint8_t dp_peer_meta_data_ver;
|
||||
#ifdef DP_TX_PACKET_INSPECT_FOR_ILP
|
||||
uint8_t tx_ilp_enable;
|
||||
#endif
|
||||
} target_resource_config;
|
||||
|
||||
/**
|
||||
|
@@ -9093,6 +9093,23 @@ void wmi_copy_afc_deployment_config(wmi_resource_config *resource_cfg,
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef DP_TX_PACKET_INSPECT_FOR_ILP
|
||||
static inline
|
||||
void wmi_copy_latency_flowq_support(wmi_resource_config *resource_cfg,
|
||||
target_resource_config *tgt_res_cfg)
|
||||
{
|
||||
if (tgt_res_cfg->tx_ilp_enable)
|
||||
WMI_RSRC_CFG_FLAGS2_LATENCY_FLOWQ_SUPPORT_SET(
|
||||
resource_cfg->flags2, 1);
|
||||
}
|
||||
#else
|
||||
static inline
|
||||
void wmi_copy_latency_flowq_support(wmi_resource_config *resource_cfg,
|
||||
target_resource_config *tgt_res_cfg)
|
||||
{
|
||||
}
|
||||
#endif
|
||||
|
||||
static
|
||||
void wmi_copy_resource_config(wmi_resource_config *resource_cfg,
|
||||
target_resource_config *tgt_res_cfg)
|
||||
@@ -9390,6 +9407,7 @@ void wmi_copy_resource_config(wmi_resource_config *resource_cfg,
|
||||
WMI_RSRC_CFG_FLAGS2_NOTIFY_FRAME_CONFIG_ENABLE_SET(
|
||||
resource_cfg->flags2, 1);
|
||||
|
||||
wmi_copy_latency_flowq_support(resource_cfg, tgt_res_cfg);
|
||||
}
|
||||
|
||||
#ifdef FEATURE_SET
|
||||
|
Referencia en una nueva incidencia
Block a user