ANDROID: gic-v3: Export gic_resume() for vendor GIC enhancements
syscore ops in gic-v3 takes care of invoking gic_resume() when exiting from "deep" suspend. However for "s2idle" suspend syscore ops will not get invoked. Vendor modules can register for s2idle notifications and invoke gic_resume() when the first cpu is waking up from s2idle. Bug: 190353898 Change-Id: I3d565ed3fd0fcada2231b10415dcf487fefc7c5f Signed-off-by: Maulik Shah <mkshah@codeaurora.org>
This commit is contained in:
@@ -1267,10 +1267,11 @@ static inline void gic_cpu_pm_init(void) { }
|
|||||||
#endif /* CONFIG_CPU_PM */
|
#endif /* CONFIG_CPU_PM */
|
||||||
|
|
||||||
#ifdef CONFIG_PM
|
#ifdef CONFIG_PM
|
||||||
static void gic_resume(void)
|
void gic_resume(void)
|
||||||
{
|
{
|
||||||
trace_android_vh_gic_resume(gic_data.domain, gic_data.dist_base);
|
trace_android_vh_gic_resume(gic_data.domain, gic_data.dist_base);
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL_GPL(gic_resume);
|
||||||
|
|
||||||
static struct syscore_ops gic_syscore_ops = {
|
static struct syscore_ops gic_syscore_ops = {
|
||||||
.resume = gic_resume,
|
.resume = gic_resume,
|
||||||
@@ -1283,6 +1284,7 @@ static void gic_syscore_init(void)
|
|||||||
|
|
||||||
#else
|
#else
|
||||||
static inline void gic_syscore_init(void) { }
|
static inline void gic_syscore_init(void) { }
|
||||||
|
void gic_resume(void) { }
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
@@ -708,6 +708,8 @@ static inline bool gic_enable_sre(void)
|
|||||||
return !!(val & ICC_SRE_EL1_SRE);
|
return !!(val & ICC_SRE_EL1_SRE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void gic_resume(void);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Reference in New Issue
Block a user