
Non datapath modules use these APIs when they work with datapath module data structures. Change-Id: Ic257c6fc621820199b1691b8e62f7f7109237b01 CRs-Fixed: 993414
90 lines
2.9 KiB
C
90 lines
2.9 KiB
C
/*
|
|
* Copyright (c) 2016 The Linux Foundation. All rights reserved.
|
|
*
|
|
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
|
|
*
|
|
*
|
|
* Permission to use, copy, modify, and/or distribute this software for
|
|
* any purpose with or without fee is hereby granted, provided that the
|
|
* above copyright notice and this permission notice appear in all
|
|
* copies.
|
|
*
|
|
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
|
|
* WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
|
|
* WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
|
|
* AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
|
|
* DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
|
|
* PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
|
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
* PERFORMANCE OF THIS SOFTWARE.
|
|
*/
|
|
|
|
/*
|
|
* This file was originally distributed by Qualcomm Atheros, Inc.
|
|
* under proprietary terms before Copyright ownership was assigned
|
|
* to the Linux Foundation.
|
|
*/
|
|
/**
|
|
* @file cdp_txrx_cfg.h
|
|
* @brief Define the host data path configuration API functions
|
|
*/
|
|
#ifndef _CDP_TXRX_CFG_H_
|
|
#define _CDP_TXRX_CFG_H_
|
|
|
|
/**
|
|
* struct txrx_pdev_cfg_param_t - configuration information
|
|
* passed to the data path
|
|
*/
|
|
struct txrx_pdev_cfg_param_t {
|
|
uint8_t is_full_reorder_offload;
|
|
/* IPA Micro controller data path offload enable flag */
|
|
uint8_t is_uc_offload_enabled;
|
|
/* IPA Micro controller data path offload TX buffer count */
|
|
uint32_t uc_tx_buffer_count;
|
|
/* IPA Micro controller data path offload TX buffer size */
|
|
uint32_t uc_tx_buffer_size;
|
|
/* IPA Micro controller data path offload RX indication ring count */
|
|
uint32_t uc_rx_indication_ring_count;
|
|
/* IPA Micro controller data path offload TX partition base */
|
|
uint32_t uc_tx_partition_base;
|
|
/* IP, TCP and UDP checksum offload */
|
|
bool ip_tcp_udp_checksum_offload;
|
|
/* Rx processing in thread from TXRX */
|
|
bool enable_rxthread;
|
|
/* CE classification enabled through INI */
|
|
bool ce_classify_enabled;
|
|
#ifdef QCA_LL_TX_FLOW_CONTROL_V2
|
|
/* Threshold to stop queue in percentage */
|
|
uint32_t tx_flow_stop_queue_th;
|
|
/* Start queue offset in percentage */
|
|
uint32_t tx_flow_start_queue_offset;
|
|
#endif
|
|
};
|
|
|
|
void ol_set_cfg_rx_fwd_disabled(ol_pdev_handle pdev, uint8_t disable_rx_fwd);
|
|
|
|
void ol_set_cfg_packet_log_enabled(ol_pdev_handle pdev, uint8_t val);
|
|
|
|
ol_pdev_handle ol_pdev_cfg_attach(qdf_device_t osdev,
|
|
struct txrx_pdev_cfg_param_t cfg_param);
|
|
|
|
void ol_vdev_rx_set_intrabss_fwd(ol_txrx_vdev_handle vdev, bool val);
|
|
|
|
/**
|
|
* ol_txrx_get_opmode() - Return operation mode of vdev
|
|
* @vdev: vdev handle
|
|
*
|
|
* Return: operation mode.
|
|
*/
|
|
int ol_txrx_get_opmode(ol_txrx_vdev_handle vdev);
|
|
|
|
/**
|
|
* ol_txrx_is_rx_fwd_disabled() - returns the rx_fwd_disabled status on vdev
|
|
* @vdev: vdev handle
|
|
*
|
|
* Return: Rx Fwd disabled status
|
|
*/
|
|
uint8_t
|
|
ol_txrx_is_rx_fwd_disabled(ol_txrx_vdev_handle vdev);
|
|
#endif /* _CDP_TXRX_CFG_H_ */
|