qcacmn: WMI Service command for FW PeerMetaData Version
Add new WMI Service command to support multiple FW PeerMetaData Versions Change-Id: I3f94bd7515d2e024459dac7271b35f804f026b97 CRs-Fixed: 3399010
Esse commit está contido em:

commit de
Madan Koyyalamudi

pai
a81eb57e42
commit
3ee53085d3
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2018-2021 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
* Copyright (c) 2021-2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for
|
||||
* any purpose with or without fee is hereby granted, provided that the
|
||||
@@ -530,6 +530,9 @@ void init_deinit_prepare_send_init_cmd(
|
||||
if (wmi_service_enabled(wmi_handle, wmi_service_ext2_msg))
|
||||
init_deinit_derive_afc_dev_type_param(psoc, &init_param);
|
||||
|
||||
if (wmi_service_enabled(wmi_handle, wmi_service_v1a_v1b_supported))
|
||||
info->wlan_res_cfg.dp_peer_meta_data_ver = 1;
|
||||
|
||||
target_if_ext_res_cfg_enable(psoc, tgt_hdl, NULL);
|
||||
|
||||
target_if_set_reo_shared_qref_feature(psoc, info);
|
||||
|
@@ -6233,6 +6233,7 @@ typedef enum {
|
||||
#endif
|
||||
wmi_service_wpa3_sha384_roam_support,
|
||||
wmi_service_multiple_vdev_restart_bmap,
|
||||
wmi_service_v1a_v1b_supported,
|
||||
wmi_services_max,
|
||||
} wmi_conv_service_ids;
|
||||
#define WMI_SERVICE_UNAVAILABLE 0xFFFF
|
||||
@@ -6602,6 +6603,7 @@ struct target_feature_set {
|
||||
* @num_max_active_vdevs: max number of active virtual devices (VAPs) to
|
||||
* support
|
||||
* @notify_frame_support: capability to mark notify frames from host
|
||||
* @dp_peer_meta_data_ver: datapath peer meta data version flag
|
||||
*/
|
||||
typedef struct {
|
||||
uint32_t num_vdevs;
|
||||
@@ -6729,6 +6731,7 @@ typedef struct {
|
||||
bool reo_qdesc_shared_addr_table_enabled;
|
||||
uint32_t num_max_active_vdevs;
|
||||
uint8_t notify_frame_support;
|
||||
uint8_t dp_peer_meta_data_ver;
|
||||
} target_resource_config;
|
||||
|
||||
/**
|
||||
|
@@ -9269,9 +9269,24 @@ void wmi_copy_resource_config(wmi_resource_config *resource_cfg,
|
||||
if (tgt_res_cfg->reo_qdesc_shared_addr_table_enabled)
|
||||
WMI_RSRC_CFG_HOST_SERVICE_FLAG_REO_QREF_FEATURE_SUPPORT_SET(
|
||||
resource_cfg->host_service_flags, 1);
|
||||
/*
|
||||
* DP Peer Meta data FW version
|
||||
*/
|
||||
if (tgt_res_cfg->dp_peer_meta_data_ver) {
|
||||
#ifdef CONFIG_AP_PLATFORM
|
||||
WMI_RSRC_CFG_FLAGS2_RX_PEER_METADATA_VERSION_SET(
|
||||
resource_cfg->flags2, 3);
|
||||
#else
|
||||
WMI_RSRC_CFG_FLAGS2_RX_PEER_METADATA_VERSION_SET(
|
||||
resource_cfg->flags2, 2);
|
||||
#endif
|
||||
} else {
|
||||
WMI_RSRC_CFG_FLAGS2_RX_PEER_METADATA_VERSION_SET(
|
||||
resource_cfg->flags2,
|
||||
WMI_TARGET_CAP_FLAGS_RX_PEER_METADATA_VERSION_GET(
|
||||
tgt_res_cfg->target_cap_flags));
|
||||
}
|
||||
|
||||
WMI_RSRC_CFG_FLAGS2_RX_PEER_METADATA_VERSION_SET(resource_cfg->flags2,
|
||||
tgt_res_cfg->target_cap_flags);
|
||||
if (tgt_res_cfg->notify_frame_support)
|
||||
WMI_RSRC_CFG_FLAGS2_NOTIFY_FRAME_CONFIG_ENABLE_SET(
|
||||
resource_cfg->flags2, 1);
|
||||
@@ -21901,6 +21916,9 @@ static void populate_tlv_service(uint32_t *wmi_service)
|
||||
#endif
|
||||
wmi_service[wmi_service_wpa3_sha384_roam_support] =
|
||||
WMI_SERVICE_WMI_SERVICE_WPA3_SHA384_ROAM_SUPPORT;
|
||||
/* TODO: Assign FW Enum after FW Shared header changes are merged */
|
||||
wmi_service[wmi_service_v1a_v1b_supported] =
|
||||
WMI_SERVICE_UNAVAILABLE;
|
||||
}
|
||||
|
||||
/**
|
||||
|
Referência em uma nova issue
Block a user