qcacmn: Cfg changes for IPA offload support

Cfg changes for IPA offload support.

Change-Id: If477db8e958b22634e1505f3e4319c7aa0cc6ef4
This commit is contained in:
Himanshu Batra
2021-09-30 10:05:41 +05:30
committed by Madan Koyyalamudi
parent a83d7d4111
commit f49b3a1753
5 changed files with 28 additions and 16 deletions

View File

@@ -1,5 +1,6 @@
/* /*
* Copyright (c) 2018-2021 The Linux Foundation. All rights reserved. * Copyright (c) 2018-2021 The Linux Foundation. All rights reserved.
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
* *
* Permission to use, copy, modify, and/or distribute this software for * Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the * any purpose with or without fee is hereby granted, provided that the
@@ -51,6 +52,7 @@
#define CFG_WLAN_CM_UTF_PARAM #define CFG_WLAN_CM_UTF_PARAM
#endif #endif
#include <cfg_mgmt_txrx.h> #include <cfg_mgmt_txrx.h>
#include <cfg_ipa.h>
#define CFG_CONVERGED_ALL \ #define CFG_CONVERGED_ALL \
CFG_SCAN_ALL \ CFG_SCAN_ALL \
@@ -64,7 +66,8 @@
CFG_MLME_SCORE_ALL \ CFG_MLME_SCORE_ALL \
CFG_WLAN_CM_UTF_PARAM \ CFG_WLAN_CM_UTF_PARAM \
CFG_CMN_MLME_ALL \ CFG_CMN_MLME_ALL \
CFG_MGMT_TXRX_ALL CFG_MGMT_TXRX_ALL \
CFG_IPA
#endif /* __CFG_CONVERGED_H */ #endif /* __CFG_CONVERGED_H */

View File

@@ -128,6 +128,12 @@ enum {
DP_VDEV_STATS_TX_ME, DP_VDEV_STATS_TX_ME,
}; };
/*
* typedef ipa_uc_op_cb_type - Register OP handler function
*/
typedef void (*ipa_uc_op_cb_type)(uint8_t *op_msg,
void *osif_ctxt);
static inline QDF_STATUS static inline QDF_STATUS
cdp_soc_attach_target(ol_txrx_soc_handle soc) cdp_soc_attach_target(ol_txrx_soc_handle soc)
{ {

View File

@@ -475,9 +475,6 @@ typedef void (*tx_pause_callback)(uint8_t vdev_id,
enum netif_action_type action, enum netif_action_type action,
enum netif_reason_type reason); enum netif_reason_type reason);
typedef void (*ipa_uc_op_cb_type)(uint8_t *op_msg,
void *osif_ctxt);
/** /**
* struct ol_rx_inv_peer_params - rx invalid peer data parameters * struct ol_rx_inv_peer_params - rx invalid peer data parameters
* @vdev_id: Virtual device ID * @vdev_id: Virtual device ID

View File

@@ -1833,15 +1833,16 @@ QDF_STATUS dp_ipa_disable_autonomy(struct cdp_soc_t *soc_hdl, uint8_t pdev_id)
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 10, 0)) || \ #if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 10, 0)) || \
defined(CONFIG_IPA_WDI_UNIFIED_API) defined(CONFIG_IPA_WDI_UNIFIED_API)
#ifndef QCA_LL_TX_FLOW_CONTROL_V2 #if !defined(QCA_LL_TX_FLOW_CONTROL_V2) && !defined(QCA_IPA_LL_TX_FLOW_CONTROL)
static inline void dp_setup_mcc_sys_pipes( static inline void dp_setup_mcc_sys_pipes(
qdf_ipa_sys_connect_params_t *sys_in, qdf_ipa_sys_connect_params_t *sys_in,
qdf_ipa_wdi_conn_in_params_t *pipe_in) qdf_ipa_wdi_conn_in_params_t *pipe_in)
{ {
int i = 0;
/* Setup MCC sys pipe */ /* Setup MCC sys pipe */
QDF_IPA_WDI_CONN_IN_PARAMS_NUM_SYS_PIPE_NEEDED(pipe_in) = QDF_IPA_WDI_CONN_IN_PARAMS_NUM_SYS_PIPE_NEEDED(pipe_in) =
DP_IPA_MAX_IFACE; DP_IPA_MAX_IFACE;
for (int i = 0; i < DP_IPA_MAX_IFACE; i++) for (i = 0; i < DP_IPA_MAX_IFACE; i++)
memcpy(&QDF_IPA_WDI_CONN_IN_PARAMS_SYS_IN(pipe_in)[i], memcpy(&QDF_IPA_WDI_CONN_IN_PARAMS_SYS_IN(pipe_in)[i],
&sys_in[i], sizeof(qdf_ipa_sys_connect_params_t)); &sys_in[i], sizeof(qdf_ipa_sys_connect_params_t));
} }

