|
@@ -170,6 +170,7 @@ QDF_COMPILE_TIME_ASSERT(wlan_cfg_num_int_ctxs,
|
|
WLAN_CFG_INT_NUM_CONTEXTS_MAX >=
|
|
WLAN_CFG_INT_NUM_CONTEXTS_MAX >=
|
|
WLAN_CFG_INT_NUM_CONTEXTS);
|
|
WLAN_CFG_INT_NUM_CONTEXTS);
|
|
|
|
|
|
|
|
+static void dp_soc_unset_qref_debug_list(struct dp_soc *soc);
|
|
static QDF_STATUS dp_sysfs_deinitialize_stats(struct dp_soc *soc_hdl);
|
|
static QDF_STATUS dp_sysfs_deinitialize_stats(struct dp_soc *soc_hdl);
|
|
static QDF_STATUS dp_sysfs_initialize_stats(struct dp_soc *soc_hdl);
|
|
static QDF_STATUS dp_sysfs_initialize_stats(struct dp_soc *soc_hdl);
|
|
|
|
|
|
@@ -2993,6 +2994,7 @@ static void dp_soc_detach(struct cdp_soc_t *txrx_soc)
|
|
|
|
|
|
dp_runtime_deinit();
|
|
dp_runtime_deinit();
|
|
|
|
|
|
|
|
+ dp_soc_unset_qref_debug_list(soc);
|
|
dp_sysfs_deinitialize_stats(soc);
|
|
dp_sysfs_deinitialize_stats(soc);
|
|
dp_soc_swlm_detach(soc);
|
|
dp_soc_swlm_detach(soc);
|
|
dp_soc_tx_desc_sw_pools_free(soc);
|
|
dp_soc_tx_desc_sw_pools_free(soc);
|
|
@@ -12062,6 +12064,7 @@ static void dp_soc_txrx_ops_attach(struct dp_soc *soc)
|
|
#if defined(QCA_WIFI_QCA8074) || defined(QCA_WIFI_QCA6018) || \
|
|
#if defined(QCA_WIFI_QCA8074) || defined(QCA_WIFI_QCA6018) || \
|
|
defined(QCA_WIFI_QCA5018) || defined(QCA_WIFI_QCA9574) || \
|
|
defined(QCA_WIFI_QCA5018) || defined(QCA_WIFI_QCA9574) || \
|
|
defined(QCA_WIFI_QCA5332)
|
|
defined(QCA_WIFI_QCA5332)
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* dp_soc_attach_wifi3() - Attach txrx SOC
|
|
* dp_soc_attach_wifi3() - Attach txrx SOC
|
|
* @ctrl_psoc: Opaque SOC handle from control plane
|
|
* @ctrl_psoc: Opaque SOC handle from control plane
|
|
@@ -12091,6 +12094,44 @@ static inline void dp_soc_set_def_pdev(struct dp_soc *soc)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+static void dp_soc_unset_qref_debug_list(struct dp_soc *soc)
|
|
|
|
+{
|
|
|
|
+ uint32_t max_list_size = soc->wlan_cfg_ctx->qref_control_size;
|
|
|
|
+
|
|
|
|
+ if (max_list_size == 0)
|
|
|
|
+ return;
|
|
|
|
+
|
|
|
|
+ qdf_mem_free(soc->list_shared_qaddr_del);
|
|
|
|
+ qdf_mem_free(soc->reo_write_list);
|
|
|
|
+ qdf_mem_free(soc->list_qdesc_addr_free);
|
|
|
|
+ qdf_mem_free(soc->list_qdesc_addr_alloc);
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+static void dp_soc_set_qref_debug_list(struct dp_soc *soc)
|
|
|
|
+{
|
|
|
|
+ uint32_t max_list_size = soc->wlan_cfg_ctx->qref_control_size;
|
|
|
|
+
|
|
|
|
+ if (max_list_size == 0)
|
|
|
|
+ return;
|
|
|
|
+
|
|
|
|
+ soc->list_shared_qaddr_del =
|
|
|
|
+ (struct test_qaddr_del *)
|
|
|
|
+ qdf_mem_malloc(sizeof(struct test_qaddr_del) *
|
|
|
|
+ max_list_size);
|
|
|
|
+ soc->reo_write_list =
|
|
|
|
+ (struct test_qaddr_del *)
|
|
|
|
+ qdf_mem_malloc(sizeof(struct test_qaddr_del) *
|
|
|
|
+ max_list_size);
|
|
|
|
+ soc->list_qdesc_addr_free =
|
|
|
|
+ (struct test_mem_free *)
|
|
|
|
+ qdf_mem_malloc(sizeof(struct test_mem_free) *
|
|
|
|
+ max_list_size);
|
|
|
|
+ soc->list_qdesc_addr_alloc =
|
|
|
|
+ (struct test_mem_free *)
|
|
|
|
+ qdf_mem_malloc(sizeof(struct test_mem_free) *
|
|
|
|
+ max_list_size);
|
|
|
|
+}
|
|
|
|
+
|
|
static uint32_t
|
|
static uint32_t
|
|
dp_get_link_desc_id_start(uint16_t arch_id)
|
|
dp_get_link_desc_id_start(uint16_t arch_id)
|
|
{
|
|
{
|
|
@@ -12250,6 +12291,7 @@ dp_soc_attach(struct cdp_ctrl_objmgr_psoc *ctrl_psoc,
|
|
dp_soc_swlm_attach(soc);
|
|
dp_soc_swlm_attach(soc);
|
|
dp_soc_set_interrupt_mode(soc);
|
|
dp_soc_set_interrupt_mode(soc);
|
|
dp_soc_set_def_pdev(soc);
|
|
dp_soc_set_def_pdev(soc);
|
|
|
|
+ dp_soc_set_qref_debug_list(soc);
|
|
|
|
|
|
dp_info("Mem stats: DMA = %u HEAP = %u SKB = %u",
|
|
dp_info("Mem stats: DMA = %u HEAP = %u SKB = %u",
|
|
qdf_dma_mem_stats_read(),
|
|
qdf_dma_mem_stats_read(),
|