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
This commit is contained in:

committed by
Madan Koyyalamudi

parent
a81eb57e42
commit
3ee53085d3
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2018-2021 The Linux Foundation. All rights reserved.
|
* 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
|
* Permission to use, copy, modify, and/or distribute this software for
|
||||||
* any purpose with or without fee is hereby granted, provided that the
|
* 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))
|
if (wmi_service_enabled(wmi_handle, wmi_service_ext2_msg))
|
||||||
init_deinit_derive_afc_dev_type_param(psoc, &init_param);
|
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_ext_res_cfg_enable(psoc, tgt_hdl, NULL);
|
||||||
|
|
||||||
target_if_set_reo_shared_qref_feature(psoc, info);
|
target_if_set_reo_shared_qref_feature(psoc, info);
|
||||||
|
@@ -6233,6 +6233,7 @@ typedef enum {
|
|||||||
#endif
|
#endif
|
||||||
wmi_service_wpa3_sha384_roam_support,
|
wmi_service_wpa3_sha384_roam_support,
|
||||||
wmi_service_multiple_vdev_restart_bmap,
|
wmi_service_multiple_vdev_restart_bmap,
|
||||||
|
wmi_service_v1a_v1b_supported,
|
||||||
wmi_services_max,
|
wmi_services_max,
|
||||||
} wmi_conv_service_ids;
|
} wmi_conv_service_ids;
|
||||||
#define WMI_SERVICE_UNAVAILABLE 0xFFFF
|
#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
|
* @num_max_active_vdevs: max number of active virtual devices (VAPs) to
|
||||||
* support
|
* support
|
||||||
* @notify_frame_support: capability to mark notify frames from host
|
* @notify_frame_support: capability to mark notify frames from host
|
||||||
|
* @dp_peer_meta_data_ver: datapath peer meta data version flag
|
||||||
*/
|
*/
|
||||||
typedef struct {
|
typedef struct {
|
||||||
uint32_t num_vdevs;
|
uint32_t num_vdevs;
|
||||||
@@ -6729,6 +6731,7 @@ typedef struct {
|
|||||||
bool reo_qdesc_shared_addr_table_enabled;
|
bool reo_qdesc_shared_addr_table_enabled;
|
||||||
uint32_t num_max_active_vdevs;
|
uint32_t num_max_active_vdevs;
|
||||||
uint8_t notify_frame_support;
|
uint8_t notify_frame_support;
|
||||||
|
uint8_t dp_peer_meta_data_ver;
|
||||||
} target_resource_config;
|
} 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)
|
if (tgt_res_cfg->reo_qdesc_shared_addr_table_enabled)
|
||||||
WMI_RSRC_CFG_HOST_SERVICE_FLAG_REO_QREF_FEATURE_SUPPORT_SET(
|
WMI_RSRC_CFG_HOST_SERVICE_FLAG_REO_QREF_FEATURE_SUPPORT_SET(
|
||||||
resource_cfg->host_service_flags, 1);
|
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)
|
if (tgt_res_cfg->notify_frame_support)
|
||||||
WMI_RSRC_CFG_FLAGS2_NOTIFY_FRAME_CONFIG_ENABLE_SET(
|
WMI_RSRC_CFG_FLAGS2_NOTIFY_FRAME_CONFIG_ENABLE_SET(
|
||||||
resource_cfg->flags2, 1);
|
resource_cfg->flags2, 1);
|
||||||
@@ -21901,6 +21916,9 @@ static void populate_tlv_service(uint32_t *wmi_service)
|
|||||||
#endif
|
#endif
|
||||||
wmi_service[wmi_service_wpa3_sha384_roam_support] =
|
wmi_service[wmi_service_wpa3_sha384_roam_support] =
|
||||||
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;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Reference in New Issue
Block a user