From 0aaa4b4ec1cd62967fc5c67359f0ce695ddf4e3a Mon Sep 17 00:00:00 2001 From: Arif Hussain Date: Tue, 26 Mar 2019 12:11:13 -0700 Subject: [PATCH] qcacmn: Add support to send bcast capability to firmware If both INI and FW capability is set, enable capability flag in twt enable command. Change-Id: I1c070256c4b672b09a1323665fc5a2f166f951fb CRs-Fixed: 2423718 --- wmi/inc/wmi_unified_param.h | 1 + wmi/inc/wmi_unified_twt_param.h | 2 ++ wmi/src/wmi_unified_tlv.c | 2 ++ wmi/src/wmi_unified_twt_tlv.c | 4 ++-- 4 files changed, 7 insertions(+), 2 deletions(-) diff --git a/wmi/inc/wmi_unified_param.h b/wmi/inc/wmi_unified_param.h index 948d7f6a21..e73af33b76 100644 --- a/wmi/inc/wmi_unified_param.h +++ b/wmi/inc/wmi_unified_param.h @@ -5284,6 +5284,7 @@ typedef enum { wmi_service_wlm_stats_support, wmi_service_ul_ru26_allowed, wmi_service_cfr_capture_support, + wmi_service_bcast_twt_support, wmi_services_max, } wmi_conv_service_ids; #define WMI_SERVICE_UNAVAILABLE 0xFFFF diff --git a/wmi/inc/wmi_unified_twt_param.h b/wmi/inc/wmi_unified_twt_param.h index f64aa59a4a..aa736258b0 100644 --- a/wmi/inc/wmi_unified_twt_param.h +++ b/wmi/inc/wmi_unified_twt_param.h @@ -62,6 +62,7 @@ * TWT slots for STAs. (units = milliseconds) * @remove_sta_slot_interval: Inrerval between decisions making to remove TWT * slot of STAs. (units = milliseconds) + * @flags: Flag to enable or disable capabilities, example bcast twt. */ struct wmi_twt_enable_param { uint32_t pdev_id; @@ -81,6 +82,7 @@ struct wmi_twt_enable_param { uint32_t mode_check_interval; uint32_t add_sta_slot_interval; uint32_t remove_sta_slot_interval; + uint32_t flags; }; /* status code of enabling TWT diff --git a/wmi/src/wmi_unified_tlv.c b/wmi/src/wmi_unified_tlv.c index dc1f9cc8be..2ed7493a8b 100644 --- a/wmi/src/wmi_unified_tlv.c +++ b/wmi/src/wmi_unified_tlv.c @@ -12058,6 +12058,8 @@ static void populate_tlv_service(uint32_t *wmi_service) wmi_service[wmi_service_ul_ru26_allowed] = WMI_SERVICE_UL_RU26_ALLOWED; wmi_service[wmi_service_cfr_capture_support] = WMI_SERVICE_CFR_CAPTURE_SUPPORT; + wmi_service[wmi_service_bcast_twt_support] = + WMI_SERVICE_BROADCAST_TWT; } /** diff --git a/wmi/src/wmi_unified_twt_tlv.c b/wmi/src/wmi_unified_twt_tlv.c index 45befcda38..dccdd635fa 100644 --- a/wmi/src/wmi_unified_twt_tlv.c +++ b/wmi/src/wmi_unified_twt_tlv.c @@ -1,6 +1,5 @@ - /* - * Copyright (c) 2018 The Linux Foundation. All rights reserved. + * Copyright (c) 2018-2019 The Linux Foundation. All rights reserved. * * Permission to use, copy, modify, and/or distribute this software for * any purpose with or without fee is hereby granted, provided that the @@ -62,6 +61,7 @@ static QDF_STATUS send_twt_enable_cmd_tlv(wmi_unified_t wmi_handle, cmd->mode_check_interval = params->mode_check_interval; cmd->add_sta_slot_interval = params->add_sta_slot_interval; cmd->remove_sta_slot_interval = params->remove_sta_slot_interval; + cmd->flags = params->flags; status = wmi_unified_cmd_send(wmi_handle, buf, sizeof(*cmd), WMI_TWT_ENABLE_CMDID);