qcacld-3.0: Add new files for CM roaming

New files added for handling FW based roaming
in connection manager.

Change-Id: Ibb5b74475699719cb901bf067f5d498ad16e0a60
CRs-Fixed: 2864490
Этот коммит содержится в:
Amruta Kulkarni
2021-01-25 17:36:01 -08:00
коммит произвёл snandini
родитель 3f20f716c2
Коммит 999081053f
7 изменённых файлов: 249 добавлений и 0 удалений

Просмотреть файл

@@ -0,0 +1,40 @@
/*
* Copyright (c) 2012-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: wlan_cm_roam_fw_sync.c
*
* Implementation for the FW based roaming sync api interfaces.
*/
#include "qdf_types.h"
#include "wlan_objmgr_psoc_obj.h"
#include "wlan_objmgr_pdev_obj.h"
#include "wlan_objmgr_vdev_obj.h"
#include "wlan_cm_roam_i.h"
QDF_STATUS cm_fw_roam_sync_req(struct wlan_objmgr_psoc *psoc, uint8_t vdev_id)
{
return QDF_STATUS_SUCCESS;
}
QDF_STATUS
cm_fw_roam_sync_propagation(struct wlan_objmgr_psoc *psoc, uint8_t vdev_id)
{
return QDF_STATUS_SUCCESS;
}

Просмотреть файл

@@ -0,0 +1,82 @@
/*
* Copyright (c) 2012-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: wlan_cm_roam_i.h
*
* Implementation for the common roaming api interfaces.
*/
#ifndef _WLAN_CM_ROAM_I_H_
#define _WLAN_CM_ROAM_I_H_
#include "qdf_types.h"
#include "wlan_objmgr_psoc_obj.h"
#include "wlan_objmgr_pdev_obj.h"
#include "wlan_objmgr_vdev_obj.h"
/**
* cm_fw_roam_start_req() - Post roam start req to CM SM
* @psoc: psoc pointer
* @vdev_id: vdev id
*
* This function posts roam start event change to connection manager
* state machine
*
* Return: QDF_STATUS
*/
QDF_STATUS cm_fw_roam_start_req(struct wlan_objmgr_psoc *psoc, uint8_t vdev_id);
/**
* cm_fw_roam_start() - Handle roam start event
* @cm_ctx: connection mgr context
* @vdev_id: vdev id
* @pause_serialization: boolean indicating to pause serialization
*
* This function handles the roam start event received from FW.
*
* Return: QDF_STATUS
*/
QDF_STATUS cm_fw_roam_start(struct cnx_mgr *cm_ctx, uint8_t vdev_id,
bool pause_serialization);
/**
* cm_fw_roam_sync_req() - Post roam sync to CM SM
* @psoc: psoc pointer
* @vdev_id: vdev id
*
* This function posts roam sync event change to connection manager
* state machine
*
* Return: QDF_STATUS
*/
QDF_STATUS cm_fw_roam_sync_req(struct wlan_objmgr_psoc *psoc, uint8_t vdev_id);
/**
* cm_fw_roam_sync_propagation() - Post roam sync propagation to CM SM
* @psoc: psoc pointer
* @vdev_id: vdev id
*
* This function posts roam sync propagation event change to connection manager
* state machine
*
* Return: QDF_STATUS
*/
QDF_STATUS
cm_fw_roam_sync_propagation(struct wlan_objmgr_psoc *psoc, uint8_t vdev_id);
#endif /* _WLAN_CM_ROAM_I_H_ */

Просмотреть файл

@@ -0,0 +1,39 @@
/*
* Copyright (c) 2012-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: wlan_cm_roam_offload_event.c
*
* Implementation for the FW based roaming events api interfaces.
*/
#include "qdf_status.h"
#include "wlan_objmgr_psoc_obj.h"
#include "wlan_objmgr_pdev_obj.h"
#include "wlan_objmgr_vdev_obj.h"
#include "wlan_cm_roam_i.h"
QDF_STATUS cm_fw_roam_start_req(struct wlan_objmgr_psoc *psoc, uint8_t vdev_id)
{
return QDF_STATUS_SUCCESS;
}
QDF_STATUS cm_fw_roam_start(struct cnx_mgr *cm_ctx, uint8_t vdev_id,
bool pause_serialization)
{
return QDF_STATUS_SUCCESS;
}

Просмотреть файл

@@ -1677,6 +1677,15 @@ struct wlan_cm_roam_tx_ops {
#endif
};
/**
* wlan_cm_roam_rx_ops - structure of tx function pointers for
* roaming related commands
* @roam_sync_event_rx: RX ops function pointer for roam sync event
*/
struct wlan_cm_roam_rx_ops {
QDF_STATUS (*roam_sync_event_rx)(struct wlan_objmgr_vdev *vdev);
};
/**
* enum roam_scan_freq_scheme - Scan mode for triggering roam
* ROAM_SCAN_FREQ_SCHEME_NO_SCAN: Indicates the fw to not scan.