qcacmn: Vdev start changes for supporting 11be

Add support for setting ehtop on vdev start wmi command.

Change-Id: Ia710cfe082dafd6d36e232253fa2f5ba6d7512d3
CRs-Fixed: 2857805
This commit is contained in:
Venkateswara Swamy Bandaru 2021-04-26 12:51:51 +05:30 committed by Madan Koyyalamudi
parent fcb71e35cf
commit 1ac1976b57
6 changed files with 55 additions and 2 deletions

View File

@ -252,6 +252,11 @@ target_if_vdev_mlme_id_2_wmi(uint32_t cfg_id)
case WLAN_MLME_CFG_HE_OPS:
wmi_id = wmi_vdev_param_set_heop;
break;
#ifdef WLAN_FEATURE_11BE
case WLAN_MLME_CFG_EHT_OPS:
wmi_id = wmi_vdev_param_set_ehtop;
#endif
break;
case WLAN_MLME_CFG_RTS_THRESHOLD:
wmi_id = wmi_vdev_param_rts_threshold;
break;

View File

@ -160,6 +160,16 @@ struct vdev_mlme_he_ops_info {
uint32_t he_ops;
};
#ifdef WLAN_FEATURE_11BE
/**
* struct vdev_mlme_eht_ops_info - vdev mlme EHTOPS information
* @eht_ops: eht ops
*/
struct vdev_mlme_eht_ops_info {
uint32_t eht_ops;
};
#endif
/**
* struct vdev_mlme_he_ops_info - vdev protocol structure holding information
* that is used in frames
@ -178,6 +188,9 @@ struct vdev_mlme_proto {
struct vdev_mlme_vht_info vht_info;
struct vdev_mlme_ht_info ht_info;
struct vdev_mlme_he_ops_info he_ops_info;
#ifdef WLAN_FEATURE_11BE
struct vdev_mlme_eht_ops_info eht_ops_info;
#endif
struct vdev_mlme_proto_bss_color bss_color;
};

View File

@ -115,6 +115,21 @@ static inline bool vdev_mgr_is_49G_5G_6G_chan_freq(uint16_t chan_freq)
}
#endif
#ifdef WLAN_FEATURE_11BE
static void
vdev_mgr_start_param_update_11be(struct vdev_mlme_obj *mlme_obj,
struct vdev_start_params *param)
{
param->eht_ops = mlme_obj->proto.eht_ops_info.eht_ops;
}
#else
static void
vdev_mgr_start_param_update_11be(struct vdev_mlme_obj *mlme_obj,
struct vdev_start_params *param)
{
}
#endif
static QDF_STATUS vdev_mgr_start_param_update(
struct vdev_mlme_obj *mlme_obj,
struct vdev_start_params *param)
@ -188,6 +203,8 @@ static QDF_STATUS vdev_mgr_start_param_update(
param->regdomain = dfs_reg;
param->he_ops = mlme_obj->proto.he_ops_info.he_ops;
vdev_mgr_start_param_update_11be(mlme_obj, param);
param->channel.chan_id = des_chan->ch_ieee;
param->channel.pwr = mlme_obj->mgmt.generic.tx_power;
param->channel.mhz = des_chan->ch_freq;

View File

@ -454,6 +454,7 @@ struct vdev_scan_nac_rssi_params {
* @cac_duration_ms: cac duration in milliseconds
* @regdomain: Regulatory domain
* @he_ops: HE ops
* @eht_ops: EHT ops
* @channel_param: Channel params required by target.
* @bcn_tx_rate_code: Beacon tx rate code.
* @ldpc_rx_enabled: Enable/Disable LDPC RX for this vdev
@ -475,6 +476,9 @@ struct vdev_start_params {
uint32_t cac_duration_ms;
uint32_t regdomain;
uint32_t he_ops;
#ifdef WLAN_FEATURE_11BE
uint32_t eht_ops;
#endif
struct mlme_channel_param channel;
enum mlme_bcn_tx_rate_code bcn_tx_rate_code;
bool ldpc_rx_enabled;

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 2019-2020, The Linux Foundation. All rights reserved.
* Copyright (c) 2019-2021, The Linux Foundation. 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
@ -108,6 +108,9 @@ enum wlan_mlme_cfg_id {
WLAN_MLME_CFG_RX_STREAMS,
WLAN_MLME_CFG_ENABLE_DISABLE_RTT_RESPONDER_ROLE,
WLAN_MLME_CFG_ENABLE_DISABLE_RTT_INITIATOR_ROLE,
#ifdef WLAN_FEATURE_11BE
WLAN_MLME_CFG_EHT_OPS,
#endif
WLAN_MLME_CFG_MAX
};

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 2019-2020, The Linux Foundation. All rights reserved.
* Copyright (c) 2019-2021, The Linux Foundation. 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
@ -215,6 +215,12 @@ wlan_util_vdev_mlme_set_param(struct vdev_mlme_obj *vdev_mlme,
mlme_proto->he_ops_info.he_ops = mlme_cfg.value;
is_wmi_cmd = true;
break;
#ifdef WLAN_FEATURE_11BE
case WLAN_MLME_CFG_EHT_OPS:
mlme_proto->eht_ops_info.eht_ops = mlme_cfg.value;
is_wmi_cmd = true;
break;
#endif
case WLAN_MLME_CFG_RTS_THRESHOLD:
mlme_mgmt->generic.rts_threshold = mlme_cfg.value;
is_wmi_cmd = true;
@ -488,6 +494,11 @@ void wlan_util_vdev_mlme_get_param(struct vdev_mlme_obj *vdev_mlme,
case WLAN_MLME_CFG_HE_OPS:
*value = mlme_proto->he_ops_info.he_ops;
break;
#ifdef WLAN_FEATURE_11BE
case WLAN_MLME_CFG_EHT_OPS:
*value = mlme_proto->eht_ops_info.eht_ops;
break;
#endif
case WLAN_MLME_CFG_RTS_THRESHOLD:
*value = mlme_mgmt->generic.rts_threshold;
break;