From a071b03bcdc8ac6d48f03da82ee4563690541926 Mon Sep 17 00:00:00 2001 From: Venkateswara Swamy Bandaru Date: Thu, 1 Jul 2021 23:09:53 +0530 Subject: [PATCH] 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 --- wmi/inc/wmi_unified_param.h | 1 + wmi/src/wmi_unified_tlv.c | 10 +++++++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/wmi/inc/wmi_unified_param.h b/wmi/inc/wmi_unified_param.h index 25f3339440..86492c9912 100644 --- a/wmi/inc/wmi_unified_param.h +++ b/wmi/inc/wmi_unified_param.h @@ -1207,6 +1207,7 @@ struct peer_assoc_params { uint32_t peer_eht_mcs_count; 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]; + uint16_t puncture_pattern; #endif struct wmi_host_ppe_threshold peer_ppet; u_int8_t peer_bsscolor_rept_info; diff --git a/wmi/src/wmi_unified_tlv.c b/wmi/src/wmi_unified_tlv.c index d0545cbde1..15fc7b0557 100644 --- a/wmi/src/wmi_unified_tlv.c +++ b/wmi/src/wmi_unified_tlv.c @@ -1049,7 +1049,9 @@ vdev_start_cmd_fill_11be(wmi_vdev_start_request_cmd_fixed_param *cmd, struct vdev_start_params *req) { 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 static void @@ -2641,6 +2643,8 @@ static uint8_t *update_peer_flags_tlv_ehtinfo( int i; cmd->peer_eht_ops = param->peer_eht_ops; + cmd->puncture_20mhz_bitmap = param->puncture_pattern; + qdf_mem_copy(&cmd->peer_eht_cap_mac, ¶m->peer_eht_cap_macinfo, sizeof(param->peer_eht_cap_macinfo)); qdf_mem_copy(&cmd->peer_eht_cap_phy, ¶m->peer_eht_cap_phyinfo, @@ -2678,11 +2682,11 @@ static uint8_t *update_peer_flags_tlv_ehtinfo( 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[1], cmd->peer_eht_ops, 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; }