^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) /* SPDX-License-Identifier: GPL-2.0 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) * ppc_cbe_cpufreq.h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) * This file contains the definitions used by the cbe_cpufreq driver.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) * (C) Copyright IBM Deutschland Entwicklung GmbH 2005-2007
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) * Author: Christian Krafft <krafft@de.ibm.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) #include <linux/cpufreq.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) #include <linux/types.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) int cbe_cpufreq_set_pmode(int cpu, unsigned int pmode);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) int cbe_cpufreq_get_pmode(int cpu);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) int cbe_cpufreq_set_pmode_pmi(int cpu, unsigned int pmode);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) #if IS_ENABLED(CONFIG_CPU_FREQ_CBE_PMI)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) extern bool cbe_cpufreq_has_pmi;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) void cbe_cpufreq_pmi_policy_init(struct cpufreq_policy *policy);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) void cbe_cpufreq_pmi_policy_exit(struct cpufreq_policy *policy);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) void cbe_cpufreq_pmi_init(void);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) void cbe_cpufreq_pmi_exit(void);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) #else
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) #define cbe_cpufreq_has_pmi (0)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) static inline void cbe_cpufreq_pmi_policy_init(struct cpufreq_policy *policy) {}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) static inline void cbe_cpufreq_pmi_policy_exit(struct cpufreq_policy *policy) {}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) static inline void cbe_cpufreq_pmi_init(void) {}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) static inline void cbe_cpufreq_pmi_exit(void) {}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) #endif