qcacmn: Critical update signaling for beacon
Critical update is the explicit signaling for STA to notify any change in BSS param. There are two categories of critical update params. Category 1 elements: CSA, ECSA, Quiet, Quiet channel, Max Ch Switch Time, that are directly included in the per-STA profile of partner AP. Category 2 elements: Except category 1 all operational IEs HT/VHT/HE/EHT and WMM/EDCA/MUEDCA params. Defined below vdev flags to track change in Category 1 and Category 2 CU params per ML VDEV WLAN_VDEV_OP_CU_CAT1: Change in category 1 param WLAN_VDEV_OP_CU_CAT2: Change in category 2 param Host notify to FW by updating current link CU param in wmi_bcn_tmpl_ml_info TLV of BCN TMPL CMD. Set the corresponding cu_vdev_map category 1 / category 2 based on change in critical update params of ML VDEV. Change-Id: I8fe71309ab92a459524bdc5739f8b4a4a545562e CRs-Fixed: 3199331
This commit is contained in:

committed by
Madan Koyyalamudi

parent
68f96a8c79
commit
a684d24bfe
@@ -77,6 +77,25 @@ size_t bcn_tmpl_mlo_param_size(struct beacon_tmpl_params *param);
|
||||
*/
|
||||
uint8_t *bcn_tmpl_add_ml_partner_links(uint8_t *buf_ptr,
|
||||
struct beacon_tmpl_params *param);
|
||||
|
||||
/**
|
||||
* bcn_tmpl_ml_info_size() - Get ML info size in beacon template
|
||||
* @param: Pointer to beacon template param
|
||||
*
|
||||
* Return: size of ML info in beacon template
|
||||
*/
|
||||
size_t bcn_tmpl_ml_info_size(struct beacon_tmpl_params *param);
|
||||
|
||||
/**
|
||||
* bcn_tmpl_add_ml_info - Add MLO info to update Critical Update info in
|
||||
* beacon template command
|
||||
* @buf_ptr: pointer to beacon cmd buffer.
|
||||
* @param: pointer to beacon template params
|
||||
*
|
||||
* Return: pointer to new offset of cmd buffer
|
||||
*/
|
||||
uint8_t *bcn_tmpl_add_ml_info(uint8_t *buf_ptr,
|
||||
struct beacon_tmpl_params *param);
|
||||
/**
|
||||
* peer_create_add_mlo_params() - Add MLO params in peer create cmd
|
||||
* @buf_ptr: pointer to peer create cmd buffer.
|
||||
@@ -201,6 +220,18 @@ static uint8_t *bcn_tmpl_add_ml_partner_links(uint8_t *buf_ptr,
|
||||
return buf_ptr + WMI_TLV_HDR_SIZE;
|
||||
}
|
||||
|
||||
static size_t bcn_tmpl_ml_info_size(struct beacon_tmpl_params *param)
|
||||
{
|
||||
return WMI_TLV_HDR_SIZE;
|
||||
}
|
||||
|
||||
static uint8_t *bcn_tmpl_add_ml_info(uint8_t *buf_ptr,
|
||||
struct beacon_tmpl_params *param)
|
||||
{
|
||||
WMITLV_SET_HDR(buf_ptr, WMITLV_TAG_ARRAY_STRUC, 0);
|
||||
return buf_ptr + WMI_TLV_HDR_SIZE;
|
||||
}
|
||||
|
||||
static uint8_t *peer_create_add_mlo_params(uint8_t *buf_ptr,
|
||||
struct peer_create_params *req)
|
||||
{
|
||||
|
Reference in New Issue
Block a user