qcacld-3.0: enable pktlog support for HL project
qcacld-2.0 to qcacld-3.0 propagation Currently for SDIO implementation, tx comp indication is suppressed and tx_desc is freed when htt download is done. This leads to invalid tx_desc being referenced when pktlog indication handler wants to collect TX-ed tx_desc information. Fix consists of two parts: 1. When pktlog is enabled in ini, enable tx comp indication handler just like PCIe and USB. tx_desc is still valid when pktlog indication comes. 2. Check vdev pointer embedded in tx_desc structure. vdev pointer is set when tx_desc is allocated and set to NULL when tx_desc is freed. This guards against invalid tx_desc_id from firmware. Note that performance drops should be expected when pktlog is enabled on HL platforms. Change-Id: Iba9b8323b4a6e2ae17e36768bda3511f52236a2c CRs-Fixed: 2034996
This commit is contained in:
@@ -43,6 +43,7 @@
|
||||
#include <net/cnss.h>
|
||||
#endif
|
||||
#include "i_bmi.h"
|
||||
#include "cds_api.h"
|
||||
|
||||
#ifdef CONFIG_DISABLE_SLEEP_BMI_OPTION
|
||||
static inline void ol_sdio_disable_sleep(struct ol_context *ol_ctx)
|
||||
@@ -174,6 +175,10 @@ QDF_STATUS ol_sdio_extra_initialization(struct ol_context *ol_ctx)
|
||||
|
||||
param |= SDIO_HI_ACS_FLAGS;
|
||||
|
||||
/* enable TX completion to collect tx_desc for pktlog */
|
||||
if (cds_is_packet_log_enabled())
|
||||
param &= ~HI_ACS_FLAGS_SDIO_REDUCE_TX_COMPL_SET;
|
||||
|
||||
bmi_write_memory(hif_hia_item_address(target_type,
|
||||
offsetof(struct host_interest_s,
|
||||
hi_acs_flags)),
|
||||
|
Reference in New Issue
Block a user