ath10k: Enable bundle tx compl for management frames in WCN3990
authorRakesh Pillai <pillair@codeaurora.org>
Fri, 25 Jan 2019 04:10:02 +0000 (09:40 +0530)
committerKalle Valo <kvalo@codeaurora.org>
Thu, 7 Feb 2019 14:36:59 +0000 (16:36 +0200)
WCN3990 sends tx completion of multiple management
frames bundled together in a single event, if the
host driver exposes the support to handle this
bundled tx completion event. This reduces the number
of WMI events which are sent to the host driver by
the target.

Set the BUNDLE_TX_COMPL flag in the host capability
flags when host sends the wmi init command, to indicate
the host capability to handle bundled tx completion for
management frames.

Tested HW: WCN3990
Tested FW: WLAN.HL.2.0-01188-QCAHLSWMTPLZ-1

Signed-off-by: Rakesh Pillai <pillair@codeaurora.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/ath/ath10k/wmi-tlv.c
drivers/net/wireless/ath/ath10k/wmi-tlv.h

index e85d6be..e6f62bb 100644 (file)
@@ -1688,7 +1688,7 @@ static struct sk_buff *ath10k_wmi_tlv_op_gen_init(struct ath10k *ar)
        cfg->num_ocb_vdevs = __cpu_to_le32(0);
        cfg->num_ocb_channels = __cpu_to_le32(0);
        cfg->num_ocb_schedules = __cpu_to_le32(0);
-       cfg->host_capab = __cpu_to_le32(0);
+       cfg->host_capab = __cpu_to_le32(WMI_TLV_FLAG_MGMT_BUNDLE_TX_COMPL);
 
        ath10k_wmi_put_host_mem_chunks(ar, chunks);
 
index 5941961..298d917 100644 (file)
@@ -1593,6 +1593,8 @@ struct chan_info_params {
        u32 mac_clk_mhz;
 };
 
+#define WMI_TLV_FLAG_MGMT_BUNDLE_TX_COMPL      BIT(9)
+
 struct wmi_tlv_mgmt_tx_compl_ev {
        __le32 desc_id;
        __le32 status;