Ver Fonte

ath10k: Enable RX batching

This feature allows the FW to batch RX indications,
reducing the rate of host interrupt generation, which
in turn reduces CPU load. Currently, this is enabled
only for the 10.2 firmware.

Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Sujith Manoharan há 10 anos atrás
pai
commit
b6c8e287f6
1 ficheiros alterados com 4 adições e 1 exclusões
  1. 4 1
      drivers/net/wireless/ath/ath10k/wmi.c

+ 4 - 1
drivers/net/wireless/ath/ath10k/wmi.c

@@ -3710,7 +3710,7 @@ static struct sk_buff *ath10k_wmi_10_2_op_gen_init(struct ath10k *ar)
 	struct wmi_init_cmd_10_2 *cmd;
 	struct wmi_init_cmd_10_2 *cmd;
 	struct sk_buff *buf;
 	struct sk_buff *buf;
 	struct wmi_resource_config_10x config = {};
 	struct wmi_resource_config_10x config = {};
-	u32 len, val;
+	u32 len, val, features;
 
 
 	config.num_vdevs = __cpu_to_le32(TARGET_10X_NUM_VDEVS);
 	config.num_vdevs = __cpu_to_le32(TARGET_10X_NUM_VDEVS);
 	config.num_peers = __cpu_to_le32(TARGET_10X_NUM_PEERS);
 	config.num_peers = __cpu_to_le32(TARGET_10X_NUM_PEERS);
@@ -3764,6 +3764,9 @@ static struct sk_buff *ath10k_wmi_10_2_op_gen_init(struct ath10k *ar)
 
 
 	cmd = (struct wmi_init_cmd_10_2 *)buf->data;
 	cmd = (struct wmi_init_cmd_10_2 *)buf->data;
 
 
+	features = WMI_10_2_RX_BATCH_MODE;
+	cmd->resource_config.feature_mask = __cpu_to_le32(features);
+
 	memcpy(&cmd->resource_config.common, &config, sizeof(config));
 	memcpy(&cmd->resource_config.common, &config, sizeof(config));
 	ath10k_wmi_put_host_mem_chunks(ar, &cmd->mem_chunks);
 	ath10k_wmi_put_host_mem_chunks(ar, &cmd->mem_chunks);