View File

@@ -48,15 +48,6 @@
#define WLAN_CFG_PER_PDEV_TX_RING_MIN 0 #define WLAN_CFG_PER_PDEV_TX_RING_MIN 0
#define WLAN_CFG_PER_PDEV_TX_RING_MAX 1 #define WLAN_CFG_PER_PDEV_TX_RING_MAX 1
#if defined(WLAN_MAX_PDEVS) && (WLAN_MAX_PDEVS == 1)
#define WLAN_CFG_PER_PDEV_RX_RING 0
#define WLAN_CFG_PER_PDEV_LMAC_RING 0
#define WLAN_LRO_ENABLE 0
#ifdef QCA_WIFI_QCA6750
#define WLAN_CFG_MAC_PER_TARGET 1
#else
#define WLAN_CFG_MAC_PER_TARGET 2
#endif
#ifdef IPA_OFFLOAD #ifdef IPA_OFFLOAD
/* Size of TCL TX Ring */ /* Size of TCL TX Ring */
#if defined(TX_TO_NPEERS_INC_TX_DESCS) #if defined(TX_TO_NPEERS_INC_TX_DESCS)
@@ -89,10 +80,24 @@
#define WLAN_CFG_IPA_UC_RX_IND_RING_COUNT 1024 #define WLAN_CFG_IPA_UC_RX_IND_RING_COUNT 1024
#else #else
#define WLAN_CFG_TX_RING_SIZE 512 #define WLAN_CFG_TX_RING_SIZE 512
#if defined(WLAN_MAX_PDEVS) && (WLAN_MAX_PDEVS == 1)
#define WLAN_CFG_PER_PDEV_TX_RING 1 #define WLAN_CFG_PER_PDEV_TX_RING 1
#else
#define WLAN_CFG_PER_PDEV_TX_RING 0
#endif
#define WLAN_CFG_IPA_UC_TX_BUF_SIZE 0 #define WLAN_CFG_IPA_UC_TX_BUF_SIZE 0
#define WLAN_CFG_IPA_UC_TX_PARTITION_BASE 0 #define WLAN_CFG_IPA_UC_TX_PARTITION_BASE 0
#define WLAN_CFG_IPA_UC_RX_IND_RING_COUNT 0 #define WLAN_CFG_IPA_UC_RX_IND_RING_COUNT 0
#endif /* IPA_OFFLOAD */
#if defined(WLAN_MAX_PDEVS) && (WLAN_MAX_PDEVS == 1)
#define WLAN_CFG_PER_PDEV_RX_RING 0
#define WLAN_CFG_PER_PDEV_LMAC_RING 0
#define WLAN_LRO_ENABLE 0
#ifdef QCA_WIFI_QCA6750
#define WLAN_CFG_MAC_PER_TARGET 1
#else
#define WLAN_CFG_MAC_PER_TARGET 2
#endif #endif
#if defined(TX_TO_NPEERS_INC_TX_DESCS) #if defined(TX_TO_NPEERS_INC_TX_DESCS)
@@ -126,7 +131,7 @@
#define WLAN_CFG_INT_BATCH_THRESHOLD_RX 1 #define WLAN_CFG_INT_BATCH_THRESHOLD_RX 1
#define WLAN_CFG_INT_TIMER_THRESHOLD_RX 8 #define WLAN_CFG_INT_TIMER_THRESHOLD_RX 8
#endif #endif
#endif #endif /* WLAN_MAX_PDEVS */
#ifdef NBUF_MEMORY_DEBUG #ifdef NBUF_MEMORY_DEBUG
#define WLAN_CFG_RX_PENDING_THRESHOLD_DEFAULT 0xFFFF #define WLAN_CFG_RX_PENDING_THRESHOLD_DEFAULT 0xFFFF