qcacld-3.0: Add support for QCA_WLAN_VENDOR_ATTR_TWT_SETUP_ANNOUNCE_TIMEOUT

Add support for QCA_WLAN_VENDOR_ATTR_TWT_SETUP_ANNOUNCE_TIMEOUT
attribute as part of TWT setup command. This attribute is used
to configure the announce timeout value (in us) in the firmware.
This timeout value is only applicable for the announced TWT. If
the timeout value is non-zero, the firmware waits up to the
timeout value to use Data frame as an announcement frame. If the
timeout value is 0, the firmware sends an explicit QoS NULL frame
as the announcement frame on SP start.

Change-Id: Idf564813487b8157f05265dc73ef7a9a1c31d9e2
CRs-Fixed: 3168235
Цей коміт міститься в:
Nirav Shah
2022-04-05 20:16:58 +05:30
зафіксовано Madan Koyyalamudi
джерело 90c75a1aef
коміт ebe117b4b2

Переглянути файл

@@ -68,6 +68,7 @@ qca_wlan_vendor_twt_add_dialog_policy[QCA_WLAN_VENDOR_ATTR_TWT_SETUP_MAX + 1] =
.type = NLA_U8 },
[QCA_WLAN_VENDOR_ATTR_TWT_SETUP_BCAST_PERSISTENCE] = {.type = NLA_U8 },
[QCA_WLAN_VENDOR_ATTR_TWT_SETUP_WAKE_TIME_TSF] = {.type = NLA_U64 },
[QCA_WLAN_VENDOR_ATTR_TWT_SETUP_ANNOUNCE_TIMEOUT] = {.type = NLA_U32 },
};
static const struct nla_policy
@@ -330,6 +331,12 @@ osif_twt_parse_add_dialog_attrs(struct nlattr **tb,
else
params->wake_time_tsf = 0;
cmd_id = QCA_WLAN_VENDOR_ATTR_TWT_SETUP_ANNOUNCE_TIMEOUT;
if (tb[cmd_id])
params->announce_timeout_us = nla_get_u32(tb[cmd_id]);
else
params->announce_timeout_us = 0;
osif_debug("twt: dialog_id %d, vdev %d, wake intvl_us %d, min %d, max %d, mantis %d",
params->dialog_id, params->vdev_id, params->wake_intvl_us,
params->min_wake_intvl_us, params->max_wake_intvl_us,
@@ -347,7 +354,8 @@ osif_twt_parse_add_dialog_attrs(struct nlattr **tb,
osif_debug("twt: peer mac_addr "
QDF_MAC_ADDR_FMT,
QDF_MAC_ADDR_REF(params->peer_macaddr.bytes));
osif_debug("twt: announce timeout(in us) %u",
params->announce_timeout_us);
return 0;
}