Files
android_kernel_samsung_sm86…/wmi/inc/wmi_unified_vdev_api.h
Abhishek Ambure fb40217ff6 qcacmn: Add WIN wmi changes to common code
WMI functions called from target_if are present at WIN code. So these
wmi changes are moved to common code, so that MCL and WIN both use.

MCL needs this wmi code for target_if vdev conversion.

Change-Id: I6f3653ea0fad14f3cdbb32a8dc65e5146ce0a5c8
CRs-Fixed: 2492577
2019-07-29 00:58:05 -07:00

235 lines
7.7 KiB
C

/*
* Copyright (c) 2016-2019 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.
*/
/*
* This file contains the API declarations for the Unified Wireless Module
* Interface (WMI).
*/
#ifndef _WMI_UNIFIED_VDEV_API_H_
#define _WMI_UNIFIED_VDEV_API_H_
#ifdef TGT_IF_VDEV_MGR_CONV
#include <wmi_unified_api.h>
/**
* wmi_unified_vdev_set_neighbour_rx_cmd_send() - WMI set neighbour rx function
* @param wmi_handle: handle to WMI.
* @param macaddr: MAC address
* @param param: pointer to hold neighbour rx parameter
*
* @return QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
*/
QDF_STATUS wmi_unified_vdev_set_neighbour_rx_cmd_send(
struct wmi_unified *wmi_handle,
uint8_t macaddr[QDF_MAC_ADDR_SIZE],
struct set_neighbour_rx_params *param);
/**
* wmi_unified_vdev_config_ratemask_cmd_send() - WMI config ratemask function
* @param wmi_handle: handle to WMI.
* @param param: pointer to hold config ratemask param
*
* @return QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
*/
QDF_STATUS
wmi_unified_vdev_config_ratemask_cmd_send(struct wmi_unified *wmi_handle,
struct config_ratemask_params *param);
/**
* wmi_unified_send_multiple_vdev_restart_req_cmd() - send multiple vdev restart
* @wmi_handle: wmi handle
* @param: multiple vdev restart parameter
*
* Send WMI_PDEV_MULTIPLE_VDEV_RESTART_REQUEST_CMDID parameters to fw.
*
* Return: QDF_STATUS_SUCCESS on success, QDF_STATUS_E_** on error
*/
QDF_STATUS wmi_unified_send_multiple_vdev_restart_req_cmd(
struct wmi_unified *wmi_handle,
struct multiple_vdev_restart_params *param);
/**
* wmi_unified_beacon_send_cmd() - WMI beacon send function
* @param wmi_handle: handle to WMI.
* @param macaddr: MAC address
* @param param: pointer to hold beacon send cmd parameter
*
* Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
*/
QDF_STATUS wmi_unified_beacon_send_cmd(struct wmi_unified *wmi_handle,
struct beacon_params *param);
/**
* wmi_extract_vdev_start_resp() - extract vdev start response
* @wmi_handle: wmi handle
* @param evt_buf: pointer to event buffer
* @param vdev_rsp: Pointer to hold vdev response
*
* Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
*/
QDF_STATUS
wmi_extract_vdev_start_resp(struct wmi_unified *wmi_handle, void *evt_buf,
wmi_host_vdev_start_resp *vdev_start_resp);
/**
* wmi_extract_vdev_stopped_param() - extract vdev stop param from event
* @wmi_handle: wmi handle
* @param evt_buf: pointer to event buffer
* @param vdev_id: Pointer to hold vdev identifier
*
* Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
*/
QDF_STATUS
wmi_extract_vdev_stopped_param(struct wmi_unified *wmi_handle, void *evt_buf,
uint32_t *vdev_id);
/**
* wmi_extract_vdev_delete_resp() - extract vdev delete response
* @wmi_handle: wmi handle
* @param evt_buf: pointer to event buffer
* @param delete_rsp: Pointer to hold vdev delete response
*
* Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
*/
QDF_STATUS
wmi_extract_vdev_delete_resp(struct wmi_unified *wmi_handle, void *evt_buf,
struct wmi_host_vdev_delete_resp *vdev_del_resp);
/**
* wmi_extract_vdev_peer_delete_all_response_event() - extract peer delete all
* response
* @wmi_handle: wmi handle
* @param evt_buf: pointer to event buffer
* @param delete_rsp: Pointer to hold peer delete al response
*
* Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
*/
QDF_STATUS wmi_extract_vdev_peer_delete_all_response_event(
struct wmi_unified *wmi_handle,
void *evt_buf,
struct wmi_host_vdev_peer_delete_all_response_event *delete_rsp);
/**
* wmi_extract_ext_tbttoffset_num_vdevs() - extract ext tbtt offset num vdev
* @wmi_handle: wmi handle
* @param evt_buf: pointer to event buffer
* @param vdev_map: Pointer to hold num vdev
*
* Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
*/
QDF_STATUS
wmi_extract_ext_tbttoffset_num_vdevs(struct wmi_unified *wmi_handle,
void *evt_buf, uint32_t *num_vdevs);
/**
* send_vdev_config_ratemask_cmd_tlv() - config ratemask param in fw
* @wmi_handle: wmi handle
* @param: pointer to hold config ratemask params
*
* @return QDF_STATUS_SUCCESS on success and -ve on failure.
*/
QDF_STATUS
send_vdev_config_ratemask_cmd_tlv(struct wmi_unified *wmi_handle,
struct config_ratemask_params *param);
/**
* send_beacon_send_cmd_tlv() - send beacon tlv command in fw
* @wmi_handle: wmi handle
* @param: pointer to hold config beacon params
*
* @return QDF_STATUS_SUCCESS on success and -ve on failure.
*/
QDF_STATUS send_beacon_send_cmd_tlv(struct wmi_unified *wmi_handle,
struct beacon_params *param);
/**
* extract_tbttoffset_num_vdevs_tlv() - extract tbtt offset num vdev
* @wmi_handle: wmi handle
* @param evt_buf: pointer to event buffer
* @param num_vdevs: Pointer to hold num vdev
*
* Return: QDF_STATUS_SUCCESS for success or error code
*/
QDF_STATUS
extract_tbttoffset_num_vdevs_tlv(struct wmi_unified *wmi_handle, void *evt_buf,
uint32_t *num_vdevs);
/**
* send_vdev_set_neighbour_rx_cmd_tlv() - set neighbour rx param in fw
* @wmi_handle: wmi handle
* @macaddr: vdev mac address
* @param: pointer to hold neigbour rx param
*
* @return QDF_STATUS_SUCCESS on success and -ve on failure.
*/
QDF_STATUS
send_vdev_set_neighbour_rx_cmd_tlv(struct wmi_unified *wmi_handle,
uint8_t macaddr[QDF_MAC_ADDR_SIZE],
struct set_neighbour_rx_params *param);
/**
* extract_vdev_start_resp_tlv() - extract vdev start response
* @wmi_handle: wmi handle
* @param evt_buf: pointer to event buffer
* @param vdev_rsp: Pointer to hold vdev response
*
* Return: QDF_STATUS_SUCCESS for success or error code
*/
QDF_STATUS
extract_vdev_start_resp_tlv(struct wmi_unified *wmi_handle, void *evt_buf,
wmi_host_vdev_start_resp *vdev_rsp);
/**
* extract_vdev_delete_resp_tlv() - extract vdev delete response
* @wmi_handle: wmi handle
* @param evt_buf: pointer to event buffer
* @param delete_rsp: Pointer to hold vdev delete response
*
* Return: QDF_STATUS_SUCCESS for success or error code
*/
QDF_STATUS
extract_vdev_delete_resp_tlv(struct wmi_unified *wmi_handle, void *evt_buf,
struct wmi_host_vdev_delete_resp *delete_rsp);
/**
* extract_vdev_stopped_param_tlv() - extract vdev stop param from event
* @wmi_handle: wmi handle
* @param evt_buf: pointer to event buffer
* @param vdev_id: Pointer to hold vdev identifier
*
* Return: QDF_STATUS_SUCCESS for success or error code
*/
QDF_STATUS extract_vdev_stopped_param_tlv(struct wmi_unified *wmi_handle,
void *evt_buf, uint32_t *vdev_id);
/**
* wmi_extract_tbttoffset_num_vdevs() - extract tbtt offset num vdev
* @wmi_handle: wmi handle
* @param evt_buf: pointer to event buffer
* @param vdev_map: Pointer to hold num vdev
*
* Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
*/
QDF_STATUS
wmi_extract_tbttoffset_num_vdevs(struct wmi_unified *wmi_handle, void *evt_buf,
uint32_t *num_vdevs);
#endif
#endif