qcacmn: Register DP, HTC, HAL modules with Runtime PM module

With restructuring in HIF runtime PM module, modules are
required to register with the HIF runtime PM module. Also,
changes are done in functions of allowing and preventing
runtime PM suspend as part of restructuring.
This change registers DP, HTC and HAL internal modules
with runtime PM module and update HIF runtime PM function
calls with the restructured code of HIF runtime PM module.

Change-Id: I8899a1d3b92a90a05c5eaf4df7609f4008f739f8
CRs-Fixed: 3169372
Esse commit está contido em:
Ananya Gupta
2022-03-22 13:29:10 +05:30
commit de Madan Koyyalamudi
commit 8565e7029f
15 arquivos alterados com 134 adições e 200 exclusões

Ver arquivo

@@ -3390,14 +3390,40 @@ static inline int32_t dp_runtime_get_refcount(struct dp_soc *soc)
}
/**
* dp_runtime_init() - Init dp runtime refcount when dp soc init
* dp_runtime_init() - Init DP related runtime PM clients and runtime refcount
* @soc: Datapath soc handle
*
* Return: QDF_STATUS
*/
static inline QDF_STATUS dp_runtime_init(struct dp_soc *soc)
static inline void dp_runtime_init(struct dp_soc *soc)
{
return qdf_atomic_init(&soc->dp_runtime_refcount);
hif_rtpm_register(HIF_RTPM_ID_DP, NULL);
hif_rtpm_register(HIF_RTPM_ID_DP_RING_STATS, NULL);
qdf_atomic_init(&soc->dp_runtime_refcount);
}
/**
* dp_runtime_deinit() - Deinit DP related runtime PM clients
*
* Return: None
*/
static inline void dp_runtime_deinit(void)
{
hif_rtpm_deregister(HIF_RTPM_ID_DP);
hif_rtpm_deregister(HIF_RTPM_ID_DP_RING_STATS);
}
/**
* dp_runtime_pm_mark_last_busy() - Mark last busy when rx path in use
* @soc: Datapath soc handle
*
* Return: None
*/
static inline void dp_runtime_pm_mark_last_busy(struct dp_soc *soc)
{
soc->rx_last_busy = qdf_get_log_timestamp_usecs();
hif_rtpm_mark_last_busy(HIF_RTPM_ID_DP);
}
#else
static inline int32_t dp_runtime_get(struct dp_soc *soc)
@@ -3414,6 +3440,14 @@ static inline QDF_STATUS dp_runtime_init(struct dp_soc *soc)
{
return QDF_STATUS_SUCCESS;
}
static inline void dp_runtime_deinit(void)
{
}
static inline void dp_runtime_pm_mark_last_busy(struct dp_soc *soc)
{
}
#endif
static inline enum QDF_GLOBAL_MODE dp_soc_get_con_mode(struct dp_soc *soc)