Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fc935ddd authored by Yeshwanth Sriram Guntuka's avatar Yeshwanth Sriram Guntuka
Browse files

qcacld-3.0: Set system suspend/resume state in hif ctx

Set system state in hif ctx to suspend or resume on
system suspend and resume respectively.

Change-Id: If1904a4fe5c861deed1b35071be10cb8cc8d6407
CRs-Fixed: 2899520
parent 4285c3db
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -2904,6 +2904,7 @@ cppflags-y += -DENABLE_HAL_REG_WR_HISTORY
cppflags-y += -DDP_RX_DESC_COOKIE_INVALIDATE
cppflags-y += -DPCI_LINK_STATUS_SANITY
cppflags-y += -DDISABLE_EAPOL_INTRABSS_FWD
cppflags-y += -DSYSTEM_PM_CHECK
endif

cppflags-$(CONFIG_WLAN_CLD_PM_QOS) += -DCLD_PM_QOS
+14 −0
Original line number Diff line number Diff line
@@ -354,6 +354,20 @@ QDF_STATUS pmo_core_config_listen_interval(struct wlan_objmgr_vdev *vdev,
 */
QDF_STATUS pmo_core_config_modulated_dtim(struct wlan_objmgr_vdev *vdev,
					  uint32_t mod_dtim);

#ifdef SYSTEM_PM_CHECK
/**
 * pmo_core_system_resume() - function to handle system resume notification
 * @psoc: objmgr psoc handle
 *
 * Return: None
 */
void pmo_core_system_resume(struct wlan_objmgr_psoc *psoc);
#else
static inline void pmo_core_system_resume(struct wlan_objmgr_psoc *psoc)
{
}
#endif
#endif /* WLAN_POWER_MANAGEMENT_OFFLOAD */

#endif /* end  of _WLAN_PMO_SUSPEND_RESUME_H_ */
+25 −0
Original line number Diff line number Diff line
@@ -1663,3 +1663,28 @@ QDF_STATUS pmo_core_config_modulated_dtim(struct wlan_objmgr_vdev *vdev,
	pmo_exit();
	return status;
}

#ifdef SYSTEM_PM_CHECK
void pmo_core_system_resume(struct wlan_objmgr_psoc *psoc)
{
	struct pmo_psoc_priv_obj *psoc_ctx;
	QDF_STATUS status;

	if (!psoc) {
		pmo_err("psoc is NULL");
		return;
	}

	status = pmo_psoc_get_ref(psoc);
	if (status != QDF_STATUS_SUCCESS) {
		pmo_err("pmo cannot get the reference out of psoc");
		return;
	}

	psoc_ctx = pmo_psoc_get_priv(psoc);

	htc_system_resume(psoc_ctx->htc_hdl);

	pmo_psoc_put_ref(psoc);
}
#endif
+16 −0
Original line number Diff line number Diff line
@@ -1956,4 +1956,20 @@ ucfg_pmo_get_runtime_pm_delay(struct wlan_objmgr_psoc *psoc)
 */
bool
ucfg_pmo_get_enable_sap_suspend(struct wlan_objmgr_psoc *psoc);

#ifdef SYSTEM_PM_CHECK
/**
 * ucfg_pmo_notify_system_resume() - system resume notification to pmo
 * @psoc: pointer to psoc object
 *
 * Return: None
 */
void
ucfg_pmo_notify_system_resume(struct wlan_objmgr_psoc *psoc);
#else
static inline
void ucfg_pmo_notify_system_resume(struct wlan_objmgr_psoc *psoc)
{
}
#endif
#endif /* end  of _WLAN_PMO_UCFG_API_H_ */
+7 −0
Original line number Diff line number Diff line
@@ -863,3 +863,10 @@ ucfg_pmo_get_active_mc_bc_apf_mode(struct wlan_objmgr_psoc *psoc)

	return pmo_psoc_ctx->psoc_cfg.active_mc_bc_apf_mode;
}

#ifdef SYSTEM_PM_CHECK
void ucfg_pmo_notify_system_resume(struct wlan_objmgr_psoc *psoc)
{
	pmo_core_system_resume(psoc);
}
#endif
Loading