lkml.org 
[lkml]   [2018]   [Sep]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 4.9 25/62] ath10k: disable bundle mgmt tx completion event support
    Date
    From: Surabhi Vishnoi <svishnoi@codeaurora.org>

    [ Upstream commit 673bc519c55843c68c3aecff71a4101e79d28d2b ]

    The tx completion of multiple mgmt frames can be bundled
    in a single event and sent by the firmware to host, if this
    capability is not disabled explicitly by the host. If the host
    cannot handle the bundled mgmt tx completion, this capability
    support needs to be disabled in the wmi init cmd, sent to the firmware.

    Add the host capability indication flag in the wmi ready command,
    to let firmware know the features supported by the host driver.
    This field is ignored if it is not supported by firmware.

    Set the host capability indication flag(i.e. host_capab) to zero,
    for disabling the support of bundle mgmt tx completion. This will
    indicate the firmware to send completion event for every mgmt tx
    completion, instead of bundling them together and sending in a single
    event.

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

    Signed-off-by: Surabhi Vishnoi <svishnoi@codeaurora.org>
    Signed-off-by: Rakesh Pillai <pillair@codeaurora.org>
    Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    ---
    drivers/net/wireless/ath/ath10k/wmi-tlv.c | 5 +++++
    drivers/net/wireless/ath/ath10k/wmi-tlv.h | 5 +++++
    2 files changed, 10 insertions(+)

    diff --git a/drivers/net/wireless/ath/ath10k/wmi-tlv.c b/drivers/net/wireless/ath/ath10k/wmi-tlv.c
    index 0e4d49adddd0..f69b98f4276b 100644
    --- a/drivers/net/wireless/ath/ath10k/wmi-tlv.c
    +++ b/drivers/net/wireless/ath/ath10k/wmi-tlv.c
    @@ -1451,6 +1451,11 @@ static struct sk_buff *ath10k_wmi_tlv_op_gen_init(struct ath10k *ar)
    cfg->keep_alive_pattern_size = __cpu_to_le32(0);
    cfg->max_tdls_concurrent_sleep_sta = __cpu_to_le32(1);
    cfg->max_tdls_concurrent_buffer_sta = __cpu_to_le32(1);
    + cfg->wmi_send_separate = __cpu_to_le32(0);
    + 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);

    ath10k_wmi_put_host_mem_chunks(ar, chunks);

    diff --git a/drivers/net/wireless/ath/ath10k/wmi-tlv.h b/drivers/net/wireless/ath/ath10k/wmi-tlv.h
    index b8aa6000573c..2c94fe370bb8 100644
    --- a/drivers/net/wireless/ath/ath10k/wmi-tlv.h
    +++ b/drivers/net/wireless/ath/ath10k/wmi-tlv.h
    @@ -1227,6 +1227,11 @@ struct wmi_tlv_resource_config {
    __le32 keep_alive_pattern_size;
    __le32 max_tdls_concurrent_sleep_sta;
    __le32 max_tdls_concurrent_buffer_sta;
    + __le32 wmi_send_separate;
    + __le32 num_ocb_vdevs;
    + __le32 num_ocb_channels;
    + __le32 num_ocb_schedules;
    + __le32 host_capab;
    } __packed;

    struct wmi_tlv_init_cmd {
    --
    2.17.1
    \
     
     \ /
      Last update: 2018-09-02 15:24    [W:4.613 / U:0.084 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site