qcacld-3.0: Add support for TWT concurrency

Add support for TWT concurrency.

Change-Id: I859c5764a6828e60554978104fd747ec5ac2a058
CRs-Fixed: 3085555
This commit is contained in:
Srinivas Girigowda
2021-11-24 18:12:50 -08:00
committed by Madan Koyyalamudi
parent 96132d1c52
commit b4132f35eb
6 changed files with 224 additions and 1 deletions

View File

@@ -26,6 +26,7 @@
#include "twt/core/src/wlan_twt_priv.h"
#include "twt/core/src/wlan_twt_common.h"
#include <wlan_twt_tgt_if_ext_tx_api.h>
#include <wlan_serialization_api.h>
/**
* wlan_twt_add_session() - Add TWT session entry in the TWT context
@@ -1385,3 +1386,17 @@ wlan_twt_notify_event_handler(struct wlan_objmgr_psoc *psoc,
return QDF_STATUS_SUCCESS;
}
QDF_STATUS wlan_twt_update_beacon_template(void)
{
struct scheduler_msg msg = { 0 };
QDF_STATUS status;
msg.type = SIR_LIM_UPDATE_BEACON;
status = scheduler_post_message(QDF_MODULE_ID_TWT, QDF_MODULE_ID_PE,
QDF_MODULE_ID_PE, &msg);
if (QDF_IS_STATUS_ERROR(status))
twt_err("scheduler_post_message failed, status = %u", status);
return status;
}

View File

@@ -179,3 +179,23 @@ QDF_STATUS
wlan_twt_init_context(struct wlan_objmgr_psoc *psoc,
struct qdf_mac_addr *peer_mac,
uint8_t dialog_id);
/**
* wlan_twt_update_beacon_template() - update beacon template
*
* SoftAP (SAP) is the beaconing entity, as per current requirement
* during Single Channel Concurrency (SCC) or Multi-Channel Concurrency (MCC)
* TWT is not supported on STA as well as SAP.
*
* Whenever SAP is forming SCC/MCC, this function shall be called to update the
* beacon, underlying LIM layer based the TWT responder flag, it disables the
* TWT responder advertisement bit in the beacon.
*
* When SAP moves from SCC/MCC to Standalone, this function shall be called
* to update the beacon, underlying LIM layer based the TWT responder flag,
* it enables the TWT responder advertisement bit in the beacon.
*
* Return: QDF_STATUS
*/
QDF_STATUS wlan_twt_update_beacon_template(void);

View File

@@ -162,6 +162,25 @@ ucfg_twt_init_context(struct wlan_objmgr_psoc *psoc,
*/
QDF_STATUS
ucfg_twt_set_osif_cb(osif_twt_get_global_ops_cb osif_twt_ops);
/**
* ucfg_twt_update_beacon_template() - update beacon template
*
* SoftAP (SAP) is the beaconing entity, as per current requirement
* during Single Channel Concurrency (SCC) or Multi-Channel Concurrency (MCC)
* TWT is not supported on STA as well as SAP.
*
* Whenever SAP is forming SCC/MCC, this function shall be called to update the
* beacon, underlying LIM layer based the TWT responder flag, it disables the
* TWT responder advertisement bit in the beacon.
*
* When SAP moves from SCC/MCC to Standalone, this function shall be called
* to update the beacon, underlying LIM layer based the TWT responder flag,
* it enables the TWT responder advertisement bit in the beacon.
*
* Return: QDF_STATUS_SUCCESS
*/
QDF_STATUS ucfg_twt_update_beacon_template(void);
#else
static inline
QDF_STATUS ucfg_twt_psoc_open(struct wlan_objmgr_psoc *psoc)

View File

@@ -141,3 +141,8 @@ ucfg_twt_reset_active_command(struct wlan_objmgr_psoc *psoc,
WLAN_TWT_NONE);
}
QDF_STATUS ucfg_twt_update_beacon_template(void)
{
return wlan_twt_update_beacon_template();
}