qcacmn: Add WMI support for EHT puncturing

Add WMI support for EHT puncturing by filling puncture
bitmap in vdev start and peer assoc commands.

Change-Id: If1d2541655558f22a96a741999ec4ff7348f695a
CRs-Fixed: 2982498
This commit is contained in:
Venkateswara Swamy Bandaru
2021-07-01 23:09:53 +05:30
committed by Madan Koyyalamudi
parent c33f73847d
commit a071b03bcd
2 changed files with 8 additions and 3 deletions

View File

@@ -1207,6 +1207,7 @@ struct peer_assoc_params {
uint32_t peer_eht_mcs_count; uint32_t peer_eht_mcs_count;
uint32_t peer_eht_rx_mcs_set[WMI_HOST_MAX_EHT_RATE_SET]; uint32_t peer_eht_rx_mcs_set[WMI_HOST_MAX_EHT_RATE_SET];
uint32_t peer_eht_tx_mcs_set[WMI_HOST_MAX_EHT_RATE_SET]; uint32_t peer_eht_tx_mcs_set[WMI_HOST_MAX_EHT_RATE_SET];
uint16_t puncture_pattern;
#endif #endif
struct wmi_host_ppe_threshold peer_ppet; struct wmi_host_ppe_threshold peer_ppet;
u_int8_t peer_bsscolor_rept_info; u_int8_t peer_bsscolor_rept_info;

View File

@@ -1049,7 +1049,9 @@ vdev_start_cmd_fill_11be(wmi_vdev_start_request_cmd_fixed_param *cmd,
struct vdev_start_params *req) struct vdev_start_params *req)
{ {
cmd->eht_ops = req->eht_ops; cmd->eht_ops = req->eht_ops;
wmi_info("EHT ops: %x", req->eht_ops); cmd->puncture_20mhz_bitmap = req->channel.puncture_pattern;
wmi_info("EHT ops: %x puncture_pattern %x",
req->eht_ops, req->channel.puncture_pattern);
} }
#else #else
static void static void
@@ -2641,6 +2643,8 @@ static uint8_t *update_peer_flags_tlv_ehtinfo(
int i; int i;
cmd->peer_eht_ops = param->peer_eht_ops; cmd->peer_eht_ops = param->peer_eht_ops;
cmd->puncture_20mhz_bitmap = param->puncture_pattern;
qdf_mem_copy(&cmd->peer_eht_cap_mac, &param->peer_eht_cap_macinfo, qdf_mem_copy(&cmd->peer_eht_cap_mac, &param->peer_eht_cap_macinfo,
sizeof(param->peer_eht_cap_macinfo)); sizeof(param->peer_eht_cap_macinfo));
qdf_mem_copy(&cmd->peer_eht_cap_phy, &param->peer_eht_cap_phyinfo, qdf_mem_copy(&cmd->peer_eht_cap_phy, &param->peer_eht_cap_phyinfo,
@@ -2678,11 +2682,11 @@ static uint8_t *update_peer_flags_tlv_ehtinfo(
QDF_MAC_ADDR_REF(param->peer_mac)); QDF_MAC_ADDR_REF(param->peer_mac));
} }
wmi_debug("EHT cap_mac %x %x ehtops %x EHT phy %x %x %x ", wmi_debug("EHT cap_mac %x %x ehtops %x EHT phy %x %x %x pp %x",
cmd->peer_eht_cap_mac[0], cmd->peer_eht_cap_mac[0],
cmd->peer_eht_cap_mac[1], cmd->peer_eht_ops, cmd->peer_eht_cap_mac[1], cmd->peer_eht_ops,
cmd->peer_eht_cap_phy[0], cmd->peer_he_cap_phy[1], cmd->peer_eht_cap_phy[0], cmd->peer_he_cap_phy[1],
cmd->peer_eht_cap_phy[2]); cmd->peer_eht_cap_phy[2], cmd->puncture_20mhz_bitmap);
return buf_ptr; return buf_ptr;
} }