qcacmn: Implement new INI to switch-on/off excessive logging in DP

In datapath, some of the messages get printed everytime when packet
is received or sent. This situation ends up in excessive logging which
leads to stability issue.

In order to fix the situation, provide knob through INI to control
excessive logging and create new macro for logging the message which
comes under per packet path.

Change-Id: I2af5f9bf39540f952138aa8308401a387fe62bf1
CRs-Fixed: 2376998
This commit is contained in:
Krunal Soni 2019-02-12 11:44:46 -08:00 • committed by nshrivas
commit 03ba0f55cf
5 changed files with 61 additions and 3 deletions

View file

@ -596,6 +596,11 @@
WLAN_CFG_RXDMA_ERR_DST_RING_SIZE, \
CFG_VALUE_OR_DEFAULT, "RXDMA err destination ring")
#define CFG_DP_PER_PKT_LOGGING \
CFG_INI_UINT("enable_verbose_debug", \
0, 0xffff, 0, \
CFG_VALUE_OR_DEFAULT, "Enable excessive per packet logging")
#define CFG_DP_TX_FLOW_START_QUEUE_OFFSET \
CFG_INI_UINT("TxFlowStartQueueOffset", \
0, 30, WLAN_CFG_TX_FLOW_START_QUEUE_OFFSET, \
@ -685,6 +690,7 @@
CFG(CFG_DP_RXDMA_MONITOR_STATUS_RING) \
CFG(CFG_DP_RXDMA_MONITOR_DESC_RING) \
CFG(CFG_DP_RXDMA_ERR_DST_RING) \
CFG(CFG_DP_PER_PKT_LOGGING) \
CFG(CFG_DP_TX_FLOW_START_QUEUE_OFFSET) \
CFG(CFG_DP_TX_FLOW_STOP_QUEUE_TH) \
CFG(CFG_DP_IPA_UC_TX_BUF_SIZE) \

View file

@ -333,7 +333,7 @@ struct wlan_cfg_dp_soc_ctxt *wlan_cfg_soc_attach(void *psoc)
/*Enable checksum offload by default*/
wlan_cfg_ctx->tcp_udp_checksumoffload =
cfg_get(psoc, CFG_DP_TCP_UDP_CKSUM_OFFLOAD);
wlan_cfg_ctx->per_pkt_trace = cfg_get(psoc, CFG_DP_PER_PKT_LOGGING);
wlan_cfg_ctx->defrag_timeout_check =
cfg_get(psoc, CFG_DP_DEFRAG_TIMEOUT_CHECK);
wlan_cfg_ctx->rx_defrag_min_timeout =

View file

@ -1,5 +1,5 @@
/*
* * Copyright (c) 2013-2019 The Linux Foundation. All rights reserved.
* Copyright (c) 2013-2019 The Linux Foundation. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
@ -203,6 +203,7 @@ struct wlan_cfg_dp_soc_ctxt {
int reo_status_ring;
int rxdma_refill_ring;
int rxdma_err_dst_ring;
uint32_t per_pkt_trace;
bool raw_mode_war;
bool enable_data_stall_detection;
bool disable_intra_bss_fwd;
@ -982,7 +983,6 @@ wlan_cfg_get_dp_soc_rxdma_err_dst_ring_size(struct wlan_cfg_dp_soc_ctxt *cfg);
bool
wlan_cfg_get_dp_caps(struct wlan_cfg_dp_soc_ctxt *cfg,
enum cdp_capabilities dp_caps);
#ifdef QCA_LL_TX_FLOW_CONTROL_V2
int wlan_cfg_get_tx_flow_stop_queue_th(struct wlan_cfg_dp_soc_ctxt *cfg);