Browse Source

qcacmn: Add support to configure rate mask to cap phy rate

This will help to configure desired rate mask. It can be
used to optimize link performance.

Change-Id: I15b6fbc512d9b0869a6ad6a6f24f1593abf14dae
CRs-Fixed: 2758871
Madhvapathi Sriram 4 years ago
parent
commit
904b8cb53b

+ 2 - 0
umac/mlme/vdev_mgr/dispatcher/inc/wlan_vdev_mgr_tgt_if_tx_defs.h

@@ -361,6 +361,7 @@ struct config_fils_params {
  * @lower32: Lower 32 bits in the 1st 64-bit value
  * @lower32: Lower 32 bits in the 1st 64-bit value
  * @higher32: Higher 32 bits in the 1st 64-bit value
  * @higher32: Higher 32 bits in the 1st 64-bit value
  * @lower32_2: Lower 32 bits in the 2nd 64-bit value
  * @lower32_2: Lower 32 bits in the 2nd 64-bit value
+ * @higher32_2: Higher 32 bits in the 2nd 64-bit value
  */
  */
 struct config_ratemask_params {
 struct config_ratemask_params {
 	uint8_t vdev_id;
 	uint8_t vdev_id;
@@ -368,6 +369,7 @@ struct config_ratemask_params {
 	uint32_t lower32;
 	uint32_t lower32;
 	uint32_t higher32;
 	uint32_t higher32;
 	uint32_t lower32_2;
 	uint32_t lower32_2;
+	uint32_t higher32_2;
 };
 };
 
 
 /**
 /**

+ 16 - 0
wmi/inc/wmi_unified_param.h

@@ -3568,6 +3568,22 @@ enum wmi_host_preamble_type {
 	WMI_HOST_PREAMBLE_HE    =  4,
 	WMI_HOST_PREAMBLE_HE    =  4,
 };
 };
 
 
+/**
+ * enum wmi_ratemask_type: ratemask type
+ * @WMI_RATEMASK_TYPE_CCK: CCK rate mask type
+ * @WMI_RATEMASK_TYPE_HT:  HT rate mask type
+ * @WMI_RATEMASK_TYPE_VHT: VHT rate mask type
+ * @WMI_RATEMASK_TYPE_HE:  HE rate mask type
+ *
+ * This is used for 'type' in WMI_VDEV_RATEMASK_CMDID
+ */
+enum wmi_ratemask_type {
+	WMI_RATEMASK_TYPE_CCK = 0,
+	WMI_RATEMASK_TYPE_HT  = 1,
+	WMI_RATEMASK_TYPE_VHT = 2,
+	WMI_RATEMASK_TYPE_HE  = 3,
+};
+
 /**
 /**
  * struct packet_power_info_params - packet power info params
  * struct packet_power_info_params - packet power info params
  * @chainmask: chain mask
  * @chainmask: chain mask

+ 1 - 0
wmi/src/wmi_unified_vdev_tlv.c

@@ -46,6 +46,7 @@ send_vdev_config_ratemask_cmd_tlv(struct wmi_unified *wmi_handle,
 	cmd->mask_lower32 = param->lower32;
 	cmd->mask_lower32 = param->lower32;
 	cmd->mask_higher32 = param->higher32;
 	cmd->mask_higher32 = param->higher32;
 	cmd->mask_lower32_2 = param->lower32_2;
 	cmd->mask_lower32_2 = param->lower32_2;
+	cmd->mask_higher32_2 = param->higher32_2;
 
 
 	wmi_mtrace(WMI_VDEV_RATEMASK_CMDID, cmd->vdev_id, 0);
 	wmi_mtrace(WMI_VDEV_RATEMASK_CMDID, cmd->vdev_id, 0);
 	if (wmi_unified_cmd_send(wmi_handle, buf, len,
 	if (wmi_unified_cmd_send(wmi_handle, buf, len,