Browse Source

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
Venkateswara Swamy Bandaru 4 years ago
parent
commit
a071b03bcd
2 changed files with 8 additions and 3 deletions
  1. 1 0
      wmi/inc/wmi_unified_param.h
  2. 7 3
      wmi/src/wmi_unified_tlv.c

+ 1 - 0
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;

+ 7 - 3
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, &param->peer_eht_cap_macinfo,
 		     sizeof(param->peer_eht_cap_macinfo));
 	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));
 	}
 
-	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;
 }