qcacld-3.0: Add TWT nudge support to componentization

In TWT component, add support for TWT nudge command
i.e when host wants to suspend the TWT session.

Change-Id: I176fdaf0f2ccc2d0656f9108484fc80b409268ef
CRs-Fixed: 3085999
This commit is contained in:
Srinivas Girigowda
2022-01-04 22:53:32 -08:00
zatwierdzone przez Madan Koyyalamudi
rodzic 82b323d139
commit 8d529074a0
12 zmienionych plików z 558 dodań i 6 usunięć

Wyświetl plik

@@ -111,6 +111,21 @@ QDF_STATUS ucfg_twt_resume_req(struct wlan_objmgr_psoc *psoc,
struct twt_resume_dialog_cmd_param *params,
void *context);
/**
* ucfg_twt_nudge_req() - Process TWT nudge req
* @psoc: psoc
* @params: nudge dialog cmd param
* @context: context
*
* Perform validations and set WLAN_TWT_NUDGE
* in progress
*
* Return: QDF_STATUS
*/
QDF_STATUS ucfg_twt_nudge_req(struct wlan_objmgr_psoc *psoc,
struct twt_nudge_dialog_cmd_param *params,
void *context);
/**
* ucfg_twt_is_max_sessions_reached() - Check if the maximum number of
* TWT sessions reached or not excluding the given dialog_id

Wyświetl plik

@@ -58,7 +58,7 @@ static QDF_STATUS
tgt_twt_nudge_complete_resp_handler(struct wlan_objmgr_psoc *psoc,
struct twt_nudge_dialog_complete_event_param *event)
{
return QDF_STATUS_SUCCESS;
return wlan_twt_nudge_complete_event_handler(psoc, event);
}
static QDF_STATUS

Wyświetl plik

@@ -148,6 +148,28 @@ QDF_STATUS
tgt_twt_nudge_req_send(struct wlan_objmgr_psoc *psoc,
struct twt_nudge_dialog_cmd_param *req)
{
return QDF_STATUS_SUCCESS;
struct wlan_lmac_if_twt_tx_ops *tx_ops;
QDF_STATUS status;
if (!psoc) {
twt_err("psoc is null");
return QDF_STATUS_E_INVAL;
}
if (!req) {
twt_err("Invalid input");
return QDF_STATUS_E_INVAL;
}
tx_ops = wlan_twt_get_tx_ops(psoc);
if (!tx_ops || !tx_ops->nudge_req) {
twt_err("nudge tx_ops is null");
status = QDF_STATUS_E_NULL_VALUE;
return status;
}
status = tx_ops->nudge_req(psoc, req);
return status;
}

Wyświetl plik

@@ -78,6 +78,14 @@ ucfg_twt_resume_req(struct wlan_objmgr_psoc *psoc,
return wlan_twt_resume_req(psoc, params, context);
}
QDF_STATUS
ucfg_twt_nudge_req(struct wlan_objmgr_psoc *psoc,
struct twt_nudge_dialog_cmd_param *params,
void *context)
{
return wlan_twt_nudge_req(psoc, params, context);
}
bool ucfg_twt_is_max_sessions_reached(struct wlan_objmgr_psoc *psoc,
struct qdf_mac_addr *peer_mac,
uint8_t dialog_id)