qcacmn: add hif_ce_desc_history to ssr driver dump
Current code doesn't have hif_ce_desc_history in ssr driver dump. Fix this by adding the two data structs: hif_ce_desc_history_buff and hif_ce_desc_history to the ssr driver dump regions. Change-Id: I9256d94db6c3c3a3588e5729b9181efabdaf18ea CRs-Fixed: 3443230
This commit is contained in:

committed by
Madan Koyyalamudi

父節點
310c7ce085
當前提交
b89db375d1
@@ -424,6 +424,14 @@ ce_disable_custom_cb(struct CE_handle *copyeng);
|
||||
struct CE_handle *ce_init(struct hif_softc *scn,
|
||||
unsigned int CE_id, struct CE_attr *attr);
|
||||
|
||||
/*
|
||||
* hif_ce_desc_history_log_register() - Register hif_ce_desc_history buffers
|
||||
* to SSR driver dump.
|
||||
*
|
||||
* Return: None
|
||||
*/
|
||||
void hif_ce_desc_history_log_register(void);
|
||||
|
||||
/*==================CE Engine Shutdown=======================================*/
|
||||
/*
|
||||
* Support clean shutdown by allowing the caller to revoke
|
||||
@@ -452,6 +460,14 @@ ce_cancel_send_next(struct CE_handle *copyeng,
|
||||
|
||||
void ce_fini(struct CE_handle *copyeng);
|
||||
|
||||
/*
|
||||
* hif_ce_desc_history_log_unregister() - unregister hif_ce_desc_history
|
||||
* buffers from SSR driver dump.
|
||||
*
|
||||
* Return: None
|
||||
*/
|
||||
void hif_ce_desc_history_log_unregister(void);
|
||||
|
||||
/*==================CE Interrupt Handlers====================================*/
|
||||
void ce_per_engine_service_any(int irq, struct hif_softc *scn);
|
||||
int ce_per_engine_service(struct hif_softc *scn, unsigned int CE_id);
|
||||
|
@@ -39,6 +39,7 @@
|
||||
#include "ce_assignment.h"
|
||||
#include "ce_tasklet.h"
|
||||
#include "qdf_module.h"
|
||||
#include "qdf_ssr_driver_dump.h"
|
||||
|
||||
#define CE_POLL_TIMEOUT 10 /* ms */
|
||||
|
||||
@@ -2186,6 +2187,22 @@ uint32_t hif_ce_history_max = HIF_CE_HISTORY_MAX;
|
||||
struct hif_ce_desc_event
|
||||
hif_ce_desc_history_buff[CE_DESC_HISTORY_BUFF_CNT][HIF_CE_HISTORY_MAX];
|
||||
|
||||
static void __hif_ce_desc_history_log_register(void)
|
||||
{
|
||||
qdf_ssr_driver_dump_register_region("hif_ce_desc_history",
|
||||
hif_ce_desc_history,
|
||||
sizeof(hif_ce_desc_history));
|
||||
qdf_ssr_driver_dump_register_region("hif_ce_desc_history_buff",
|
||||
hif_ce_desc_history_buff,
|
||||
sizeof(hif_ce_desc_history_buff));
|
||||
}
|
||||
|
||||
static void __hif_ce_desc_history_log_unregister(void)
|
||||
{
|
||||
qdf_ssr_driver_dump_unregister_region("hif_ce_desc_history_buff");
|
||||
qdf_ssr_driver_dump_unregister_region("hif_ce_desc_history");
|
||||
}
|
||||
|
||||
static struct hif_ce_desc_event *
|
||||
hif_ce_debug_history_buf_get(struct hif_softc *scn, unsigned int ce_id)
|
||||
{
|
||||
@@ -2270,6 +2287,11 @@ static void free_mem_ce_debug_history(struct hif_softc *scn, unsigned int ce_id)
|
||||
ce_hist->hist_ev[ce_id] = NULL;
|
||||
}
|
||||
#else
|
||||
|
||||
static void __hif_ce_desc_history_log_register(void) { }
|
||||
|
||||
static void __hif_ce_desc_history_log_unregister(void) { }
|
||||
|
||||
static inline QDF_STATUS
|
||||
alloc_mem_ce_debug_history(struct hif_softc *scn, unsigned int CE_id,
|
||||
uint32_t src_nentries)
|
||||
@@ -2283,6 +2305,10 @@ free_mem_ce_debug_history(struct hif_softc *scn, unsigned int CE_id) { }
|
||||
#else
|
||||
#if defined(HIF_CE_DEBUG_DATA_BUF)
|
||||
|
||||
static void __hif_ce_desc_history_log_register(void) { }
|
||||
|
||||
static void __hif_ce_desc_history_log_unregister(void) { }
|
||||
|
||||
static QDF_STATUS
|
||||
alloc_mem_ce_debug_history(struct hif_softc *scn, unsigned int CE_id,
|
||||
uint32_t src_nentries)
|
||||
@@ -2319,6 +2345,10 @@ static void free_mem_ce_debug_history(struct hif_softc *scn, unsigned int CE_id)
|
||||
|
||||
#else
|
||||
|
||||
static void __hif_ce_desc_history_log_register(void) { }
|
||||
|
||||
static void __hif_ce_desc_history_log_unregister(void) { }
|
||||
|
||||
static inline QDF_STATUS
|
||||
alloc_mem_ce_debug_history(struct hif_softc *scn, unsigned int CE_id,
|
||||
uint32_t src_nentries)
|
||||
@@ -2590,6 +2620,11 @@ error_no_dma_mem:
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void hif_ce_desc_history_log_register(void)
|
||||
{
|
||||
__hif_ce_desc_history_log_register();
|
||||
}
|
||||
|
||||
/**
|
||||
* hif_is_polled_mode_enabled - API to query if polling is enabled on all CEs
|
||||
* @hif_ctx: HIF Context
|
||||
@@ -2882,6 +2917,11 @@ void ce_fini(struct CE_handle *copyeng)
|
||||
qdf_mem_free(CE_state);
|
||||
}
|
||||
|
||||
void hif_ce_desc_history_log_unregister(void)
|
||||
{
|
||||
__hif_ce_desc_history_log_unregister();
|
||||
}
|
||||
|
||||
void hif_detach_htc(struct hif_opaque_softc *hif_ctx)
|
||||
{
|
||||
struct HIF_CE_state *hif_state = HIF_GET_CE_STATE(hif_ctx);
|
||||
|
Reference in New Issue
Block a user