qcacmn: Vdev start changes for supporting 11be

Add support for setting ehtop on vdev start wmi command.

Change-Id: Ia710cfe082dafd6d36e232253fa2f5ba6d7512d3
CRs-Fixed: 2857805
此提交包含在:
Venkateswara Swamy Bandaru
2021-04-26 12:51:51 +05:30
提交者 Madan Koyyalamudi
父節點 fcb71e35cf
當前提交 1ac1976b57
共有 6 個檔案被更改,包括 55 行新增2 行删除

查看文件

@@ -252,6 +252,11 @@ target_if_vdev_mlme_id_2_wmi(uint32_t cfg_id)
case WLAN_MLME_CFG_HE_OPS: case WLAN_MLME_CFG_HE_OPS:
wmi_id = wmi_vdev_param_set_heop; wmi_id = wmi_vdev_param_set_heop;
break; 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: case WLAN_MLME_CFG_RTS_THRESHOLD:
wmi_id = wmi_vdev_param_rts_threshold; wmi_id = wmi_vdev_param_rts_threshold;
break; break;

查看文件

@@ -160,6 +160,16 @@ struct vdev_mlme_he_ops_info {
uint32_t he_ops; 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 * struct vdev_mlme_he_ops_info - vdev protocol structure holding information
* that is used in frames * that is used in frames
@@ -178,6 +188,9 @@ struct vdev_mlme_proto {
struct vdev_mlme_vht_info vht_info; struct vdev_mlme_vht_info vht_info;
struct vdev_mlme_ht_info ht_info; struct vdev_mlme_ht_info ht_info;
struct vdev_mlme_he_ops_info he_ops_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; struct vdev_mlme_proto_bss_color bss_color;
}; };

查看文件

@@ -115,6 +115,21 @@ static inline bool vdev_mgr_is_49G_5G_6G_chan_freq(uint16_t chan_freq)
} }
#endif #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( static QDF_STATUS vdev_mgr_start_param_update(
struct vdev_mlme_obj *mlme_obj, struct vdev_mlme_obj *mlme_obj,
struct vdev_start_params *param) struct vdev_start_params *param)
@@ -188,6 +203,8 @@ static QDF_STATUS vdev_mgr_start_param_update(
param->regdomain = dfs_reg; param->regdomain = dfs_reg;
param->he_ops = mlme_obj->proto.he_ops_info.he_ops; 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.chan_id = des_chan->ch_ieee;
param->channel.pwr = mlme_obj->mgmt.generic.tx_power; param->channel.pwr = mlme_obj->mgmt.generic.tx_power;
param->channel.mhz = des_chan->ch_freq; param->channel.mhz = des_chan->ch_freq;

查看文件

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

查看文件

@@ -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 * 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
@@ -108,6 +108,9 @@ enum wlan_mlme_cfg_id {
WLAN_MLME_CFG_RX_STREAMS, WLAN_MLME_CFG_RX_STREAMS,
WLAN_MLME_CFG_ENABLE_DISABLE_RTT_RESPONDER_ROLE, WLAN_MLME_CFG_ENABLE_DISABLE_RTT_RESPONDER_ROLE,
WLAN_MLME_CFG_ENABLE_DISABLE_RTT_INITIATOR_ROLE, WLAN_MLME_CFG_ENABLE_DISABLE_RTT_INITIATOR_ROLE,
#ifdef WLAN_FEATURE_11BE
WLAN_MLME_CFG_EHT_OPS,
#endif
WLAN_MLME_CFG_MAX WLAN_MLME_CFG_MAX
}; };

查看文件

@@ -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 * 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
@@ -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; mlme_proto->he_ops_info.he_ops = mlme_cfg.value;
is_wmi_cmd = true; is_wmi_cmd = true;
break; 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: case WLAN_MLME_CFG_RTS_THRESHOLD:
mlme_mgmt->generic.rts_threshold = mlme_cfg.value; mlme_mgmt->generic.rts_threshold = mlme_cfg.value;
is_wmi_cmd = true; 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: case WLAN_MLME_CFG_HE_OPS:
*value = mlme_proto->he_ops_info.he_ops; *value = mlme_proto->he_ops_info.he_ops;
break; 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: case WLAN_MLME_CFG_RTS_THRESHOLD:
*value = mlme_mgmt->generic.rts_threshold; *value = mlme_mgmt->generic.rts_threshold;
break; break;