qcacmn: Critical update signaling for 20TU Probe Response

Critical update is the explicit signaling for STA to notify
any change in BSS param.

Present support is there for beacon, host notify to FW by
updating current link CU param in wmi_bcn_tmpl_ml_info TLV
of BCN TMPL CMD by setting the corresponding cu_vdev_map
for category 1 / category 2 based on change in critical
update params of ML VDEV.

The same Critical update signaling is extended to 20TU
unsolicited broadcast probe response.
In 6 GHz link host notify the same category 1 / category 2
cu_vdev_map critical update params of ML VDEVs in 20TU
enabled group wmi_prb_tmpl_ml_info TLV of WMI_PRB_TMPL_CMD.

CRs-Fixed: 3314429
Change-Id: I84dbd1901c5a3f2ef28f981c581fd7350d147829
This commit is contained in:
Basamma Yakkanahalli
2022-11-11 08:37:40 +05:30
committed by Madan Koyyalamudi
szülő 776f11b082
commit 23001226b9
4 fájl változott, egészen pontosan 88 új sor hozzáadva és 2 régi sor törölve

Fájl megtekintése

@@ -87,7 +87,7 @@ uint8_t *bcn_tmpl_add_ml_partner_links(uint8_t *buf_ptr,
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
* 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
@@ -96,6 +96,24 @@ size_t bcn_tmpl_ml_info_size(struct beacon_tmpl_params *param);
*/
uint8_t *bcn_tmpl_add_ml_info(uint8_t *buf_ptr,
struct beacon_tmpl_params *param);
/**
* prb_resp_tmpl_ml_info_size() - Get ML info size in 20TU probe resp template
* @param: Pointer to 20TU probe response template param
*
* Return: size of ML info in 20TU probe response template
*/
size_t prb_resp_tmpl_ml_info_size(struct wmi_probe_resp_params *param);
/**
* prb_resp_tmpl_add_ml_info() - Add MLO info to update Critical Update info in
* 20TU probe response template command
* @buf_ptr: pointer to 20TU probe response cmd buffer.
* @param: pointer to 20TU probe response template params
*
* Return: pointer to new offset of cmd buffer
*/
uint8_t *prb_resp_tmpl_add_ml_info(uint8_t *buf_ptr,
struct wmi_probe_resp_params *param);
/**
* peer_create_add_mlo_params() - Add MLO params in peer create cmd
* @buf_ptr: pointer to peer create cmd buffer.
@@ -232,6 +250,18 @@ static uint8_t *bcn_tmpl_add_ml_info(uint8_t *buf_ptr,
return buf_ptr + WMI_TLV_HDR_SIZE;
}
static size_t prb_resp_tmpl_ml_info_size(struct wmi_probe_resp_params *param)
{
return WMI_TLV_HDR_SIZE;
}
static uint8_t *prb_resp_tmpl_add_ml_info(uint8_t *buf_ptr,
struct wmi_probe_resp_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)
{