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 e85d6be1fb90e2efe1827660ae99165e741275c7..e6f62bb252ec3695a433b31302ddaf3cccd05efa 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 5941961bec9c4063007c03cfadd63c1d911ce1ca..298d917f72cd038cce4dbbfba265827d75bbfaaf 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;