qcacmn: Drain group tasklets and reg write work for runtime PM

Currently as part of runtime PM, only the active
tasklets are being drained. For chips eg. QCA6390,
QCA6490 etc, there are grp_tasklets and delayed reg
write work which has to be drained before entering
runtime PM.

Add the logic to drain all the possible tasks
before entering runtime PM.

Change-Id: Ieb486f00fffd7346dcdc1faea6fed5850ef6daf7
CRs-Fixed: 2676000
This commit is contained in:
Rakesh Pillai
2020-05-06 16:42:36 +05:30
committed by nshrivas
parent 5cf3d57f4e
commit 37cc4255e2
7 changed files with 122 additions and 2 deletions

View File

@@ -551,6 +551,16 @@ void hal_dump_reg_write_srng_stats(hal_soc_handle_t hal_soc_hdl);
* Return: none
*/
void hal_dump_reg_write_stats(hal_soc_handle_t hal_soc_hdl);
/**
* hal_get_reg_write_pending_work() - get the number of entries
* pending in the workqueue to be processed.
* @hal_soc: HAL soc handle
*
* Returns: the number of entries pending to be processed
*/
int hal_get_reg_write_pending_work(void *hal_soc);
#else
static inline void hal_dump_reg_write_srng_stats(hal_soc_handle_t hal_soc_hdl)
{
@@ -559,6 +569,11 @@ static inline void hal_dump_reg_write_srng_stats(hal_soc_handle_t hal_soc_hdl)
static inline void hal_dump_reg_write_stats(hal_soc_handle_t hal_soc_hdl)
{
}
static inline int hal_get_reg_write_pending_work(void *hal_soc)
{
return 0;
}
#endif
/**