qcacmn: Add API to update peer channel width and puncture parameter

Add API to send peer param WMI_PEER_CHWIDTH_PUNCTURE_20MHZ_BITMAP

Change-Id: Id05629b12059ff2258e196b3e9aa78f5fb52bda4
CRs-Fixed: 3269745
This commit is contained in:
Bing Sun
2022-08-17 18:20:43 +08:00
committed by Madan Koyyalamudi
szülő 15e2647ec7
commit cb2c6707f6
10 fájl változott, egészen pontosan 392 új sor hozzáadva és 4 régi sor törölve

Fájl megtekintése

@@ -1,6 +1,6 @@
/*
* Copyright (c) 2019, 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
@@ -346,4 +346,18 @@ QDF_STATUS tgt_vdev_mgr_cdp_vdev_attach(struct vdev_mlme_obj *mlme_obj);
*/
QDF_STATUS tgt_vdev_mgr_cdp_vdev_detach(struct vdev_mlme_obj *mlme_obj);
#endif
/**
* tgt_vdev_peer_set_param_send() - API to send peer param
* @vdev: Pointer to object manager VDEV
* @peer_mac_addr: pointer to peer mac address
* @param_id: peer param id
* @param_value: peer param value
*
* Return: QDF_STATUS
*/
QDF_STATUS tgt_vdev_peer_set_param_send(struct wlan_objmgr_vdev *vdev,
uint8_t *peer_mac_addr,
uint32_t param_id,
uint32_t param_value);
#endif /* __WLAN_VDEV_MGR_TX_OPS_API_H__ */

Fájl megtekintése

@@ -183,4 +183,18 @@ QDF_STATUS wlan_util_vdev_mgr_quiet_offload(
struct wlan_objmgr_psoc *psoc,
struct vdev_sta_quiet_event *quiet_event);
#endif /* WLAN_FEATURE_11BE_MLO */
/**
* wlan_util_vdev_peer_set_param_send() - send peer param
* @vdev: Pointer to vdev object.
* @peer_mac_addr: peer mac address
* @param_id: peer param id
* @param_value: peer param value
*
* Return: QDF_STATUS
*/
QDF_STATUS wlan_util_vdev_peer_set_param_send(struct wlan_objmgr_vdev *vdev,
uint8_t *peer_mac_addr,
uint32_t param_id,
uint32_t param_value);
#endif /* __WLAN_VDEV_MGR_UTILS_API_H__ */

Fájl megtekintése

@@ -23,6 +23,16 @@
#define _WLAN_VDEV_MLME_API_H_
#include <wlan_ext_mlme_obj_types.h>
/**
* wlan_mlme_peer_param_id - peer param id in mlme layer
* @WLAN_MLME_PEER_BW_PUNCTURE: update puncture 20 MHz bitmap
*/
enum wlan_mlme_peer_param_id {
WLAN_MLME_PEER_BW_PUNCTURE,
WLAN_MLME_PEER_MAX
};
/**
* wlan_vdev_mlme_get_cmpt_obj - Retrieves MLME component object
* from VDEV object

Fájl megtekintése

@@ -1,6 +1,6 @@
/*
* Copyright (c) 2019-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
@@ -792,3 +792,29 @@ QDF_STATUS tgt_vdev_mgr_send_set_mac_addr(struct qdf_mac_addr mac_addr,
return status;
}
#endif
QDF_STATUS tgt_vdev_peer_set_param_send(struct wlan_objmgr_vdev *vdev,
uint8_t *peer_mac_addr,
uint32_t param_id,
uint32_t param_value)
{
struct wlan_lmac_if_mlme_tx_ops *txops;
uint8_t vdev_id;
QDF_STATUS status;
vdev_id = wlan_vdev_get_id(vdev);
txops = wlan_vdev_mlme_get_lmac_txops(vdev);
if (!txops || !txops->vdev_peer_set_param_send) {
mlme_err("VDEV_%d: No Tx Ops", vdev_id);
return QDF_STATUS_E_INVAL;
}
status = txops->vdev_peer_set_param_send(vdev, peer_mac_addr,
param_id, param_value);
if (QDF_IS_STATUS_ERROR(status))
mlme_err("VDEV_%d: peer " QDF_MAC_ADDR_FMT " param_id %d param_value %d Error %d",
vdev_id, QDF_MAC_ADDR_REF(peer_mac_addr), param_id,
param_value, status);
return status;
}

Fájl megtekintése

@@ -892,3 +892,12 @@ QDF_STATUS wlan_util_vdev_mgr_quiet_offload(
return QDF_STATUS_SUCCESS;
}
#endif /* WLAN_FEATURE_11BE_MLO */
QDF_STATUS wlan_util_vdev_peer_set_param_send(struct wlan_objmgr_vdev *vdev,
uint8_t *peer_mac_addr,
uint32_t param_id,
uint32_t param_value)
{
return tgt_vdev_peer_set_param_send(vdev, peer_mac_addr,
param_id, param_value);
}