qcacmn: Add APIs to register event handlers in mgmt rx reo

1. Add target if files for mgmt rx reo module.
2. Add APIs to register/unregister WMI events related to
   management Rx reorder module.

CRs-Fixed: 2927734
Change-Id: Icf3537cfec03f26305ee6d1e08b82e316febf2ad
Šī revīzija ir iekļauta:
Edayilliam Jayadev
2021-05-06 19:02:03 +05:30
revīziju iesūtīja Madan Koyyalamudi
vecāks a6435ad62a
revīzija ac790cc9a2
2 mainīti faili ar 127 papildinājumiem un 0 dzēšanām

Parādīt failu

@@ -0,0 +1,71 @@
/*
* Copyright (c) 2021, 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 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: target_if_mgmt_txrx_rx_reo.h
* This file contains declarations of management rx re-ordering related APIs.
*/
#ifndef _TARGET_IF_MGMT_TXRX_RX_REO_H_
#define _TARGET_IF_MGMT_TXRX_RX_REO_H_
#ifdef WLAN_MGMT_RX_REO_SUPPORT
/**
* target_if_mgmt_rx_reo_register_event_handlers() - Register management
* rx-reordering related event handlers.
* @psoc: psoc object
*
* Return: QDF_STATUS
*/
QDF_STATUS
target_if_mgmt_rx_reo_register_event_handlers(struct wlan_objmgr_psoc *psoc);
/**
* target_if_mgmt_rx_reo_unregister_event_handlers() - Unregister management
* rx-reordering related event handlers.
* @psoc: psoc object
*
* Return: QDF_STATUS
*/
QDF_STATUS
target_if_mgmt_rx_reo_unregister_event_handlers(struct wlan_objmgr_psoc *psoc);
#else
/**
* target_if_mgmt_rx_reo_register_event_handlers() - Register management
* rx-reordering related event handlers.
* @psoc: psoc object
*
* Return: QDF_STATUS
*/
static inline QDF_STATUS
target_if_mgmt_rx_reo_register_event_handlers(struct wlan_objmgr_psoc *psoc)
{
return QDF_STATUS_SUCCESS;
}
/**
* target_if_mgmt_rx_reo_unregister_event_handlers() - Unregister management
* rx-reordering related event handlers.
* @psoc: psoc object
*
* Return: QDF_STATUS
*/
static inline QDF_STATUS
target_if_mgmt_rx_reo_unregister_event_handlers(struct wlan_objmgr_psoc *psoc)
{
return QDF_STATUS_SUCCESS;
}
#endif /* WLAN_MGMT_RX_REO_SUPPORT */
#endif /* _TARGET_IF_MGMT_TXRX_RX_REO_H_ */

Parādīt failu

@@ -0,0 +1,56 @@
/*
* Copyright (c) 2021, 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 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: target_if_mgmt_txrx_rx_reo.c
* This file contains definitions of management rx re-ordering related APIs.
*/
#include <wlan_objmgr_psoc_obj.h>
#include <qdf_status.h>
#include <target_if.h>
QDF_STATUS
target_if_mgmt_rx_reo_register_event_handlers(struct wlan_objmgr_psoc *psoc)
{
struct wmi_unified *wmi_handle;
wmi_handle = get_wmi_unified_hdl_from_psoc(psoc);
if (!wmi_handle) {
mgmt_txrx_err("Invalid WMI handle");
return QDF_STATUS_E_INVAL;
}
/* Register mgmt rx fw consumed event handler here */
return QDF_STATUS_SUCCESS;
}
QDF_STATUS
target_if_mgmt_rx_reo_unregister_event_handlers(struct wlan_objmgr_psoc *psoc)
{
struct wmi_unified *wmi_handle;
wmi_handle = get_wmi_unified_hdl_from_psoc(psoc);
if (!wmi_handle) {
mgmt_txrx_err("Invalid WMI handle");
return QDF_STATUS_E_INVAL;
}
/* Unregister mgmt rx fw consumed event handler here */
return QDF_STATUS_SUCCESS;
}