In the case of failed suspend flow or cases where the kernel does not go into full suspend but goes from suspend_prepare back to resume_complete, we get called for a pm_complete but without runtime_pm guaranteed. Thus, ensure we take the runtime_pm when calling intel_pxp_init_hw from within intel_pxp_resume_complete. v2: resume_complete and runtime_resume should abstract a common helper with different wakeref requirements. (Daniele) Signed-off-by: Alan Previn <alan.previn.teres.alexis@intel.com> Reviewed-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20230802190611.1639371-1-alan.previn.teres.alexis@intel.com
38 lines
872 B
C
38 lines
872 B
C
/* SPDX-License-Identifier: MIT */
|
|
/*
|
|
* Copyright(c) 2020, Intel Corporation. All rights reserved.
|
|
*/
|
|
|
|
#ifndef __INTEL_PXP_PM_H__
|
|
#define __INTEL_PXP_PM_H__
|
|
|
|
struct intel_pxp;
|
|
|
|
#ifdef CONFIG_DRM_I915_PXP
|
|
void intel_pxp_suspend_prepare(struct intel_pxp *pxp);
|
|
void intel_pxp_suspend(struct intel_pxp *pxp);
|
|
void intel_pxp_resume_complete(struct intel_pxp *pxp);
|
|
void intel_pxp_runtime_suspend(struct intel_pxp *pxp);
|
|
void intel_pxp_runtime_resume(struct intel_pxp *pxp);
|
|
#else
|
|
static inline void intel_pxp_suspend_prepare(struct intel_pxp *pxp)
|
|
{
|
|
}
|
|
|
|
static inline void intel_pxp_suspend(struct intel_pxp *pxp)
|
|
{
|
|
}
|
|
|
|
static inline void intel_pxp_resume_complete(struct intel_pxp *pxp)
|
|
{
|
|
}
|
|
|
|
static inline void intel_pxp_runtime_suspend(struct intel_pxp *pxp)
|
|
{
|
|
}
|
|
|
|
static inline void intel_pxp_runtime_resume(struct intel_pxp *pxp)
|
|
{
|
|
}
|
|
#endif
|
|
#endif /* __INTEL_PXP_PM_H__ */
|