qcacmn: Refactor the wmi code for PMO component adaption
Currently, Host maintain multiple data structure at different layers for offload related features like arp/ns/gtk etc. Instead of using many structure use single data structure across all layers for offload related feature (arp/ns/gtk) which is now exposed by PMO. Hence to include PMO header's in WMI, refactor the WMI code for PMO component by carving out PMO specific functionality separatley. Change-Id: I8314d5ece49bf6972fbe706d635385ae22d11b2e CRs-Fixed: 2004523
This commit is contained in:
@@ -43,6 +43,9 @@
|
|||||||
#include "wmi_unified_param.h"
|
#include "wmi_unified_param.h"
|
||||||
#include "wlan_objmgr_psoc_obj.h"
|
#include "wlan_objmgr_psoc_obj.h"
|
||||||
#include "wlan_mgmt_txrx_utils_api.h"
|
#include "wlan_mgmt_txrx_utils_api.h"
|
||||||
|
#ifdef WLAN_PMO_ENABLE
|
||||||
|
#include "wmi_unified_pmo_api.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
typedef qdf_nbuf_t wmi_buf_t;
|
typedef qdf_nbuf_t wmi_buf_t;
|
||||||
#define wmi_buf_data(_buf) qdf_nbuf_data(_buf)
|
#define wmi_buf_data(_buf) qdf_nbuf_data(_buf)
|
||||||
@@ -646,21 +649,6 @@ QDF_STATUS wmi_unified_link_status_req_cmd(void *wmi_hdl,
|
|||||||
struct link_status_params *link_status);
|
struct link_status_params *link_status);
|
||||||
|
|
||||||
#ifdef CONFIG_MCL
|
#ifdef CONFIG_MCL
|
||||||
QDF_STATUS wmi_unified_lphb_config_hbenable_cmd(void *wmi_hdl,
|
|
||||||
wmi_hb_set_enable_cmd_fixed_param *params);
|
|
||||||
|
|
||||||
QDF_STATUS wmi_unified_lphb_config_tcp_params_cmd(void *wmi_hdl,
|
|
||||||
wmi_hb_set_tcp_params_cmd_fixed_param *lphb_conf_req);
|
|
||||||
|
|
||||||
QDF_STATUS wmi_unified_lphb_config_tcp_pkt_filter_cmd(void *wmi_hdl,
|
|
||||||
wmi_hb_set_tcp_pkt_filter_cmd_fixed_param *g_hb_tcp_filter_fp);
|
|
||||||
|
|
||||||
QDF_STATUS wmi_unified_lphb_config_udp_params_cmd(void *wmi_hdl,
|
|
||||||
wmi_hb_set_udp_params_cmd_fixed_param *lphb_conf_req);
|
|
||||||
|
|
||||||
QDF_STATUS wmi_unified_lphb_config_udp_pkt_filter_cmd(void *wmi_hdl,
|
|
||||||
wmi_hb_set_udp_pkt_filter_cmd_fixed_param *lphb_conf_req);
|
|
||||||
|
|
||||||
QDF_STATUS wmi_unified_process_dhcp_ind(void *wmi_hdl,
|
QDF_STATUS wmi_unified_process_dhcp_ind(void *wmi_hdl,
|
||||||
wmi_peer_set_param_cmd_fixed_param *ta_dhcp_ind);
|
wmi_peer_set_param_cmd_fixed_param *ta_dhcp_ind);
|
||||||
|
|
||||||
@@ -672,16 +660,9 @@ QDF_STATUS wmi_unified_egap_conf_params_cmd(void *wmi_hdl,
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
QDF_STATUS wmi_unified_action_frame_patterns_cmd(void *wmi_hdl,
|
|
||||||
struct action_wakeup_set_param *action_params);
|
|
||||||
|
|
||||||
QDF_STATUS wmi_unified_fw_profiling_data_cmd(void *wmi_hdl,
|
QDF_STATUS wmi_unified_fw_profiling_data_cmd(void *wmi_hdl,
|
||||||
uint32_t cmd, uint32_t value1, uint32_t value2);
|
uint32_t cmd, uint32_t value1, uint32_t value2);
|
||||||
|
|
||||||
QDF_STATUS wmi_unified_wow_sta_ra_filter_cmd(void *wmi_hdl,
|
|
||||||
uint8_t vdev_id, uint8_t default_pattern,
|
|
||||||
uint16_t rate_limit_interval);
|
|
||||||
|
|
||||||
QDF_STATUS wmi_unified_nat_keepalive_en_cmd(void *wmi_hdl, uint8_t vdev_id);
|
QDF_STATUS wmi_unified_nat_keepalive_en_cmd(void *wmi_hdl, uint8_t vdev_id);
|
||||||
|
|
||||||
QDF_STATUS wmi_unified_csa_offload_enable(void *wmi_hdl, uint8_t vdev_id);
|
QDF_STATUS wmi_unified_csa_offload_enable(void *wmi_hdl, uint8_t vdev_id);
|
||||||
@@ -700,18 +681,6 @@ QDF_STATUS wmi_unified_pktlog_wmi_send_cmd(void *wmi_hdl,
|
|||||||
uint8_t user_triggered);
|
uint8_t user_triggered);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
QDF_STATUS wmi_unified_add_wow_wakeup_event_cmd(void *wmi_hdl,
|
|
||||||
uint32_t vdev_id,
|
|
||||||
uint32_t bitmap,
|
|
||||||
bool enable);
|
|
||||||
|
|
||||||
QDF_STATUS wmi_unified_wow_patterns_to_fw_cmd(void *wmi_hdl,
|
|
||||||
uint8_t vdev_id, uint8_t ptrn_id,
|
|
||||||
const uint8_t *ptrn, uint8_t ptrn_len,
|
|
||||||
uint8_t ptrn_offset, const uint8_t *mask,
|
|
||||||
uint8_t mask_len, bool user,
|
|
||||||
uint8_t default_patterns);
|
|
||||||
|
|
||||||
QDF_STATUS wmi_unified_wow_delete_pattern_cmd(void *wmi_hdl, uint8_t ptrn_id,
|
QDF_STATUS wmi_unified_wow_delete_pattern_cmd(void *wmi_hdl, uint8_t ptrn_id,
|
||||||
uint8_t vdev_id);
|
uint8_t vdev_id);
|
||||||
|
|
||||||
@@ -732,20 +701,6 @@ QDF_STATUS wmi_unified_config_packet_filter_cmd(void *wmi_hdl,
|
|||||||
uint8_t vdev_id, struct rcv_pkt_filter_config *rcv_filter_param,
|
uint8_t vdev_id, struct rcv_pkt_filter_config *rcv_filter_param,
|
||||||
uint8_t filter_id, bool enable);
|
uint8_t filter_id, bool enable);
|
||||||
|
|
||||||
QDF_STATUS wmi_unified_add_clear_mcbc_filter_cmd(void *wmi_hdl,
|
|
||||||
uint8_t vdev_id,
|
|
||||||
struct qdf_mac_addr multicast_addr,
|
|
||||||
bool clearList);
|
|
||||||
|
|
||||||
QDF_STATUS wmi_unified_send_gtk_offload_cmd(void *wmi_hdl, uint8_t vdev_id,
|
|
||||||
struct gtk_offload_params *params,
|
|
||||||
bool enable_offload,
|
|
||||||
uint32_t gtk_offload_opcode);
|
|
||||||
|
|
||||||
QDF_STATUS wmi_unified_process_gtk_offload_getinfo_cmd(void *wmi_hdl,
|
|
||||||
uint8_t vdev_id,
|
|
||||||
uint64_t offload_req_opcode);
|
|
||||||
|
|
||||||
QDF_STATUS wmi_unified_process_add_periodic_tx_ptrn_cmd(void *wmi_hdl,
|
QDF_STATUS wmi_unified_process_add_periodic_tx_ptrn_cmd(void *wmi_hdl,
|
||||||
struct periodic_tx_pattern *
|
struct periodic_tx_pattern *
|
||||||
pAddPeriodicTxPtrnParams,
|
pAddPeriodicTxPtrnParams,
|
||||||
@@ -841,12 +796,6 @@ QDF_STATUS wmi_unified_soc_set_hw_mode_cmd(void *wmi_hdl,
|
|||||||
QDF_STATUS wmi_unified_pdev_set_dual_mac_config_cmd(void *wmi_hdl,
|
QDF_STATUS wmi_unified_pdev_set_dual_mac_config_cmd(void *wmi_hdl,
|
||||||
struct wmi_dual_mac_config *msg);
|
struct wmi_dual_mac_config *msg);
|
||||||
|
|
||||||
QDF_STATUS wmi_unified_enable_arp_ns_offload_cmd(void *wmi_hdl,
|
|
||||||
struct host_offload_req_param *arp_offload_req,
|
|
||||||
struct host_offload_req_param *ns_offload_req,
|
|
||||||
bool arp_only,
|
|
||||||
uint8_t vdev_id);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* wmi_unified_configure_broadcast_filter_cmd() - Enable/Disable Broadcast
|
* wmi_unified_configure_broadcast_filter_cmd() - Enable/Disable Broadcast
|
||||||
* filter
|
* filter
|
||||||
|
@@ -75,16 +75,6 @@
|
|||||||
#define WMI_ROAM_SCAN_PSK_SIZE 32
|
#define WMI_ROAM_SCAN_PSK_SIZE 32
|
||||||
#endif
|
#endif
|
||||||
#define WMI_NOISE_FLOOR_DBM_DEFAULT (-96)
|
#define WMI_NOISE_FLOOR_DBM_DEFAULT (-96)
|
||||||
#define WMI_MAC_IPV6_ADDR_LEN 16
|
|
||||||
#define WMI_OFFLOAD_DISABLE 0
|
|
||||||
#define WMI_OFFLOAD_ENABLE 1
|
|
||||||
#ifdef WLAN_NS_OFFLOAD
|
|
||||||
/* support only one IPv6 offload */
|
|
||||||
#define WMI_MAC_NS_OFFLOAD_SIZE 1
|
|
||||||
/* Number of target IP V6 addresses for NS offload */
|
|
||||||
#define WMI_MAC_NUM_TARGET_IPV6_NS_OFFLOAD_NA 16
|
|
||||||
#define WMI_IPV6_ADDR_VALID 1
|
|
||||||
#endif /* WLAN_NS_OFFLOAD */
|
|
||||||
#define WMI_EXTSCAN_MAX_HOTLIST_SSIDS 8
|
#define WMI_EXTSCAN_MAX_HOTLIST_SSIDS 8
|
||||||
#define WMI_ROAM_MAX_CHANNELS 80
|
#define WMI_ROAM_MAX_CHANNELS 80
|
||||||
#ifdef FEATURE_WLAN_EXTSCAN
|
#ifdef FEATURE_WLAN_EXTSCAN
|
||||||
@@ -3102,27 +3092,6 @@ struct periodic_tx_pattern {
|
|||||||
uint8_t ucPattern[WMI_PERIODIC_TX_PTRN_MAX_SIZE];
|
uint8_t ucPattern[WMI_PERIODIC_TX_PTRN_MAX_SIZE];
|
||||||
};
|
};
|
||||||
|
|
||||||
#define WMI_GTK_OFFLOAD_KEK_BYTES 16
|
|
||||||
#define WMI_GTK_OFFLOAD_KCK_BYTES 16
|
|
||||||
#define WMI_GTK_OFFLOAD_ENABLE 0
|
|
||||||
#define WMI_GTK_OFFLOAD_DISABLE 1
|
|
||||||
|
|
||||||
/**
|
|
||||||
* struct gtk_offload_params - gtk offload parameters
|
|
||||||
* @ulFlags: optional flags
|
|
||||||
* @aKCK: Key confirmation key
|
|
||||||
* @aKEK: key encryption key
|
|
||||||
* @ullKeyReplayCounter: replay counter
|
|
||||||
* @bssid: bss id
|
|
||||||
*/
|
|
||||||
struct gtk_offload_params {
|
|
||||||
uint32_t ulFlags;
|
|
||||||
uint8_t aKCK[WMI_GTK_OFFLOAD_KCK_BYTES];
|
|
||||||
uint8_t aKEK[WMI_GTK_OFFLOAD_KEK_BYTES];
|
|
||||||
uint64_t ullKeyReplayCounter;
|
|
||||||
struct qdf_mac_addr bssid;
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* struct flashing_req_params - led flashing parameter
|
* struct flashing_req_params - led flashing parameter
|
||||||
* @reqId: request id
|
* @reqId: request id
|
||||||
@@ -3287,50 +3256,6 @@ struct wmi_dual_mac_config {
|
|||||||
void *set_dual_mac_cb;
|
void *set_dual_mac_cb;
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifdef WLAN_NS_OFFLOAD
|
|
||||||
/**
|
|
||||||
* struct ns_offload_req_params - ns offload request paramter
|
|
||||||
* @srcIPv6Addr: src ipv6 address
|
|
||||||
* @selfIPv6Addr: self ipv6 address
|
|
||||||
* @targetIPv6Addr: target ipv6 address
|
|
||||||
* @self_macaddr: self mac address
|
|
||||||
* @srcIPv6AddrValid: src ipv6 address valid flag
|
|
||||||
* @targetIPv6AddrValid: target ipv6 address valid flag
|
|
||||||
* @target_ipv6_addr_ac_type: target ipv6 address type
|
|
||||||
* @slotIdx: slot index
|
|
||||||
*/
|
|
||||||
struct ns_offload_req_params {
|
|
||||||
uint8_t srcIPv6Addr[WMI_MAC_IPV6_ADDR_LEN];
|
|
||||||
uint8_t selfIPv6Addr[WMI_MAC_NUM_TARGET_IPV6_NS_OFFLOAD_NA][WMI_MAC_IPV6_ADDR_LEN];
|
|
||||||
uint8_t targetIPv6Addr[WMI_MAC_NUM_TARGET_IPV6_NS_OFFLOAD_NA][WMI_MAC_IPV6_ADDR_LEN];
|
|
||||||
struct qdf_mac_addr self_macaddr;
|
|
||||||
uint8_t srcIPv6AddrValid;
|
|
||||||
uint8_t targetIPv6AddrValid[WMI_MAC_NUM_TARGET_IPV6_NS_OFFLOAD_NA];
|
|
||||||
uint8_t target_ipv6_addr_ac_type[WMI_MAC_NUM_TARGET_IPV6_NS_OFFLOAD_NA];
|
|
||||||
uint8_t slotIdx;
|
|
||||||
};
|
|
||||||
#endif /* WLAN_NS_OFFLOAD */
|
|
||||||
|
|
||||||
/**
|
|
||||||
* struct host_offload_req_param - arp offload parameter
|
|
||||||
* @offloadType: offload type
|
|
||||||
* @enableOrDisable: enable or disable
|
|
||||||
* @num_ns_offload_count: offload count
|
|
||||||
*/
|
|
||||||
struct host_offload_req_param {
|
|
||||||
uint8_t offloadType;
|
|
||||||
uint8_t enableOrDisable;
|
|
||||||
uint32_t num_ns_offload_count;
|
|
||||||
union {
|
|
||||||
uint8_t hostIpv4Addr[WMI_IPV4_ADDR_LEN];
|
|
||||||
uint8_t hostIpv6Addr[WMI_MAC_IPV6_ADDR_LEN];
|
|
||||||
} params;
|
|
||||||
#ifdef WLAN_NS_OFFLOAD
|
|
||||||
struct ns_offload_req_params nsOffloadInfo;
|
|
||||||
#endif /* WLAN_NS_OFFLOAD */
|
|
||||||
struct qdf_mac_addr bssid;
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* struct ssid_hotlist_param - param for SSID Hotlist
|
* struct ssid_hotlist_param - param for SSID Hotlist
|
||||||
* @ssid: SSID which is being hotlisted
|
* @ssid: SSID which is being hotlisted
|
||||||
@@ -7355,22 +7280,6 @@ enum WMI_HOST_CALIBRATION_STATUS {
|
|||||||
WMI_HOST_CALIBRATION_NOT_OK,
|
WMI_HOST_CALIBRATION_NOT_OK,
|
||||||
};
|
};
|
||||||
|
|
||||||
#define WMI_SUPPORTED_ACTION_CATEGORY 256
|
|
||||||
#define WMI_SUPPORTED_ACTION_CATEGORY_ELE_LIST (WMI_SUPPORTED_ACTION_CATEGORY/32)
|
|
||||||
|
|
||||||
/**
|
|
||||||
* struct action_wakeup_set_param - action wakeup set params
|
|
||||||
* @vdev_id: virtual device id
|
|
||||||
* @operation: 0 reset to fw default, 1 set the bits,
|
|
||||||
* 2 add the setting bits, 3 delete the setting bits
|
|
||||||
* @action_category_map: bit mapping.
|
|
||||||
*/
|
|
||||||
struct action_wakeup_set_param {
|
|
||||||
uint32_t vdev_id;
|
|
||||||
uint32_t operation;
|
|
||||||
uint32_t action_category_map[WMI_SUPPORTED_ACTION_CATEGORY_ELE_LIST];
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* struct wmi_host_pdev_utf_event - Host defined struct to hold utf event data
|
* struct wmi_host_pdev_utf_event - Host defined struct to hold utf event data
|
||||||
* @data: Pointer to data
|
* @data: Pointer to data
|
||||||
|
217
wmi_unified_pmo_api.h
Normal file
217
wmi_unified_pmo_api.h
Normal file
@@ -0,0 +1,217 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2017 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: This file contains the API definitions for the Unified Wireless Module
|
||||||
|
* Interface (WMI) which are specific to Power management offloads (PMO).
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _WMI_UNIFIED_PMO_API_H_
|
||||||
|
#define _WMI_UNIFIED_PMO_API_H_
|
||||||
|
|
||||||
|
#include "wlan_pmo_tgt_api.h"
|
||||||
|
#include "wlan_pmo_arp_public_struct.h"
|
||||||
|
#include "wlan_pmo_ns_public_struct.h"
|
||||||
|
#include "wlan_pmo_gtk_public_struct.h"
|
||||||
|
#include "wlan_pmo_wow_public_struct.h"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* wmi_unified_add_wow_wakeup_event_cmd() - Configures wow wakeup events.
|
||||||
|
* @wmi_handle: wmi handle
|
||||||
|
* @vdev_id: vdev id
|
||||||
|
* @bitmap: Event bitmap
|
||||||
|
* @enable: enable/disable
|
||||||
|
*
|
||||||
|
* Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
|
||||||
|
*/
|
||||||
|
QDF_STATUS wmi_unified_add_wow_wakeup_event_cmd(void *wmi_hdl,
|
||||||
|
uint32_t vdev_id,
|
||||||
|
uint32_t bitmap,
|
||||||
|
bool enable);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* wmi_unified_wow_patterns_to_fw_cmd() - Sends WOW patterns to FW.
|
||||||
|
* @wmi_handle: wmi handle
|
||||||
|
* @vdev_id: vdev id
|
||||||
|
* @ptrn_id: pattern id
|
||||||
|
* @ptrn: pattern
|
||||||
|
* @ptrn_len: pattern length
|
||||||
|
* @ptrn_offset: pattern offset
|
||||||
|
* @mask: mask
|
||||||
|
* @mask_len: mask length
|
||||||
|
* @user: true for user configured pattern and false for default pattern
|
||||||
|
* @default_patterns: default patterns
|
||||||
|
*
|
||||||
|
* Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
|
||||||
|
*/
|
||||||
|
QDF_STATUS wmi_unified_wow_patterns_to_fw_cmd(void *wmi_hdl,
|
||||||
|
uint8_t vdev_id, uint8_t ptrn_id,
|
||||||
|
const uint8_t *ptrn, uint8_t ptrn_len,
|
||||||
|
uint8_t ptrn_offset, const uint8_t *mask,
|
||||||
|
uint8_t mask_len, bool user,
|
||||||
|
uint8_t default_patterns);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* wmi_unified_add_clear_mcbc_filter_cmd() - set mcast filter command to fw
|
||||||
|
* @wmi_handle: wmi handle
|
||||||
|
* @vdev_id: vdev id
|
||||||
|
* @multicastAddr: mcast address
|
||||||
|
* @clearList: clear list flag
|
||||||
|
*
|
||||||
|
* Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
|
||||||
|
*/
|
||||||
|
QDF_STATUS wmi_unified_add_clear_mcbc_filter_cmd(void *wmi_hdl,
|
||||||
|
uint8_t vdev_id,
|
||||||
|
struct qdf_mac_addr multicast_addr,
|
||||||
|
bool clearList);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* wmi_unified_wow_sta_ra_filter_cmd() - set RA filter pattern in fw
|
||||||
|
* @wmi_handle: wmi handle
|
||||||
|
* @vdev_id: vdev id
|
||||||
|
*
|
||||||
|
* Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
|
||||||
|
*/
|
||||||
|
QDF_STATUS wmi_unified_wow_sta_ra_filter_cmd(void *wmi_hdl,
|
||||||
|
uint8_t vdev_id, uint8_t default_pattern,
|
||||||
|
uint16_t rate_limit_interval);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* wmi_unified_enable_enhance_multicast_offload() - enhance multicast offload
|
||||||
|
* @wmi_hdl: wmi handle
|
||||||
|
* @vdev_id: vdev id
|
||||||
|
* @action: true for enable else false
|
||||||
|
*
|
||||||
|
* To configure enhance multicast offload in to firmware
|
||||||
|
*
|
||||||
|
* Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
|
||||||
|
*/
|
||||||
|
QDF_STATUS wmi_unified_enable_enhance_multicast_offload_cmd(
|
||||||
|
void *wmi_hdl, uint8_t vdev_id, bool action);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* wmi_extract_gtk_rsp_event() - extract gtk rsp params from event
|
||||||
|
* @wmi_handle: wmi handle
|
||||||
|
* @evt_buf: pointer to event buffer
|
||||||
|
* @gtk_rsp_param: Pointer to gtk rsp parameters
|
||||||
|
* @ len: len of gtk rsp event
|
||||||
|
*
|
||||||
|
* Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
|
||||||
|
*/
|
||||||
|
QDF_STATUS wmi_extract_gtk_rsp_event(void *wmi_hdl, void *evt_buf,
|
||||||
|
struct pmo_gtk_rsp_params *gtk_rsp_param, uint32_t len);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* wmi_unified_process_gtk_offload_getinfo_cmd() - send GTK offload cmd to fw
|
||||||
|
* @wmi_handle: wmi handle
|
||||||
|
* @params: GTK offload params
|
||||||
|
*
|
||||||
|
* Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
|
||||||
|
*/
|
||||||
|
QDF_STATUS wmi_unified_process_gtk_offload_getinfo_cmd(void *wmi_hdl,
|
||||||
|
uint8_t vdev_id,
|
||||||
|
uint64_t offload_req_opcode);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* wmi_unified_action_frame_patterns_cmd() - send action filter wmi cmd
|
||||||
|
* @wmi_handle: wmi handler
|
||||||
|
* @action_params: pointer to action_params
|
||||||
|
*
|
||||||
|
* Return: 0 for success, otherwise appropriate error code
|
||||||
|
*/
|
||||||
|
QDF_STATUS wmi_unified_action_frame_patterns_cmd(void *wmi_hdl,
|
||||||
|
struct pmo_action_wakeup_set_params *action_params);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* wmi_unified_send_gtk_offload_cmd() - send GTK offload command to fw
|
||||||
|
* @wmi_handle: wmi handle
|
||||||
|
* @vdev_id: vdev id
|
||||||
|
* @params: GTK offload parameters
|
||||||
|
*
|
||||||
|
* Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
|
||||||
|
*/
|
||||||
|
QDF_STATUS wmi_unified_send_gtk_offload_cmd(void *wmi_hdl, uint8_t vdev_id,
|
||||||
|
struct pmo_gtk_req *params,
|
||||||
|
bool enable_offload,
|
||||||
|
uint32_t gtk_offload_opcode);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* wmi_unified_enable_arp_ns_offload_cmd() - enable ARP NS offload
|
||||||
|
* @wmi_hdl: wmi handle
|
||||||
|
* @param: offload request
|
||||||
|
*
|
||||||
|
* To configure ARP NS off load data to firmware
|
||||||
|
* when target goes to wow mode.
|
||||||
|
*
|
||||||
|
* Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
|
||||||
|
*/
|
||||||
|
QDF_STATUS wmi_unified_enable_arp_ns_offload_cmd(void *wmi_hdl,
|
||||||
|
struct pmo_arp_offload_params *arp_offload_req,
|
||||||
|
struct pmo_ns_offload_params *ns_offload_req,
|
||||||
|
uint8_t vdev_id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* wmi_unified_lphb_config_hbenable_cmd() - enable command of LPHB configuration
|
||||||
|
* @wmi_handle: wmi handle
|
||||||
|
* @lphb_conf_req: configuration info
|
||||||
|
*
|
||||||
|
* Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
|
||||||
|
*/
|
||||||
|
QDF_STATUS wmi_unified_lphb_config_hbenable_cmd(void *wmi_hdl,
|
||||||
|
wmi_hb_set_enable_cmd_fixed_param *params);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* wmi_unified_lphb_config_tcp_params_cmd() - set tcp params of LPHB config req
|
||||||
|
* @wmi_handle: wmi handle
|
||||||
|
* @lphb_conf_req: lphb config request
|
||||||
|
*
|
||||||
|
* Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
|
||||||
|
*/
|
||||||
|
QDF_STATUS wmi_unified_lphb_config_tcp_params_cmd(void *wmi_hdl,
|
||||||
|
wmi_hb_set_tcp_params_cmd_fixed_param *lphb_conf_req);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* wmi_unified_lphb_config_tcp_pkt_filter_cmd() - config LPHB tcp packet filter
|
||||||
|
* @wmi_handle: wmi handle
|
||||||
|
* @lphb_conf_req: lphb config request
|
||||||
|
*
|
||||||
|
* Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
|
||||||
|
*/
|
||||||
|
QDF_STATUS wmi_unified_lphb_config_tcp_pkt_filter_cmd(void *wmi_hdl,
|
||||||
|
wmi_hb_set_tcp_pkt_filter_cmd_fixed_param *g_hb_tcp_filter_fp);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* wmi_unified_lphb_config_udp_params_cmd() - configure LPHB udp param command
|
||||||
|
* @wmi_handle: wmi handle
|
||||||
|
* @lphb_conf_req: lphb config request
|
||||||
|
*
|
||||||
|
* Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
|
||||||
|
*/
|
||||||
|
QDF_STATUS wmi_unified_lphb_config_udp_params_cmd(void *wmi_hdl,
|
||||||
|
wmi_hb_set_udp_params_cmd_fixed_param *lphb_conf_req);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* wmi_unified_lphb_config_udp_pkt_filter_cmd() - configure LPHB udp pkt filter
|
||||||
|
* @wmi_handle: wmi handle
|
||||||
|
* @lphb_conf_req: lphb config request
|
||||||
|
*
|
||||||
|
* Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
|
||||||
|
*/
|
||||||
|
QDF_STATUS wmi_unified_lphb_config_udp_pkt_filter_cmd(void *wmi_hdl,
|
||||||
|
wmi_hb_set_udp_pkt_filter_cmd_fixed_param *lphb_conf_req);
|
||||||
|
|
||||||
|
#endif /* _WMI_UNIFIED_PMO_API_H_ */
|
@@ -470,7 +470,53 @@ QDF_STATUS (*send_snr_cmd)(wmi_unified_t wmi_handle, uint8_t vdev_id);
|
|||||||
|
|
||||||
QDF_STATUS (*send_link_status_req_cmd)(wmi_unified_t wmi_handle,
|
QDF_STATUS (*send_link_status_req_cmd)(wmi_unified_t wmi_handle,
|
||||||
struct link_status_params *link_status);
|
struct link_status_params *link_status);
|
||||||
#ifdef CONFIG_MCL
|
#ifdef WLAN_PMO_ENABLE
|
||||||
|
QDF_STATUS (*send_add_wow_wakeup_event_cmd)(wmi_unified_t wmi_handle,
|
||||||
|
uint32_t vdev_id,
|
||||||
|
uint32_t bitmap,
|
||||||
|
bool enable);
|
||||||
|
|
||||||
|
QDF_STATUS (*send_wow_patterns_to_fw_cmd)(wmi_unified_t wmi_handle,
|
||||||
|
uint8_t vdev_id, uint8_t ptrn_id,
|
||||||
|
const uint8_t *ptrn, uint8_t ptrn_len,
|
||||||
|
uint8_t ptrn_offset, const uint8_t *mask,
|
||||||
|
uint8_t mask_len, bool user,
|
||||||
|
uint8_t default_patterns);
|
||||||
|
|
||||||
|
QDF_STATUS (*send_enable_arp_ns_offload_cmd)(wmi_unified_t wmi_handle,
|
||||||
|
struct pmo_arp_offload_params *arp_offload_req,
|
||||||
|
struct pmo_ns_offload_params *ns_offload_req,
|
||||||
|
uint8_t vdev_id);
|
||||||
|
|
||||||
|
QDF_STATUS (*send_enable_enhance_multicast_offload_cmd)(
|
||||||
|
wmi_unified_t wmi_handle,
|
||||||
|
uint8_t vdev_id, bool action);
|
||||||
|
|
||||||
|
QDF_STATUS (*send_add_clear_mcbc_filter_cmd)(wmi_unified_t wmi_handle,
|
||||||
|
uint8_t vdev_id,
|
||||||
|
struct qdf_mac_addr multicast_addr,
|
||||||
|
bool clearList);
|
||||||
|
|
||||||
|
QDF_STATUS (*send_gtk_offload_cmd)(wmi_unified_t wmi_handle, uint8_t vdev_id,
|
||||||
|
struct pmo_gtk_req *params,
|
||||||
|
bool enable_offload,
|
||||||
|
uint32_t gtk_offload_opcode);
|
||||||
|
|
||||||
|
QDF_STATUS (*send_process_gtk_offload_getinfo_cmd)(wmi_unified_t wmi_handle,
|
||||||
|
uint8_t vdev_id,
|
||||||
|
uint64_t offload_req_opcode);
|
||||||
|
|
||||||
|
QDF_STATUS (*send_wow_sta_ra_filter_cmd)(wmi_unified_t wmi_handle,
|
||||||
|
uint8_t vdev_id, uint8_t default_pattern,
|
||||||
|
uint16_t rate_limit_interval);
|
||||||
|
|
||||||
|
QDF_STATUS (*send_action_frame_patterns_cmd)(wmi_unified_t wmi_handle,
|
||||||
|
struct pmo_action_wakeup_set_params *action_params);
|
||||||
|
|
||||||
|
QDF_STATUS (*extract_gtk_rsp_event)(wmi_unified_t wmi_handle,
|
||||||
|
void *evt_buf,
|
||||||
|
struct pmo_gtk_rsp_params *gtk_rsp_param, uint32_t len);
|
||||||
|
|
||||||
QDF_STATUS (*send_lphb_config_hbenable_cmd)(wmi_unified_t wmi_handle,
|
QDF_STATUS (*send_lphb_config_hbenable_cmd)(wmi_unified_t wmi_handle,
|
||||||
wmi_hb_set_enable_cmd_fixed_param *params);
|
wmi_hb_set_enable_cmd_fixed_param *params);
|
||||||
|
|
||||||
@@ -485,7 +531,8 @@ QDF_STATUS (*send_lphb_config_udp_params_cmd)(wmi_unified_t wmi_handle,
|
|||||||
|
|
||||||
QDF_STATUS (*send_lphb_config_udp_pkt_filter_cmd)(wmi_unified_t wmi_handle,
|
QDF_STATUS (*send_lphb_config_udp_pkt_filter_cmd)(wmi_unified_t wmi_handle,
|
||||||
wmi_hb_set_udp_pkt_filter_cmd_fixed_param *lphb_conf_req);
|
wmi_hb_set_udp_pkt_filter_cmd_fixed_param *lphb_conf_req);
|
||||||
|
#endif /* end of WLAN_PMO_ENABLE */
|
||||||
|
#ifdef CONFIG_MCL
|
||||||
QDF_STATUS (*send_process_dhcp_ind_cmd)(wmi_unified_t wmi_handle,
|
QDF_STATUS (*send_process_dhcp_ind_cmd)(wmi_unified_t wmi_handle,
|
||||||
wmi_peer_set_param_cmd_fixed_param *ta_dhcp_ind);
|
wmi_peer_set_param_cmd_fixed_param *ta_dhcp_ind);
|
||||||
|
|
||||||
@@ -515,16 +562,9 @@ QDF_STATUS (*send_pktlog_wmi_send_cmd)(wmi_unified_t wmi_handle,
|
|||||||
WMI_CMD_ID cmd_id, uint8_t user_triggered);
|
WMI_CMD_ID cmd_id, uint8_t user_triggered);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
QDF_STATUS (*send_action_frame_patterns_cmd)(wmi_unified_t wmi_handle,
|
|
||||||
struct action_wakeup_set_param *action_params);
|
|
||||||
|
|
||||||
QDF_STATUS (*send_fw_profiling_cmd)(wmi_unified_t wmi_handle,
|
QDF_STATUS (*send_fw_profiling_cmd)(wmi_unified_t wmi_handle,
|
||||||
uint32_t cmd, uint32_t value1, uint32_t value2);
|
uint32_t cmd, uint32_t value1, uint32_t value2);
|
||||||
|
|
||||||
QDF_STATUS (*send_wow_sta_ra_filter_cmd)(wmi_unified_t wmi_handle,
|
|
||||||
uint8_t vdev_id, uint8_t default_pattern,
|
|
||||||
uint16_t rate_limit_interval);
|
|
||||||
|
|
||||||
QDF_STATUS (*send_nat_keepalive_en_cmd)(wmi_unified_t wmi_handle, uint8_t vdev_id);
|
QDF_STATUS (*send_nat_keepalive_en_cmd)(wmi_unified_t wmi_handle, uint8_t vdev_id);
|
||||||
|
|
||||||
QDF_STATUS (*send_start_oem_data_cmd)(wmi_unified_t wmi_handle,
|
QDF_STATUS (*send_start_oem_data_cmd)(wmi_unified_t wmi_handle,
|
||||||
@@ -535,18 +575,6 @@ QDF_STATUS
|
|||||||
(*send_dfs_phyerr_filter_offload_en_cmd)(wmi_unified_t wmi_handle,
|
(*send_dfs_phyerr_filter_offload_en_cmd)(wmi_unified_t wmi_handle,
|
||||||
bool dfs_phyerr_filter_offload);
|
bool dfs_phyerr_filter_offload);
|
||||||
|
|
||||||
QDF_STATUS (*send_add_wow_wakeup_event_cmd)(wmi_unified_t wmi_handle,
|
|
||||||
uint32_t vdev_id,
|
|
||||||
uint32_t bitmap,
|
|
||||||
bool enable);
|
|
||||||
|
|
||||||
QDF_STATUS (*send_wow_patterns_to_fw_cmd)(wmi_unified_t wmi_handle,
|
|
||||||
uint8_t vdev_id, uint8_t ptrn_id,
|
|
||||||
const uint8_t *ptrn, uint8_t ptrn_len,
|
|
||||||
uint8_t ptrn_offset, const uint8_t *mask,
|
|
||||||
uint8_t mask_len, bool user,
|
|
||||||
uint8_t default_patterns);
|
|
||||||
|
|
||||||
QDF_STATUS (*send_wow_delete_pattern_cmd)(wmi_unified_t wmi_handle, uint8_t ptrn_id,
|
QDF_STATUS (*send_wow_delete_pattern_cmd)(wmi_unified_t wmi_handle, uint8_t ptrn_id,
|
||||||
uint8_t vdev_id);
|
uint8_t vdev_id);
|
||||||
|
|
||||||
@@ -568,20 +596,6 @@ QDF_STATUS (*send_config_packet_filter_cmd)(wmi_unified_t wmi_handle,
|
|||||||
uint8_t vdev_id, struct rcv_pkt_filter_config *rcv_filter_param,
|
uint8_t vdev_id, struct rcv_pkt_filter_config *rcv_filter_param,
|
||||||
uint8_t filter_id, bool enable);
|
uint8_t filter_id, bool enable);
|
||||||
|
|
||||||
QDF_STATUS (*send_add_clear_mcbc_filter_cmd)(wmi_unified_t wmi_handle,
|
|
||||||
uint8_t vdev_id,
|
|
||||||
struct qdf_mac_addr multicast_addr,
|
|
||||||
bool clearList);
|
|
||||||
|
|
||||||
QDF_STATUS (*send_gtk_offload_cmd)(wmi_unified_t wmi_handle, uint8_t vdev_id,
|
|
||||||
struct gtk_offload_params *params,
|
|
||||||
bool enable_offload,
|
|
||||||
uint32_t gtk_offload_opcode);
|
|
||||||
|
|
||||||
QDF_STATUS (*send_process_gtk_offload_getinfo_cmd)(wmi_unified_t wmi_handle,
|
|
||||||
uint8_t vdev_id,
|
|
||||||
uint64_t offload_req_opcode);
|
|
||||||
|
|
||||||
QDF_STATUS (*send_process_add_periodic_tx_ptrn_cmd)(wmi_unified_t wmi_handle,
|
QDF_STATUS (*send_process_add_periodic_tx_ptrn_cmd)(wmi_unified_t wmi_handle,
|
||||||
struct periodic_tx_pattern *
|
struct periodic_tx_pattern *
|
||||||
pAddPeriodicTxPtrnParams,
|
pAddPeriodicTxPtrnParams,
|
||||||
@@ -667,12 +681,6 @@ QDF_STATUS (*send_pdev_set_hw_mode_cmd)(wmi_unified_t wmi_handle,
|
|||||||
QDF_STATUS (*send_pdev_set_dual_mac_config_cmd)(wmi_unified_t wmi_handle,
|
QDF_STATUS (*send_pdev_set_dual_mac_config_cmd)(wmi_unified_t wmi_handle,
|
||||||
struct wmi_dual_mac_config *msg);
|
struct wmi_dual_mac_config *msg);
|
||||||
|
|
||||||
QDF_STATUS (*send_enable_arp_ns_offload_cmd)(wmi_unified_t wmi_handle,
|
|
||||||
struct host_offload_req_param *arp_offload_req,
|
|
||||||
struct host_offload_req_param *ns_offload_req,
|
|
||||||
bool arp_only,
|
|
||||||
uint8_t vdev_id);
|
|
||||||
|
|
||||||
QDF_STATUS (*send_set_led_flashing_cmd)(wmi_unified_t wmi_handle,
|
QDF_STATUS (*send_set_led_flashing_cmd)(wmi_unified_t wmi_handle,
|
||||||
struct flashing_req_params *flashing);
|
struct flashing_req_params *flashing);
|
||||||
|
|
||||||
@@ -1282,7 +1290,6 @@ struct wmi_unified {
|
|||||||
struct wmi_cmd_init saved_wmi_init_cmd;
|
struct wmi_cmd_init saved_wmi_init_cmd;
|
||||||
uint32_t num_of_diag_events_logs;
|
uint32_t num_of_diag_events_logs;
|
||||||
uint32_t *events_logs_list;
|
uint32_t *events_logs_list;
|
||||||
struct host_offload_req_param arp_info;
|
|
||||||
#ifdef WLAN_OPEN_SOURCE
|
#ifdef WLAN_OPEN_SOURCE
|
||||||
struct fwdebug dbglog;
|
struct fwdebug dbglog;
|
||||||
struct dentry *debugfs_phy;
|
struct dentry *debugfs_phy;
|
||||||
|
Reference in New Issue
Block a user