qcacld-3.0: Create new component for low latency sap

This change creates a new component for low latency SAP
and also does the init and de-init of this new component.

Change-Id: I4a8192feb6edb30b1898ef30675cbc01235a8e42
CRs-Fixed: 3482510
This commit is contained in:
Ashish Kumar Dhanotiya
2023-04-27 17:12:12 +05:30
zatwierdzone przez Rahul Choudhary
rodzic 3d70e1c75d
commit b1fac44abe
7 zmienionych plików z 256 dodań i 0 usunięć

Wyświetl plik

@@ -0,0 +1,99 @@
/*
* Copyright (c) 2023 Qualcomm Innovation Center, Inc. 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 above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
#include "wlan_ll_sap_main.h"
#include <wlan_objmgr_global_obj.h>
static QDF_STATUS ll_sap_psoc_obj_created_notification(struct wlan_objmgr_psoc *psoc, void *arg_list)
{
QDF_STATUS status = QDF_STATUS_SUCCESS;
QDF_TRACE_DEBUG(QDF_MODULE_ID_LL_SAP, "ll sap psoc object created");
/* attach ll_sap_psoc object which will contain cfg items,
* tx and rx ops
*/
return status;
}
static QDF_STATUS ll_sap_psoc_obj_destroyed_notification(struct wlan_objmgr_psoc *psoc, void *arg_list)
{
QDF_STATUS status = QDF_STATUS_SUCCESS;
QDF_TRACE_DEBUG(QDF_MODULE_ID_LL_SAP,
"ll sap psoc object destroyed");
/* detach ll_sap_psoc object which will contain cfg items,
* tx and rx ops
*/
return status;
}
QDF_STATUS ll_sap_init(void)
{
QDF_STATUS status;
/* register psoc create handler functions. */
status = wlan_objmgr_register_psoc_create_handler(WLAN_UMAC_COMP_LL_SAP,
ll_sap_psoc_obj_created_notification,
NULL);
if (QDF_IS_STATUS_ERROR(status)) {
QDF_TRACE_ERROR(QDF_MODULE_ID_LL_SAP,
"objmgr_register_psoc_create_handler failed");
return status;
}
/* register psoc delete handler functions. */
status = wlan_objmgr_register_psoc_destroy_handler(WLAN_UMAC_COMP_LL_SAP,
ll_sap_psoc_obj_destroyed_notification,
NULL);
if (QDF_IS_STATUS_ERROR(status)) {
QDF_TRACE_ERROR(QDF_MODULE_ID_LL_SAP,
"objmgr_register_psoc_destroy_handler failed");
wlan_objmgr_unregister_psoc_create_handler(WLAN_UMAC_COMP_LL_SAP,
ll_sap_psoc_obj_created_notification,
NULL);
}
return status;
}
QDF_STATUS ll_sap_deinit(void)
{
QDF_STATUS ret = QDF_STATUS_SUCCESS, status;
/* unregister psoc destroy handler functions. */
status = wlan_objmgr_unregister_psoc_destroy_handler(WLAN_UMAC_COMP_LL_SAP,
ll_sap_psoc_obj_destroyed_notification,
NULL);
if (QDF_IS_STATUS_ERROR(status)) {
QDF_TRACE_ERROR(QDF_MODULE_ID_LL_SAP,
"objmgr_deregister_psoc_destroy_handler failed");
ret = status;
}
/* unregister psoc create handler functions. */
status = wlan_objmgr_unregister_psoc_create_handler(WLAN_UMAC_COMP_LL_SAP,
ll_sap_psoc_obj_created_notification,
NULL);
if (QDF_IS_STATUS_ERROR(status)) {
QDF_TRACE_ERROR(QDF_MODULE_ID_LL_SAP,
"objmgr_unregister_psoc_create_handler failed");
ret = status;
}
return ret;
}

Wyświetl plik

@@ -0,0 +1,42 @@
/*
* Copyright (c) 2023 Qualcomm Innovation Center, Inc. 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
* above copyright notice and this permission notice appear in all
* copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
* WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
* AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
* DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
* PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
/**
* DOC: contains ll_sap_definitions specific to the ll_sap module
*/
#ifndef _WLAN_LL_SAP_MAIN_H_
#define _WLAN_LL_SAP_MAIN_H_
#include "wlan_objmgr_psoc_obj.h"
/**
* ll_sap_init() - initializes ll_sap component
*
* Return: QDF status
*/
QDF_STATUS ll_sap_init(void);
/**
* ll_sap_deinit() - De-initializes ll_sap component
*
* Return: QDF status
*/
QDF_STATUS ll_sap_deinit(void);
#endif /* _WLAN_LL_SAP_MAIN_H_ */

Wyświetl plik

@@ -0,0 +1,55 @@
/*
* Copyright (c) 2023 Qualcomm Innovation Center, Inc. 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
* above copyright notice and this permission notice appear in all
* copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
* WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
* AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
* DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
* PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
/**
* DOC: This file contains ll_sap north bound interface declarations
*/
#ifndef _WLAN_LL_SAP_UCFG_API_H_
#define _WLAN_LL_SAP_UCFG_API_H_
#ifdef WLAN_FEATURE_LL_LT_SAP
/**
* ucfg_ll_sap_init() - initializes ll_sap component
*
* Return: QDF status
*/
QDF_STATUS ucfg_ll_sap_init(void);
/**
* ucfg_ll_sap_deinit() - De-initializes ll_sap component
*
* Return: QDF status
*/
QDF_STATUS ucfg_ll_sap_deinit(void);
#else
static inline QDF_STATUS ucfg_ll_sap_init(void)
{
return QDF_STATUS_SUCCESS;
}
static inline QDF_STATUS ucfg_ll_sap_deinit(void)
{
return QDF_STATUS_SUCCESS;
}
#endif /* WLAN_FEATURE_LL_LT_SAP */
#endif /* _WLAN_LL_SAP_UCFG_API_H_ */

Wyświetl plik

@@ -0,0 +1,34 @@
/*
* Copyright (c) 2023 Qualcomm Innovation Center, Inc. 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
* above copyright notice and this permission notice appear in all
* copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
* WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
* AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
* DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
* PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
/**
* DOC: This file contains ll_sap north bound interface definitions
*/
#include "../../core/src/wlan_ll_sap_main.h"
#include <wlan_ll_sap_ucfg_api.h>
QDF_STATUS ucfg_ll_sap_init(void)
{
return ll_sap_init();
}
QDF_STATUS ucfg_ll_sap_deinit(void)
{
return ll_sap_deinit();
}