qcacmn: Move vdev mlme related code to right file
Move vdev mlme related code from vdev objmgr to vdev mlme files Change-Id: I4aafdd09376f5cf2ae5c2ad7f0276c9a67ef1d19 CRs-Fixed: 2423319
此提交包含在:
@@ -901,357 +901,7 @@ static inline struct wlan_channel *wlan_vdev_mlme_get_des_chan(
|
|||||||
return vdev->vdev_mlme.des_chan;
|
return vdev->vdev_mlme.des_chan;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CMN_VDEV_MGR_TGT_IF_ENABLE
|
#ifndef CMN_VDEV_MGR_TGT_IF_ENABLE
|
||||||
/**
|
|
||||||
* wlan_vdev_mlme_set_ssid() - set ssid
|
|
||||||
* @vdev: VDEV object
|
|
||||||
* @ssid: SSID (input)
|
|
||||||
* @ssid_len: Length of SSID
|
|
||||||
*
|
|
||||||
* API to set the SSID of VDEV
|
|
||||||
*
|
|
||||||
* Caller need to acquire lock with wlan_vdev_obj_lock()
|
|
||||||
*
|
|
||||||
* Return: SUCCESS, if update is done
|
|
||||||
* FAILURE, if ssid length is > max ssid len
|
|
||||||
*/
|
|
||||||
static inline QDF_STATUS wlan_vdev_mlme_set_ssid(
|
|
||||||
struct wlan_objmgr_vdev *vdev,
|
|
||||||
const uint8_t *ssid, uint8_t ssid_len)
|
|
||||||
{
|
|
||||||
struct vdev_mlme_obj *vdev_mlme;
|
|
||||||
|
|
||||||
/* This API is invoked with lock acquired, do not add log prints */
|
|
||||||
vdev_mlme = wlan_vdev_mlme_get_cmpt_obj(vdev);
|
|
||||||
if (!vdev_mlme)
|
|
||||||
return QDF_STATUS_E_FAILURE;
|
|
||||||
|
|
||||||
if (ssid_len <= WLAN_SSID_MAX_LEN) {
|
|
||||||
qdf_mem_copy(vdev_mlme->mgmt.generic.ssid, ssid, ssid_len);
|
|
||||||
vdev_mlme->mgmt.generic.ssid_len = ssid_len;
|
|
||||||
} else {
|
|
||||||
vdev_mlme->mgmt.generic.ssid_len = 0;
|
|
||||||
return QDF_STATUS_E_FAILURE;
|
|
||||||
}
|
|
||||||
return QDF_STATUS_SUCCESS;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* wlan_vdev_mlme_get_ssid() - get ssid
|
|
||||||
* @vdev: VDEV object
|
|
||||||
* @ssid: SSID
|
|
||||||
* @ssid_len: Length of SSID
|
|
||||||
*
|
|
||||||
* API to get the SSID of VDEV, it updates the SSID and its length
|
|
||||||
* in @ssid, @ssid_len respectively
|
|
||||||
*
|
|
||||||
* Caller need to acquire lock with wlan_vdev_obj_lock()
|
|
||||||
*
|
|
||||||
* Return: SUCCESS, if update is done
|
|
||||||
* FAILURE, if ssid length is > max ssid len
|
|
||||||
*/
|
|
||||||
static inline QDF_STATUS wlan_vdev_mlme_get_ssid(
|
|
||||||
struct wlan_objmgr_vdev *vdev,
|
|
||||||
uint8_t *ssid, uint8_t *ssid_len)
|
|
||||||
{
|
|
||||||
struct vdev_mlme_obj *vdev_mlme;
|
|
||||||
|
|
||||||
/* This API is invoked with lock acquired, do not add log prints */
|
|
||||||
vdev_mlme = wlan_vdev_mlme_get_cmpt_obj(vdev);
|
|
||||||
if (!vdev_mlme)
|
|
||||||
return QDF_STATUS_E_FAILURE;
|
|
||||||
|
|
||||||
if (vdev_mlme->mgmt.generic.ssid_len > 0) {
|
|
||||||
*ssid_len = vdev_mlme->mgmt.generic.ssid_len;
|
|
||||||
qdf_mem_copy(ssid, vdev_mlme->mgmt.generic.ssid, *ssid_len);
|
|
||||||
} else {
|
|
||||||
*ssid_len = 0;
|
|
||||||
return QDF_STATUS_E_FAILURE;
|
|
||||||
}
|
|
||||||
return QDF_STATUS_SUCCESS;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* wlan_vdev_mlme_set_nss() - set NSS
|
|
||||||
* @vdev: VDEV object
|
|
||||||
* @nss: nss configured by user
|
|
||||||
*
|
|
||||||
* API to set the Number of Spatial streams
|
|
||||||
*
|
|
||||||
* Return: void
|
|
||||||
*/
|
|
||||||
static inline void wlan_vdev_mlme_set_nss(
|
|
||||||
struct wlan_objmgr_vdev *vdev,
|
|
||||||
uint8_t nss)
|
|
||||||
{
|
|
||||||
struct vdev_mlme_obj *vdev_mlme;
|
|
||||||
|
|
||||||
vdev_mlme = wlan_vdev_mlme_get_cmpt_obj(vdev);
|
|
||||||
if (!vdev_mlme) {
|
|
||||||
mlme_err("VDEV MLME is NULL");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
vdev_mlme->proto.generic.nss = nss;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* wlan_vdev_mlme_get_nss() - get NSS
|
|
||||||
* @vdev: VDEV object
|
|
||||||
*
|
|
||||||
* API to get the Number of Spatial Streams
|
|
||||||
*
|
|
||||||
* Return:
|
|
||||||
* @nss: nss value
|
|
||||||
*/
|
|
||||||
static inline uint8_t wlan_vdev_mlme_get_nss(
|
|
||||||
struct wlan_objmgr_vdev *vdev)
|
|
||||||
{
|
|
||||||
struct vdev_mlme_obj *vdev_mlme;
|
|
||||||
|
|
||||||
vdev_mlme = wlan_vdev_mlme_get_cmpt_obj(vdev);
|
|
||||||
if (!vdev_mlme) {
|
|
||||||
mlme_err("VDEV MLME is NULL");
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
return vdev_mlme->proto.generic.nss;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* wlan_vdev_mlme_set_txchainmask() - set Tx chainmask
|
|
||||||
* @vdev: VDEV object
|
|
||||||
* @chainmask : chainmask either configured by user or max supported
|
|
||||||
*
|
|
||||||
* API to set the Tx chainmask
|
|
||||||
*
|
|
||||||
* Return: void
|
|
||||||
*/
|
|
||||||
static inline void wlan_vdev_mlme_set_txchainmask(
|
|
||||||
struct wlan_objmgr_vdev *vdev,
|
|
||||||
uint8_t chainmask)
|
|
||||||
{
|
|
||||||
struct vdev_mlme_obj *vdev_mlme;
|
|
||||||
|
|
||||||
vdev_mlme = wlan_vdev_mlme_get_cmpt_obj(vdev);
|
|
||||||
|
|
||||||
if (!vdev_mlme) {
|
|
||||||
mlme_err("VDEV MLME is NULL");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
vdev_mlme->mgmt.chainmask_info.tx_chainmask = chainmask;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* wlan_vdev_mlme_get_txchainmask() - get Tx chainmask
|
|
||||||
* @vdev: VDEV object
|
|
||||||
*
|
|
||||||
* API to get the Tx chainmask
|
|
||||||
*
|
|
||||||
* Return:
|
|
||||||
* @chainmask : Tx chainmask either configured by user or max supported
|
|
||||||
*/
|
|
||||||
static inline uint8_t wlan_vdev_mlme_get_txchainmask(
|
|
||||||
struct wlan_objmgr_vdev *vdev)
|
|
||||||
{
|
|
||||||
struct vdev_mlme_obj *vdev_mlme;
|
|
||||||
|
|
||||||
vdev_mlme = wlan_vdev_mlme_get_cmpt_obj(vdev);
|
|
||||||
if (!vdev_mlme) {
|
|
||||||
mlme_err("VDEV MLME is NULL");
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
return vdev_mlme->mgmt.chainmask_info.tx_chainmask;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* wlan_vdev_mlme_set_rxchainmask() - set Rx chainmask
|
|
||||||
* @vdev: VDEV object
|
|
||||||
* @chainmask : Rx chainmask either configured by user or max supported
|
|
||||||
*
|
|
||||||
* API to set the Rx chainmask
|
|
||||||
*
|
|
||||||
* Return: void
|
|
||||||
*/
|
|
||||||
static inline void wlan_vdev_mlme_set_rxchainmask(
|
|
||||||
struct wlan_objmgr_vdev *vdev,
|
|
||||||
uint8_t chainmask)
|
|
||||||
{
|
|
||||||
struct vdev_mlme_obj *vdev_mlme;
|
|
||||||
|
|
||||||
vdev_mlme = wlan_vdev_mlme_get_cmpt_obj(vdev);
|
|
||||||
if (!vdev_mlme) {
|
|
||||||
mlme_err("VDEV MLME is NULL");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
vdev_mlme->mgmt.chainmask_info.rx_chainmask = chainmask;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* wlan_vdev_mlme_get_rxchainmask() - get Rx chainmask
|
|
||||||
* @vdev: VDEV object
|
|
||||||
*
|
|
||||||
* API to get the Rx chainmask
|
|
||||||
*
|
|
||||||
* Return:
|
|
||||||
* @chainmask : Rx chainmask either configured by user or max supported
|
|
||||||
*/
|
|
||||||
static inline uint8_t wlan_vdev_mlme_get_rxchainmask(
|
|
||||||
struct wlan_objmgr_vdev *vdev)
|
|
||||||
{
|
|
||||||
struct vdev_mlme_obj *vdev_mlme;
|
|
||||||
|
|
||||||
/* This API is invoked with lock acquired, do not add log prints */
|
|
||||||
vdev_mlme = wlan_vdev_mlme_get_cmpt_obj(vdev);
|
|
||||||
if (!vdev_mlme)
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
return vdev_mlme->mgmt.chainmask_info.rx_chainmask;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* wlan_vdev_mlme_set_txpower() - set tx power
|
|
||||||
* @vdev: VDEV object
|
|
||||||
* @txpow: tx power either configured by used or max allowed
|
|
||||||
*
|
|
||||||
* API to set the tx power
|
|
||||||
*
|
|
||||||
* Return: void
|
|
||||||
*/
|
|
||||||
static inline void wlan_vdev_mlme_set_txpower(
|
|
||||||
struct wlan_objmgr_vdev *vdev,
|
|
||||||
uint8_t txpow)
|
|
||||||
{
|
|
||||||
struct vdev_mlme_obj *vdev_mlme;
|
|
||||||
|
|
||||||
vdev_mlme = wlan_vdev_mlme_get_cmpt_obj(vdev);
|
|
||||||
if (!vdev_mlme) {
|
|
||||||
mlme_err("VDEV MLME is NULL");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
vdev_mlme->mgmt.generic.tx_power = txpow;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* wlan_vdev_mlme_get_txpower() - get tx power
|
|
||||||
* @vdev: VDEV object
|
|
||||||
*
|
|
||||||
* API to get the tx power
|
|
||||||
*
|
|
||||||
* Return:
|
|
||||||
* @txpow: tx power either configured by used or max allowed
|
|
||||||
*/
|
|
||||||
static inline uint8_t wlan_vdev_mlme_get_txpower(
|
|
||||||
struct wlan_objmgr_vdev *vdev)
|
|
||||||
{
|
|
||||||
struct vdev_mlme_obj *vdev_mlme;
|
|
||||||
|
|
||||||
vdev_mlme = wlan_vdev_mlme_get_cmpt_obj(vdev);
|
|
||||||
if (!vdev_mlme) {
|
|
||||||
mlme_err("VDEV MLME is NULL");
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
return vdev_mlme->mgmt.generic.tx_power;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* wlan_vdev_mlme_set_maxrate() - set max rate
|
|
||||||
* @vdev: VDEV object
|
|
||||||
* @maxrate: configured by used or based on configured mode
|
|
||||||
*
|
|
||||||
* API to set the max rate the vdev supports
|
|
||||||
*
|
|
||||||
* Return: void
|
|
||||||
*/
|
|
||||||
static inline void wlan_vdev_mlme_set_maxrate(
|
|
||||||
struct wlan_objmgr_vdev *vdev,
|
|
||||||
uint32_t maxrate)
|
|
||||||
{
|
|
||||||
struct vdev_mlme_obj *vdev_mlme;
|
|
||||||
|
|
||||||
vdev_mlme = wlan_vdev_mlme_get_cmpt_obj(vdev);
|
|
||||||
if (!vdev_mlme) {
|
|
||||||
mlme_err("VDEV MLME is NULL");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
vdev_mlme->mgmt.rate_info.max_rate = maxrate;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* wlan_vdev_mlme_get_maxrate() - get max rate
|
|
||||||
* @vdev: VDEV object
|
|
||||||
*
|
|
||||||
* API to get the max rate the vdev supports
|
|
||||||
*
|
|
||||||
* Return:
|
|
||||||
* @maxrate: configured by used or based on configured mode
|
|
||||||
*/
|
|
||||||
static inline uint32_t wlan_vdev_mlme_get_maxrate(
|
|
||||||
struct wlan_objmgr_vdev *vdev)
|
|
||||||
{
|
|
||||||
struct vdev_mlme_obj *vdev_mlme;
|
|
||||||
|
|
||||||
vdev_mlme = wlan_vdev_mlme_get_cmpt_obj(vdev);
|
|
||||||
if (!vdev_mlme) {
|
|
||||||
mlme_err("VDEV MLME is NULL");
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
return vdev_mlme->mgmt.rate_info.max_rate;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* wlan_vdev_mlme_set_txmgmtrate() - set txmgmtrate
|
|
||||||
* @vdev: VDEV object
|
|
||||||
* @txmgmtrate: Tx Mgmt rate
|
|
||||||
*
|
|
||||||
* API to set Mgmt Tx rate
|
|
||||||
*
|
|
||||||
* Return: void
|
|
||||||
*/
|
|
||||||
static inline void wlan_vdev_mlme_set_txmgmtrate(
|
|
||||||
struct wlan_objmgr_vdev *vdev,
|
|
||||||
uint32_t txmgmtrate)
|
|
||||||
{
|
|
||||||
struct vdev_mlme_obj *vdev_mlme;
|
|
||||||
|
|
||||||
vdev_mlme = wlan_vdev_mlme_get_cmpt_obj(vdev);
|
|
||||||
if (!vdev_mlme) {
|
|
||||||
mlme_err("VDEV MLME is NULL");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
vdev_mlme->mgmt.rate_info.tx_mgmt_rate = txmgmtrate;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* wlan_vdev_mlme_get_txmgmtrate() - get txmgmtrate
|
|
||||||
* @vdev: VDEV object
|
|
||||||
*
|
|
||||||
* API to get Mgmt Tx rate
|
|
||||||
*
|
|
||||||
* Return:
|
|
||||||
* @txmgmtrate: Tx Mgmt rate
|
|
||||||
*/
|
|
||||||
static inline uint32_t wlan_vdev_mlme_get_txmgmtrate(
|
|
||||||
struct wlan_objmgr_vdev *vdev)
|
|
||||||
{
|
|
||||||
struct vdev_mlme_obj *vdev_mlme;
|
|
||||||
|
|
||||||
vdev_mlme = wlan_vdev_mlme_get_cmpt_obj(vdev);
|
|
||||||
if (!vdev_mlme) {
|
|
||||||
mlme_err("VDEV MLME is NULL");
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
return vdev_mlme->mgmt.rate_info.tx_mgmt_rate;
|
|
||||||
}
|
|
||||||
#else
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* wlan_vdev_mlme_set_ssid() - set ssid
|
* wlan_vdev_mlme_set_ssid() - set ssid
|
||||||
|
@@ -21,6 +21,8 @@
|
|||||||
#define _WLAN_VDEV_MLME_H_
|
#define _WLAN_VDEV_MLME_H_
|
||||||
|
|
||||||
#include <wlan_vdev_mgr_tgt_if_rx_defs.h>
|
#include <wlan_vdev_mgr_tgt_if_rx_defs.h>
|
||||||
|
#include <wlan_objmgr_vdev_obj.h>
|
||||||
|
#include <wlan_vdev_mlme_api.h>
|
||||||
|
|
||||||
struct vdev_mlme_obj;
|
struct vdev_mlme_obj;
|
||||||
|
|
||||||
@@ -1013,4 +1015,335 @@ static inline QDF_STATUS mlme_vdev_notify_start_state_exit(
|
|||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef CMN_VDEV_MGR_TGT_IF_ENABLE
|
||||||
|
/**
|
||||||
|
* wlan_vdev_mlme_set_ssid() - set ssid
|
||||||
|
* @vdev: VDEV object
|
||||||
|
* @ssid: SSID (input)
|
||||||
|
* @ssid_len: Length of SSID
|
||||||
|
*
|
||||||
|
* API to set the SSID of VDEV
|
||||||
|
*
|
||||||
|
* Caller need to acquire lock with wlan_vdev_obj_lock()
|
||||||
|
*
|
||||||
|
* Return: SUCCESS, if update is done
|
||||||
|
* FAILURE, if ssid length is > max ssid len
|
||||||
|
*/
|
||||||
|
static inline QDF_STATUS wlan_vdev_mlme_set_ssid(
|
||||||
|
struct wlan_objmgr_vdev *vdev,
|
||||||
|
const uint8_t *ssid, uint8_t ssid_len)
|
||||||
|
{
|
||||||
|
struct vdev_mlme_obj *vdev_mlme;
|
||||||
|
|
||||||
|
/* This API is invoked with lock acquired, do not add log prints */
|
||||||
|
vdev_mlme = wlan_vdev_mlme_get_cmpt_obj(vdev);
|
||||||
|
if (!vdev_mlme)
|
||||||
|
return QDF_STATUS_E_FAILURE;
|
||||||
|
|
||||||
|
if (ssid_len <= WLAN_SSID_MAX_LEN) {
|
||||||
|
qdf_mem_copy(vdev_mlme->mgmt.generic.ssid, ssid, ssid_len);
|
||||||
|
vdev_mlme->mgmt.generic.ssid_len = ssid_len;
|
||||||
|
} else {
|
||||||
|
vdev_mlme->mgmt.generic.ssid_len = 0;
|
||||||
|
return QDF_STATUS_E_FAILURE;
|
||||||
|
}
|
||||||
|
return QDF_STATUS_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* wlan_vdev_mlme_get_ssid() - get ssid
|
||||||
|
* @vdev: VDEV object
|
||||||
|
* @ssid: SSID
|
||||||
|
* @ssid_len: Length of SSID
|
||||||
|
*
|
||||||
|
* API to get the SSID of VDEV, it updates the SSID and its length
|
||||||
|
* in @ssid, @ssid_len respectively
|
||||||
|
*
|
||||||
|
* Caller need to acquire lock with wlan_vdev_obj_lock()
|
||||||
|
*
|
||||||
|
* Return: SUCCESS, if update is done
|
||||||
|
* FAILURE, if ssid length is > max ssid len
|
||||||
|
*/
|
||||||
|
static inline QDF_STATUS wlan_vdev_mlme_get_ssid(
|
||||||
|
struct wlan_objmgr_vdev *vdev,
|
||||||
|
uint8_t *ssid, uint8_t *ssid_len)
|
||||||
|
{
|
||||||
|
struct vdev_mlme_obj *vdev_mlme;
|
||||||
|
|
||||||
|
/* This API is invoked with lock acquired, do not add log prints */
|
||||||
|
vdev_mlme = wlan_vdev_mlme_get_cmpt_obj(vdev);
|
||||||
|
if (!vdev_mlme)
|
||||||
|
return QDF_STATUS_E_FAILURE;
|
||||||
|
|
||||||
|
if (vdev_mlme->mgmt.generic.ssid_len > 0) {
|
||||||
|
*ssid_len = vdev_mlme->mgmt.generic.ssid_len;
|
||||||
|
qdf_mem_copy(ssid, vdev_mlme->mgmt.generic.ssid, *ssid_len);
|
||||||
|
} else {
|
||||||
|
*ssid_len = 0;
|
||||||
|
return QDF_STATUS_E_FAILURE;
|
||||||
|
}
|
||||||
|
return QDF_STATUS_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* wlan_vdev_mlme_set_nss() - set NSS
|
||||||
|
* @vdev: VDEV object
|
||||||
|
* @nss: nss configured by user
|
||||||
|
*
|
||||||
|
* API to set the Number of Spatial streams
|
||||||
|
*
|
||||||
|
* Return: void
|
||||||
|
*/
|
||||||
|
static inline void wlan_vdev_mlme_set_nss(
|
||||||
|
struct wlan_objmgr_vdev *vdev,
|
||||||
|
uint8_t nss)
|
||||||
|
{
|
||||||
|
struct vdev_mlme_obj *vdev_mlme;
|
||||||
|
|
||||||
|
vdev_mlme = wlan_vdev_mlme_get_cmpt_obj(vdev);
|
||||||
|
if (!vdev_mlme)
|
||||||
|
return;
|
||||||
|
|
||||||
|
vdev_mlme->proto.generic.nss = nss;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* wlan_vdev_mlme_get_nss() - get NSS
|
||||||
|
* @vdev: VDEV object
|
||||||
|
*
|
||||||
|
* API to get the Number of Spatial Streams
|
||||||
|
*
|
||||||
|
* Return:
|
||||||
|
* @nss: nss value
|
||||||
|
*/
|
||||||
|
static inline uint8_t wlan_vdev_mlme_get_nss(
|
||||||
|
struct wlan_objmgr_vdev *vdev)
|
||||||
|
{
|
||||||
|
struct vdev_mlme_obj *vdev_mlme;
|
||||||
|
|
||||||
|
vdev_mlme = wlan_vdev_mlme_get_cmpt_obj(vdev);
|
||||||
|
if (!vdev_mlme)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
return vdev_mlme->proto.generic.nss;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* wlan_vdev_mlme_set_txchainmask() - set Tx chainmask
|
||||||
|
* @vdev: VDEV object
|
||||||
|
* @chainmask : chainmask either configured by user or max supported
|
||||||
|
*
|
||||||
|
* API to set the Tx chainmask
|
||||||
|
*
|
||||||
|
* Return: void
|
||||||
|
*/
|
||||||
|
static inline void wlan_vdev_mlme_set_txchainmask(
|
||||||
|
struct wlan_objmgr_vdev *vdev,
|
||||||
|
uint8_t chainmask)
|
||||||
|
{
|
||||||
|
struct vdev_mlme_obj *vdev_mlme;
|
||||||
|
|
||||||
|
vdev_mlme = wlan_vdev_mlme_get_cmpt_obj(vdev);
|
||||||
|
|
||||||
|
if (!vdev_mlme)
|
||||||
|
return;
|
||||||
|
|
||||||
|
vdev_mlme->mgmt.chainmask_info.tx_chainmask = chainmask;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* wlan_vdev_mlme_get_txchainmask() - get Tx chainmask
|
||||||
|
* @vdev: VDEV object
|
||||||
|
*
|
||||||
|
* API to get the Tx chainmask
|
||||||
|
*
|
||||||
|
* Return:
|
||||||
|
* @chainmask : Tx chainmask either configured by user or max supported
|
||||||
|
*/
|
||||||
|
static inline uint8_t wlan_vdev_mlme_get_txchainmask(
|
||||||
|
struct wlan_objmgr_vdev *vdev)
|
||||||
|
{
|
||||||
|
struct vdev_mlme_obj *vdev_mlme;
|
||||||
|
|
||||||
|
vdev_mlme = wlan_vdev_mlme_get_cmpt_obj(vdev);
|
||||||
|
if (!vdev_mlme)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
return vdev_mlme->mgmt.chainmask_info.tx_chainmask;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* wlan_vdev_mlme_set_rxchainmask() - set Rx chainmask
|
||||||
|
* @vdev: VDEV object
|
||||||
|
* @chainmask : Rx chainmask either configured by user or max supported
|
||||||
|
*
|
||||||
|
* API to set the Rx chainmask
|
||||||
|
*
|
||||||
|
* Return: void
|
||||||
|
*/
|
||||||
|
static inline void wlan_vdev_mlme_set_rxchainmask(
|
||||||
|
struct wlan_objmgr_vdev *vdev,
|
||||||
|
uint8_t chainmask)
|
||||||
|
{
|
||||||
|
struct vdev_mlme_obj *vdev_mlme;
|
||||||
|
|
||||||
|
vdev_mlme = wlan_vdev_mlme_get_cmpt_obj(vdev);
|
||||||
|
if (!vdev_mlme)
|
||||||
|
return;
|
||||||
|
|
||||||
|
vdev_mlme->mgmt.chainmask_info.rx_chainmask = chainmask;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* wlan_vdev_mlme_get_rxchainmask() - get Rx chainmask
|
||||||
|
* @vdev: VDEV object
|
||||||
|
*
|
||||||
|
* API to get the Rx chainmask
|
||||||
|
*
|
||||||
|
* Return:
|
||||||
|
* @chainmask : Rx chainmask either configured by user or max supported
|
||||||
|
*/
|
||||||
|
static inline uint8_t wlan_vdev_mlme_get_rxchainmask(
|
||||||
|
struct wlan_objmgr_vdev *vdev)
|
||||||
|
{
|
||||||
|
struct vdev_mlme_obj *vdev_mlme;
|
||||||
|
|
||||||
|
/* This API is invoked with lock acquired, do not add log prints */
|
||||||
|
vdev_mlme = wlan_vdev_mlme_get_cmpt_obj(vdev);
|
||||||
|
if (!vdev_mlme)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
return vdev_mlme->mgmt.chainmask_info.rx_chainmask;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* wlan_vdev_mlme_set_txpower() - set tx power
|
||||||
|
* @vdev: VDEV object
|
||||||
|
* @txpow: tx power either configured by used or max allowed
|
||||||
|
*
|
||||||
|
* API to set the tx power
|
||||||
|
*
|
||||||
|
* Return: void
|
||||||
|
*/
|
||||||
|
static inline void wlan_vdev_mlme_set_txpower(
|
||||||
|
struct wlan_objmgr_vdev *vdev,
|
||||||
|
uint8_t txpow)
|
||||||
|
{
|
||||||
|
struct vdev_mlme_obj *vdev_mlme;
|
||||||
|
|
||||||
|
vdev_mlme = wlan_vdev_mlme_get_cmpt_obj(vdev);
|
||||||
|
if (!vdev_mlme)
|
||||||
|
return;
|
||||||
|
|
||||||
|
vdev_mlme->mgmt.generic.tx_power = txpow;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* wlan_vdev_mlme_get_txpower() - get tx power
|
||||||
|
* @vdev: VDEV object
|
||||||
|
*
|
||||||
|
* API to get the tx power
|
||||||
|
*
|
||||||
|
* Return:
|
||||||
|
* @txpow: tx power either configured by used or max allowed
|
||||||
|
*/
|
||||||
|
static inline uint8_t wlan_vdev_mlme_get_txpower(
|
||||||
|
struct wlan_objmgr_vdev *vdev)
|
||||||
|
{
|
||||||
|
struct vdev_mlme_obj *vdev_mlme;
|
||||||
|
|
||||||
|
vdev_mlme = wlan_vdev_mlme_get_cmpt_obj(vdev);
|
||||||
|
if (!vdev_mlme)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
return vdev_mlme->mgmt.generic.tx_power;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* wlan_vdev_mlme_set_maxrate() - set max rate
|
||||||
|
* @vdev: VDEV object
|
||||||
|
* @maxrate: configured by used or based on configured mode
|
||||||
|
*
|
||||||
|
* API to set the max rate the vdev supports
|
||||||
|
*
|
||||||
|
* Return: void
|
||||||
|
*/
|
||||||
|
static inline void wlan_vdev_mlme_set_maxrate(
|
||||||
|
struct wlan_objmgr_vdev *vdev,
|
||||||
|
uint32_t maxrate)
|
||||||
|
{
|
||||||
|
struct vdev_mlme_obj *vdev_mlme;
|
||||||
|
|
||||||
|
vdev_mlme = wlan_vdev_mlme_get_cmpt_obj(vdev);
|
||||||
|
if (!vdev_mlme)
|
||||||
|
return;
|
||||||
|
|
||||||
|
vdev_mlme->mgmt.rate_info.max_rate = maxrate;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* wlan_vdev_mlme_get_maxrate() - get max rate
|
||||||
|
* @vdev: VDEV object
|
||||||
|
*
|
||||||
|
* API to get the max rate the vdev supports
|
||||||
|
*
|
||||||
|
* Return:
|
||||||
|
* @maxrate: configured by used or based on configured mode
|
||||||
|
*/
|
||||||
|
static inline uint32_t wlan_vdev_mlme_get_maxrate(
|
||||||
|
struct wlan_objmgr_vdev *vdev)
|
||||||
|
{
|
||||||
|
struct vdev_mlme_obj *vdev_mlme;
|
||||||
|
|
||||||
|
vdev_mlme = wlan_vdev_mlme_get_cmpt_obj(vdev);
|
||||||
|
if (!vdev_mlme)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
return vdev_mlme->mgmt.rate_info.max_rate;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* wlan_vdev_mlme_set_txmgmtrate() - set txmgmtrate
|
||||||
|
* @vdev: VDEV object
|
||||||
|
* @txmgmtrate: Tx Mgmt rate
|
||||||
|
*
|
||||||
|
* API to set Mgmt Tx rate
|
||||||
|
*
|
||||||
|
* Return: void
|
||||||
|
*/
|
||||||
|
static inline void wlan_vdev_mlme_set_txmgmtrate(
|
||||||
|
struct wlan_objmgr_vdev *vdev,
|
||||||
|
uint32_t txmgmtrate)
|
||||||
|
{
|
||||||
|
struct vdev_mlme_obj *vdev_mlme;
|
||||||
|
|
||||||
|
vdev_mlme = wlan_vdev_mlme_get_cmpt_obj(vdev);
|
||||||
|
if (!vdev_mlme)
|
||||||
|
return;
|
||||||
|
|
||||||
|
vdev_mlme->mgmt.rate_info.tx_mgmt_rate = txmgmtrate;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* wlan_vdev_mlme_get_txmgmtrate() - get txmgmtrate
|
||||||
|
* @vdev: VDEV object
|
||||||
|
*
|
||||||
|
* API to get Mgmt Tx rate
|
||||||
|
*
|
||||||
|
* Return:
|
||||||
|
* @txmgmtrate: Tx Mgmt rate
|
||||||
|
*/
|
||||||
|
static inline uint32_t wlan_vdev_mlme_get_txmgmtrate(
|
||||||
|
struct wlan_objmgr_vdev *vdev)
|
||||||
|
{
|
||||||
|
struct vdev_mlme_obj *vdev_mlme;
|
||||||
|
|
||||||
|
vdev_mlme = wlan_vdev_mlme_get_cmpt_obj(vdev);
|
||||||
|
if (!vdev_mlme)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
return vdev_mlme->mgmt.rate_info.tx_mgmt_rate;
|
||||||
|
}
|
||||||
|
#endif /* CMN_VDEV_MGR_TGT_IF_ENABLE */
|
||||||
#endif
|
#endif
|
||||||
|
新增問題並參考
封鎖使用者