blob: 06292fc19ee19029f0082f8c8c9211a11d2ee0b8 [file] [log] [blame]
/*
* Copyright (c) 2018 Park Bumgyu, Samsung Electronics Co., Ltd <bumgyu.park@samsung.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
#ifndef __EXYNOS_CPUPM_H
#define __EXYNOS_CPUPM_H __FILE__
extern int exynos_cpu_pm_enter(int cpu, int index);
extern void exynos_cpu_pm_exit(int cpu, int cancel);
enum {
POWERMODE_TYPE_CLUSTER = 0,
POWERMODE_TYPE_SYSTEM,
};
extern void disable_power_mode(int cpu, int type);
extern void enable_power_mode(int cpu, int type);
extern bool exynos_cpuhp_last_cpu(unsigned int cpu);
#ifdef CONFIG_CPU_IDLE
void exynos_update_ip_idle_status(int index, int idle);
int exynos_get_idle_ip_index(const char *name);
extern void disable_power_mode(int cpu, int type);
extern void enable_power_mode(int cpu, int type);
#else
static inline void exynos_update_ip_idle_status(int index, int idle)
{
return;
}
static inline int exynos_get_idle_ip_index(const char *name)
{
return 0;
}
static inline void disable_power_mode(int cpu, int type)
{
return;
}
static inline void enable_power_mode(int cpu, int type)
{
return;
}
#endif
#endif /* __EXYNOS_CPUPM_H */