qcacmn: Dynamic ratemask config support

Add dynamic ratemask config support.

CRs-Fixed: 3112486
Change-Id: If419d1672b92085eb3f27b1d6505b1facfa9c09d
This commit is contained in:
Jayachandran Sreekumaran
2022-01-12 15:45:43 +05:30
committed by Madan Koyyalamudi
父節點 d0232b9bc0
當前提交 9aefacd777
共有 6 個文件被更改,包括 102 次插入31 次删除

查看文件

@@ -1,6 +1,6 @@
/*
* Copyright (c) 2018-2021 The Linux Foundation. All rights reserved.
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
* Copyright (c) 2021-2022 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 above
@@ -408,6 +408,36 @@ struct vdev_mlme_inactivity_params {
uint32_t keepalive_max_unresponsive_time_secs;
};
/**
* enum vdev_ratemask_type - ratemask phy type
* @WLAN_VDEV_RATEMASK_TYPE_CCK: phy type CCK
* @WLAN_VDEV_RATEMASK_TYPE_HT: phy type ht
* @WLAN_VDEV_RATEMASK_TYPE_VHT: phy type vht
* WLAN_VDEV_RATEMASK_TYPE_HE: phy type he
*/
enum vdev_ratemask_type {
WLAN_VDEV_RATEMASK_TYPE_CCK,
WLAN_VDEV_RATEMASK_TYPE_HT,
WLAN_VDEV_RATEMASK_TYPE_VHT,
WLAN_VDEV_RATEMASK_TYPE_HE,
WLAN_VDEV_RATEMASK_TYPE_MAX,
};
/**
* struct vdev_ratemask_params - vdev ratemask parameters
* @type: ratemask phy type
* @lower32: ratemask lower32 bitmask
* @higher32: ratemask higher32 bitmask
* @lower32_2: ratemask lower32_2 bitmask
* @higher32_2: rtaemask higher32_2 bitmask
*/
struct vdev_ratemask_params {
uint32_t lower32;
uint32_t higher32;
uint32_t lower32_2;
uint32_t higher32_2;
};
/**
* struct vdev_mlme_rate_info - vdev mlme rate information
* @rate_flags: dynamic bandwidth info
@@ -416,10 +446,7 @@ struct vdev_mlme_inactivity_params {
* @tx_mgmt_rate: Tx Mgmt rate
* @bcn_tx_rate: beacon Tx rate
* @bcn_tx_rate_code: beacon Tx rate code
* @type: Type of ratemask configuration
* @lower32: Lower 32 bits in the 1st 64-bit value
* @higher32: Higher 32 bits in the 1st 64-bit value
* @lower32_2: Lower 32 bits in the 2nd 64-bit value
* @ratemask_params: vdev ratemask params per phy type
* @half_rate: Half rate
* @quarter_rate: quarter rate
*/
@@ -433,10 +460,8 @@ struct vdev_mlme_rate_info {
uint32_t bcn_tx_rate_code;
#endif
uint32_t rtscts_tx_rate;
uint8_t type;
uint32_t lower32;
uint32_t higher32;
uint32_t lower32_2;
struct vdev_ratemask_params ratemask_params[
WLAN_VDEV_RATEMASK_TYPE_MAX];
bool half_rate;
bool quarter_rate;
};