qcacmn: Handle void pointer declarations for pdev and vdev
Replace void pointer handles for pdev and vdev with abstract structure handles in cdp. New file cdp_txrx_handle.h has the abstract structure declarations. Change-Id: I333e6ea5e699e7cebbfc6281faf7f07c0aee4e2a CRs-Fixed: 1109835
This commit is contained in:

committed by
qcabuildsw

parent
703be6d6c4
commit
f2a125a6f8
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2016 The Linux Foundation. All rights reserved.
|
* Copyright (c) 2016-2017 The Linux Foundation. All rights reserved.
|
||||||
*
|
*
|
||||||
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
|
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
|
||||||
*
|
*
|
||||||
@@ -30,7 +30,7 @@
|
|||||||
*/
|
*/
|
||||||
#ifndef _CDP_TXRX_CFG_H_
|
#ifndef _CDP_TXRX_CFG_H_
|
||||||
#define _CDP_TXRX_CFG_H_
|
#define _CDP_TXRX_CFG_H_
|
||||||
|
#include "cdp_txrx_handle.h"
|
||||||
/**
|
/**
|
||||||
* cdp_cfg_set_rx_fwd_disabled() - enable/disable rx forwarding
|
* cdp_cfg_set_rx_fwd_disabled() - enable/disable rx forwarding
|
||||||
* @soc - data path soc handle
|
* @soc - data path soc handle
|
||||||
@@ -42,7 +42,7 @@
|
|||||||
* return NONE
|
* return NONE
|
||||||
*/
|
*/
|
||||||
static inline void
|
static inline void
|
||||||
cdp_cfg_set_rx_fwd_disabled(ol_txrx_soc_handle soc, void *pdev,
|
cdp_cfg_set_rx_fwd_disabled(ol_txrx_soc_handle soc, struct cdp_cfg *cfg_pdev,
|
||||||
uint8_t disable_rx_fwd)
|
uint8_t disable_rx_fwd)
|
||||||
{
|
{
|
||||||
if (!soc || !soc->ops || !soc->ops->cfg_ops) {
|
if (!soc || !soc->ops || !soc->ops->cfg_ops) {
|
||||||
@@ -52,7 +52,7 @@ cdp_cfg_set_rx_fwd_disabled(ol_txrx_soc_handle soc, void *pdev,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (soc->ops->cfg_ops->set_cfg_rx_fwd_disabled)
|
if (soc->ops->cfg_ops->set_cfg_rx_fwd_disabled)
|
||||||
return soc->ops->cfg_ops->set_cfg_rx_fwd_disabled(pdev,
|
return soc->ops->cfg_ops->set_cfg_rx_fwd_disabled(cfg_pdev,
|
||||||
disable_rx_fwd);
|
disable_rx_fwd);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -68,7 +68,7 @@ cdp_cfg_set_rx_fwd_disabled(ol_txrx_soc_handle soc, void *pdev,
|
|||||||
*/
|
*/
|
||||||
static inline void
|
static inline void
|
||||||
cdp_cfg_set_packet_log_enabled(ol_txrx_soc_handle soc,
|
cdp_cfg_set_packet_log_enabled(ol_txrx_soc_handle soc,
|
||||||
void *pdev, uint8_t val)
|
struct cdp_cfg *cfg_pdev, uint8_t val)
|
||||||
{
|
{
|
||||||
if (!soc || !soc->ops || !soc->ops->cfg_ops) {
|
if (!soc || !soc->ops || !soc->ops->cfg_ops) {
|
||||||
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
|
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
|
||||||
@@ -77,7 +77,7 @@ cdp_cfg_set_packet_log_enabled(ol_txrx_soc_handle soc,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (soc->ops->cfg_ops->set_cfg_packet_log_enabled)
|
if (soc->ops->cfg_ops->set_cfg_packet_log_enabled)
|
||||||
return soc->ops->cfg_ops->set_cfg_packet_log_enabled(pdev,
|
return soc->ops->cfg_ops->set_cfg_packet_log_enabled(cfg_pdev,
|
||||||
val);
|
val);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -91,7 +91,7 @@ cdp_cfg_set_packet_log_enabled(ol_txrx_soc_handle soc,
|
|||||||
*
|
*
|
||||||
* return soc configuration module instance
|
* return soc configuration module instance
|
||||||
*/
|
*/
|
||||||
static inline void
|
static inline struct cdp_cfg
|
||||||
*cdp_cfg_attach(ol_txrx_soc_handle soc,
|
*cdp_cfg_attach(ol_txrx_soc_handle soc,
|
||||||
qdf_device_t osdev, void *cfg_param)
|
qdf_device_t osdev, void *cfg_param)
|
||||||
{
|
{
|
||||||
@@ -118,7 +118,8 @@ static inline void
|
|||||||
* return NONE
|
* return NONE
|
||||||
*/
|
*/
|
||||||
static inline void
|
static inline void
|
||||||
cdp_cfg_vdev_rx_set_intrabss_fwd(ol_txrx_soc_handle soc, void *vdev, bool val)
|
cdp_cfg_vdev_rx_set_intrabss_fwd(ol_txrx_soc_handle soc,
|
||||||
|
struct cdp_vdev *vdev, bool val)
|
||||||
{
|
{
|
||||||
if (!soc || !soc->ops || !soc->ops->cfg_ops) {
|
if (!soc || !soc->ops || !soc->ops->cfg_ops) {
|
||||||
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
|
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
|
||||||
@@ -141,7 +142,7 @@ cdp_cfg_vdev_rx_set_intrabss_fwd(ol_txrx_soc_handle soc, void *vdev, bool val)
|
|||||||
* 0 disabled
|
* 0 disabled
|
||||||
*/
|
*/
|
||||||
static inline uint8_t
|
static inline uint8_t
|
||||||
cdp_cfg_is_rx_fwd_disabled(ol_txrx_soc_handle soc, void *vdev)
|
cdp_cfg_is_rx_fwd_disabled(ol_txrx_soc_handle soc, struct cdp_vdev *vdev)
|
||||||
{
|
{
|
||||||
if (!soc || !soc->ops || !soc->ops->cfg_ops) {
|
if (!soc || !soc->ops || !soc->ops->cfg_ops) {
|
||||||
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
|
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
|
||||||
@@ -189,7 +190,7 @@ cdp_cfg_tx_set_is_mgmt_over_wmi_enabled(ol_txrx_soc_handle soc,
|
|||||||
* 0 low latency data path
|
* 0 low latency data path
|
||||||
*/
|
*/
|
||||||
static inline int
|
static inline int
|
||||||
cdp_cfg_is_high_latency(ol_txrx_soc_handle soc, void *pdev)
|
cdp_cfg_is_high_latency(ol_txrx_soc_handle soc, struct cdp_cfg *cfg_pdev)
|
||||||
{
|
{
|
||||||
if (!soc || !soc->ops || !soc->ops->cfg_ops) {
|
if (!soc || !soc->ops || !soc->ops->cfg_ops) {
|
||||||
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
|
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
|
||||||
@@ -198,7 +199,7 @@ cdp_cfg_is_high_latency(ol_txrx_soc_handle soc, void *pdev)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (soc->ops->cfg_ops->is_high_latency)
|
if (soc->ops->cfg_ops->is_high_latency)
|
||||||
return soc->ops->cfg_ops->is_high_latency(pdev);
|
return soc->ops->cfg_ops->is_high_latency(cfg_pdev);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@@ -215,7 +216,7 @@ cdp_cfg_is_high_latency(ol_txrx_soc_handle soc, void *pdev)
|
|||||||
*/
|
*/
|
||||||
static inline void
|
static inline void
|
||||||
cdp_cfg_set_flow_control_parameters(ol_txrx_soc_handle soc,
|
cdp_cfg_set_flow_control_parameters(ol_txrx_soc_handle soc,
|
||||||
void *cfg, void *param)
|
struct cdp_cfg *cfg_pdev, void *param)
|
||||||
{
|
{
|
||||||
if (!soc || !soc->ops || !soc->ops->cfg_ops) {
|
if (!soc || !soc->ops || !soc->ops->cfg_ops) {
|
||||||
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
|
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
|
||||||
@@ -224,7 +225,7 @@ cdp_cfg_set_flow_control_parameters(ol_txrx_soc_handle soc,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (soc->ops->cfg_ops->set_flow_control_parameters)
|
if (soc->ops->cfg_ops->set_flow_control_parameters)
|
||||||
return soc->ops->cfg_ops->set_flow_control_parameters(cfg,
|
return soc->ops->cfg_ops->set_flow_control_parameters(cfg_pdev,
|
||||||
param);
|
param);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
@@ -240,7 +241,7 @@ cdp_cfg_set_flow_control_parameters(ol_txrx_soc_handle soc,
|
|||||||
* Return: None
|
* Return: None
|
||||||
*/
|
*/
|
||||||
static inline void cdp_cfg_set_flow_steering(ol_txrx_soc_handle soc,
|
static inline void cdp_cfg_set_flow_steering(ol_txrx_soc_handle soc,
|
||||||
void *pdev, uint8_t val)
|
struct cdp_cfg *cfg_pdev, uint8_t val)
|
||||||
{
|
{
|
||||||
if (!soc || !soc->ops || !soc->ops->cfg_ops) {
|
if (!soc || !soc->ops || !soc->ops->cfg_ops) {
|
||||||
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
|
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
|
||||||
@@ -249,7 +250,7 @@ static inline void cdp_cfg_set_flow_steering(ol_txrx_soc_handle soc,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (soc->ops->cfg_ops->set_flow_steering)
|
if (soc->ops->cfg_ops->set_flow_steering)
|
||||||
return soc->ops->cfg_ops->set_flow_steering(pdev, val);
|
return soc->ops->cfg_ops->set_flow_steering(cfg_pdev, val);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2011-2016 The Linux Foundation. All rights reserved.
|
* Copyright (c) 2011-2017 The Linux Foundation. All rights reserved.
|
||||||
*
|
*
|
||||||
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
|
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
|
||||||
*
|
*
|
||||||
@@ -35,6 +35,7 @@
|
|||||||
#include "qdf_types.h"
|
#include "qdf_types.h"
|
||||||
#include "qdf_nbuf.h"
|
#include "qdf_nbuf.h"
|
||||||
#include "cdp_txrx_ops.h"
|
#include "cdp_txrx_ops.h"
|
||||||
|
#include "cdp_txrx_handle.h"
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
*
|
*
|
||||||
* Common Data Path Header File
|
* Common Data Path Header File
|
||||||
@@ -49,8 +50,8 @@ cdp_soc_attach_target(ol_txrx_soc_handle soc)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void *
|
static inline struct cdp_vdev *
|
||||||
cdp_vdev_attach(ol_txrx_soc_handle soc, void *pdev,
|
cdp_vdev_attach(ol_txrx_soc_handle soc, struct cdp_pdev *pdev,
|
||||||
uint8_t *vdev_mac_addr, uint8_t vdev_id, enum wlan_op_mode op_mode)
|
uint8_t *vdev_mac_addr, uint8_t vdev_id, enum wlan_op_mode op_mode)
|
||||||
{
|
{
|
||||||
if (soc->ops->cmn_drv_ops->txrx_vdev_attach)
|
if (soc->ops->cmn_drv_ops->txrx_vdev_attach)
|
||||||
@@ -60,7 +61,7 @@ cdp_vdev_attach(ol_txrx_soc_handle soc, void *pdev,
|
|||||||
}
|
}
|
||||||
|
|
||||||
static inline void
|
static inline void
|
||||||
cdp_vdev_detach(ol_txrx_soc_handle soc, void *vdev,
|
cdp_vdev_detach(ol_txrx_soc_handle soc, struct cdp_vdev *vdev,
|
||||||
ol_txrx_vdev_delete_cb callback, void *cb_context)
|
ol_txrx_vdev_delete_cb callback, void *cb_context)
|
||||||
{
|
{
|
||||||
if (soc->ops->cmn_drv_ops->txrx_vdev_detach)
|
if (soc->ops->cmn_drv_ops->txrx_vdev_detach)
|
||||||
@@ -70,15 +71,15 @@ cdp_vdev_detach(ol_txrx_soc_handle soc, void *vdev,
|
|||||||
}
|
}
|
||||||
|
|
||||||
static inline int
|
static inline int
|
||||||
cdp_pdev_attach_target(ol_txrx_soc_handle soc, void *pdev)
|
cdp_pdev_attach_target(ol_txrx_soc_handle soc, struct cdp_pdev *pdev)
|
||||||
{
|
{
|
||||||
if (soc->ops->cmn_drv_ops->txrx_pdev_attach_target)
|
if (soc->ops->cmn_drv_ops->txrx_pdev_attach_target)
|
||||||
return soc->ops->cmn_drv_ops->txrx_pdev_attach_target(pdev);
|
return soc->ops->cmn_drv_ops->txrx_pdev_attach_target(pdev);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void *cdp_pdev_attach
|
static inline struct cdp_pdev *cdp_pdev_attach
|
||||||
(ol_txrx_soc_handle soc, void *ctrl_pdev,
|
(ol_txrx_soc_handle soc, struct cdp_cfg *ctrl_pdev,
|
||||||
HTC_HANDLE htc_pdev, qdf_device_t osdev, uint8_t pdev_id)
|
HTC_HANDLE htc_pdev, qdf_device_t osdev, uint8_t pdev_id)
|
||||||
{
|
{
|
||||||
if (soc->ops->cmn_drv_ops->txrx_pdev_attach)
|
if (soc->ops->cmn_drv_ops->txrx_pdev_attach)
|
||||||
@@ -87,7 +88,8 @@ static inline void *cdp_pdev_attach
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline int cdp_pdev_post_attach(ol_txrx_soc_handle soc, void *pdev)
|
static inline int cdp_pdev_post_attach(ol_txrx_soc_handle soc,
|
||||||
|
struct cdp_pdev *pdev)
|
||||||
{
|
{
|
||||||
if (soc->ops->cmn_drv_ops->txrx_pdev_post_attach)
|
if (soc->ops->cmn_drv_ops->txrx_pdev_post_attach)
|
||||||
return soc->ops->cmn_drv_ops->txrx_pdev_post_attach(pdev);
|
return soc->ops->cmn_drv_ops->txrx_pdev_post_attach(pdev);
|
||||||
@@ -95,7 +97,7 @@ static inline int cdp_pdev_post_attach(ol_txrx_soc_handle soc, void *pdev)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static inline void
|
static inline void
|
||||||
cdp_pdev_detach(ol_txrx_soc_handle soc, void *pdev, int force)
|
cdp_pdev_detach(ol_txrx_soc_handle soc, struct cdp_pdev *pdev, int force)
|
||||||
{
|
{
|
||||||
if (soc->ops->cmn_drv_ops->txrx_pdev_detach)
|
if (soc->ops->cmn_drv_ops->txrx_pdev_detach)
|
||||||
return soc->ops->cmn_drv_ops->txrx_pdev_detach(pdev, force);
|
return soc->ops->cmn_drv_ops->txrx_pdev_detach(pdev, force);
|
||||||
@@ -103,7 +105,7 @@ cdp_pdev_detach(ol_txrx_soc_handle soc, void *pdev, int force)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static inline void *cdp_peer_create
|
static inline void *cdp_peer_create
|
||||||
(ol_txrx_soc_handle soc, void *vdev,
|
(ol_txrx_soc_handle soc, struct cdp_vdev *vdev,
|
||||||
uint8_t *peer_mac_addr)
|
uint8_t *peer_mac_addr)
|
||||||
{
|
{
|
||||||
if (soc->ops->cmn_drv_ops->txrx_peer_create)
|
if (soc->ops->cmn_drv_ops->txrx_peer_create)
|
||||||
@@ -113,7 +115,7 @@ static inline void *cdp_peer_create
|
|||||||
}
|
}
|
||||||
|
|
||||||
static inline void cdp_peer_setup
|
static inline void cdp_peer_setup
|
||||||
(ol_txrx_soc_handle soc, void *vdev, void *peer)
|
(ol_txrx_soc_handle soc, struct cdp_vdev *vdev, void *peer)
|
||||||
{
|
{
|
||||||
if (soc->ops->cmn_drv_ops->txrx_peer_setup)
|
if (soc->ops->cmn_drv_ops->txrx_peer_setup)
|
||||||
return soc->ops->cmn_drv_ops->txrx_peer_setup(vdev,
|
return soc->ops->cmn_drv_ops->txrx_peer_setup(vdev,
|
||||||
@@ -122,7 +124,7 @@ static inline void cdp_peer_setup
|
|||||||
}
|
}
|
||||||
|
|
||||||
static inline void cdp_peer_teardown
|
static inline void cdp_peer_teardown
|
||||||
(ol_txrx_soc_handle soc, void *vdev, void *peer)
|
(ol_txrx_soc_handle soc, struct cdp_vdev *vdev, void *peer)
|
||||||
{
|
{
|
||||||
if (soc->ops->cmn_drv_ops->txrx_peer_teardown)
|
if (soc->ops->cmn_drv_ops->txrx_peer_teardown)
|
||||||
return soc->ops->cmn_drv_ops->txrx_peer_teardown(vdev,
|
return soc->ops->cmn_drv_ops->txrx_peer_teardown(vdev,
|
||||||
@@ -139,7 +141,7 @@ cdp_peer_delete(ol_txrx_soc_handle soc, void *peer)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static inline int
|
static inline int
|
||||||
cdp_set_monitor_mode(ol_txrx_soc_handle soc, void *vdev)
|
cdp_set_monitor_mode(ol_txrx_soc_handle soc, struct cdp_vdev *vdev)
|
||||||
{
|
{
|
||||||
if (soc->ops->cmn_drv_ops->txrx_set_monitor_mode)
|
if (soc->ops->cmn_drv_ops->txrx_set_monitor_mode)
|
||||||
return soc->ops->cmn_drv_ops->txrx_set_monitor_mode(vdev);
|
return soc->ops->cmn_drv_ops->txrx_set_monitor_mode(vdev);
|
||||||
@@ -148,7 +150,7 @@ cdp_set_monitor_mode(ol_txrx_soc_handle soc, void *vdev)
|
|||||||
|
|
||||||
static inline void
|
static inline void
|
||||||
cdp_set_curchan(ol_txrx_soc_handle soc,
|
cdp_set_curchan(ol_txrx_soc_handle soc,
|
||||||
void *pdev,
|
struct cdp_pdev *pdev,
|
||||||
uint32_t chan_mhz)
|
uint32_t chan_mhz)
|
||||||
{
|
{
|
||||||
if (soc->ops->cmn_drv_ops->txrx_set_curchan)
|
if (soc->ops->cmn_drv_ops->txrx_set_curchan)
|
||||||
@@ -157,7 +159,7 @@ cdp_set_curchan(ol_txrx_soc_handle soc,
|
|||||||
}
|
}
|
||||||
|
|
||||||
static inline void
|
static inline void
|
||||||
cdp_set_privacy_filters(ol_txrx_soc_handle soc, void *vdev,
|
cdp_set_privacy_filters(ol_txrx_soc_handle soc, struct cdp_vdev *vdev,
|
||||||
void *filter, uint32_t num)
|
void *filter, uint32_t num)
|
||||||
{
|
{
|
||||||
if (soc->ops->cmn_drv_ops->txrx_set_privacy_filters)
|
if (soc->ops->cmn_drv_ops->txrx_set_privacy_filters)
|
||||||
@@ -170,7 +172,7 @@ cdp_set_privacy_filters(ol_txrx_soc_handle soc, void *vdev,
|
|||||||
* Data Interface (B Interface)
|
* Data Interface (B Interface)
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
static inline void
|
static inline void
|
||||||
cdp_vdev_register(ol_txrx_soc_handle soc, void *vdev,
|
cdp_vdev_register(ol_txrx_soc_handle soc, struct cdp_vdev *vdev,
|
||||||
void *osif_vdev, struct ol_txrx_ops *txrx_ops)
|
void *osif_vdev, struct ol_txrx_ops *txrx_ops)
|
||||||
{
|
{
|
||||||
if (soc->ops->cmn_drv_ops->txrx_vdev_register)
|
if (soc->ops->cmn_drv_ops->txrx_vdev_register)
|
||||||
@@ -180,7 +182,7 @@ cdp_vdev_register(ol_txrx_soc_handle soc, void *vdev,
|
|||||||
}
|
}
|
||||||
|
|
||||||
static inline int
|
static inline int
|
||||||
cdp_mgmt_send(ol_txrx_soc_handle soc, void *vdev,
|
cdp_mgmt_send(ol_txrx_soc_handle soc, struct cdp_vdev *vdev,
|
||||||
qdf_nbuf_t tx_mgmt_frm, uint8_t type)
|
qdf_nbuf_t tx_mgmt_frm, uint8_t type)
|
||||||
{
|
{
|
||||||
if (soc->ops->cmn_drv_ops->txrx_mgmt_send)
|
if (soc->ops->cmn_drv_ops->txrx_mgmt_send)
|
||||||
@@ -190,7 +192,7 @@ cdp_mgmt_send(ol_txrx_soc_handle soc, void *vdev,
|
|||||||
}
|
}
|
||||||
|
|
||||||
static inline int
|
static inline int
|
||||||
cdp_mgmt_send_ext(ol_txrx_soc_handle soc, void *vdev,
|
cdp_mgmt_send_ext(ol_txrx_soc_handle soc, struct cdp_vdev *vdev,
|
||||||
qdf_nbuf_t tx_mgmt_frm, uint8_t type,
|
qdf_nbuf_t tx_mgmt_frm, uint8_t type,
|
||||||
uint8_t use_6mbps, uint16_t chanfreq)
|
uint8_t use_6mbps, uint16_t chanfreq)
|
||||||
{
|
{
|
||||||
@@ -202,7 +204,7 @@ cdp_mgmt_send_ext(ol_txrx_soc_handle soc, void *vdev,
|
|||||||
|
|
||||||
|
|
||||||
static inline void
|
static inline void
|
||||||
cdp_mgmt_tx_cb_set(ol_txrx_soc_handle soc, void *pdev,
|
cdp_mgmt_tx_cb_set(ol_txrx_soc_handle soc, struct cdp_pdev *pdev,
|
||||||
uint8_t type,
|
uint8_t type,
|
||||||
ol_txrx_mgmt_tx_cb download_cb,
|
ol_txrx_mgmt_tx_cb download_cb,
|
||||||
ol_txrx_mgmt_tx_cb ota_ack_cb, void *ctxt)
|
ol_txrx_mgmt_tx_cb ota_ack_cb, void *ctxt)
|
||||||
@@ -214,7 +216,7 @@ cdp_mgmt_tx_cb_set(ol_txrx_soc_handle soc, void *pdev,
|
|||||||
}
|
}
|
||||||
|
|
||||||
static inline int cdp_get_tx_pending(ol_txrx_soc_handle soc,
|
static inline int cdp_get_tx_pending(ol_txrx_soc_handle soc,
|
||||||
void *pdev)
|
struct cdp_pdev *pdev)
|
||||||
{
|
{
|
||||||
if (soc->ops->cmn_drv_ops->txrx_get_tx_pending)
|
if (soc->ops->cmn_drv_ops->txrx_get_tx_pending)
|
||||||
return soc->ops->cmn_drv_ops->txrx_get_tx_pending(pdev);
|
return soc->ops->cmn_drv_ops->txrx_get_tx_pending(pdev);
|
||||||
@@ -222,7 +224,7 @@ void *pdev)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static inline void
|
static inline void
|
||||||
cdp_data_tx_cb_set(ol_txrx_soc_handle soc, void *data_vdev,
|
cdp_data_tx_cb_set(ol_txrx_soc_handle soc, struct cdp_vdev *data_vdev,
|
||||||
ol_txrx_data_tx_cb callback, void *ctxt)
|
ol_txrx_data_tx_cb callback, void *ctxt)
|
||||||
{
|
{
|
||||||
if (soc->ops->cmn_drv_ops->txrx_data_tx_cb_set)
|
if (soc->ops->cmn_drv_ops->txrx_data_tx_cb_set)
|
||||||
@@ -236,7 +238,7 @@ cdp_data_tx_cb_set(ol_txrx_soc_handle soc, void *data_vdev,
|
|||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
static inline int
|
static inline int
|
||||||
cdp_aggr_cfg(ol_txrx_soc_handle soc, void *vdev,
|
cdp_aggr_cfg(ol_txrx_soc_handle soc, struct cdp_vdev *vdev,
|
||||||
int max_subfrms_ampdu,
|
int max_subfrms_ampdu,
|
||||||
int max_subfrms_amsdu)
|
int max_subfrms_amsdu)
|
||||||
{
|
{
|
||||||
@@ -247,7 +249,7 @@ cdp_aggr_cfg(ol_txrx_soc_handle soc, void *vdev,
|
|||||||
}
|
}
|
||||||
|
|
||||||
static inline int
|
static inline int
|
||||||
cdp_fw_stats_get(ol_txrx_soc_handle soc, void *vdev,
|
cdp_fw_stats_get(ol_txrx_soc_handle soc, struct cdp_vdev *vdev,
|
||||||
struct ol_txrx_stats_req *req, bool per_vdev,
|
struct ol_txrx_stats_req *req, bool per_vdev,
|
||||||
bool response_expected)
|
bool response_expected)
|
||||||
{
|
{
|
||||||
@@ -258,7 +260,7 @@ cdp_fw_stats_get(ol_txrx_soc_handle soc, void *vdev,
|
|||||||
}
|
}
|
||||||
|
|
||||||
static inline int
|
static inline int
|
||||||
cdp_debug(ol_txrx_soc_handle soc, void *vdev, int debug_specs)
|
cdp_debug(ol_txrx_soc_handle soc, struct cdp_vdev *vdev, int debug_specs)
|
||||||
{
|
{
|
||||||
if (soc->ops->cmn_drv_ops->txrx_debug)
|
if (soc->ops->cmn_drv_ops->txrx_debug)
|
||||||
return soc->ops->cmn_drv_ops->txrx_debug(vdev, debug_specs);
|
return soc->ops->cmn_drv_ops->txrx_debug(vdev, debug_specs);
|
||||||
@@ -266,7 +268,7 @@ cdp_debug(ol_txrx_soc_handle soc, void *vdev, int debug_specs)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static inline void cdp_fw_stats_cfg(ol_txrx_soc_handle soc,
|
static inline void cdp_fw_stats_cfg(ol_txrx_soc_handle soc,
|
||||||
void *vdev, uint8_t cfg_stats_type, uint32_t cfg_val)
|
struct cdp_vdev *vdev, uint8_t cfg_stats_type, uint32_t cfg_val)
|
||||||
{
|
{
|
||||||
if (soc->ops->cmn_drv_ops->txrx_fw_stats_cfg)
|
if (soc->ops->cmn_drv_ops->txrx_fw_stats_cfg)
|
||||||
return soc->ops->cmn_drv_ops->txrx_fw_stats_cfg(vdev,
|
return soc->ops->cmn_drv_ops->txrx_fw_stats_cfg(vdev,
|
||||||
@@ -282,7 +284,7 @@ static inline void cdp_print_level_set(ol_txrx_soc_handle soc, unsigned level)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static inline uint8_t *
|
static inline uint8_t *
|
||||||
cdp_get_vdev_mac_addr(ol_txrx_soc_handle soc, void *vdev)
|
cdp_get_vdev_mac_addr(ol_txrx_soc_handle soc, struct cdp_vdev *vdev)
|
||||||
{
|
{
|
||||||
if (soc->ops->cmn_drv_ops->txrx_get_vdev_mac_addr)
|
if (soc->ops->cmn_drv_ops->txrx_get_vdev_mac_addr)
|
||||||
return soc->ops->cmn_drv_ops->txrx_get_vdev_mac_addr(vdev);
|
return soc->ops->cmn_drv_ops->txrx_get_vdev_mac_addr(vdev);
|
||||||
@@ -297,7 +299,7 @@ cdp_get_vdev_mac_addr(ol_txrx_soc_handle soc, void *vdev)
|
|||||||
* Return: Handle to struct qdf_mac_addr
|
* Return: Handle to struct qdf_mac_addr
|
||||||
*/
|
*/
|
||||||
static inline struct qdf_mac_addr *cdp_get_vdev_struct_mac_addr
|
static inline struct qdf_mac_addr *cdp_get_vdev_struct_mac_addr
|
||||||
(ol_txrx_soc_handle soc, void *vdev)
|
(ol_txrx_soc_handle soc, struct cdp_vdev *vdev)
|
||||||
{
|
{
|
||||||
if (soc->ops->cmn_drv_ops->txrx_get_vdev_struct_mac_addr)
|
if (soc->ops->cmn_drv_ops->txrx_get_vdev_struct_mac_addr)
|
||||||
return soc->ops->cmn_drv_ops->txrx_get_vdev_struct_mac_addr
|
return soc->ops->cmn_drv_ops->txrx_get_vdev_struct_mac_addr
|
||||||
@@ -311,8 +313,8 @@ static inline struct qdf_mac_addr *cdp_get_vdev_struct_mac_addr
|
|||||||
*
|
*
|
||||||
* Return: Handle to pdev
|
* Return: Handle to pdev
|
||||||
*/
|
*/
|
||||||
static inline void *cdp_get_pdev_from_vdev
|
static inline struct cdp_pdev *cdp_get_pdev_from_vdev
|
||||||
(ol_txrx_soc_handle soc, void *vdev)
|
(ol_txrx_soc_handle soc, struct cdp_vdev *vdev)
|
||||||
{
|
{
|
||||||
if (soc->ops->cmn_drv_ops->txrx_get_pdev_from_vdev)
|
if (soc->ops->cmn_drv_ops->txrx_get_pdev_from_vdev)
|
||||||
return soc->ops->cmn_drv_ops->txrx_get_pdev_from_vdev(vdev);
|
return soc->ops->cmn_drv_ops->txrx_get_pdev_from_vdev(vdev);
|
||||||
@@ -325,8 +327,8 @@ static inline void *cdp_get_pdev_from_vdev
|
|||||||
*
|
*
|
||||||
* Return: Handle to control pdev
|
* Return: Handle to control pdev
|
||||||
*/
|
*/
|
||||||
static inline void *
|
static inline struct cdp_cfg *
|
||||||
cdp_get_ctrl_pdev_from_vdev(ol_txrx_soc_handle soc, void *vdev)
|
cdp_get_ctrl_pdev_from_vdev(ol_txrx_soc_handle soc, struct cdp_vdev *vdev)
|
||||||
{
|
{
|
||||||
if (soc->ops->cmn_drv_ops->txrx_get_ctrl_pdev_from_vdev)
|
if (soc->ops->cmn_drv_ops->txrx_get_ctrl_pdev_from_vdev)
|
||||||
return soc->ops->cmn_drv_ops->txrx_get_ctrl_pdev_from_vdev
|
return soc->ops->cmn_drv_ops->txrx_get_ctrl_pdev_from_vdev
|
||||||
@@ -334,8 +336,8 @@ cdp_get_ctrl_pdev_from_vdev(ol_txrx_soc_handle soc, void *vdev)
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void *
|
static inline struct cdp_vdev *
|
||||||
cdp_get_vdev_from_vdev_id(ol_txrx_soc_handle soc, void *pdev,
|
cdp_get_vdev_from_vdev_id(ol_txrx_soc_handle soc, struct cdp_pdev *pdev,
|
||||||
uint8_t vdev_id)
|
uint8_t vdev_id)
|
||||||
{
|
{
|
||||||
if (soc->ops->cmn_drv_ops->txrx_get_vdev_from_vdev_id)
|
if (soc->ops->cmn_drv_ops->txrx_get_vdev_from_vdev_id)
|
||||||
|
@@ -32,9 +32,10 @@
|
|||||||
|
|
||||||
#ifndef _CDP_TXRX_CTRL_H_
|
#ifndef _CDP_TXRX_CTRL_H_
|
||||||
#define _CDP_TXRX_CTRL_H_
|
#define _CDP_TXRX_CTRL_H_
|
||||||
|
#include "cdp_txrx_handle.h"
|
||||||
|
|
||||||
static inline int cdp_is_target_ar900b
|
static inline int cdp_is_target_ar900b
|
||||||
(ol_txrx_soc_handle soc, void *vdev)
|
(ol_txrx_soc_handle soc, struct cdp_vdev *vdev)
|
||||||
{
|
{
|
||||||
if (soc->ops->ctrl_ops->txrx_is_target_ar900b)
|
if (soc->ops->ctrl_ops->txrx_is_target_ar900b)
|
||||||
return soc->ops->ctrl_ops->txrx_is_target_ar900b(vdev);
|
return soc->ops->ctrl_ops->txrx_is_target_ar900b(vdev);
|
||||||
@@ -53,7 +54,7 @@ cdp_mempools_attach(ol_txrx_soc_handle soc, void *ctrl_pdev)
|
|||||||
|
|
||||||
static inline int
|
static inline int
|
||||||
cdp_set_filter_neighbour_peers(ol_txrx_soc_handle soc,
|
cdp_set_filter_neighbour_peers(ol_txrx_soc_handle soc,
|
||||||
void *pdev, u_int32_t val)
|
struct cdp_pdev *pdev, u_int32_t val)
|
||||||
{
|
{
|
||||||
if (soc->ops->ctrl_ops->txrx_set_filter_neighbour_peers)
|
if (soc->ops->ctrl_ops->txrx_set_filter_neighbour_peers)
|
||||||
return soc->ops->ctrl_ops->txrx_set_filter_neighbour_peers
|
return soc->ops->ctrl_ops->txrx_set_filter_neighbour_peers
|
||||||
@@ -75,7 +76,7 @@ cdp_set_filter_neighbour_peers(ol_txrx_soc_handle soc,
|
|||||||
|
|
||||||
static inline void
|
static inline void
|
||||||
cdp_set_safemode(ol_txrx_soc_handle soc,
|
cdp_set_safemode(ol_txrx_soc_handle soc,
|
||||||
void *vdev, u_int32_t val)
|
struct cdp_vdev *vdev, u_int32_t val)
|
||||||
{
|
{
|
||||||
if (soc->ops->ctrl_ops->txrx_set_safemode)
|
if (soc->ops->ctrl_ops->txrx_set_safemode)
|
||||||
return soc->ops->ctrl_ops->txrx_set_safemode(vdev, val);
|
return soc->ops->ctrl_ops->txrx_set_safemode(vdev, val);
|
||||||
@@ -93,7 +94,7 @@ cdp_set_safemode(ol_txrx_soc_handle soc,
|
|||||||
*/
|
*/
|
||||||
static inline void
|
static inline void
|
||||||
cdp_set_drop_unenc(ol_txrx_soc_handle soc,
|
cdp_set_drop_unenc(ol_txrx_soc_handle soc,
|
||||||
void *vdev, u_int32_t val)
|
struct cdp_vdev *vdev, u_int32_t val)
|
||||||
{
|
{
|
||||||
if (soc->ops->ctrl_ops->txrx_set_drop_unenc)
|
if (soc->ops->ctrl_ops->txrx_set_drop_unenc)
|
||||||
return soc->ops->ctrl_ops->txrx_set_drop_unenc(vdev, val);
|
return soc->ops->ctrl_ops->txrx_set_drop_unenc(vdev, val);
|
||||||
@@ -112,7 +113,7 @@ cdp_set_drop_unenc(ol_txrx_soc_handle soc,
|
|||||||
*/
|
*/
|
||||||
static inline void
|
static inline void
|
||||||
cdp_set_tx_encap_type(ol_txrx_soc_handle soc,
|
cdp_set_tx_encap_type(ol_txrx_soc_handle soc,
|
||||||
void *vdev, enum htt_cmn_pkt_type val)
|
struct cdp_vdev *vdev, enum htt_cmn_pkt_type val)
|
||||||
{
|
{
|
||||||
if (soc->ops->ctrl_ops->txrx_set_tx_encap_type)
|
if (soc->ops->ctrl_ops->txrx_set_tx_encap_type)
|
||||||
return soc->ops->ctrl_ops->txrx_set_tx_encap_type(vdev, val);
|
return soc->ops->ctrl_ops->txrx_set_tx_encap_type(vdev, val);
|
||||||
@@ -131,7 +132,7 @@ cdp_set_tx_encap_type(ol_txrx_soc_handle soc,
|
|||||||
*/
|
*/
|
||||||
static inline void
|
static inline void
|
||||||
cdp_set_vdev_rx_decap_type(ol_txrx_soc_handle soc,
|
cdp_set_vdev_rx_decap_type(ol_txrx_soc_handle soc,
|
||||||
void *vdev, enum htt_cmn_pkt_type val)
|
struct cdp_vdev *vdev, enum htt_cmn_pkt_type val)
|
||||||
{
|
{
|
||||||
if (soc->ops->ctrl_ops->txrx_set_vdev_rx_decap_type)
|
if (soc->ops->ctrl_ops->txrx_set_vdev_rx_decap_type)
|
||||||
return soc->ops->ctrl_ops->txrx_set_vdev_rx_decap_type
|
return soc->ops->ctrl_ops->txrx_set_vdev_rx_decap_type
|
||||||
@@ -146,7 +147,7 @@ cdp_set_vdev_rx_decap_type(ol_txrx_soc_handle soc,
|
|||||||
* @return - the Rx decap type (htt_cmn_pkt_type)
|
* @return - the Rx decap type (htt_cmn_pkt_type)
|
||||||
*/
|
*/
|
||||||
static inline enum htt_cmn_pkt_type
|
static inline enum htt_cmn_pkt_type
|
||||||
cdp_get_vdev_rx_decap_type(ol_txrx_soc_handle soc, void *vdev)
|
cdp_get_vdev_rx_decap_type(ol_txrx_soc_handle soc, struct cdp_vdev *vdev)
|
||||||
{
|
{
|
||||||
if (soc->ops->ctrl_ops->txrx_get_vdev_rx_decap_type)
|
if (soc->ops->ctrl_ops->txrx_get_vdev_rx_decap_type)
|
||||||
return soc->ops->ctrl_ops->txrx_get_vdev_rx_decap_type(vdev);
|
return soc->ops->ctrl_ops->txrx_get_vdev_rx_decap_type(vdev);
|
||||||
@@ -177,7 +178,7 @@ cdp_peer_authorize(ol_txrx_soc_handle soc,
|
|||||||
}
|
}
|
||||||
|
|
||||||
static inline bool
|
static inline bool
|
||||||
cdp_set_inact_params(ol_txrx_soc_handle soc, void *pdev,
|
cdp_set_inact_params(ol_txrx_soc_handle soc, struct cdp_pdev *pdev,
|
||||||
u_int16_t inact_check_interval,
|
u_int16_t inact_check_interval,
|
||||||
u_int16_t inact_normal,
|
u_int16_t inact_normal,
|
||||||
u_int16_t inact_overload)
|
u_int16_t inact_overload)
|
||||||
@@ -190,7 +191,7 @@ cdp_set_inact_params(ol_txrx_soc_handle soc, void *pdev,
|
|||||||
}
|
}
|
||||||
static inline bool
|
static inline bool
|
||||||
cdp_start_inact_timer(ol_txrx_soc_handle soc,
|
cdp_start_inact_timer(ol_txrx_soc_handle soc,
|
||||||
void *pdev,
|
struct cdp_pdev *pdev,
|
||||||
bool enable)
|
bool enable)
|
||||||
{
|
{
|
||||||
if (soc->ops->ctrl_ops->txrx_start_inact_timer)
|
if (soc->ops->ctrl_ops->txrx_start_inact_timer)
|
||||||
@@ -209,7 +210,7 @@ cdp_start_inact_timer(ol_txrx_soc_handle soc,
|
|||||||
* @param overload - whether the radio is overloaded or not
|
* @param overload - whether the radio is overloaded or not
|
||||||
*/
|
*/
|
||||||
static inline void
|
static inline void
|
||||||
cdp_set_overload(ol_txrx_soc_handle soc, void *pdev,
|
cdp_set_overload(ol_txrx_soc_handle soc, struct cdp_pdev *pdev,
|
||||||
bool overload)
|
bool overload)
|
||||||
{
|
{
|
||||||
if (soc->ops->ctrl_ops->txrx_set_overload)
|
if (soc->ops->ctrl_ops->txrx_set_overload)
|
||||||
@@ -254,7 +255,7 @@ cdp_mark_peer_inact(ol_txrx_soc_handle soc,
|
|||||||
|
|
||||||
/* Should be ol_txrx_ctrl_api.h */
|
/* Should be ol_txrx_ctrl_api.h */
|
||||||
static inline void cdp_set_mesh_mode
|
static inline void cdp_set_mesh_mode
|
||||||
(ol_txrx_soc_handle soc, void *vdev, u_int32_t val)
|
(ol_txrx_soc_handle soc, struct cdp_vdev *vdev, u_int32_t val)
|
||||||
{
|
{
|
||||||
if (soc->ops->ctrl_ops->txrx_set_mesh_mode)
|
if (soc->ops->ctrl_ops->txrx_set_mesh_mode)
|
||||||
return soc->ops->ctrl_ops->txrx_set_mesh_mode(vdev, val);
|
return soc->ops->ctrl_ops->txrx_set_mesh_mode(vdev, val);
|
||||||
@@ -262,7 +263,7 @@ static inline void cdp_set_mesh_mode
|
|||||||
}
|
}
|
||||||
|
|
||||||
static inline void cdp_tx_flush_buffers
|
static inline void cdp_tx_flush_buffers
|
||||||
(ol_txrx_soc_handle soc, void *vdev)
|
(ol_txrx_soc_handle soc, struct cdp_vdev *vdev)
|
||||||
{
|
{
|
||||||
if (soc->ops->ctrl_ops->tx_flush_buffers)
|
if (soc->ops->ctrl_ops->tx_flush_buffers)
|
||||||
return soc->ops->ctrl_ops->tx_flush_buffers(vdev);
|
return soc->ops->ctrl_ops->tx_flush_buffers(vdev);
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2016 The Linux Foundation. All rights reserved.
|
* Copyright (c) 2016-2017 The Linux Foundation. All rights reserved.
|
||||||
*
|
*
|
||||||
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
|
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
|
||||||
*
|
*
|
||||||
@@ -32,6 +32,7 @@
|
|||||||
#ifndef _CDP_TXRX_FC_LEG_H_
|
#ifndef _CDP_TXRX_FC_LEG_H_
|
||||||
#define _CDP_TXRX_FC_LEG_H_
|
#define _CDP_TXRX_FC_LEG_H_
|
||||||
#include <cdp_txrx_mob_def.h>
|
#include <cdp_txrx_mob_def.h>
|
||||||
|
#include "cdp_txrx_handle.h"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* cdp_fc_register() - Register flow control callback function pointer
|
* cdp_fc_register() - Register flow control callback function pointer
|
||||||
@@ -152,7 +153,7 @@ cdp_fc_ll_set_tx_pause_q_depth(ol_txrx_soc_handle soc,
|
|||||||
* return None
|
* return None
|
||||||
*/
|
*/
|
||||||
static inline void
|
static inline void
|
||||||
cdp_fc_vdev_flush(ol_txrx_soc_handle soc, void *vdev)
|
cdp_fc_vdev_flush(ol_txrx_soc_handle soc, struct cdp_vdev *vdev)
|
||||||
{
|
{
|
||||||
if (!soc || !soc->ops || !soc->ops->l_flowctl_ops) {
|
if (!soc || !soc->ops || !soc->ops->l_flowctl_ops) {
|
||||||
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
|
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
|
||||||
@@ -177,7 +178,7 @@ cdp_fc_vdev_flush(ol_txrx_soc_handle soc, void *vdev)
|
|||||||
* return None
|
* return None
|
||||||
*/
|
*/
|
||||||
static inline void
|
static inline void
|
||||||
cdp_fc_vdev_pause(ol_txrx_soc_handle soc, void *vdev,
|
cdp_fc_vdev_pause(ol_txrx_soc_handle soc, struct cdp_vdev *vdev,
|
||||||
uint32_t reason)
|
uint32_t reason)
|
||||||
{
|
{
|
||||||
if (!soc || !soc->ops || !soc->ops->l_flowctl_ops) {
|
if (!soc || !soc->ops || !soc->ops->l_flowctl_ops) {
|
||||||
@@ -203,7 +204,7 @@ cdp_fc_vdev_pause(ol_txrx_soc_handle soc, void *vdev,
|
|||||||
* return None
|
* return None
|
||||||
*/
|
*/
|
||||||
static inline void
|
static inline void
|
||||||
cdp_fc_vdev_unpause(ol_txrx_soc_handle soc, void *vdev,
|
cdp_fc_vdev_unpause(ol_txrx_soc_handle soc, struct cdp_vdev *vdev,
|
||||||
uint32_t reason)
|
uint32_t reason)
|
||||||
{
|
{
|
||||||
if (!soc || !soc->ops || !soc->ops->l_flowctl_ops) {
|
if (!soc || !soc->ops || !soc->ops->l_flowctl_ops) {
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2016 The Linux Foundation. All rights reserved.
|
* Copyright (c) 2016-2017 The Linux Foundation. All rights reserved.
|
||||||
*
|
*
|
||||||
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
|
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
|
||||||
*
|
*
|
||||||
@@ -31,13 +31,14 @@
|
|||||||
*/
|
*/
|
||||||
#ifndef _CDP_TXRX_HOST_STATS_H_
|
#ifndef _CDP_TXRX_HOST_STATS_H_
|
||||||
#define _CDP_TXRX_HOST_STATS_H_
|
#define _CDP_TXRX_HOST_STATS_H_
|
||||||
|
#include "cdp_txrx_handle.h"
|
||||||
/* WIN */
|
/* WIN */
|
||||||
/* Need to remove the "req" parameter */
|
/* Need to remove the "req" parameter */
|
||||||
/* Need to rename the function to reflect the functionality "show" / "display"
|
/* Need to rename the function to reflect the functionality "show" / "display"
|
||||||
* WIN -- to figure out whether to change OSIF to converge (not an immediate AI)
|
* WIN -- to figure out whether to change OSIF to converge (not an immediate AI)
|
||||||
* */
|
* */
|
||||||
static inline int cdp_host_stats_get(ol_txrx_soc_handle soc,
|
static inline int cdp_host_stats_get(ol_txrx_soc_handle soc,
|
||||||
void *vdev,
|
struct cdp_vdev *vdev,
|
||||||
struct ol_txrx_stats_req *req)
|
struct ol_txrx_stats_req *req)
|
||||||
{
|
{
|
||||||
if (soc->ops->host_stats_ops->txrx_host_stats_get)
|
if (soc->ops->host_stats_ops->txrx_host_stats_get)
|
||||||
@@ -47,7 +48,7 @@ static inline int cdp_host_stats_get(ol_txrx_soc_handle soc,
|
|||||||
|
|
||||||
|
|
||||||
static inline void
|
static inline void
|
||||||
cdp_host_stats_clr(ol_txrx_soc_handle soc, void *vdev)
|
cdp_host_stats_clr(ol_txrx_soc_handle soc, struct cdp_vdev *vdev)
|
||||||
{
|
{
|
||||||
if (soc->ops->host_stats_ops->txrx_host_stats_clr)
|
if (soc->ops->host_stats_ops->txrx_host_stats_clr)
|
||||||
return soc->ops->host_stats_ops->txrx_host_stats_clr(vdev);
|
return soc->ops->host_stats_ops->txrx_host_stats_clr(vdev);
|
||||||
@@ -55,7 +56,7 @@ cdp_host_stats_clr(ol_txrx_soc_handle soc, void *vdev)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static inline void
|
static inline void
|
||||||
cdp_host_ce_stats(ol_txrx_soc_handle soc, void *vdev)
|
cdp_host_ce_stats(ol_txrx_soc_handle soc, struct cdp_vdev *vdev)
|
||||||
{
|
{
|
||||||
if (soc->ops->host_stats_ops->txrx_host_ce_stats)
|
if (soc->ops->host_stats_ops->txrx_host_ce_stats)
|
||||||
return soc->ops->host_stats_ops->txrx_host_ce_stats(vdev);
|
return soc->ops->host_stats_ops->txrx_host_ce_stats(vdev);
|
||||||
@@ -63,7 +64,7 @@ cdp_host_ce_stats(ol_txrx_soc_handle soc, void *vdev)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static inline int cdp_stats_publish
|
static inline int cdp_stats_publish
|
||||||
(ol_txrx_soc_handle soc, void *pdev,
|
(ol_txrx_soc_handle soc, struct cdp_pdev *pdev,
|
||||||
struct ol_txrx_stats *buf)
|
struct ol_txrx_stats *buf)
|
||||||
{
|
{
|
||||||
if (soc->ops->host_stats_ops->txrx_stats_publish)
|
if (soc->ops->host_stats_ops->txrx_stats_publish)
|
||||||
@@ -77,7 +78,7 @@ static inline int cdp_stats_publish
|
|||||||
* @return - void
|
* @return - void
|
||||||
*/
|
*/
|
||||||
static inline void
|
static inline void
|
||||||
cdp_enable_enhanced_stats(ol_txrx_soc_handle soc, void *pdev)
|
cdp_enable_enhanced_stats(ol_txrx_soc_handle soc, struct cdp_pdev *pdev)
|
||||||
{
|
{
|
||||||
if (soc->ops->host_stats_ops->txrx_enable_enhanced_stats)
|
if (soc->ops->host_stats_ops->txrx_enable_enhanced_stats)
|
||||||
return soc->ops->host_stats_ops->txrx_enable_enhanced_stats
|
return soc->ops->host_stats_ops->txrx_enable_enhanced_stats
|
||||||
@@ -92,7 +93,7 @@ cdp_enable_enhanced_stats(ol_txrx_soc_handle soc, void *pdev)
|
|||||||
* @return - void
|
* @return - void
|
||||||
*/
|
*/
|
||||||
static inline void
|
static inline void
|
||||||
cdp_disable_enhanced_stats(ol_txrx_soc_handle soc, void *pdev)
|
cdp_disable_enhanced_stats(ol_txrx_soc_handle soc, struct cdp_pdev *pdev)
|
||||||
{
|
{
|
||||||
if (soc->ops->host_stats_ops->txrx_disable_enhanced_stats)
|
if (soc->ops->host_stats_ops->txrx_disable_enhanced_stats)
|
||||||
return soc->ops->host_stats_ops->txrx_disable_enhanced_stats
|
return soc->ops->host_stats_ops->txrx_disable_enhanced_stats
|
||||||
@@ -109,7 +110,7 @@ cdp_disable_enhanced_stats(ol_txrx_soc_handle soc, void *pdev)
|
|||||||
* @return - pointer to requested stat identified by type
|
* @return - pointer to requested stat identified by type
|
||||||
*/
|
*/
|
||||||
static inline uint32_t *cdp_get_stats_base
|
static inline uint32_t *cdp_get_stats_base
|
||||||
(ol_txrx_soc_handle soc, void *pdev,
|
(ol_txrx_soc_handle soc, struct cdp_pdev *pdev,
|
||||||
uint32_t *stats_base, uint32_t msg_len, uint8_t type)
|
uint32_t *stats_base, uint32_t msg_len, uint8_t type)
|
||||||
{
|
{
|
||||||
if (soc->ops->host_stats_ops->txrx_get_stats_base)
|
if (soc->ops->host_stats_ops->txrx_get_stats_base)
|
||||||
@@ -119,7 +120,7 @@ static inline uint32_t *cdp_get_stats_base
|
|||||||
}
|
}
|
||||||
static inline void
|
static inline void
|
||||||
cdp_tx_print_tso_stats(ol_txrx_soc_handle soc,
|
cdp_tx_print_tso_stats(ol_txrx_soc_handle soc,
|
||||||
void *vdev)
|
struct cdp_vdev *vdev)
|
||||||
{
|
{
|
||||||
if (soc->ops->host_stats_ops->tx_print_tso_stats)
|
if (soc->ops->host_stats_ops->tx_print_tso_stats)
|
||||||
return soc->ops->host_stats_ops->tx_print_tso_stats(vdev);
|
return soc->ops->host_stats_ops->tx_print_tso_stats(vdev);
|
||||||
@@ -127,7 +128,7 @@ cdp_tx_print_tso_stats(ol_txrx_soc_handle soc,
|
|||||||
}
|
}
|
||||||
|
|
||||||
static inline void
|
static inline void
|
||||||
cdp_tx_rst_tso_stats(ol_txrx_soc_handle soc, void *vdev)
|
cdp_tx_rst_tso_stats(ol_txrx_soc_handle soc, struct cdp_vdev *vdev)
|
||||||
{
|
{
|
||||||
if (soc->ops->host_stats_ops->tx_rst_tso_stats)
|
if (soc->ops->host_stats_ops->tx_rst_tso_stats)
|
||||||
return soc->ops->host_stats_ops->tx_rst_tso_stats(vdev);
|
return soc->ops->host_stats_ops->tx_rst_tso_stats(vdev);
|
||||||
@@ -136,7 +137,7 @@ cdp_tx_rst_tso_stats(ol_txrx_soc_handle soc, void *vdev)
|
|||||||
|
|
||||||
static inline void
|
static inline void
|
||||||
cdp_tx_print_sg_stats(ol_txrx_soc_handle soc,
|
cdp_tx_print_sg_stats(ol_txrx_soc_handle soc,
|
||||||
void *vdev)
|
struct cdp_vdev *vdev)
|
||||||
{
|
{
|
||||||
if (soc->ops->host_stats_ops->tx_print_sg_stats)
|
if (soc->ops->host_stats_ops->tx_print_sg_stats)
|
||||||
return soc->ops->host_stats_ops->tx_print_sg_stats(vdev);
|
return soc->ops->host_stats_ops->tx_print_sg_stats(vdev);
|
||||||
@@ -144,7 +145,7 @@ cdp_tx_print_sg_stats(ol_txrx_soc_handle soc,
|
|||||||
}
|
}
|
||||||
|
|
||||||
static inline void
|
static inline void
|
||||||
cdp_tx_rst_sg_stats(ol_txrx_soc_handle soc, void *vdev)
|
cdp_tx_rst_sg_stats(ol_txrx_soc_handle soc, struct cdp_vdev *vdev)
|
||||||
{
|
{
|
||||||
if (soc->ops->host_stats_ops->tx_rst_sg_stats)
|
if (soc->ops->host_stats_ops->tx_rst_sg_stats)
|
||||||
return soc->ops->host_stats_ops->tx_rst_sg_stats(vdev);
|
return soc->ops->host_stats_ops->tx_rst_sg_stats(vdev);
|
||||||
@@ -153,7 +154,7 @@ cdp_tx_rst_sg_stats(ol_txrx_soc_handle soc, void *vdev)
|
|||||||
|
|
||||||
static inline void
|
static inline void
|
||||||
cdp_print_rx_cksum_stats(ol_txrx_soc_handle soc,
|
cdp_print_rx_cksum_stats(ol_txrx_soc_handle soc,
|
||||||
void *vdev)
|
struct cdp_vdev *vdev)
|
||||||
{
|
{
|
||||||
if (soc->ops->host_stats_ops->print_rx_cksum_stats)
|
if (soc->ops->host_stats_ops->print_rx_cksum_stats)
|
||||||
return soc->ops->host_stats_ops->print_rx_cksum_stats(vdev);
|
return soc->ops->host_stats_ops->print_rx_cksum_stats(vdev);
|
||||||
@@ -161,7 +162,7 @@ cdp_print_rx_cksum_stats(ol_txrx_soc_handle soc,
|
|||||||
}
|
}
|
||||||
|
|
||||||
static inline void
|
static inline void
|
||||||
cdp_rst_rx_cksum_stats(ol_txrx_soc_handle soc, void *vdev)
|
cdp_rst_rx_cksum_stats(ol_txrx_soc_handle soc, struct cdp_vdev *vdev)
|
||||||
{
|
{
|
||||||
if (soc->ops->host_stats_ops->rst_rx_cksum_stats)
|
if (soc->ops->host_stats_ops->rst_rx_cksum_stats)
|
||||||
return soc->ops->host_stats_ops->rst_rx_cksum_stats(vdev);
|
return soc->ops->host_stats_ops->rst_rx_cksum_stats(vdev);
|
||||||
@@ -169,14 +170,14 @@ cdp_rst_rx_cksum_stats(ol_txrx_soc_handle soc, void *vdev)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static inline A_STATUS
|
static inline A_STATUS
|
||||||
cdp_host_me_stats(ol_txrx_soc_handle soc, void *vdev)
|
cdp_host_me_stats(ol_txrx_soc_handle soc, struct cdp_vdev *vdev)
|
||||||
{
|
{
|
||||||
if (soc->ops->host_stats_ops->txrx_host_me_stats)
|
if (soc->ops->host_stats_ops->txrx_host_me_stats)
|
||||||
return soc->ops->host_stats_ops->txrx_host_me_stats(vdev);
|
return soc->ops->host_stats_ops->txrx_host_me_stats(vdev);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
static inline void cdp_per_peer_stats
|
static inline void cdp_per_peer_stats
|
||||||
(ol_txrx_soc_handle soc, void *pdev, char *addr)
|
(ol_txrx_soc_handle soc, struct cdp_pdev *pdev, char *addr)
|
||||||
{
|
{
|
||||||
if (soc->ops->host_stats_ops->txrx_per_peer_stats)
|
if (soc->ops->host_stats_ops->txrx_per_peer_stats)
|
||||||
return soc->ops->host_stats_ops->txrx_per_peer_stats
|
return soc->ops->host_stats_ops->txrx_per_peer_stats
|
||||||
@@ -185,7 +186,7 @@ static inline void cdp_per_peer_stats
|
|||||||
}
|
}
|
||||||
|
|
||||||
static inline int cdp_host_msdu_ttl_stats(ol_txrx_soc_handle soc,
|
static inline int cdp_host_msdu_ttl_stats(ol_txrx_soc_handle soc,
|
||||||
void *vdev,
|
struct cdp_vdev *vdev,
|
||||||
struct ol_txrx_stats_req *req)
|
struct ol_txrx_stats_req *req)
|
||||||
{
|
{
|
||||||
if (soc->ops->host_stats_ops->txrx_host_msdu_ttl_stats)
|
if (soc->ops->host_stats_ops->txrx_host_msdu_ttl_stats)
|
||||||
@@ -197,7 +198,7 @@ static inline int cdp_host_msdu_ttl_stats(ol_txrx_soc_handle soc,
|
|||||||
|
|
||||||
|
|
||||||
static inline void
|
static inline void
|
||||||
cdp_print_lro_stats(ol_txrx_soc_handle soc, void *vdev)
|
cdp_print_lro_stats(ol_txrx_soc_handle soc, struct cdp_vdev *vdev)
|
||||||
{
|
{
|
||||||
if (soc->ops->host_stats_ops->print_lro_stats)
|
if (soc->ops->host_stats_ops->print_lro_stats)
|
||||||
return soc->ops->host_stats_ops->print_lro_stats(vdev);
|
return soc->ops->host_stats_ops->print_lro_stats(vdev);
|
||||||
@@ -205,7 +206,7 @@ cdp_print_lro_stats(ol_txrx_soc_handle soc, void *vdev)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static inline void
|
static inline void
|
||||||
cdp_reset_lro_stats(ol_txrx_soc_handle soc, void *vdev)
|
cdp_reset_lro_stats(ol_txrx_soc_handle soc, struct cdp_vdev *vdev)
|
||||||
{
|
{
|
||||||
if (soc->ops->host_stats_ops->reset_lro_stats)
|
if (soc->ops->host_stats_ops->reset_lro_stats)
|
||||||
return soc->ops->host_stats_ops->reset_lro_stats(vdev);
|
return soc->ops->host_stats_ops->reset_lro_stats(vdev);
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2016 The Linux Foundation. All rights reserved.
|
* Copyright (c) 2016-2017 The Linux Foundation. All rights reserved.
|
||||||
*
|
*
|
||||||
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
|
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
|
||||||
*
|
*
|
||||||
@@ -31,7 +31,7 @@
|
|||||||
#ifndef _CDP_TXRX_IPA_H_
|
#ifndef _CDP_TXRX_IPA_H_
|
||||||
#define _CDP_TXRX_IPA_H_
|
#define _CDP_TXRX_IPA_H_
|
||||||
#include <cdp_txrx_mob_def.h>
|
#include <cdp_txrx_mob_def.h>
|
||||||
|
#include "cdp_txrx_handle.h"
|
||||||
/**
|
/**
|
||||||
* cdp_ipa_get_resource() - Get allocated wlan resources for ipa data path
|
* cdp_ipa_get_resource() - Get allocated wlan resources for ipa data path
|
||||||
* @soc - data path soc handle
|
* @soc - data path soc handle
|
||||||
@@ -43,7 +43,7 @@
|
|||||||
* return none
|
* return none
|
||||||
*/
|
*/
|
||||||
static inline void
|
static inline void
|
||||||
cdp_ipa_get_resource(ol_txrx_soc_handle soc, void *pdev,
|
cdp_ipa_get_resource(ol_txrx_soc_handle soc, struct cdp_pdev *pdev,
|
||||||
struct ol_txrx_ipa_resources *ipa_res)
|
struct ol_txrx_ipa_resources *ipa_res)
|
||||||
{
|
{
|
||||||
if (!soc || !soc->ops || !soc->ops->ipa_ops) {
|
if (!soc || !soc->ops || !soc->ops->ipa_ops) {
|
||||||
@@ -70,7 +70,7 @@ cdp_ipa_get_resource(ol_txrx_soc_handle soc, void *pdev,
|
|||||||
* return none
|
* return none
|
||||||
*/
|
*/
|
||||||
static inline void
|
static inline void
|
||||||
cdp_ipa_set_doorbell_paddr(ol_txrx_soc_handle soc, void *pdev,
|
cdp_ipa_set_doorbell_paddr(ol_txrx_soc_handle soc, struct cdp_pdev *pdev,
|
||||||
qdf_dma_addr_t ipa_tx_uc_doorbell_paddr,
|
qdf_dma_addr_t ipa_tx_uc_doorbell_paddr,
|
||||||
qdf_dma_addr_t ipa_rx_uc_doorbell_paddr)
|
qdf_dma_addr_t ipa_rx_uc_doorbell_paddr)
|
||||||
{
|
{
|
||||||
@@ -99,7 +99,7 @@ cdp_ipa_set_doorbell_paddr(ol_txrx_soc_handle soc, void *pdev,
|
|||||||
* return none
|
* return none
|
||||||
*/
|
*/
|
||||||
static inline void
|
static inline void
|
||||||
cdp_ipa_set_active(ol_txrx_soc_handle soc, void *pdev,
|
cdp_ipa_set_active(ol_txrx_soc_handle soc, struct cdp_pdev *pdev,
|
||||||
bool uc_active, bool is_tx)
|
bool uc_active, bool is_tx)
|
||||||
{
|
{
|
||||||
if (!soc || !soc->ops || !soc->ops->ipa_ops) {
|
if (!soc || !soc->ops || !soc->ops->ipa_ops) {
|
||||||
@@ -126,7 +126,7 @@ cdp_ipa_set_active(ol_txrx_soc_handle soc, void *pdev,
|
|||||||
* return none
|
* return none
|
||||||
*/
|
*/
|
||||||
static inline void
|
static inline void
|
||||||
cdp_ipa_op_response(ol_txrx_soc_handle soc, void *pdev,
|
cdp_ipa_op_response(ol_txrx_soc_handle soc, struct cdp_pdev *pdev,
|
||||||
uint8_t *op_msg)
|
uint8_t *op_msg)
|
||||||
{
|
{
|
||||||
if (!soc || !soc->ops || !soc->ops->ipa_ops) {
|
if (!soc || !soc->ops || !soc->ops->ipa_ops) {
|
||||||
@@ -153,7 +153,7 @@ cdp_ipa_op_response(ol_txrx_soc_handle soc, void *pdev,
|
|||||||
* return none
|
* return none
|
||||||
*/
|
*/
|
||||||
static inline void
|
static inline void
|
||||||
cdp_ipa_register_op_cb(ol_txrx_soc_handle soc, void *pdev,
|
cdp_ipa_register_op_cb(ol_txrx_soc_handle soc, struct cdp_pdev *pdev,
|
||||||
ipa_op_cb_type op_cb, void *osif_dev)
|
ipa_op_cb_type op_cb, void *osif_dev)
|
||||||
{
|
{
|
||||||
if (!soc || !soc->ops || !soc->ops->ipa_ops) {
|
if (!soc || !soc->ops || !soc->ops->ipa_ops) {
|
||||||
@@ -179,7 +179,7 @@ cdp_ipa_register_op_cb(ol_txrx_soc_handle soc, void *pdev,
|
|||||||
* return none
|
* return none
|
||||||
*/
|
*/
|
||||||
static inline void
|
static inline void
|
||||||
cdp_ipa_get_stat(ol_txrx_soc_handle soc, void *pdev)
|
cdp_ipa_get_stat(ol_txrx_soc_handle soc, struct cdp_pdev *pdev)
|
||||||
{
|
{
|
||||||
if (!soc || !soc->ops || !soc->ops->ipa_ops) {
|
if (!soc || !soc->ops || !soc->ops->ipa_ops) {
|
||||||
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
|
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
|
||||||
@@ -201,7 +201,7 @@ cdp_ipa_get_stat(ol_txrx_soc_handle soc, void *pdev)
|
|||||||
* Return: skb/ NULL is for success
|
* Return: skb/ NULL is for success
|
||||||
*/
|
*/
|
||||||
static inline qdf_nbuf_t cdp_ipa_tx_send_data_frame(ol_txrx_soc_handle soc,
|
static inline qdf_nbuf_t cdp_ipa_tx_send_data_frame(ol_txrx_soc_handle soc,
|
||||||
void *vdev, qdf_nbuf_t skb)
|
struct cdp_vdev *vdev, qdf_nbuf_t skb)
|
||||||
{
|
{
|
||||||
if (!soc || !soc->ops || !soc->ops->ipa_ops) {
|
if (!soc || !soc->ops || !soc->ops->ipa_ops) {
|
||||||
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
|
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
|
||||||
@@ -223,7 +223,7 @@ static inline qdf_nbuf_t cdp_ipa_tx_send_data_frame(ol_txrx_soc_handle soc,
|
|||||||
* Return: none
|
* Return: none
|
||||||
*/
|
*/
|
||||||
static inline void cdp_ipa_set_uc_tx_partition_base(ol_txrx_soc_handle soc,
|
static inline void cdp_ipa_set_uc_tx_partition_base(ol_txrx_soc_handle soc,
|
||||||
void *pdev, uint32_t value)
|
struct cdp_cfg *cfg_pdev, uint32_t value)
|
||||||
{
|
{
|
||||||
if (!soc || !soc->ops || !soc->ops->ipa_ops) {
|
if (!soc || !soc->ops || !soc->ops->ipa_ops) {
|
||||||
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
|
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
|
||||||
@@ -232,7 +232,7 @@ static inline void cdp_ipa_set_uc_tx_partition_base(ol_txrx_soc_handle soc,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (soc->ops->ipa_ops->ipa_set_uc_tx_partition_base)
|
if (soc->ops->ipa_ops->ipa_set_uc_tx_partition_base)
|
||||||
return soc->ops->ipa_ops->ipa_set_uc_tx_partition_base(pdev,
|
return soc->ops->ipa_ops->ipa_set_uc_tx_partition_base(cfg_pdev,
|
||||||
value);
|
value);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2016 The Linux Foundation. All rights reserved.
|
* Copyright (c) 2016-2017 The Linux Foundation. All rights reserved.
|
||||||
*
|
*
|
||||||
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
|
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
|
||||||
*
|
*
|
||||||
@@ -34,10 +34,11 @@
|
|||||||
|
|
||||||
#include <cdp_txrx_ops.h>
|
#include <cdp_txrx_ops.h>
|
||||||
/* TODO: adf need to be replaced with qdf */
|
/* TODO: adf need to be replaced with qdf */
|
||||||
|
#include "cdp_txrx_handle.h"
|
||||||
|
|
||||||
static inline u_int16_t
|
static inline u_int16_t
|
||||||
cdp_tx_desc_alloc_and_mark_for_mcast_clone(ol_txrx_soc_handle soc,
|
cdp_tx_desc_alloc_and_mark_for_mcast_clone(ol_txrx_soc_handle soc,
|
||||||
void *pdev, u_int16_t buf_count)
|
struct cdp_pdev *pdev, u_int16_t buf_count)
|
||||||
{
|
{
|
||||||
if (soc->ops->me_ops->tx_desc_alloc_and_mark_for_mcast_clone)
|
if (soc->ops->me_ops->tx_desc_alloc_and_mark_for_mcast_clone)
|
||||||
return soc->ops->me_ops->
|
return soc->ops->me_ops->
|
||||||
@@ -48,7 +49,7 @@ cdp_tx_desc_alloc_and_mark_for_mcast_clone(ol_txrx_soc_handle soc,
|
|||||||
|
|
||||||
static inline u_int16_t
|
static inline u_int16_t
|
||||||
cdp_tx_desc_free_and_unmark_for_mcast_clone(ol_txrx_soc_handle soc,
|
cdp_tx_desc_free_and_unmark_for_mcast_clone(ol_txrx_soc_handle soc,
|
||||||
void *pdev, u_int16_t buf_count)
|
struct cdp_pdev *pdev, u_int16_t buf_count)
|
||||||
{
|
{
|
||||||
if (soc->ops->me_ops->tx_desc_free_and_unmark_for_mcast_clone)
|
if (soc->ops->me_ops->tx_desc_free_and_unmark_for_mcast_clone)
|
||||||
return soc->ops->me_ops->
|
return soc->ops->me_ops->
|
||||||
@@ -59,7 +60,7 @@ cdp_tx_desc_free_and_unmark_for_mcast_clone(ol_txrx_soc_handle soc,
|
|||||||
|
|
||||||
static inline u_int16_t
|
static inline u_int16_t
|
||||||
cdp_tx_get_mcast_buf_allocated_marked(ol_txrx_soc_handle soc,
|
cdp_tx_get_mcast_buf_allocated_marked(ol_txrx_soc_handle soc,
|
||||||
void *pdev)
|
struct cdp_pdev *pdev)
|
||||||
{
|
{
|
||||||
if (soc->ops->me_ops->tx_get_mcast_buf_allocated_marked)
|
if (soc->ops->me_ops->tx_get_mcast_buf_allocated_marked)
|
||||||
return soc->ops->me_ops->tx_get_mcast_buf_allocated_marked
|
return soc->ops->me_ops->tx_get_mcast_buf_allocated_marked
|
||||||
@@ -68,7 +69,7 @@ cdp_tx_get_mcast_buf_allocated_marked(ol_txrx_soc_handle soc,
|
|||||||
}
|
}
|
||||||
|
|
||||||
static inline void
|
static inline void
|
||||||
cdp_tx_me_alloc_descriptor(ol_txrx_soc_handle soc, void *pdev)
|
cdp_tx_me_alloc_descriptor(ol_txrx_soc_handle soc, struct cdp_pdev *pdev)
|
||||||
{
|
{
|
||||||
if (soc->ops->me_ops->tx_me_alloc_descriptor)
|
if (soc->ops->me_ops->tx_me_alloc_descriptor)
|
||||||
return soc->ops->me_ops->tx_me_alloc_descriptor(pdev);
|
return soc->ops->me_ops->tx_me_alloc_descriptor(pdev);
|
||||||
@@ -76,7 +77,7 @@ cdp_tx_me_alloc_descriptor(ol_txrx_soc_handle soc, void *pdev)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static inline void
|
static inline void
|
||||||
cdp_tx_me_free_descriptor(ol_txrx_soc_handle soc, void *pdev)
|
cdp_tx_me_free_descriptor(ol_txrx_soc_handle soc, struct cdp_pdev *pdev)
|
||||||
{
|
{
|
||||||
if (soc->ops->me_ops->tx_me_free_descriptor)
|
if (soc->ops->me_ops->tx_me_free_descriptor)
|
||||||
return soc->ops->me_ops->tx_me_free_descriptor(pdev);
|
return soc->ops->me_ops->tx_me_free_descriptor(pdev);
|
||||||
@@ -84,7 +85,7 @@ cdp_tx_me_free_descriptor(ol_txrx_soc_handle soc, void *pdev)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static inline uint16_t
|
static inline uint16_t
|
||||||
cdp_tx_me_convert_ucast(ol_txrx_soc_handle soc, void *vdev,
|
cdp_tx_me_convert_ucast(ol_txrx_soc_handle soc, struct cdp_vdev *vdev,
|
||||||
qdf_nbuf_t wbuf, u_int8_t newmac[][6], uint8_t newmaccnt)
|
qdf_nbuf_t wbuf, u_int8_t newmac[][6], uint8_t newmaccnt)
|
||||||
{
|
{
|
||||||
if (soc->ops->me_ops->tx_me_convert_ucast)
|
if (soc->ops->me_ops->tx_me_convert_ucast)
|
||||||
@@ -104,8 +105,8 @@ cdp_tx_me_convert_ucast(ol_txrx_soc_handle soc, void *vdev,
|
|||||||
* @param msdu - the multicast msdu returned by FW for host inspect
|
* @param msdu - the multicast msdu returned by FW for host inspect
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static inline int cdp_mcast_notify(ol_txrx_soc_handle soc, void *pdev,
|
static inline int cdp_mcast_notify(ol_txrx_soc_handle soc,
|
||||||
u_int8_t vdev_id, qdf_nbuf_t msdu)
|
struct cdp_pdev *pdev, u_int8_t vdev_id, qdf_nbuf_t msdu)
|
||||||
{
|
{
|
||||||
if (soc->ops->me_ops->mcast_notify)
|
if (soc->ops->me_ops->mcast_notify)
|
||||||
return soc->ops->me_ops->mcast_notify(pdev, vdev_id, msdu);
|
return soc->ops->me_ops->mcast_notify(pdev, vdev_id, msdu);
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2016 The Linux Foundation. All rights reserved.
|
* Copyright (c) 2016-2017 The Linux Foundation. All rights reserved.
|
||||||
*
|
*
|
||||||
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
|
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
|
||||||
*
|
*
|
||||||
@@ -32,6 +32,7 @@
|
|||||||
#ifndef _CDP_TXRX_MISC_H_
|
#ifndef _CDP_TXRX_MISC_H_
|
||||||
#define _CDP_TXRX_MISC_H_
|
#define _CDP_TXRX_MISC_H_
|
||||||
|
|
||||||
|
#include "cdp_txrx_handle.h"
|
||||||
/**
|
/**
|
||||||
* cdp_tx_non_std() - Allow the control-path SW to send data frames
|
* cdp_tx_non_std() - Allow the control-path SW to send data frames
|
||||||
*
|
*
|
||||||
@@ -56,7 +57,7 @@
|
|||||||
* Return: null - success, skb - failure
|
* Return: null - success, skb - failure
|
||||||
*/
|
*/
|
||||||
static inline qdf_nbuf_t
|
static inline qdf_nbuf_t
|
||||||
cdp_tx_non_std(ol_txrx_soc_handle soc, void *vdev,
|
cdp_tx_non_std(ol_txrx_soc_handle soc, struct cdp_vdev *vdev,
|
||||||
enum ol_tx_spec tx_spec, qdf_nbuf_t msdu_list)
|
enum ol_tx_spec tx_spec, qdf_nbuf_t msdu_list)
|
||||||
{
|
{
|
||||||
if (!soc || !soc->ops || !soc->ops->misc_ops) {
|
if (!soc || !soc->ops || !soc->ops->misc_ops) {
|
||||||
@@ -81,8 +82,8 @@ cdp_tx_non_std(ol_txrx_soc_handle soc, void *vdev,
|
|||||||
* Return: Old timer value set in vdev.
|
* Return: Old timer value set in vdev.
|
||||||
*/
|
*/
|
||||||
static inline uint16_t
|
static inline uint16_t
|
||||||
cdp_set_ibss_vdev_heart_beat_timer(ol_txrx_soc_handle soc, void *vdev,
|
cdp_set_ibss_vdev_heart_beat_timer(ol_txrx_soc_handle soc,
|
||||||
uint16_t timer_value_sec)
|
struct cdp_vdev *vdev, uint16_t timer_value_sec)
|
||||||
{
|
{
|
||||||
if (!soc || !soc->ops || !soc->ops->misc_ops) {
|
if (!soc || !soc->ops || !soc->ops->misc_ops) {
|
||||||
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
|
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
|
||||||
@@ -106,7 +107,7 @@ cdp_set_ibss_vdev_heart_beat_timer(ol_txrx_soc_handle soc, void *vdev,
|
|||||||
* Return: QDF_STATUS_SUCCESS mode enable success
|
* Return: QDF_STATUS_SUCCESS mode enable success
|
||||||
*/
|
*/
|
||||||
static inline QDF_STATUS
|
static inline QDF_STATUS
|
||||||
cdp_set_wisa_mode(ol_txrx_soc_handle soc, void *vdev, bool enable)
|
cdp_set_wisa_mode(ol_txrx_soc_handle soc, struct cdp_vdev *vdev, bool enable)
|
||||||
{
|
{
|
||||||
if (!soc || !soc->ops || !soc->ops->misc_ops) {
|
if (!soc || !soc->ops || !soc->ops->misc_ops) {
|
||||||
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
|
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
|
||||||
@@ -128,7 +129,7 @@ cdp_set_wisa_mode(ol_txrx_soc_handle soc, void *vdev, bool enable)
|
|||||||
* Return: none
|
* Return: none
|
||||||
*/
|
*/
|
||||||
static inline void
|
static inline void
|
||||||
cdp_set_wmm_param(ol_txrx_soc_handle soc, void *pdev,
|
cdp_set_wmm_param(ol_txrx_soc_handle soc, struct cdp_pdev *pdev,
|
||||||
struct ol_tx_wmm_param_t wmm_param)
|
struct ol_tx_wmm_param_t wmm_param)
|
||||||
{
|
{
|
||||||
if (!soc || !soc->ops || !soc->ops->misc_ops) {
|
if (!soc || !soc->ops || !soc->ops->misc_ops) {
|
||||||
@@ -152,7 +153,7 @@ cdp_set_wmm_param(ol_txrx_soc_handle soc, void *pdev,
|
|||||||
* Return: QDF_STATUS_SUCCESS suspend success
|
* Return: QDF_STATUS_SUCCESS suspend success
|
||||||
*/
|
*/
|
||||||
static inline QDF_STATUS cdp_runtime_suspend(ol_txrx_soc_handle soc,
|
static inline QDF_STATUS cdp_runtime_suspend(ol_txrx_soc_handle soc,
|
||||||
void *pdev)
|
struct cdp_pdev *pdev)
|
||||||
{
|
{
|
||||||
if (!soc || !soc->ops || !soc->ops->misc_ops) {
|
if (!soc || !soc->ops || !soc->ops->misc_ops) {
|
||||||
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
|
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
|
||||||
@@ -174,7 +175,7 @@ static inline QDF_STATUS cdp_runtime_suspend(ol_txrx_soc_handle soc,
|
|||||||
* Return: QDF_STATUS_SUCCESS suspend success
|
* Return: QDF_STATUS_SUCCESS suspend success
|
||||||
*/
|
*/
|
||||||
static inline QDF_STATUS cdp_runtime_resume(ol_txrx_soc_handle soc,
|
static inline QDF_STATUS cdp_runtime_resume(ol_txrx_soc_handle soc,
|
||||||
void *pdev)
|
struct cdp_pdev *pdev)
|
||||||
{
|
{
|
||||||
if (!soc || !soc->ops || !soc->ops->misc_ops) {
|
if (!soc || !soc->ops || !soc->ops->misc_ops) {
|
||||||
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
|
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
|
||||||
@@ -197,7 +198,7 @@ static inline QDF_STATUS cdp_runtime_resume(ol_txrx_soc_handle soc,
|
|||||||
* Return: none
|
* Return: none
|
||||||
*/
|
*/
|
||||||
static inline void
|
static inline void
|
||||||
cdp_hl_tdls_flag_reset(ol_txrx_soc_handle soc, void *vdev, bool flag)
|
cdp_hl_tdls_flag_reset(ol_txrx_soc_handle soc, struct cdp_vdev *vdev, bool flag)
|
||||||
{
|
{
|
||||||
if (!soc || !soc->ops || !soc->ops->misc_ops) {
|
if (!soc || !soc->ops || !soc->ops->misc_ops) {
|
||||||
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
|
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
|
||||||
@@ -227,7 +228,7 @@ cdp_hl_tdls_flag_reset(ol_txrx_soc_handle soc, void *vdev, bool flag)
|
|||||||
* 0 unknown interface
|
* 0 unknown interface
|
||||||
*/
|
*/
|
||||||
static inline int
|
static inline int
|
||||||
cdp_get_opmode(ol_txrx_soc_handle soc, void *vdev)
|
cdp_get_opmode(ol_txrx_soc_handle soc, struct cdp_vdev *vdev)
|
||||||
{
|
{
|
||||||
if (!soc || !soc->ops || !soc->ops->misc_ops) {
|
if (!soc || !soc->ops || !soc->ops->misc_ops) {
|
||||||
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
|
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
|
||||||
@@ -251,7 +252,7 @@ cdp_get_opmode(ol_txrx_soc_handle soc, void *vdev)
|
|||||||
* 0 unknown interface
|
* 0 unknown interface
|
||||||
*/
|
*/
|
||||||
static inline uint16_t
|
static inline uint16_t
|
||||||
cdp_get_vdev_id(ol_txrx_soc_handle soc, void *vdev)
|
cdp_get_vdev_id(ol_txrx_soc_handle soc, struct cdp_vdev *vdev)
|
||||||
{
|
{
|
||||||
if (!soc || !soc->ops || !soc->ops->misc_ops) {
|
if (!soc || !soc->ops || !soc->ops->misc_ops) {
|
||||||
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
|
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
|
||||||
@@ -277,7 +278,7 @@ cdp_get_vdev_id(ol_txrx_soc_handle soc, void *vdev)
|
|||||||
* Return: none
|
* Return: none
|
||||||
*/
|
*/
|
||||||
static inline void
|
static inline void
|
||||||
cdp_bad_peer_txctl_set_setting(ol_txrx_soc_handle soc, void *pdev,
|
cdp_bad_peer_txctl_set_setting(ol_txrx_soc_handle soc, struct cdp_pdev *pdev,
|
||||||
int enable, int period, int txq_limit)
|
int enable, int period, int txq_limit)
|
||||||
{
|
{
|
||||||
if (!soc || !soc->ops || !soc->ops->misc_ops) {
|
if (!soc || !soc->ops || !soc->ops->misc_ops) {
|
||||||
@@ -305,7 +306,8 @@ cdp_bad_peer_txctl_set_setting(ol_txrx_soc_handle soc, void *pdev,
|
|||||||
* Return: none
|
* Return: none
|
||||||
*/
|
*/
|
||||||
static inline void
|
static inline void
|
||||||
cdp_bad_peer_txctl_update_threshold(ol_txrx_soc_handle soc, void *pdev,
|
cdp_bad_peer_txctl_update_threshold(ol_txrx_soc_handle soc,
|
||||||
|
struct cdp_pdev *pdev,
|
||||||
int level, int tput_thresh, int tx_limit)
|
int level, int tput_thresh, int tx_limit)
|
||||||
{
|
{
|
||||||
if (!soc || !soc->ops || !soc->ops->misc_ops) {
|
if (!soc || !soc->ops || !soc->ops->misc_ops) {
|
||||||
@@ -422,8 +424,8 @@ static inline A_STATUS cdp_get_intra_bss_fwd_pkts_count(
|
|||||||
*
|
*
|
||||||
* Return: void
|
* Return: void
|
||||||
*/
|
*/
|
||||||
static inline void cdp_pkt_log_init(ol_txrx_soc_handle soc, void *pdev,
|
static inline void cdp_pkt_log_init(ol_txrx_soc_handle soc,
|
||||||
void *scn)
|
struct cdp_pdev *pdev, void *scn)
|
||||||
{
|
{
|
||||||
if (!soc || !soc->ops || !soc->ops->misc_ops) {
|
if (!soc || !soc->ops || !soc->ops->misc_ops) {
|
||||||
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
|
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
|
||||||
@@ -445,7 +447,7 @@ static inline void cdp_pkt_log_init(ol_txrx_soc_handle soc, void *pdev,
|
|||||||
* Return: void
|
* Return: void
|
||||||
*/
|
*/
|
||||||
static inline void cdp_pkt_log_con_service(ol_txrx_soc_handle soc,
|
static inline void cdp_pkt_log_con_service(ol_txrx_soc_handle soc,
|
||||||
void *pdev, void *scn)
|
struct cdp_pdev *pdev, void *scn)
|
||||||
{
|
{
|
||||||
if (!soc || !soc->ops || !soc->ops->misc_ops) {
|
if (!soc || !soc->ops || !soc->ops->misc_ops) {
|
||||||
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
|
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2016 The Linux Foundation. All rights reserved.
|
* Copyright (c) 2016-2017 The Linux Foundation. All rights reserved.
|
||||||
*
|
*
|
||||||
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
|
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
|
||||||
*
|
*
|
||||||
@@ -32,9 +32,9 @@
|
|||||||
|
|
||||||
#ifndef _CDP_TXRX_MON_H_
|
#ifndef _CDP_TXRX_MON_H_
|
||||||
#define _CDP_TXRX_MON_H_
|
#define _CDP_TXRX_MON_H_
|
||||||
|
#include "cdp_txrx_handle.h"
|
||||||
static inline void cdp_monitor_set_filter_ucast_data
|
static inline void cdp_monitor_set_filter_ucast_data
|
||||||
(ol_txrx_soc_handle soc, void *pdev, u_int8_t val)
|
(ol_txrx_soc_handle soc, struct cdp_pdev *pdev, u_int8_t val)
|
||||||
{
|
{
|
||||||
if (soc->ops->mon_ops->txrx_monitor_set_filter_ucast_data)
|
if (soc->ops->mon_ops->txrx_monitor_set_filter_ucast_data)
|
||||||
return soc->ops->mon_ops->txrx_monitor_set_filter_ucast_data
|
return soc->ops->mon_ops->txrx_monitor_set_filter_ucast_data
|
||||||
@@ -42,7 +42,7 @@ static inline void cdp_monitor_set_filter_ucast_data
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
static inline void cdp_monitor_set_filter_mcast_data
|
static inline void cdp_monitor_set_filter_mcast_data
|
||||||
(ol_txrx_soc_handle soc, void *pdev, u_int8_t val)
|
(ol_txrx_soc_handle soc, struct cdp_pdev *pdev, u_int8_t val)
|
||||||
{
|
{
|
||||||
if (soc->ops->mon_ops->txrx_monitor_set_filter_mcast_data)
|
if (soc->ops->mon_ops->txrx_monitor_set_filter_mcast_data)
|
||||||
return soc->ops->mon_ops->txrx_monitor_set_filter_mcast_data
|
return soc->ops->mon_ops->txrx_monitor_set_filter_mcast_data
|
||||||
@@ -50,7 +50,7 @@ static inline void cdp_monitor_set_filter_mcast_data
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
static inline void cdp_monitor_set_filter_non_data
|
static inline void cdp_monitor_set_filter_non_data
|
||||||
(ol_txrx_soc_handle soc, void *pdev, u_int8_t val)
|
(ol_txrx_soc_handle soc, struct cdp_pdev *pdev, u_int8_t val)
|
||||||
{
|
{
|
||||||
if (soc->ops->mon_ops->txrx_monitor_set_filter_non_data)
|
if (soc->ops->mon_ops->txrx_monitor_set_filter_non_data)
|
||||||
return soc->ops->mon_ops->txrx_monitor_set_filter_non_data
|
return soc->ops->mon_ops->txrx_monitor_set_filter_non_data
|
||||||
@@ -59,7 +59,7 @@ static inline void cdp_monitor_set_filter_non_data
|
|||||||
}
|
}
|
||||||
|
|
||||||
static inline u_int8_t cdp_monitor_get_filter_ucast_data(ol_txrx_soc_handle soc,
|
static inline u_int8_t cdp_monitor_get_filter_ucast_data(ol_txrx_soc_handle soc,
|
||||||
void *vdev_txrx_handle)
|
struct cdp_vdev *vdev_txrx_handle)
|
||||||
{
|
{
|
||||||
if (soc->ops->mon_ops->txrx_monitor_get_filter_ucast_data)
|
if (soc->ops->mon_ops->txrx_monitor_get_filter_ucast_data)
|
||||||
return soc->ops->mon_ops->txrx_monitor_get_filter_ucast_data
|
return soc->ops->mon_ops->txrx_monitor_get_filter_ucast_data
|
||||||
@@ -67,7 +67,7 @@ static inline u_int8_t cdp_monitor_get_filter_ucast_data(ol_txrx_soc_handle soc,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
static inline u_int8_t cdp_monitor_get_filter_mcast_data(ol_txrx_soc_handle soc,
|
static inline u_int8_t cdp_monitor_get_filter_mcast_data(ol_txrx_soc_handle soc,
|
||||||
void *vdev_txrx_handle)
|
struct cdp_vdev *vdev_txrx_handle)
|
||||||
{
|
{
|
||||||
if (soc->ops->mon_ops->txrx_monitor_get_filter_mcast_data)
|
if (soc->ops->mon_ops->txrx_monitor_get_filter_mcast_data)
|
||||||
return soc->ops->mon_ops->txrx_monitor_get_filter_mcast_data
|
return soc->ops->mon_ops->txrx_monitor_get_filter_mcast_data
|
||||||
@@ -75,7 +75,7 @@ static inline u_int8_t cdp_monitor_get_filter_mcast_data(ol_txrx_soc_handle soc,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
static inline u_int8_t cdp_monitor_get_filter_non_data(ol_txrx_soc_handle soc,
|
static inline u_int8_t cdp_monitor_get_filter_non_data(ol_txrx_soc_handle soc,
|
||||||
void *vdev_txrx_handle)
|
struct cdp_vdev *vdev_txrx_handle)
|
||||||
{
|
{
|
||||||
if (soc->ops->mon_ops->txrx_monitor_get_filter_non_data)
|
if (soc->ops->mon_ops->txrx_monitor_get_filter_non_data)
|
||||||
return soc->ops->mon_ops->txrx_monitor_get_filter_non_data
|
return soc->ops->mon_ops->txrx_monitor_get_filter_non_data
|
||||||
@@ -83,7 +83,7 @@ static inline u_int8_t cdp_monitor_get_filter_non_data(ol_txrx_soc_handle soc,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
static inline int cdp_reset_monitor_mode
|
static inline int cdp_reset_monitor_mode
|
||||||
(ol_txrx_soc_handle soc, void *pdev)
|
(ol_txrx_soc_handle soc, struct cdp_pdev *pdev)
|
||||||
{
|
{
|
||||||
if (soc->ops->mon_ops->txrx_reset_monitor_mode)
|
if (soc->ops->mon_ops->txrx_reset_monitor_mode)
|
||||||
return soc->ops->mon_ops->txrx_reset_monitor_mode(pdev);
|
return soc->ops->mon_ops->txrx_reset_monitor_mode(pdev);
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2016 The Linux Foundation. All rights reserved.
|
* Copyright (c) 2016-2017 The Linux Foundation. All rights reserved.
|
||||||
*
|
*
|
||||||
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
|
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
|
||||||
*
|
*
|
||||||
@@ -28,7 +28,7 @@
|
|||||||
#ifndef _CDP_TXRX_OCB_H_
|
#ifndef _CDP_TXRX_OCB_H_
|
||||||
#define _CDP_TXRX_OCB_H_
|
#define _CDP_TXRX_OCB_H_
|
||||||
#include <cdp_txrx_mob_def.h>
|
#include <cdp_txrx_mob_def.h>
|
||||||
|
#include "cdp_txrx_handle.h"
|
||||||
/**
|
/**
|
||||||
* cdp_set_ocb_chan_info() - set OCB channel info to vdev.
|
* cdp_set_ocb_chan_info() - set OCB channel info to vdev.
|
||||||
* @soc - data path soc handle
|
* @soc - data path soc handle
|
||||||
@@ -38,7 +38,7 @@
|
|||||||
* Return: NONE
|
* Return: NONE
|
||||||
*/
|
*/
|
||||||
static inline void
|
static inline void
|
||||||
cdp_set_ocb_chan_info(ol_txrx_soc_handle soc, void *vdev,
|
cdp_set_ocb_chan_info(ol_txrx_soc_handle soc, struct cdp_vdev *vdev,
|
||||||
struct ol_txrx_ocb_set_chan ocb_set_chan)
|
struct ol_txrx_ocb_set_chan ocb_set_chan)
|
||||||
{
|
{
|
||||||
if (!soc || !soc->ops || !soc->ops->ocb_ops) {
|
if (!soc || !soc->ops || !soc->ops->ocb_ops) {
|
||||||
@@ -61,7 +61,7 @@ cdp_set_ocb_chan_info(ol_txrx_soc_handle soc, void *vdev,
|
|||||||
* Return: handle to struct ol_txrx_ocb_chan_info
|
* Return: handle to struct ol_txrx_ocb_chan_info
|
||||||
*/
|
*/
|
||||||
static inline struct ol_txrx_ocb_chan_info *
|
static inline struct ol_txrx_ocb_chan_info *
|
||||||
cdp_get_ocb_chan_info(ol_txrx_soc_handle soc, void *vdev)
|
cdp_get_ocb_chan_info(ol_txrx_soc_handle soc, struct cdp_vdev *vdev)
|
||||||
{
|
{
|
||||||
if (!soc || !soc->ops || !soc->ops->ocb_ops) {
|
if (!soc || !soc->ops || !soc->ops->ocb_ops) {
|
||||||
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
|
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
|
||||||
|
@@ -30,6 +30,7 @@
|
|||||||
#ifdef CONFIG_WIN
|
#ifdef CONFIG_WIN
|
||||||
#include <cdp_txrx_stats_struct.h>
|
#include <cdp_txrx_stats_struct.h>
|
||||||
#endif
|
#endif
|
||||||
|
#include "cdp_txrx_handle.h"
|
||||||
|
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
*
|
*
|
||||||
@@ -39,55 +40,55 @@
|
|||||||
|
|
||||||
struct cdp_cmn_ops {
|
struct cdp_cmn_ops {
|
||||||
|
|
||||||
int(*txrx_soc_attach_target)(ol_txrx_soc_handle soc);
|
int (*txrx_soc_attach_target)(ol_txrx_soc_handle soc);
|
||||||
|
|
||||||
int(*txrx_pdev_attach_target)(void *pdev);
|
int (*txrx_pdev_attach_target)(struct cdp_pdev *pdev);
|
||||||
|
|
||||||
void *(*txrx_vdev_attach)
|
struct cdp_vdev *(*txrx_vdev_attach)
|
||||||
(void *pdev, uint8_t *vdev_mac_addr,
|
(struct cdp_pdev *pdev, uint8_t *vdev_mac_addr,
|
||||||
uint8_t vdev_id, enum wlan_op_mode op_mode);
|
uint8_t vdev_id, enum wlan_op_mode op_mode);
|
||||||
|
|
||||||
void(*txrx_vdev_detach)
|
void (*txrx_vdev_detach)
|
||||||
(void *vdev, ol_txrx_vdev_delete_cb callback,
|
(struct cdp_vdev *vdev, ol_txrx_vdev_delete_cb callback,
|
||||||
void *cb_context);
|
void *cb_context);
|
||||||
|
|
||||||
void *(*txrx_pdev_attach)
|
struct cdp_pdev *(*txrx_pdev_attach)
|
||||||
(ol_txrx_soc_handle soc, void *ctrl_pdev,
|
(ol_txrx_soc_handle soc, struct cdp_cfg *ctrl_pdev,
|
||||||
HTC_HANDLE htc_pdev, qdf_device_t osdev, uint8_t pdev_id);
|
HTC_HANDLE htc_pdev, qdf_device_t osdev, uint8_t pdev_id);
|
||||||
|
|
||||||
int (*txrx_pdev_post_attach)(void *pdev);
|
int (*txrx_pdev_post_attach)(struct cdp_pdev *pdev);
|
||||||
|
|
||||||
void(*txrx_pdev_detach)(void *pdev, int force);
|
void (*txrx_pdev_detach)(struct cdp_pdev *pdev, int force);
|
||||||
|
|
||||||
void *(*txrx_peer_create)
|
void *(*txrx_peer_create)
|
||||||
(void *vdev, uint8_t *peer_mac_addr);
|
(struct cdp_vdev *vdev, uint8_t *peer_mac_addr);
|
||||||
|
|
||||||
void (*txrx_peer_setup)
|
void (*txrx_peer_setup)
|
||||||
(void *vdev_hdl, void *peer_hdl);
|
(struct cdp_vdev *vdev_hdl, void *peer_hdl);
|
||||||
|
|
||||||
void (*txrx_peer_teardown)
|
void (*txrx_peer_teardown)
|
||||||
(void *vdev_hdl, void *peer_hdl);
|
(struct cdp_vdev *vdev_hdl, void *peer_hdl);
|
||||||
|
|
||||||
void(*txrx_peer_delete)(void *peer);
|
void (*txrx_peer_delete)(void *peer);
|
||||||
|
|
||||||
int(*txrx_set_monitor_mode)(void *vdev);
|
int (*txrx_set_monitor_mode)(struct cdp_vdev *vdev);
|
||||||
|
|
||||||
void(*txrx_set_curchan)(void *pdev, uint32_t chan_mhz);
|
void (*txrx_set_curchan)(struct cdp_pdev *pdev, uint32_t chan_mhz);
|
||||||
|
|
||||||
void (*txrx_set_privacy_filters)
|
void (*txrx_set_privacy_filters)
|
||||||
(void *vdev, void *filter, uint32_t num);
|
(struct cdp_vdev *vdev, void *filter, uint32_t num);
|
||||||
|
|
||||||
/********************************************************************
|
/********************************************************************
|
||||||
* Data Interface (B Interface)
|
* Data Interface (B Interface)
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
|
||||||
void(*txrx_vdev_register)(void *vdev,
|
void (*txrx_vdev_register)(struct cdp_vdev *vdev,
|
||||||
void *osif_vdev, struct ol_txrx_ops *txrx_ops);
|
void *osif_vdev, struct ol_txrx_ops *txrx_ops);
|
||||||
|
|
||||||
int(*txrx_mgmt_send)(void *vdev,
|
int (*txrx_mgmt_send)(struct cdp_vdev *vdev,
|
||||||
qdf_nbuf_t tx_mgmt_frm, uint8_t type);
|
qdf_nbuf_t tx_mgmt_frm, uint8_t type);
|
||||||
|
|
||||||
int(*txrx_mgmt_send_ext)(void *vdev,
|
int (*txrx_mgmt_send_ext)(struct cdp_vdev *vdev,
|
||||||
qdf_nbuf_t tx_mgmt_frm, uint8_t type, uint8_t use_6mbps,
|
qdf_nbuf_t tx_mgmt_frm, uint8_t type, uint8_t use_6mbps,
|
||||||
uint16_t chanfreq);
|
uint16_t chanfreq);
|
||||||
|
|
||||||
@@ -96,12 +97,12 @@ struct cdp_cmn_ops {
|
|||||||
* callback function
|
* callback function
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void(*txrx_mgmt_tx_cb_set)
|
void (*txrx_mgmt_tx_cb_set)
|
||||||
(void *pdev, uint8_t type,
|
(struct cdp_pdev *pdev, uint8_t type,
|
||||||
ol_txrx_mgmt_tx_cb download_cb, ol_txrx_mgmt_tx_cb ota_ack_cb,
|
ol_txrx_mgmt_tx_cb download_cb, ol_txrx_mgmt_tx_cb ota_ack_cb,
|
||||||
void *ctxt);
|
void *ctxt);
|
||||||
|
|
||||||
int (*txrx_get_tx_pending)(void *pdev);
|
int (*txrx_get_tx_pending)(struct cdp_pdev *pdev);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ol_txrx_data_tx_cb - Function registered with the data path
|
* ol_txrx_data_tx_cb - Function registered with the data path
|
||||||
@@ -109,25 +110,26 @@ struct cdp_cmn_ops {
|
|||||||
* done being transmitted
|
* done being transmitted
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void(*txrx_data_tx_cb_set)(void *data_vdev,
|
void (*txrx_data_tx_cb_set)(struct cdp_vdev *data_vdev,
|
||||||
ol_txrx_data_tx_cb callback, void *ctxt);
|
ol_txrx_data_tx_cb callback, void *ctxt);
|
||||||
|
|
||||||
/*******************************************************************
|
/*******************************************************************
|
||||||
* Statistics and Debugging Interface (C Inteface)
|
* Statistics and Debugging Interface (C Inteface)
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
|
||||||
int(*txrx_aggr_cfg)(void *vdev, int max_subfrms_ampdu,
|
int (*txrx_aggr_cfg)(struct cdp_vdev *vdev, int max_subfrms_ampdu,
|
||||||
int max_subfrms_amsdu);
|
int max_subfrms_amsdu);
|
||||||
|
|
||||||
A_STATUS(*txrx_fw_stats_get)(void *vdev, struct ol_txrx_stats_req *req,
|
A_STATUS (*txrx_fw_stats_get)(struct cdp_vdev *vdev,
|
||||||
|
struct ol_txrx_stats_req *req,
|
||||||
bool per_vdev, bool response_expected);
|
bool per_vdev, bool response_expected);
|
||||||
|
|
||||||
int(*txrx_debug)(void *vdev, int debug_specs);
|
int (*txrx_debug)(struct cdp_vdev *vdev, int debug_specs);
|
||||||
|
|
||||||
void(*txrx_fw_stats_cfg)(void *vdev,
|
void (*txrx_fw_stats_cfg)(struct cdp_vdev *vdev,
|
||||||
uint8_t cfg_stats_type, uint32_t cfg_val);
|
uint8_t cfg_stats_type, uint32_t cfg_val);
|
||||||
|
|
||||||
void(*txrx_print_level_set)(unsigned level);
|
void (*txrx_print_level_set)(unsigned level);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ol_txrx_get_vdev_mac_addr() - Return mac addr of vdev
|
* ol_txrx_get_vdev_mac_addr() - Return mac addr of vdev
|
||||||
@@ -135,7 +137,7 @@ struct cdp_cmn_ops {
|
|||||||
*
|
*
|
||||||
* Return: vdev mac address
|
* Return: vdev mac address
|
||||||
*/
|
*/
|
||||||
uint8_t *(*txrx_get_vdev_mac_addr)(void *vdev);
|
uint8_t * (*txrx_get_vdev_mac_addr)(struct cdp_vdev *vdev);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ol_txrx_get_vdev_struct_mac_addr() - Return handle to struct qdf_mac_addr of
|
* ol_txrx_get_vdev_struct_mac_addr() - Return handle to struct qdf_mac_addr of
|
||||||
@@ -145,7 +147,7 @@ struct cdp_cmn_ops {
|
|||||||
* Return: Handle to struct qdf_mac_addr
|
* Return: Handle to struct qdf_mac_addr
|
||||||
*/
|
*/
|
||||||
struct qdf_mac_addr *
|
struct qdf_mac_addr *
|
||||||
(*txrx_get_vdev_struct_mac_addr)(void *vdev);
|
(*txrx_get_vdev_struct_mac_addr)(struct cdp_vdev *vdev);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ol_txrx_get_pdev_from_vdev() - Return handle to pdev of vdev
|
* ol_txrx_get_pdev_from_vdev() - Return handle to pdev of vdev
|
||||||
@@ -153,8 +155,8 @@ struct cdp_cmn_ops {
|
|||||||
*
|
*
|
||||||
* Return: Handle to pdev
|
* Return: Handle to pdev
|
||||||
*/
|
*/
|
||||||
void *(*txrx_get_pdev_from_vdev)
|
struct cdp_pdev *(*txrx_get_pdev_from_vdev)
|
||||||
(void *vdev);
|
(struct cdp_vdev *vdev);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ol_txrx_get_ctrl_pdev_from_vdev() - Return control pdev of vdev
|
* ol_txrx_get_ctrl_pdev_from_vdev() - Return control pdev of vdev
|
||||||
@@ -162,11 +164,12 @@ struct cdp_cmn_ops {
|
|||||||
*
|
*
|
||||||
* Return: Handle to control pdev
|
* Return: Handle to control pdev
|
||||||
*/
|
*/
|
||||||
void *
|
struct cdp_cfg *
|
||||||
(*txrx_get_ctrl_pdev_from_vdev)(void *vdev);
|
(*txrx_get_ctrl_pdev_from_vdev)(struct cdp_vdev *vdev);
|
||||||
|
|
||||||
void *
|
struct cdp_vdev *
|
||||||
(*txrx_get_vdev_from_vdev_id)(void *pdev, uint8_t vdev_id);
|
(*txrx_get_vdev_from_vdev_id)(struct cdp_pdev *pdev,
|
||||||
|
uint8_t vdev_id);
|
||||||
|
|
||||||
void (*txrx_soc_detach)(void *soc);
|
void (*txrx_soc_detach)(void *soc);
|
||||||
|
|
||||||
@@ -188,7 +191,7 @@ struct cdp_ctrl_ops {
|
|||||||
(*txrx_mempools_attach)(void *ctrl_pdev);
|
(*txrx_mempools_attach)(void *ctrl_pdev);
|
||||||
int
|
int
|
||||||
(*txrx_set_filter_neighbour_peers)(
|
(*txrx_set_filter_neighbour_peers)(
|
||||||
void *pdev,
|
struct cdp_pdev *pdev,
|
||||||
u_int32_t val);
|
u_int32_t val);
|
||||||
/**
|
/**
|
||||||
* @brief set the safemode of the device
|
* @brief set the safemode of the device
|
||||||
@@ -205,7 +208,7 @@ struct cdp_ctrl_ops {
|
|||||||
|
|
||||||
void
|
void
|
||||||
(*txrx_set_safemode)(
|
(*txrx_set_safemode)(
|
||||||
void *vdev,
|
struct cdp_vdev *vdev,
|
||||||
u_int32_t val);
|
u_int32_t val);
|
||||||
/**
|
/**
|
||||||
* @brief configure the drop unencrypted frame flag
|
* @brief configure the drop unencrypted frame flag
|
||||||
@@ -219,7 +222,7 @@ struct cdp_ctrl_ops {
|
|||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
(*txrx_set_drop_unenc)(
|
(*txrx_set_drop_unenc)(
|
||||||
void *vdev,
|
struct cdp_vdev *vdev,
|
||||||
u_int32_t val);
|
u_int32_t val);
|
||||||
|
|
||||||
|
|
||||||
@@ -234,7 +237,7 @@ struct cdp_ctrl_ops {
|
|||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
(*txrx_set_tx_encap_type)(
|
(*txrx_set_tx_encap_type)(
|
||||||
void *vdev,
|
struct cdp_vdev *vdev,
|
||||||
enum htt_cmn_pkt_type val);
|
enum htt_cmn_pkt_type val);
|
||||||
/**
|
/**
|
||||||
* @brief set the Rx decapsulation type of the VDEV
|
* @brief set the Rx decapsulation type of the VDEV
|
||||||
@@ -248,7 +251,7 @@ struct cdp_ctrl_ops {
|
|||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
(*txrx_set_vdev_rx_decap_type)(
|
(*txrx_set_vdev_rx_decap_type)(
|
||||||
void *vdev,
|
struct cdp_vdev *vdev,
|
||||||
enum htt_cmn_pkt_type val);
|
enum htt_cmn_pkt_type val);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -258,7 +261,7 @@ struct cdp_ctrl_ops {
|
|||||||
* @return - the Rx decap type
|
* @return - the Rx decap type
|
||||||
*/
|
*/
|
||||||
enum htt_cmn_pkt_type
|
enum htt_cmn_pkt_type
|
||||||
(*txrx_get_vdev_rx_decap_type)(void *vdev);
|
(*txrx_get_vdev_rx_decap_type)(struct cdp_vdev *vdev);
|
||||||
|
|
||||||
/* Is this similar to ol_txrx_peer_state_update() in MCL */
|
/* Is this similar to ol_txrx_peer_state_update() in MCL */
|
||||||
/**
|
/**
|
||||||
@@ -278,13 +281,13 @@ struct cdp_ctrl_ops {
|
|||||||
u_int32_t authorize);
|
u_int32_t authorize);
|
||||||
|
|
||||||
bool
|
bool
|
||||||
(*txrx_set_inact_params)(void *pdev,
|
(*txrx_set_inact_params)(struct cdp_pdev *pdev,
|
||||||
u_int16_t inact_check_interval,
|
u_int16_t inact_check_interval,
|
||||||
u_int16_t inact_normal,
|
u_int16_t inact_normal,
|
||||||
u_int16_t inact_overload);
|
u_int16_t inact_overload);
|
||||||
bool
|
bool
|
||||||
(*txrx_start_inact_timer)(
|
(*txrx_start_inact_timer)(
|
||||||
void *pdev,
|
struct cdp_pdev *pdev,
|
||||||
bool enable);
|
bool enable);
|
||||||
|
|
||||||
|
|
||||||
@@ -298,7 +301,7 @@ struct cdp_ctrl_ops {
|
|||||||
* @param overload - whether the radio is overloaded or not
|
* @param overload - whether the radio is overloaded or not
|
||||||
*/
|
*/
|
||||||
void (*txrx_set_overload)(
|
void (*txrx_set_overload)(
|
||||||
void *pdev,
|
struct cdp_pdev *pdev,
|
||||||
bool overload);
|
bool overload);
|
||||||
/**
|
/**
|
||||||
* @brief Check the inactivity status of the peer/node
|
* @brief Check the inactivity status of the peer/node
|
||||||
@@ -324,34 +327,34 @@ struct cdp_ctrl_ops {
|
|||||||
|
|
||||||
|
|
||||||
/* Should be ol_txrx_ctrl_api.h */
|
/* Should be ol_txrx_ctrl_api.h */
|
||||||
void (*txrx_set_mesh_mode)(void *vdev, u_int32_t val);
|
void (*txrx_set_mesh_mode)(struct cdp_vdev *vdev, u_int32_t val);
|
||||||
|
|
||||||
void (*tx_flush_buffers)(void *vdev);
|
void (*tx_flush_buffers)(struct cdp_vdev *vdev);
|
||||||
|
|
||||||
int (*txrx_is_target_ar900b)(void *vdev);
|
int (*txrx_is_target_ar900b)(struct cdp_vdev *vdev);
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct cdp_me_ops {
|
struct cdp_me_ops {
|
||||||
|
|
||||||
u_int16_t (*tx_desc_alloc_and_mark_for_mcast_clone)
|
u_int16_t (*tx_desc_alloc_and_mark_for_mcast_clone)
|
||||||
(void *pdev, u_int16_t buf_count);
|
(struct cdp_pdev *pdev, u_int16_t buf_count);
|
||||||
|
|
||||||
u_int16_t (*tx_desc_free_and_unmark_for_mcast_clone)(
|
u_int16_t (*tx_desc_free_and_unmark_for_mcast_clone)(
|
||||||
void *pdev,
|
struct cdp_pdev *pdev,
|
||||||
u_int16_t buf_count);
|
u_int16_t buf_count);
|
||||||
|
|
||||||
u_int16_t
|
u_int16_t
|
||||||
(*tx_get_mcast_buf_allocated_marked)
|
(*tx_get_mcast_buf_allocated_marked)
|
||||||
(void *pdev);
|
(struct cdp_pdev *pdev);
|
||||||
void
|
void
|
||||||
(*tx_me_alloc_descriptor)(void *pdev);
|
(*tx_me_alloc_descriptor)(struct cdp_pdev *pdev);
|
||||||
|
|
||||||
void
|
void
|
||||||
(*tx_me_free_descriptor)(void *pdev);
|
(*tx_me_free_descriptor)(struct cdp_pdev *pdev);
|
||||||
|
|
||||||
uint16_t
|
uint16_t
|
||||||
(*tx_me_convert_ucast)(void *vdev,
|
(*tx_me_convert_ucast)(struct cdp_vdev *vdev,
|
||||||
qdf_nbuf_t wbuf, u_int8_t newmac[][6],
|
qdf_nbuf_t wbuf, u_int8_t newmac[][6],
|
||||||
uint8_t newmaccnt);
|
uint8_t newmaccnt);
|
||||||
/* Should be a function pointer in ol_txrx_osif_ops{} */
|
/* Should be a function pointer in ol_txrx_osif_ops{} */
|
||||||
@@ -366,38 +369,38 @@ struct cdp_me_ops {
|
|||||||
* @param msdu - the multicast msdu returned by FW for host inspect
|
* @param msdu - the multicast msdu returned by FW for host inspect
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int (*mcast_notify)(void *pdev,
|
int (*mcast_notify)(struct cdp_pdev *pdev,
|
||||||
u_int8_t vdev_id, qdf_nbuf_t msdu);
|
u_int8_t vdev_id, qdf_nbuf_t msdu);
|
||||||
};
|
};
|
||||||
|
|
||||||
struct cdp_mon_ops {
|
struct cdp_mon_ops {
|
||||||
|
|
||||||
void (*txrx_monitor_set_filter_ucast_data)
|
void (*txrx_monitor_set_filter_ucast_data)
|
||||||
(void *, u_int8_t val);
|
(struct cdp_pdev *, u_int8_t val);
|
||||||
void (*txrx_monitor_set_filter_mcast_data)
|
void (*txrx_monitor_set_filter_mcast_data)
|
||||||
(void *, u_int8_t val);
|
(struct cdp_pdev *, u_int8_t val);
|
||||||
void (*txrx_monitor_set_filter_non_data)
|
void (*txrx_monitor_set_filter_non_data)
|
||||||
(void *, u_int8_t val);
|
(struct cdp_pdev *, u_int8_t val);
|
||||||
|
|
||||||
u_int8_t (*txrx_monitor_get_filter_ucast_data)
|
u_int8_t (*txrx_monitor_get_filter_ucast_data)
|
||||||
(void *vdev_txrx_handle);
|
(struct cdp_vdev *vdev_txrx_handle);
|
||||||
u_int8_t (*txrx_monitor_get_filter_mcast_data)
|
u_int8_t (*txrx_monitor_get_filter_mcast_data)
|
||||||
(void *vdev_txrx_handle);
|
(struct cdp_vdev *vdev_txrx_handle);
|
||||||
u_int8_t (*txrx_monitor_get_filter_non_data)
|
u_int8_t (*txrx_monitor_get_filter_non_data)
|
||||||
(void *vdev_txrx_handle);
|
(struct cdp_vdev *vdev_txrx_handle);
|
||||||
int (*txrx_reset_monitor_mode)(void *pdev);
|
int (*txrx_reset_monitor_mode)(struct cdp_pdev *pdev);
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct cdp_host_stats_ops {
|
struct cdp_host_stats_ops {
|
||||||
int (*txrx_host_stats_get)(void *vdev,
|
int (*txrx_host_stats_get)(struct cdp_vdev *vdev,
|
||||||
struct ol_txrx_stats_req *req);
|
struct ol_txrx_stats_req *req);
|
||||||
|
|
||||||
void (*txrx_host_stats_clr)(void *vdev);
|
void (*txrx_host_stats_clr)(struct cdp_vdev *vdev);
|
||||||
|
|
||||||
void (*txrx_host_ce_stats)(void *vdev);
|
void (*txrx_host_ce_stats)(struct cdp_vdev *vdev);
|
||||||
|
|
||||||
int (*txrx_stats_publish)(void *pdev,
|
int (*txrx_stats_publish)(struct cdp_pdev *pdev,
|
||||||
void *buf);
|
void *buf);
|
||||||
/**
|
/**
|
||||||
* @brief Enable enhanced stats functionality.
|
* @brief Enable enhanced stats functionality.
|
||||||
@@ -405,7 +408,7 @@ struct cdp_host_stats_ops {
|
|||||||
* @param pdev - the physical device object
|
* @param pdev - the physical device object
|
||||||
* @return - void
|
* @return - void
|
||||||
*/
|
*/
|
||||||
void (*txrx_enable_enhanced_stats)(void *pdev);
|
void (*txrx_enable_enhanced_stats)(struct cdp_pdev *pdev);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Disable enhanced stats functionality.
|
* @brief Disable enhanced stats functionality.
|
||||||
@@ -413,7 +416,7 @@ struct cdp_host_stats_ops {
|
|||||||
* @param pdev - the physical device object
|
* @param pdev - the physical device object
|
||||||
* @return - void
|
* @return - void
|
||||||
*/
|
*/
|
||||||
void (*txrx_disable_enhanced_stats)(void *pdev);
|
void (*txrx_disable_enhanced_stats)(struct cdp_pdev *pdev);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Get the desired stats from the message.
|
* @brief Get the desired stats from the message.
|
||||||
@@ -423,53 +426,53 @@ struct cdp_host_stats_ops {
|
|||||||
* @param type - stats type.
|
* @param type - stats type.
|
||||||
* @return - pointer to requested stat identified by type
|
* @return - pointer to requested stat identified by type
|
||||||
*/
|
*/
|
||||||
uint32_t*(*txrx_get_stats_base)(void *pdev,
|
uint32_t * (*txrx_get_stats_base)(struct cdp_pdev *pdev,
|
||||||
uint32_t *stats_base, uint32_t msg_len, uint8_t type);
|
uint32_t *stats_base, uint32_t msg_len, uint8_t type);
|
||||||
void
|
void
|
||||||
(*tx_print_tso_stats)(void *vdev);
|
(*tx_print_tso_stats)(struct cdp_vdev *vdev);
|
||||||
|
|
||||||
void
|
void
|
||||||
(*tx_rst_tso_stats)(void *vdev);
|
(*tx_rst_tso_stats)(struct cdp_vdev *vdev);
|
||||||
|
|
||||||
void
|
void
|
||||||
(*tx_print_sg_stats)(void *vdev);
|
(*tx_print_sg_stats)(struct cdp_vdev *vdev);
|
||||||
|
|
||||||
void
|
void
|
||||||
(*tx_rst_sg_stats)(void *vdev);
|
(*tx_rst_sg_stats)(struct cdp_vdev *vdev);
|
||||||
|
|
||||||
void
|
void
|
||||||
(*print_rx_cksum_stats)(void *vdev);
|
(*print_rx_cksum_stats)(struct cdp_vdev *vdev);
|
||||||
|
|
||||||
void
|
void
|
||||||
(*rst_rx_cksum_stats)(void *vdev);
|
(*rst_rx_cksum_stats)(struct cdp_vdev *vdev);
|
||||||
|
|
||||||
A_STATUS
|
A_STATUS
|
||||||
(*txrx_host_me_stats)(void *vdev);
|
(*txrx_host_me_stats)(struct cdp_vdev *vdev);
|
||||||
void
|
void
|
||||||
(*txrx_per_peer_stats)(void *pdev, char *addr);
|
(*txrx_per_peer_stats)(struct cdp_pdev *pdev, char *addr);
|
||||||
int (*txrx_host_msdu_ttl_stats)(void *vdev,
|
int (*txrx_host_msdu_ttl_stats)(struct cdp_vdev *vdev,
|
||||||
struct ol_txrx_stats_req *req);
|
struct ol_txrx_stats_req *req);
|
||||||
|
|
||||||
void
|
void
|
||||||
(*print_lro_stats)(void *vdev);
|
(*print_lro_stats)(struct cdp_vdev *vdev);
|
||||||
|
|
||||||
void
|
void
|
||||||
(*reset_lro_stats)(void *vdev);
|
(*reset_lro_stats)(struct cdp_vdev *vdev);
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct cdp_wds_ops {
|
struct cdp_wds_ops {
|
||||||
void
|
void
|
||||||
(*txrx_set_wds_rx_policy)(void *vdev,
|
(*txrx_set_wds_rx_policy)(struct cdp_vdev *vdev,
|
||||||
u_int32_t val);
|
u_int32_t val);
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct cdp_raw_ops {
|
struct cdp_raw_ops {
|
||||||
int (*txrx_get_nwifi_mode)(void *vdev);
|
int (*txrx_get_nwifi_mode)(struct cdp_vdev *vdev);
|
||||||
|
|
||||||
int
|
int
|
||||||
(*rsim_tx_encap)(void *vdev, qdf_nbuf_t *pnbuf);
|
(*rsim_tx_encap)(struct cdp_vdev *vdev, qdf_nbuf_t *pnbuf);
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifdef CONFIG_WIN
|
#ifdef CONFIG_WIN
|
||||||
@@ -511,29 +514,29 @@ struct ol_if_ops {
|
|||||||
* @runtime_resume:
|
* @runtime_resume:
|
||||||
*/
|
*/
|
||||||
struct cdp_misc_ops {
|
struct cdp_misc_ops {
|
||||||
uint16_t (*set_ibss_vdev_heart_beat_timer)(void *vdev,
|
uint16_t (*set_ibss_vdev_heart_beat_timer)(struct cdp_vdev *vdev,
|
||||||
uint16_t timer_value_sec);
|
uint16_t timer_value_sec);
|
||||||
void (*set_wmm_param)(void *cfg_pdev,
|
void (*set_wmm_param)(struct cdp_pdev *cfg_pdev,
|
||||||
struct ol_tx_wmm_param_t wmm_param);
|
struct ol_tx_wmm_param_t wmm_param);
|
||||||
void (*bad_peer_txctl_set_setting)(void *pdev, int enable,
|
void (*bad_peer_txctl_set_setting)(struct cdp_pdev *pdev, int enable,
|
||||||
int period, int txq_limit);
|
int period, int txq_limit);
|
||||||
void (*bad_peer_txctl_update_threshold)(void *pdev,
|
void (*bad_peer_txctl_update_threshold)(struct cdp_pdev *pdev,
|
||||||
int level, int tput_thresh, int tx_limit);
|
int level, int tput_thresh, int tx_limit);
|
||||||
void (*hl_tdls_flag_reset)(void *vdev, bool flag);
|
void (*hl_tdls_flag_reset)(struct cdp_vdev *vdev, bool flag);
|
||||||
qdf_nbuf_t (*tx_non_std)(void *vdev,
|
qdf_nbuf_t (*tx_non_std)(struct cdp_vdev *vdev,
|
||||||
enum ol_tx_spec tx_spec, qdf_nbuf_t msdu_list);
|
enum ol_tx_spec tx_spec, qdf_nbuf_t msdu_list);
|
||||||
uint16_t (*get_vdev_id)(void *vdev);
|
uint16_t (*get_vdev_id)(struct cdp_vdev *vdev);
|
||||||
QDF_STATUS (*set_wisa_mode)(void *vdev, bool enable);
|
QDF_STATUS (*set_wisa_mode)(struct cdp_vdev *vdev, bool enable);
|
||||||
QDF_STATUS (*runtime_suspend)(void *pdev);
|
QDF_STATUS (*runtime_suspend)(struct cdp_pdev *pdev);
|
||||||
QDF_STATUS (*runtime_resume)(void *pdev);
|
QDF_STATUS (*runtime_resume)(struct cdp_pdev *pdev);
|
||||||
int (*get_opmode)(void *vdev);
|
int (*get_opmode)(struct cdp_vdev *vdev);
|
||||||
void (*mark_first_wakeup_packet)(uint8_t value);
|
void (*mark_first_wakeup_packet)(uint8_t value);
|
||||||
void (*update_mac_id)(uint8_t vdev_id, uint8_t mac_id);
|
void (*update_mac_id)(uint8_t vdev_id, uint8_t mac_id);
|
||||||
void (*flush_rx_frames)(void *peer, bool drop);
|
void (*flush_rx_frames)(void *peer, bool drop);
|
||||||
A_STATUS (*get_intra_bss_fwd_pkts_count)(uint8_t vdev_id,
|
A_STATUS (*get_intra_bss_fwd_pkts_count)(uint8_t vdev_id,
|
||||||
uint64_t *fwd_tx_packets, uint64_t *fwd_rx_packets);
|
uint64_t *fwd_tx_packets, uint64_t *fwd_rx_packets);
|
||||||
void (*pkt_log_init)(void *handle, void *scn);
|
void (*pkt_log_init)(struct cdp_pdev *handle, void *scn);
|
||||||
void (*pkt_log_con_service)(void *pdev, void *scn);
|
void (*pkt_log_con_service)(struct cdp_pdev *pdev, void *scn);
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -544,13 +547,15 @@ struct cdp_misc_ops {
|
|||||||
* @tx_set_compute_interval:
|
* @tx_set_compute_interval:
|
||||||
*/
|
*/
|
||||||
struct cdp_tx_delay_ops {
|
struct cdp_tx_delay_ops {
|
||||||
void (*tx_delay)(void *pdev, uint32_t *queue_delay_microsec,
|
void (*tx_delay)(struct cdp_pdev *pdev, uint32_t *queue_delay_microsec,
|
||||||
uint32_t *tx_delay_microsec, int category);
|
uint32_t *tx_delay_microsec, int category);
|
||||||
void (*tx_delay_hist)(void *pdev,
|
void (*tx_delay_hist)(struct cdp_pdev *pdev,
|
||||||
uint16_t *bin_values, int category);
|
uint16_t *bin_values, int category);
|
||||||
void (*tx_packet_count)(void *pdev, uint16_t *out_packet_count,
|
void (*tx_packet_count)(struct cdp_pdev *pdev,
|
||||||
|
uint16_t *out_packet_count,
|
||||||
uint16_t *out_packet_loss_count, int category);
|
uint16_t *out_packet_loss_count, int category);
|
||||||
void (*tx_set_compute_interval)(void *pdev, uint32_t interval);
|
void (*tx_set_compute_interval)(struct cdp_pdev *pdev,
|
||||||
|
uint32_t interval);
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -575,15 +580,18 @@ struct cdp_pmf_ops {
|
|||||||
* @set_flow_control_parameters:
|
* @set_flow_control_parameters:
|
||||||
*/
|
*/
|
||||||
struct cdp_cfg_ops {
|
struct cdp_cfg_ops {
|
||||||
void (*set_cfg_rx_fwd_disabled)(void *pdev, uint8_t disable_rx_fwd);
|
void (*set_cfg_rx_fwd_disabled)(struct cdp_cfg *cfg_pdev,
|
||||||
void (*set_cfg_packet_log_enabled)(void *pdev, uint8_t val);
|
uint8_t disable_rx_fwd);
|
||||||
void * (*cfg_attach)(qdf_device_t osdev, void *cfg_param);
|
void (*set_cfg_packet_log_enabled)(struct cdp_cfg *cfg_pdev,
|
||||||
void (*vdev_rx_set_intrabss_fwd)(void *vdev, bool val);
|
uint8_t val);
|
||||||
uint8_t (*is_rx_fwd_disabled)(void *vdev);
|
struct cdp_cfg * (*cfg_attach)(qdf_device_t osdev, void *cfg_param);
|
||||||
|
void (*vdev_rx_set_intrabss_fwd)(struct cdp_vdev *vdev, bool val);
|
||||||
|
uint8_t (*is_rx_fwd_disabled)(struct cdp_vdev *vdev);
|
||||||
void (*tx_set_is_mgmt_over_wmi_enabled)(uint8_t value);
|
void (*tx_set_is_mgmt_over_wmi_enabled)(uint8_t value);
|
||||||
int (*is_high_latency)(void *pdev);
|
int (*is_high_latency)(struct cdp_cfg *cfg_pdev);
|
||||||
void (*set_flow_control_parameters)(void *cfg, void *param);
|
void (*set_flow_control_parameters)(struct cdp_cfg *cfg_pdev,
|
||||||
void (*set_flow_steering)(void *pdev, uint8_t val);
|
void *param);
|
||||||
|
void (*set_flow_steering)(struct cdp_cfg *cfg_pdev, uint8_t val);
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -614,14 +622,14 @@ struct cdp_lflowctl_ops {
|
|||||||
int (*register_tx_flow_control)(uint8_t vdev_id,
|
int (*register_tx_flow_control)(uint8_t vdev_id,
|
||||||
ol_txrx_tx_flow_control_fp flowControl, void *osif_fc_ctx);
|
ol_txrx_tx_flow_control_fp flowControl, void *osif_fc_ctx);
|
||||||
int (*deregister_tx_flow_control_cb)(uint8_t vdev_id);
|
int (*deregister_tx_flow_control_cb)(uint8_t vdev_id);
|
||||||
void (*flow_control_cb)(void *vdev, bool tx_resume);
|
void (*flow_control_cb)(struct cdp_vdev *vdev, bool tx_resume);
|
||||||
bool (*get_tx_resource)(uint8_t sta_id,
|
bool (*get_tx_resource)(uint8_t sta_id,
|
||||||
unsigned int low_watermark,
|
unsigned int low_watermark,
|
||||||
unsigned int high_watermark_offset);
|
unsigned int high_watermark_offset);
|
||||||
int (*ll_set_tx_pause_q_depth)(uint8_t vdev_id, int pause_q_depth);
|
int (*ll_set_tx_pause_q_depth)(uint8_t vdev_id, int pause_q_depth);
|
||||||
void (*vdev_flush)(void *vdev);
|
void (*vdev_flush)(struct cdp_vdev *vdev);
|
||||||
void (*vdev_pause)(void *vdev, uint32_t reason);
|
void (*vdev_pause)(struct cdp_vdev *vdev, uint32_t reason);
|
||||||
void (*vdev_unpause)(void *vdev, uint32_t reason);
|
void (*vdev_unpause)(struct cdp_vdev *vdev, uint32_t reason);
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -635,19 +643,21 @@ struct cdp_lflowctl_ops {
|
|||||||
* @ipa_tx_data_frame:
|
* @ipa_tx_data_frame:
|
||||||
*/
|
*/
|
||||||
struct cdp_ipa_ops {
|
struct cdp_ipa_ops {
|
||||||
void (*ipa_get_resource)(void *pdev,
|
void (*ipa_get_resource)(struct cdp_pdev *pdev,
|
||||||
struct ol_txrx_ipa_resources *ipa_res);
|
struct ol_txrx_ipa_resources *ipa_res);
|
||||||
void (*ipa_set_doorbell_paddr)(void *pdev,
|
void (*ipa_set_doorbell_paddr)(struct cdp_pdev *pdev,
|
||||||
qdf_dma_addr_t ipa_tx_uc_doorbell_paddr,
|
qdf_dma_addr_t ipa_tx_uc_doorbell_paddr,
|
||||||
qdf_dma_addr_t ipa_rx_uc_doorbell_paddr);
|
qdf_dma_addr_t ipa_rx_uc_doorbell_paddr);
|
||||||
void (*ipa_set_active)(void *pdev, bool uc_active, bool is_tx);
|
void (*ipa_set_active)(struct cdp_pdev *pdev,
|
||||||
void (*ipa_op_response)(void *pdev, uint8_t *op_msg);
|
bool uc_active, bool is_tx);
|
||||||
void (*ipa_register_op_cb)(void *pdev,
|
void (*ipa_op_response)(struct cdp_pdev *pdev, uint8_t *op_msg);
|
||||||
|
void (*ipa_register_op_cb)(struct cdp_pdev *pdev,
|
||||||
void (*ipa_uc_op_cb_type)(uint8_t *op_msg, void *osif_ctxt),
|
void (*ipa_uc_op_cb_type)(uint8_t *op_msg, void *osif_ctxt),
|
||||||
void *osif_dev);
|
void *osif_dev);
|
||||||
void (*ipa_get_stat)(void *pdev);
|
void (*ipa_get_stat)(struct cdp_pdev *pdev);
|
||||||
qdf_nbuf_t (*ipa_tx_data_frame)(void *vdev, qdf_nbuf_t skb);
|
qdf_nbuf_t (*ipa_tx_data_frame)(struct cdp_vdev *vdev, qdf_nbuf_t skb);
|
||||||
void (*ipa_set_uc_tx_partition_base)(void *pdev, uint32_t value);
|
void (*ipa_set_uc_tx_partition_base)(struct cdp_cfg *cfg_pdev,
|
||||||
|
uint32_t value);
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -677,9 +687,10 @@ struct cdp_bus_ops {
|
|||||||
* @get_ocb_chan_info:
|
* @get_ocb_chan_info:
|
||||||
*/
|
*/
|
||||||
struct cdp_ocb_ops {
|
struct cdp_ocb_ops {
|
||||||
void (*set_ocb_chan_info)(void *vdev,
|
void (*set_ocb_chan_info)(struct cdp_vdev *vdev,
|
||||||
struct ol_txrx_ocb_set_chan ocb_set_chan);
|
struct ol_txrx_ocb_set_chan ocb_set_chan);
|
||||||
struct ol_txrx_ocb_chan_info * (*get_ocb_chan_info)(void *vdev);
|
struct ol_txrx_ocb_chan_info *
|
||||||
|
(*get_ocb_chan_info)(struct cdp_vdev *vdev);
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -710,42 +721,46 @@ struct cdp_ocb_ops {
|
|||||||
* @update_last_real_peer:
|
* @update_last_real_peer:
|
||||||
*/
|
*/
|
||||||
struct cdp_peer_ops {
|
struct cdp_peer_ops {
|
||||||
QDF_STATUS (*register_peer)(void *pdev,
|
QDF_STATUS (*register_peer)(struct cdp_pdev *pdev,
|
||||||
struct ol_txrx_desc_type *sta_desc);
|
struct ol_txrx_desc_type *sta_desc);
|
||||||
QDF_STATUS (*clear_peer)(void *pdev, uint8_t sta_id);
|
QDF_STATUS (*clear_peer)(struct cdp_pdev *pdev, uint8_t sta_id);
|
||||||
QDF_STATUS (*change_peer_state)(uint8_t sta_id,
|
QDF_STATUS (*change_peer_state)(uint8_t sta_id,
|
||||||
enum ol_txrx_peer_state sta_state,
|
enum ol_txrx_peer_state sta_state,
|
||||||
bool roam_synch_in_progress);
|
bool roam_synch_in_progress);
|
||||||
void * (*find_peer_by_addr)(void *pdev,
|
void * (*find_peer_by_addr)(struct cdp_pdev *pdev,
|
||||||
uint8_t *peer_addr, uint8_t *peer_id);
|
uint8_t *peer_addr, uint8_t *peer_id);
|
||||||
void * (*find_peer_by_addr_and_vdev)(void *pdev, void *vdev,
|
void * (*find_peer_by_addr_and_vdev)(struct cdp_pdev *pdev,
|
||||||
|
struct cdp_vdev *vdev,
|
||||||
uint8_t *peer_addr, uint8_t *peer_id);
|
uint8_t *peer_addr, uint8_t *peer_id);
|
||||||
uint16_t (*local_peer_id)(void *peer);
|
uint16_t (*local_peer_id)(void *peer);
|
||||||
void * (*peer_find_by_local_id)(void *pdev, uint8_t local_peer_id);
|
void * (*peer_find_by_local_id)(struct cdp_pdev *pdev,
|
||||||
QDF_STATUS (*peer_state_update)(void *pdev, uint8_t *peer_addr,
|
uint8_t local_peer_id);
|
||||||
|
QDF_STATUS (*peer_state_update)(struct cdp_pdev *pdev,
|
||||||
|
uint8_t *peer_addr,
|
||||||
enum ol_txrx_peer_state state);
|
enum ol_txrx_peer_state state);
|
||||||
QDF_STATUS (*get_vdevid)(void *peer, uint8_t *vdev_id);
|
QDF_STATUS (*get_vdevid)(void *peer, uint8_t *vdev_id);
|
||||||
void * (*get_vdev_by_sta_id)(uint8_t sta_id);
|
struct cdp_vdev * (*get_vdev_by_sta_id)(uint8_t sta_id);
|
||||||
QDF_STATUS (*register_ocb_peer)(void *cds_ctx, uint8_t *mac_addr,
|
QDF_STATUS (*register_ocb_peer)(void *cds_ctx, uint8_t *mac_addr,
|
||||||
uint8_t *peer_id);
|
uint8_t *peer_id);
|
||||||
uint8_t * (*peer_get_peer_mac_addr)(void *peer);
|
uint8_t * (*peer_get_peer_mac_addr)(void *peer);
|
||||||
int (*get_peer_state)(void *peer);
|
int (*get_peer_state)(void *peer);
|
||||||
void * (*get_vdev_for_peer)(void *peer);
|
struct cdp_vdev * (*get_vdev_for_peer)(void *peer);
|
||||||
int16_t (*update_ibss_add_peer_num_of_vdev)(void *vdev,
|
int16_t (*update_ibss_add_peer_num_of_vdev)(struct cdp_vdev *vdev,
|
||||||
int16_t peer_num_delta);
|
int16_t peer_num_delta);
|
||||||
void (*remove_peers_for_vdev)(void *vdev,
|
void (*remove_peers_for_vdev)(struct cdp_vdev *vdev,
|
||||||
ol_txrx_vdev_peer_remove_cb callback,
|
ol_txrx_vdev_peer_remove_cb callback,
|
||||||
void *callback_context, bool remove_last_peer);
|
void *callback_context, bool remove_last_peer);
|
||||||
void (*remove_peers_for_vdev_no_lock)(void *vdev,
|
void (*remove_peers_for_vdev_no_lock)(struct cdp_vdev *vdev,
|
||||||
ol_txrx_vdev_peer_remove_cb callback,
|
ol_txrx_vdev_peer_remove_cb callback,
|
||||||
void *callback_context);
|
void *callback_context);
|
||||||
void (*copy_mac_addr_raw)(void *vdev, uint8_t *bss_addr);
|
void (*copy_mac_addr_raw)(struct cdp_vdev *vdev, uint8_t *bss_addr);
|
||||||
void (*add_last_real_peer)(void *pdev, void *vdev, uint8_t *peer_id);
|
void (*add_last_real_peer)(struct cdp_pdev *pdev,
|
||||||
|
struct cdp_vdev *vdev, uint8_t *peer_id);
|
||||||
qdf_time_t * (*last_assoc_received)(void *peer);
|
qdf_time_t * (*last_assoc_received)(void *peer);
|
||||||
qdf_time_t * (*last_disassoc_received)(void *peer);
|
qdf_time_t * (*last_disassoc_received)(void *peer);
|
||||||
qdf_time_t * (*last_deauth_received)(void *peer);
|
qdf_time_t * (*last_deauth_received)(void *peer);
|
||||||
bool (*is_vdev_restore_last_peer)(void *peer);
|
bool (*is_vdev_restore_last_peer)(void *peer);
|
||||||
void (*update_last_real_peer)(void *pdev, void *peer,
|
void (*update_last_real_peer)(struct cdp_pdev *pdev, void *peer,
|
||||||
uint8_t *peer_id, bool restore_last_peer);
|
uint8_t *peer_id, bool restore_last_peer);
|
||||||
void (*peer_detach_force_delete)(void *peer);
|
void (*peer_detach_force_delete)(void *peer);
|
||||||
};
|
};
|
||||||
@@ -756,9 +771,9 @@ struct cdp_peer_ops {
|
|||||||
* @throttle_set_level:
|
* @throttle_set_level:
|
||||||
*/
|
*/
|
||||||
struct cdp_throttle_ops {
|
struct cdp_throttle_ops {
|
||||||
void (*throttle_init_period)(void *pdev, int period,
|
void (*throttle_init_period)(struct cdp_pdev *pdev, int period,
|
||||||
uint8_t *dutycycle_level);
|
uint8_t *dutycycle_level);
|
||||||
void (*throttle_set_level)(void *pdev, int level);
|
void (*throttle_set_level)(struct cdp_pdev *pdev, int level);
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -32,6 +32,7 @@
|
|||||||
#ifndef _CDP_TXRX_PEER_H_
|
#ifndef _CDP_TXRX_PEER_H_
|
||||||
#define _CDP_TXRX_PEER_H_
|
#define _CDP_TXRX_PEER_H_
|
||||||
#include <cdp_txrx_ops.h>
|
#include <cdp_txrx_ops.h>
|
||||||
|
#include "cdp_txrx_handle.h"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* cdp_peer_register() - Register peer into physical device
|
* cdp_peer_register() - Register peer into physical device
|
||||||
@@ -45,7 +46,7 @@
|
|||||||
* QDF_STATUS_E_NOSUPPORT not support this feature
|
* QDF_STATUS_E_NOSUPPORT not support this feature
|
||||||
*/
|
*/
|
||||||
static inline QDF_STATUS
|
static inline QDF_STATUS
|
||||||
cdp_peer_register(ol_txrx_soc_handle soc, void *pdev,
|
cdp_peer_register(ol_txrx_soc_handle soc, struct cdp_pdev *pdev,
|
||||||
struct ol_txrx_desc_type *sta_desc)
|
struct ol_txrx_desc_type *sta_desc)
|
||||||
{
|
{
|
||||||
if (!soc || !soc->ops || !soc->ops->peer_ops) {
|
if (!soc || !soc->ops || !soc->ops->peer_ops) {
|
||||||
@@ -72,7 +73,7 @@ cdp_peer_register(ol_txrx_soc_handle soc, void *pdev,
|
|||||||
* QDF_STATUS_E_NOSUPPORT not support this feature
|
* QDF_STATUS_E_NOSUPPORT not support this feature
|
||||||
*/
|
*/
|
||||||
static inline QDF_STATUS
|
static inline QDF_STATUS
|
||||||
cdp_clear_peer(ol_txrx_soc_handle soc, void *pdev, uint8_t sta_id)
|
cdp_clear_peer(ol_txrx_soc_handle soc, struct cdp_pdev *pdev, uint8_t sta_id)
|
||||||
{
|
{
|
||||||
if (!soc || !soc->ops || !soc->ops->peer_ops) {
|
if (!soc || !soc->ops || !soc->ops->peer_ops) {
|
||||||
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
|
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
|
||||||
@@ -129,7 +130,7 @@ cdp_peer_register_ocb_peer(ol_txrx_soc_handle soc, void *cds_ctx,
|
|||||||
*/
|
*/
|
||||||
static inline void
|
static inline void
|
||||||
cdp_peer_remove_for_vdev(ol_txrx_soc_handle soc,
|
cdp_peer_remove_for_vdev(ol_txrx_soc_handle soc,
|
||||||
void *vdev, ol_txrx_vdev_peer_remove_cb callback,
|
struct cdp_vdev *vdev, ol_txrx_vdev_peer_remove_cb callback,
|
||||||
void *callback_context, bool remove_last_peer)
|
void *callback_context, bool remove_last_peer)
|
||||||
{
|
{
|
||||||
if (!soc || !soc->ops || !soc->ops->peer_ops) {
|
if (!soc || !soc->ops || !soc->ops->peer_ops) {
|
||||||
@@ -158,7 +159,7 @@ cdp_peer_remove_for_vdev(ol_txrx_soc_handle soc,
|
|||||||
* NULL cannot find target peer
|
* NULL cannot find target peer
|
||||||
*/
|
*/
|
||||||
static inline void
|
static inline void
|
||||||
*cdp_peer_find_by_addr(ol_txrx_soc_handle soc, void *pdev,
|
*cdp_peer_find_by_addr(ol_txrx_soc_handle soc, struct cdp_pdev *pdev,
|
||||||
uint8_t *peer_addr, uint8_t *peer_id)
|
uint8_t *peer_addr, uint8_t *peer_id)
|
||||||
{
|
{
|
||||||
if (!soc || !soc->ops || !soc->ops->peer_ops) {
|
if (!soc || !soc->ops || !soc->ops->peer_ops) {
|
||||||
@@ -188,8 +189,8 @@ static inline void
|
|||||||
* NULL cannot find target peer
|
* NULL cannot find target peer
|
||||||
*/
|
*/
|
||||||
static inline void
|
static inline void
|
||||||
*cdp_peer_find_by_addr_and_vdev(ol_txrx_soc_handle soc, void *pdev,
|
*cdp_peer_find_by_addr_and_vdev(ol_txrx_soc_handle soc, struct cdp_pdev *pdev,
|
||||||
void *vdev, uint8_t *peer_addr, uint8_t *peer_id)
|
struct cdp_vdev *vdev, uint8_t *peer_addr, uint8_t *peer_id)
|
||||||
{
|
{
|
||||||
if (!soc || !soc->ops || !soc->ops->peer_ops) {
|
if (!soc || !soc->ops || !soc->ops->peer_ops) {
|
||||||
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
|
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
|
||||||
@@ -216,7 +217,7 @@ static inline void
|
|||||||
* NULL cannot find target peer
|
* NULL cannot find target peer
|
||||||
*/
|
*/
|
||||||
static inline void
|
static inline void
|
||||||
*cdp_peer_find_by_local_id(ol_txrx_soc_handle soc, void *pdev,
|
*cdp_peer_find_by_local_id(ol_txrx_soc_handle soc, struct cdp_pdev *pdev,
|
||||||
uint8_t local_peer_id)
|
uint8_t local_peer_id)
|
||||||
{
|
{
|
||||||
if (!soc || !soc->ops || !soc->ops->peer_ops) {
|
if (!soc || !soc->ops || !soc->ops->peer_ops) {
|
||||||
@@ -245,7 +246,7 @@ static inline void
|
|||||||
* QDF_STATUS_E_NOSUPPORT not support this feature
|
* QDF_STATUS_E_NOSUPPORT not support this feature
|
||||||
*/
|
*/
|
||||||
static inline QDF_STATUS
|
static inline QDF_STATUS
|
||||||
cdp_peer_state_update(ol_txrx_soc_handle soc, void *pdev,
|
cdp_peer_state_update(ol_txrx_soc_handle soc, struct cdp_pdev *pdev,
|
||||||
uint8_t *peer_addr, enum ol_txrx_peer_state state)
|
uint8_t *peer_addr, enum ol_txrx_peer_state state)
|
||||||
{
|
{
|
||||||
if (!soc || !soc->ops || !soc->ops->peer_ops) {
|
if (!soc || !soc->ops || !soc->ops->peer_ops) {
|
||||||
@@ -346,7 +347,7 @@ cdp_peer_get_vdevid(ol_txrx_soc_handle soc, void *peer, uint8_t *vdev_id)
|
|||||||
* Return: Virtual interface instance
|
* Return: Virtual interface instance
|
||||||
* NULL in case cannot find
|
* NULL in case cannot find
|
||||||
*/
|
*/
|
||||||
static inline void
|
static inline struct cdp_vdev
|
||||||
*cdp_peer_get_vdev_by_sta_id(ol_txrx_soc_handle soc, uint8_t sta_id)
|
*cdp_peer_get_vdev_by_sta_id(ol_txrx_soc_handle soc, uint8_t sta_id)
|
||||||
{
|
{
|
||||||
if (!soc || !soc->ops || !soc->ops->peer_ops) {
|
if (!soc || !soc->ops || !soc->ops->peer_ops) {
|
||||||
@@ -396,7 +397,7 @@ static inline uint8_t
|
|||||||
* Return: virtual interface instance pointer
|
* Return: virtual interface instance pointer
|
||||||
* NULL in case cannot find
|
* NULL in case cannot find
|
||||||
*/
|
*/
|
||||||
static inline void
|
static inline struct cdp_vdev
|
||||||
*cdp_peer_get_vdev(ol_txrx_soc_handle soc, void *peer)
|
*cdp_peer_get_vdev(ol_txrx_soc_handle soc, void *peer)
|
||||||
{
|
{
|
||||||
if (!soc || !soc->ops || !soc->ops->peer_ops) {
|
if (!soc || !soc->ops || !soc->ops->peer_ops) {
|
||||||
@@ -424,7 +425,7 @@ static inline void
|
|||||||
*/
|
*/
|
||||||
static inline int16_t
|
static inline int16_t
|
||||||
cdp_peer_update_ibss_add_peer_num_of_vdev(ol_txrx_soc_handle soc,
|
cdp_peer_update_ibss_add_peer_num_of_vdev(ol_txrx_soc_handle soc,
|
||||||
void *vdev, int16_t peer_num_delta)
|
struct cdp_vdev *vdev, int16_t peer_num_delta)
|
||||||
{
|
{
|
||||||
if (!soc || !soc->ops || !soc->ops->peer_ops) {
|
if (!soc || !soc->ops || !soc->ops->peer_ops) {
|
||||||
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
|
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
|
||||||
@@ -451,7 +452,7 @@ cdp_peer_update_ibss_add_peer_num_of_vdev(ol_txrx_soc_handle soc,
|
|||||||
*/
|
*/
|
||||||
static inline void
|
static inline void
|
||||||
cdp_peer_copy_mac_addr_raw(ol_txrx_soc_handle soc,
|
cdp_peer_copy_mac_addr_raw(ol_txrx_soc_handle soc,
|
||||||
void *vdev, uint8_t *bss_addr)
|
struct cdp_vdev *vdev, uint8_t *bss_addr)
|
||||||
{
|
{
|
||||||
if (!soc || !soc->ops || !soc->ops->peer_ops) {
|
if (!soc || !soc->ops || !soc->ops->peer_ops) {
|
||||||
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
|
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
|
||||||
@@ -478,7 +479,7 @@ cdp_peer_copy_mac_addr_raw(ol_txrx_soc_handle soc,
|
|||||||
*/
|
*/
|
||||||
static inline void
|
static inline void
|
||||||
cdp_peer_add_last_real_peer(ol_txrx_soc_handle soc,
|
cdp_peer_add_last_real_peer(ol_txrx_soc_handle soc,
|
||||||
void *pdev, void *vdev, uint8_t *peer_id)
|
struct cdp_pdev *pdev, struct cdp_vdev *vdev, uint8_t *peer_id)
|
||||||
{
|
{
|
||||||
if (!soc || !soc->ops || !soc->ops->peer_ops) {
|
if (!soc || !soc->ops || !soc->ops->peer_ops) {
|
||||||
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
|
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
|
||||||
@@ -605,7 +606,7 @@ cdp_peer_is_vdev_restore_last_peer(ol_txrx_soc_handle soc, void *peer)
|
|||||||
* Return: none
|
* Return: none
|
||||||
*/
|
*/
|
||||||
static inline void
|
static inline void
|
||||||
cdp_peer_update_last_real_peer(ol_txrx_soc_handle soc, void *pdev,
|
cdp_peer_update_last_real_peer(ol_txrx_soc_handle soc, struct cdp_pdev *pdev,
|
||||||
void *peer, uint8_t *peer_id, bool restore_last_peer)
|
void *peer, uint8_t *peer_id, bool restore_last_peer)
|
||||||
{
|
{
|
||||||
if (!soc || !soc->ops || !soc->ops->peer_ops) {
|
if (!soc || !soc->ops || !soc->ops->peer_ops) {
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2016 The Linux Foundation. All rights reserved.
|
* Copyright (c) 2016-2017 The Linux Foundation. All rights reserved.
|
||||||
*
|
*
|
||||||
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
|
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
|
||||||
*
|
*
|
||||||
@@ -34,9 +34,10 @@
|
|||||||
|
|
||||||
#include <cdp_txrx_stats_struct.h>
|
#include <cdp_txrx_stats_struct.h>
|
||||||
#include "cdp_txrx_ops.h"
|
#include "cdp_txrx_ops.h"
|
||||||
|
#include "cdp_txrx_handle.h"
|
||||||
|
|
||||||
static inline uint32_t cdp_pflow_update_pdev_params
|
static inline uint32_t cdp_pflow_update_pdev_params
|
||||||
(ol_txrx_soc_handle soc, void *pdev,
|
(ol_txrx_soc_handle soc, struct cdp_pdev *pdev,
|
||||||
ol_ath_param_t param, uint32_t val, void *ctx)
|
ol_ath_param_t param, uint32_t val, void *ctx)
|
||||||
{
|
{
|
||||||
if (soc->ops->pflow_ops->pflow_update_pdev_params)
|
if (soc->ops->pflow_ops->pflow_update_pdev_params)
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2016 The Linux Foundation. All rights reserved.
|
* Copyright (c) 2016-2017 The Linux Foundation. All rights reserved.
|
||||||
*
|
*
|
||||||
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
|
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
|
||||||
*
|
*
|
||||||
@@ -32,11 +32,11 @@
|
|||||||
#ifndef _CDP_TXRX_RAW_H_
|
#ifndef _CDP_TXRX_RAW_H_
|
||||||
#define _CDP_TXRX_RAW_H_
|
#define _CDP_TXRX_RAW_H_
|
||||||
|
|
||||||
|
#include "cdp_txrx_handle.h"
|
||||||
#include "cdp_txrx_ops.h"
|
#include "cdp_txrx_ops.h"
|
||||||
/* TODO: adf need to be replaced with qdf */
|
/* TODO: adf need to be replaced with qdf */
|
||||||
static inline int cdp_get_nwifi_mode(ol_txrx_soc_handle soc,
|
static inline int cdp_get_nwifi_mode(ol_txrx_soc_handle soc,
|
||||||
void *vdev)
|
struct cdp_vdev *vdev)
|
||||||
{
|
{
|
||||||
if (soc->ops->raw_ops->txrx_get_nwifi_mode)
|
if (soc->ops->raw_ops->txrx_get_nwifi_mode)
|
||||||
return soc->ops->raw_ops->txrx_get_nwifi_mode(vdev);
|
return soc->ops->raw_ops->txrx_get_nwifi_mode(vdev);
|
||||||
@@ -65,7 +65,7 @@ static inline int cdp_get_nwifi_mode(ol_txrx_soc_handle soc,
|
|||||||
|
|
||||||
static inline int
|
static inline int
|
||||||
cdp_rsim_tx_encap(ol_txrx_soc_handle soc,
|
cdp_rsim_tx_encap(ol_txrx_soc_handle soc,
|
||||||
void *vdev, qdf_nbuf_t *pnbuf)
|
struct cdp_vdev *vdev, qdf_nbuf_t *pnbuf)
|
||||||
{
|
{
|
||||||
if (soc->ops->raw_ops->rsim_tx_encap)
|
if (soc->ops->raw_ops->rsim_tx_encap)
|
||||||
return soc->ops->raw_ops->rsim_tx_encap(vdev, pnbuf);
|
return soc->ops->raw_ops->rsim_tx_encap(vdev, pnbuf);
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2016 The Linux Foundation. All rights reserved.
|
* Copyright (c) 2016-2017 The Linux Foundation. All rights reserved.
|
||||||
*
|
*
|
||||||
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
|
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
|
||||||
*
|
*
|
||||||
@@ -31,7 +31,7 @@
|
|||||||
*/
|
*/
|
||||||
#ifndef _CDP_TXRX_COMPUTE_TX_DELAY_H_
|
#ifndef _CDP_TXRX_COMPUTE_TX_DELAY_H_
|
||||||
#define _CDP_TXRX_COMPUTE_TX_DELAY_H_
|
#define _CDP_TXRX_COMPUTE_TX_DELAY_H_
|
||||||
|
#include "cdp_txrx_handle.h"
|
||||||
/**
|
/**
|
||||||
* cdp_tx_delay() - get tx packet delay
|
* cdp_tx_delay() - get tx packet delay
|
||||||
* @soc: data path soc handle
|
* @soc: data path soc handle
|
||||||
@@ -43,7 +43,7 @@
|
|||||||
* Return: NONE
|
* Return: NONE
|
||||||
*/
|
*/
|
||||||
static inline void
|
static inline void
|
||||||
cdp_tx_delay(ol_txrx_soc_handle soc, void *pdev,
|
cdp_tx_delay(ol_txrx_soc_handle soc, struct cdp_pdev *pdev,
|
||||||
uint32_t *queue_delay_microsec, uint32_t *tx_delay_microsec,
|
uint32_t *queue_delay_microsec, uint32_t *tx_delay_microsec,
|
||||||
int category)
|
int category)
|
||||||
{
|
{
|
||||||
@@ -69,7 +69,7 @@ cdp_tx_delay(ol_txrx_soc_handle soc, void *pdev,
|
|||||||
* Return: NONE
|
* Return: NONE
|
||||||
*/
|
*/
|
||||||
static inline void
|
static inline void
|
||||||
cdp_tx_delay_hist(ol_txrx_soc_handle soc, void *pdev,
|
cdp_tx_delay_hist(ol_txrx_soc_handle soc, struct cdp_pdev *pdev,
|
||||||
uint16_t *bin_values, int category)
|
uint16_t *bin_values, int category)
|
||||||
{
|
{
|
||||||
if (!soc || !soc->ops || !soc->ops->delay_ops) {
|
if (!soc || !soc->ops || !soc->ops->delay_ops) {
|
||||||
@@ -94,7 +94,7 @@ cdp_tx_delay_hist(ol_txrx_soc_handle soc, void *pdev,
|
|||||||
* Return: NONE
|
* Return: NONE
|
||||||
*/
|
*/
|
||||||
static inline void
|
static inline void
|
||||||
cdp_tx_packet_count(ol_txrx_soc_handle soc, void *pdev,
|
cdp_tx_packet_count(ol_txrx_soc_handle soc, struct cdp_pdev *pdev,
|
||||||
uint16_t *out_packet_count, uint16_t *out_packet_loss_count,
|
uint16_t *out_packet_count, uint16_t *out_packet_loss_count,
|
||||||
int category)
|
int category)
|
||||||
{
|
{
|
||||||
@@ -119,7 +119,7 @@ cdp_tx_packet_count(ol_txrx_soc_handle soc, void *pdev,
|
|||||||
* Return: NONE
|
* Return: NONE
|
||||||
*/
|
*/
|
||||||
static inline void
|
static inline void
|
||||||
cdp_tx_set_compute_interval(ol_txrx_soc_handle soc, void *pdev,
|
cdp_tx_set_compute_interval(ol_txrx_soc_handle soc, struct cdp_pdev *pdev,
|
||||||
uint32_t interval)
|
uint32_t interval)
|
||||||
{
|
{
|
||||||
if (!soc || !soc->ops || !soc->ops->delay_ops) {
|
if (!soc || !soc->ops || !soc->ops->delay_ops) {
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2016 The Linux Foundation. All rights reserved.
|
* Copyright (c) 2016-2017 The Linux Foundation. All rights reserved.
|
||||||
*
|
*
|
||||||
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
|
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
|
||||||
*
|
*
|
||||||
@@ -33,7 +33,7 @@
|
|||||||
#ifndef _CDP_TXRX_TX_THROTTLE_H_
|
#ifndef _CDP_TXRX_TX_THROTTLE_H_
|
||||||
#define _CDP_TXRX_TX_THROTTLE_H_
|
#define _CDP_TXRX_TX_THROTTLE_H_
|
||||||
#include <cdp_txrx_ops.h>
|
#include <cdp_txrx_ops.h>
|
||||||
|
#include "cdp_txrx_handle.h"
|
||||||
/**
|
/**
|
||||||
* cdp_throttle_init_period() - init tx throttle period
|
* cdp_throttle_init_period() - init tx throttle period
|
||||||
* @soc: data path soc handle
|
* @soc: data path soc handle
|
||||||
@@ -44,8 +44,8 @@
|
|||||||
* Return: NONE
|
* Return: NONE
|
||||||
*/
|
*/
|
||||||
static inline void
|
static inline void
|
||||||
cdp_throttle_init_period(ol_txrx_soc_handle soc, void *pdev, int period,
|
cdp_throttle_init_period(ol_txrx_soc_handle soc, struct cdp_pdev *pdev,
|
||||||
uint8_t *dutycycle_level)
|
int period, uint8_t *dutycycle_level)
|
||||||
{
|
{
|
||||||
if (!soc || !soc->ops || !soc->ops->throttle_ops) {
|
if (!soc || !soc->ops || !soc->ops->throttle_ops) {
|
||||||
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
|
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
|
||||||
@@ -68,7 +68,7 @@ cdp_throttle_init_period(ol_txrx_soc_handle soc, void *pdev, int period,
|
|||||||
* Return: NONE
|
* Return: NONE
|
||||||
*/
|
*/
|
||||||
static inline void
|
static inline void
|
||||||
cdp_throttle_set_level(ol_txrx_soc_handle soc, void *pdev, int level)
|
cdp_throttle_set_level(ol_txrx_soc_handle soc, struct cdp_pdev *pdev, int level)
|
||||||
{
|
{
|
||||||
if (!soc || !soc->ops || !soc->ops->throttle_ops) {
|
if (!soc || !soc->ops || !soc->ops->throttle_ops) {
|
||||||
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
|
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2016 The Linux Foundation. All rights reserved.
|
* Copyright (c) 2016-2017 The Linux Foundation. All rights reserved.
|
||||||
*
|
*
|
||||||
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
|
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
|
||||||
*
|
*
|
||||||
@@ -31,7 +31,7 @@
|
|||||||
*/
|
*/
|
||||||
#ifndef _CDP_TXRX_WDS_H_
|
#ifndef _CDP_TXRX_WDS_H_
|
||||||
#define _CDP_TXRX_WDS_H_
|
#define _CDP_TXRX_WDS_H_
|
||||||
|
#include "cdp_txrx_handle.h"
|
||||||
/**
|
/**
|
||||||
* @brief set the wds rx filter policy of the device
|
* @brief set the wds rx filter policy of the device
|
||||||
* @details
|
* @details
|
||||||
@@ -44,7 +44,7 @@
|
|||||||
*/
|
*/
|
||||||
static inline void
|
static inline void
|
||||||
cdp_set_wds_rx_policy(ol_txrx_soc_handle soc,
|
cdp_set_wds_rx_policy(ol_txrx_soc_handle soc,
|
||||||
void *vdev,
|
struct cdp_vdev *vdev,
|
||||||
u_int32_t val)
|
u_int32_t val)
|
||||||
{
|
{
|
||||||
if (!soc || !soc->ops || !soc->ops->wds_ops) {
|
if (!soc || !soc->ops || !soc->ops->wds_ops) {
|
||||||
|
@@ -22,6 +22,7 @@
|
|||||||
#if DP_PRINT_ENABLE
|
#if DP_PRINT_ENABLE
|
||||||
#include <stdarg.h> /* va_list */
|
#include <stdarg.h> /* va_list */
|
||||||
#include <qdf_types.h> /* qdf_vprint */
|
#include <qdf_types.h> /* qdf_vprint */
|
||||||
|
#include <cdp_txrx_handle.h>
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
/* FATAL_ERR - print only irrecoverable error messages */
|
/* FATAL_ERR - print only irrecoverable error messages */
|
||||||
@@ -63,20 +64,21 @@ extern void dp_peer_rx_cleanup(struct dp_vdev *vdev, struct dp_peer *peer);
|
|||||||
extern void dp_peer_unref_delete(void *peer_handle);
|
extern void dp_peer_unref_delete(void *peer_handle);
|
||||||
extern void dp_rx_discard(struct dp_vdev *vdev, struct dp_peer *peer,
|
extern void dp_rx_discard(struct dp_vdev *vdev, struct dp_peer *peer,
|
||||||
unsigned tid, qdf_nbuf_t msdu_list);
|
unsigned tid, qdf_nbuf_t msdu_list);
|
||||||
extern void *dp_find_peer_by_addr(void *dev,
|
extern void *dp_find_peer_by_addr(struct cdp_pdev *dev,
|
||||||
uint8_t *peer_mac_addr, uint8_t *peer_id);
|
uint8_t *peer_mac_addr, uint8_t *peer_id);
|
||||||
#ifndef CONFIG_WIN
|
#ifndef CONFIG_WIN
|
||||||
QDF_STATUS dp_register_peer(void *pdev_handle,
|
QDF_STATUS dp_register_peer(struct cdp_pdev *pdev_handle,
|
||||||
struct ol_txrx_desc_type *sta_desc);
|
struct ol_txrx_desc_type *sta_desc);
|
||||||
QDF_STATUS dp_clear_peer(void *pdev_handle, uint8_t local_id);
|
QDF_STATUS dp_clear_peer(struct cdp_pdev *pdev_handle, uint8_t local_id);
|
||||||
void *dp_find_peer_by_addr_and_vdev(void *pdev_handle, void *vdev,
|
void *dp_find_peer_by_addr_and_vdev(struct cdp_pdev *pdev_handle,
|
||||||
|
struct cdp_vdev *vdev,
|
||||||
uint8_t *peer_addr, uint8_t *local_id);
|
uint8_t *peer_addr, uint8_t *local_id);
|
||||||
uint16_t dp_local_peer_id(void *peer);
|
uint16_t dp_local_peer_id(void *peer);
|
||||||
void *dp_peer_find_by_local_id(void *pdev_handle, uint8_t local_id);
|
void *dp_peer_find_by_local_id(struct cdp_pdev *pdev_handle, uint8_t local_id);
|
||||||
QDF_STATUS dp_peer_state_update(void *pdev_handle, uint8_t *peer_mac,
|
QDF_STATUS dp_peer_state_update(struct cdp_pdev *pdev_handle, uint8_t *peer_mac,
|
||||||
enum ol_txrx_peer_state state);
|
enum ol_txrx_peer_state state);
|
||||||
QDF_STATUS dp_get_vdevid(void *peer_handle, uint8_t *vdev_id);
|
QDF_STATUS dp_get_vdevid(void *peer_handle, uint8_t *vdev_id);
|
||||||
void *dp_get_vdev_for_peer(void *peer);
|
struct cdp_vdev *dp_get_vdev_for_peer(void *peer);
|
||||||
uint8_t *dp_peer_get_peer_mac_addr(void *peer);
|
uint8_t *dp_peer_get_peer_mac_addr(void *peer);
|
||||||
int dp_get_peer_state(void *peer_handle);
|
int dp_get_peer_state(void *peer_handle);
|
||||||
void dp_local_peer_id_pool_init(struct dp_pdev *pdev);
|
void dp_local_peer_id_pool_init(struct dp_pdev *pdev);
|
||||||
|
@@ -29,7 +29,7 @@
|
|||||||
#include "dp_tx.h"
|
#include "dp_tx.h"
|
||||||
#include "dp_rx.h"
|
#include "dp_rx.h"
|
||||||
#include "../../wlan_cfg/wlan_cfg.h"
|
#include "../../wlan_cfg/wlan_cfg.h"
|
||||||
|
#include <cdp_txrx_handle.h>
|
||||||
#define DP_INTR_POLL_TIMER_MS 100
|
#define DP_INTR_POLL_TIMER_MS 100
|
||||||
/**
|
/**
|
||||||
* dp_setup_srng - Internal function to setup SRNG rings used by data path
|
* dp_setup_srng - Internal function to setup SRNG rings used by data path
|
||||||
@@ -865,7 +865,7 @@ fail0:
|
|||||||
return QDF_STATUS_E_FAILURE;
|
return QDF_STATUS_E_FAILURE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void dp_pdev_detach_wifi3(void *txrx_pdev, int force);
|
static void dp_pdev_detach_wifi3(struct cdp_pdev *txrx_pdev, int force);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* dp_rxdma_ring_setup() - configure the RX DMA rings
|
* dp_rxdma_ring_setup() - configure the RX DMA rings
|
||||||
@@ -914,7 +914,8 @@ static int dp_rxdma_ring_setup(struct dp_soc *soc,
|
|||||||
*
|
*
|
||||||
* Return: DP PDEV handle on success, NULL on failure
|
* Return: DP PDEV handle on success, NULL on failure
|
||||||
*/
|
*/
|
||||||
static void *dp_pdev_attach_wifi3(struct cdp_soc_t *txrx_soc, void *ctrl_pdev,
|
static struct cdp_pdev *dp_pdev_attach_wifi3(struct cdp_soc_t *txrx_soc,
|
||||||
|
struct cdp_cfg *ctrl_pdev,
|
||||||
HTC_HANDLE htc_handle, qdf_device_t qdf_osdev, uint8_t pdev_id)
|
HTC_HANDLE htc_handle, qdf_device_t qdf_osdev, uint8_t pdev_id)
|
||||||
{
|
{
|
||||||
struct dp_soc *soc = (struct dp_soc *)txrx_soc;
|
struct dp_soc *soc = (struct dp_soc *)txrx_soc;
|
||||||
@@ -1034,10 +1035,10 @@ static void *dp_pdev_attach_wifi3(struct cdp_soc_t *txrx_soc, void *ctrl_pdev,
|
|||||||
dp_local_peer_id_pool_init(pdev);
|
dp_local_peer_id_pool_init(pdev);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return (void *)pdev;
|
return (struct cdp_pdev *)pdev;
|
||||||
|
|
||||||
fail1:
|
fail1:
|
||||||
dp_pdev_detach_wifi3((void *)pdev, 0);
|
dp_pdev_detach_wifi3((struct cdp_pdev *)pdev, 0);
|
||||||
|
|
||||||
fail0:
|
fail0:
|
||||||
return NULL;
|
return NULL;
|
||||||
@@ -1076,7 +1077,7 @@ static void dp_rxdma_ring_cleanup(struct dp_soc *soc,
|
|||||||
* @force: Force detach
|
* @force: Force detach
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
static void dp_pdev_detach_wifi3(void *txrx_pdev, int force)
|
static void dp_pdev_detach_wifi3(struct cdp_pdev *txrx_pdev, int force)
|
||||||
{
|
{
|
||||||
struct dp_pdev *pdev = (struct dp_pdev *)txrx_pdev;
|
struct dp_pdev *pdev = (struct dp_pdev *)txrx_pdev;
|
||||||
struct dp_soc *soc = pdev->soc;
|
struct dp_soc *soc = pdev->soc;
|
||||||
@@ -1131,7 +1132,7 @@ static void dp_soc_detach_wifi3(void *txrx_soc)
|
|||||||
|
|
||||||
for (i = 0; i < MAX_PDEV_CNT; i++) {
|
for (i = 0; i < MAX_PDEV_CNT; i++) {
|
||||||
if (soc->pdev_list[i])
|
if (soc->pdev_list[i])
|
||||||
dp_pdev_detach_wifi3((void *)pdev, 1);
|
dp_pdev_detach_wifi3((struct cdp_pdev *)pdev, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
dp_peer_find_detach(soc);
|
dp_peer_find_detach(soc);
|
||||||
@@ -1296,7 +1297,7 @@ static int dp_soc_attach_target_wifi3(struct cdp_soc_t *cdp_soc)
|
|||||||
*
|
*
|
||||||
* Return: DP VDEV handle on success, NULL on failure
|
* Return: DP VDEV handle on success, NULL on failure
|
||||||
*/
|
*/
|
||||||
static void *dp_vdev_attach_wifi3(void *txrx_pdev,
|
static struct cdp_vdev *dp_vdev_attach_wifi3(struct cdp_pdev *txrx_pdev,
|
||||||
uint8_t *vdev_mac_addr, uint8_t vdev_id, enum wlan_op_mode op_mode)
|
uint8_t *vdev_mac_addr, uint8_t vdev_id, enum wlan_op_mode op_mode)
|
||||||
{
|
{
|
||||||
struct dp_pdev *pdev = (struct dp_pdev *)txrx_pdev;
|
struct dp_pdev *pdev = (struct dp_pdev *)txrx_pdev;
|
||||||
@@ -1352,7 +1353,7 @@ static void *dp_vdev_attach_wifi3(void *txrx_pdev,
|
|||||||
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_ERROR,
|
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_ERROR,
|
||||||
"Created vdev %p (%pM)", vdev, vdev->mac_addr.raw);
|
"Created vdev %p (%pM)", vdev, vdev->mac_addr.raw);
|
||||||
|
|
||||||
return (void *)vdev;
|
return (struct cdp_vdev *)vdev;
|
||||||
|
|
||||||
fail0:
|
fail0:
|
||||||
return NULL;
|
return NULL;
|
||||||
@@ -1366,7 +1367,8 @@ fail0:
|
|||||||
*
|
*
|
||||||
* Return: DP VDEV handle on success, NULL on failure
|
* Return: DP VDEV handle on success, NULL on failure
|
||||||
*/
|
*/
|
||||||
static void dp_vdev_register_wifi3(void *vdev_handle, void *osif_vdev,
|
static void dp_vdev_register_wifi3(struct cdp_vdev *vdev_handle,
|
||||||
|
void *osif_vdev,
|
||||||
struct ol_txrx_ops *txrx_ops)
|
struct ol_txrx_ops *txrx_ops)
|
||||||
{
|
{
|
||||||
struct dp_vdev *vdev = (struct dp_vdev *)vdev_handle;
|
struct dp_vdev *vdev = (struct dp_vdev *)vdev_handle;
|
||||||
@@ -1396,7 +1398,7 @@ static void dp_vdev_register_wifi3(void *vdev_handle, void *osif_vdev,
|
|||||||
* @cb_context: Callback context
|
* @cb_context: Callback context
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
static void dp_vdev_detach_wifi3(void *vdev_handle,
|
static void dp_vdev_detach_wifi3(struct cdp_vdev *vdev_handle,
|
||||||
ol_txrx_vdev_delete_cb callback, void *cb_context)
|
ol_txrx_vdev_delete_cb callback, void *cb_context)
|
||||||
{
|
{
|
||||||
struct dp_vdev *vdev = (struct dp_vdev *)vdev_handle;
|
struct dp_vdev *vdev = (struct dp_vdev *)vdev_handle;
|
||||||
@@ -1447,7 +1449,8 @@ static void dp_vdev_detach_wifi3(void *vdev_handle,
|
|||||||
*
|
*
|
||||||
* Return: DP peeer handle on success, NULL on failure
|
* Return: DP peeer handle on success, NULL on failure
|
||||||
*/
|
*/
|
||||||
static void *dp_peer_create_wifi3(void *vdev_handle, uint8_t *peer_mac_addr)
|
static void *dp_peer_create_wifi3(struct cdp_vdev *vdev_handle,
|
||||||
|
uint8_t *peer_mac_addr)
|
||||||
{
|
{
|
||||||
struct dp_peer *peer;
|
struct dp_peer *peer;
|
||||||
int i;
|
int i;
|
||||||
@@ -1527,7 +1530,7 @@ static void *dp_peer_create_wifi3(void *vdev_handle, uint8_t *peer_mac_addr)
|
|||||||
*
|
*
|
||||||
* Return: void
|
* Return: void
|
||||||
*/
|
*/
|
||||||
static void dp_peer_setup_wifi3(void *vdev_hdl, void *peer_hdl)
|
static void dp_peer_setup_wifi3(struct cdp_vdev *vdev_hdl, void *peer_hdl)
|
||||||
{
|
{
|
||||||
struct dp_peer *peer = (struct dp_peer *)peer_hdl;
|
struct dp_peer *peer = (struct dp_peer *)peer_hdl;
|
||||||
struct dp_vdev *vdev = (struct dp_vdev *)vdev_hdl;
|
struct dp_vdev *vdev = (struct dp_vdev *)vdev_hdl;
|
||||||
@@ -1723,9 +1726,9 @@ static void dp_peer_delete_wifi3(void *peer_handle)
|
|||||||
* @peer_handle: Datapath peer handle
|
* @peer_handle: Datapath peer handle
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
static uint8 *dp_get_vdev_mac_addr_wifi3(void *pvdev)
|
static uint8 *dp_get_vdev_mac_addr_wifi3(struct cdp_vdev *pvdev)
|
||||||
{
|
{
|
||||||
struct dp_vdev *vdev = pvdev;
|
struct dp_vdev *vdev = (struct dp_vdev *)pvdev;
|
||||||
|
|
||||||
return vdev->mac_addr.raw;
|
return vdev->mac_addr.raw;
|
||||||
}
|
}
|
||||||
@@ -1735,9 +1738,10 @@ static uint8 *dp_get_vdev_mac_addr_wifi3(void *pvdev)
|
|||||||
* @peer_handle: Datapath peer handle
|
* @peer_handle: Datapath peer handle
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
static void *dp_get_vdev_from_vdev_id_wifi3(void *dev, uint8_t vdev_id)
|
static struct cdp_vdev *dp_get_vdev_from_vdev_id_wifi3(struct cdp_pdev *dev,
|
||||||
|
uint8_t vdev_id)
|
||||||
{
|
{
|
||||||
struct dp_pdev *pdev = dev;
|
struct dp_pdev *pdev = (struct dp_pdev *)dev;
|
||||||
struct dp_vdev *vdev = NULL;
|
struct dp_vdev *vdev = NULL;
|
||||||
|
|
||||||
if (qdf_unlikely(!pdev))
|
if (qdf_unlikely(!pdev))
|
||||||
@@ -1748,22 +1752,22 @@ static void *dp_get_vdev_from_vdev_id_wifi3(void *dev, uint8_t vdev_id)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return vdev;
|
return (struct cdp_vdev *)vdev;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int dp_get_opmode(void *vdev_handle)
|
static int dp_get_opmode(struct cdp_vdev *vdev_handle)
|
||||||
{
|
{
|
||||||
struct dp_vdev *vdev = vdev_handle;
|
struct dp_vdev *vdev = (struct dp_vdev *)vdev_handle;
|
||||||
|
|
||||||
return vdev->opmode;
|
return vdev->opmode;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void *dp_get_ctrl_pdev_from_vdev_wifi3(void *pvdev)
|
static struct cdp_cfg *dp_get_ctrl_pdev_from_vdev_wifi3(struct cdp_vdev *pvdev)
|
||||||
{
|
{
|
||||||
struct dp_vdev *vdev = pvdev;
|
struct dp_vdev *vdev = (struct dp_vdev *)pvdev;
|
||||||
struct dp_pdev *pdev = vdev->pdev;
|
struct dp_pdev *pdev = vdev->pdev;
|
||||||
|
|
||||||
return (void *)pdev->wlan_cfg_ctx;
|
return (struct cdp_cfg *)pdev->wlan_cfg_ctx;
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct cdp_cmn_ops dp_ops_cmn = {
|
static struct cdp_cmn_ops dp_ops_cmn = {
|
||||||
|
@@ -27,6 +27,7 @@
|
|||||||
#ifdef CONFIG_MCL
|
#ifdef CONFIG_MCL
|
||||||
#include <cds_ieee80211_common.h>
|
#include <cds_ieee80211_common.h>
|
||||||
#endif
|
#endif
|
||||||
|
#include <cdp_txrx_handle.h>
|
||||||
/* Temporary definitions to be moved to wlan_cfg */
|
/* Temporary definitions to be moved to wlan_cfg */
|
||||||
static inline uint32_t wlan_cfg_max_peer_id(void *wlan_cfg_ctx)
|
static inline uint32_t wlan_cfg_max_peer_id(void *wlan_cfg_ctx)
|
||||||
{
|
{
|
||||||
@@ -430,10 +431,10 @@ static void dp_rx_tid_update_cb(struct dp_soc *soc, void *cb_ctxt,
|
|||||||
*
|
*
|
||||||
* Return: peer instance pointer
|
* Return: peer instance pointer
|
||||||
*/
|
*/
|
||||||
void *dp_find_peer_by_addr(void *dev, uint8_t *peer_mac_addr,
|
void *dp_find_peer_by_addr(struct cdp_pdev *dev, uint8_t *peer_mac_addr,
|
||||||
uint8_t *local_id)
|
uint8_t *local_id)
|
||||||
{
|
{
|
||||||
struct dp_pdev *pdev = dev;
|
struct dp_pdev *pdev = (struct dp_pdev *)dev;
|
||||||
struct dp_peer *peer;
|
struct dp_peer *peer;
|
||||||
|
|
||||||
#if ATH_SUPPORT_WRAP
|
#if ATH_SUPPORT_WRAP
|
||||||
@@ -961,13 +962,14 @@ dp_rx_sec_ind_handler(void *soc_handle, uint16_t peer_id,
|
|||||||
* Return: QDF_STATUS_SUCCESS registration success
|
* Return: QDF_STATUS_SUCCESS registration success
|
||||||
* QDF_STATUS_E_FAULT peer not found
|
* QDF_STATUS_E_FAULT peer not found
|
||||||
*/
|
*/
|
||||||
QDF_STATUS dp_register_peer(void *pdev_handle,
|
QDF_STATUS dp_register_peer(struct cdp_pdev *pdev_handle,
|
||||||
struct ol_txrx_desc_type *sta_desc)
|
struct ol_txrx_desc_type *sta_desc)
|
||||||
{
|
{
|
||||||
struct dp_peer *peer;
|
struct dp_peer *peer;
|
||||||
struct dp_pdev *pdev = pdev_handle;
|
struct dp_pdev *pdev = (struct dp_pdev *)pdev_handle;
|
||||||
|
|
||||||
peer = dp_peer_find_by_local_id(pdev, sta_desc->sta_id);
|
peer = dp_peer_find_by_local_id((struct cdp_pdev *)pdev,
|
||||||
|
sta_desc->sta_id);
|
||||||
if (!peer)
|
if (!peer)
|
||||||
return QDF_STATUS_E_FAULT;
|
return QDF_STATUS_E_FAULT;
|
||||||
|
|
||||||
@@ -988,12 +990,12 @@ QDF_STATUS dp_register_peer(void *pdev_handle,
|
|||||||
* Return: QDF_STATUS_SUCCESS registration success
|
* Return: QDF_STATUS_SUCCESS registration success
|
||||||
* QDF_STATUS_E_FAULT peer not found
|
* QDF_STATUS_E_FAULT peer not found
|
||||||
*/
|
*/
|
||||||
QDF_STATUS dp_clear_peer(void *pdev_handle, uint8_t local_id)
|
QDF_STATUS dp_clear_peer(struct cdp_pdev *pdev_handle, uint8_t local_id)
|
||||||
{
|
{
|
||||||
struct dp_peer *peer;
|
struct dp_peer *peer;
|
||||||
struct dp_pdev *pdev = pdev_handle;
|
struct dp_pdev *pdev = (struct dp_pdev *)pdev_handle;
|
||||||
|
|
||||||
peer = dp_peer_find_by_local_id(pdev, local_id);
|
peer = dp_peer_find_by_local_id((struct cdp_pdev *)pdev, local_id);
|
||||||
if (!peer)
|
if (!peer)
|
||||||
return QDF_STATUS_E_FAULT;
|
return QDF_STATUS_E_FAULT;
|
||||||
|
|
||||||
@@ -1016,10 +1018,12 @@ QDF_STATUS dp_clear_peer(void *pdev_handle, uint8_t local_id)
|
|||||||
* Return: peer instance void pointer
|
* Return: peer instance void pointer
|
||||||
* NULL cannot find target peer
|
* NULL cannot find target peer
|
||||||
*/
|
*/
|
||||||
void *dp_find_peer_by_addr_and_vdev(void *pdev_handle, void *vdev,
|
void *dp_find_peer_by_addr_and_vdev(struct cdp_pdev *pdev_handle,
|
||||||
|
struct cdp_vdev *vdev_handle,
|
||||||
uint8_t *peer_addr, uint8_t *local_id)
|
uint8_t *peer_addr, uint8_t *local_id)
|
||||||
{
|
{
|
||||||
struct dp_pdev *pdev = pdev_handle;
|
struct dp_pdev *pdev = (struct dp_pdev *)pdev_handle;
|
||||||
|
struct dp_vdev *vdev = (struct dp_vdev *)vdev_handle;
|
||||||
struct dp_peer *peer;
|
struct dp_peer *peer;
|
||||||
|
|
||||||
DP_TRACE(INFO, "vdev %p peer_addr %p", vdev, peer_addr);
|
DP_TRACE(INFO, "vdev %p peer_addr %p", vdev, peer_addr);
|
||||||
@@ -1066,10 +1070,10 @@ uint16_t dp_local_peer_id(void *peer)
|
|||||||
* Return: peer instance void pointer
|
* Return: peer instance void pointer
|
||||||
* NULL cannot find target peer
|
* NULL cannot find target peer
|
||||||
*/
|
*/
|
||||||
void *dp_peer_find_by_local_id(void *pdev_handle, uint8_t local_id)
|
void *dp_peer_find_by_local_id(struct cdp_pdev *pdev_handle, uint8_t local_id)
|
||||||
{
|
{
|
||||||
struct dp_peer *peer;
|
struct dp_peer *peer;
|
||||||
struct dp_pdev *pdev = pdev_handle;
|
struct dp_pdev *pdev = (struct dp_pdev *)pdev_handle;
|
||||||
|
|
||||||
qdf_spin_lock_bh(&pdev->local_peer_ids.lock);
|
qdf_spin_lock_bh(&pdev->local_peer_ids.lock);
|
||||||
peer = pdev->local_peer_ids.map[local_id];
|
peer = pdev->local_peer_ids.map[local_id];
|
||||||
@@ -1089,11 +1093,11 @@ void *dp_peer_find_by_local_id(void *pdev_handle, uint8_t local_id)
|
|||||||
*
|
*
|
||||||
* Return: QDF_STATUS_SUCCESS registration success
|
* Return: QDF_STATUS_SUCCESS registration success
|
||||||
*/
|
*/
|
||||||
QDF_STATUS dp_peer_state_update(void *pdev_handle, uint8_t *peer_mac,
|
QDF_STATUS dp_peer_state_update(struct cdp_pdev *pdev_handle, uint8_t *peer_mac,
|
||||||
enum ol_txrx_peer_state state)
|
enum ol_txrx_peer_state state)
|
||||||
{
|
{
|
||||||
struct dp_peer *peer;
|
struct dp_peer *peer;
|
||||||
struct dp_pdev *pdev = pdev_handle;
|
struct dp_pdev *pdev = (struct dp_pdev *)pdev_handle;
|
||||||
|
|
||||||
peer = dp_peer_find_hash_find(pdev->soc, peer_mac, 0);
|
peer = dp_peer_find_hash_find(pdev->soc, peer_mac, 0);
|
||||||
if (NULL == peer) {
|
if (NULL == peer) {
|
||||||
@@ -1140,12 +1144,12 @@ QDF_STATUS dp_get_vdevid(void *peer_handle, uint8_t *vdev_id)
|
|||||||
* Return: virtual interface instance pointer
|
* Return: virtual interface instance pointer
|
||||||
* NULL in case cannot find
|
* NULL in case cannot find
|
||||||
*/
|
*/
|
||||||
void *dp_get_vdev_for_peer(void *peer_handle)
|
struct cdp_vdev *dp_get_vdev_for_peer(void *peer_handle)
|
||||||
{
|
{
|
||||||
struct dp_peer *peer = peer_handle;
|
struct dp_peer *peer = peer_handle;
|
||||||
|
|
||||||
DP_TRACE(INFO, "peer %p vdev %p", peer, peer->vdev);
|
DP_TRACE(INFO, "peer %p vdev %p", peer, peer->vdev);
|
||||||
return (void *)peer->vdev;
|
return (struct cdp_vdev *)peer->vdev;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Reference in New Issue
Block a user