cpuidle.h (498495dba268b20e8eadd7fe93c140c68b6cc9d2) cpuidle.h (9c7b185ab2fe313b4426bf55da3624bef71f342b)
1/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef _ASM_POWERPC_CPUIDLE_H
3#define _ASM_POWERPC_CPUIDLE_H
4
5#ifdef CONFIG_PPC_POWERNV
6/* Thread state used in powernv idle state management */
7#define PNV_THREAD_RUNNING 0
8#define PNV_THREAD_NAP 1

--- 65 unchanged lines hidden (view full) ---

74 u64 ldbar;
75 u64 fscr;
76 u64 hfscr;
77 u64 mmcr1;
78 u64 mmcr2;
79 u64 mmcra;
80};
81
1/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef _ASM_POWERPC_CPUIDLE_H
3#define _ASM_POWERPC_CPUIDLE_H
4
5#ifdef CONFIG_PPC_POWERNV
6/* Thread state used in powernv idle state management */
7#define PNV_THREAD_RUNNING 0
8#define PNV_THREAD_NAP 1

--- 65 unchanged lines hidden (view full) ---

74 u64 ldbar;
75 u64 fscr;
76 u64 hfscr;
77 u64 mmcr1;
78 u64 mmcr2;
79 u64 mmcra;
80};
81
82#define PNV_IDLE_NAME_LEN 16
83struct pnv_idle_states_t {
84 char name[PNV_IDLE_NAME_LEN];
85 u32 latency_ns;
86 u32 residency_ns;
87 u64 psscr_val;
88 u64 psscr_mask;
89 u32 flags;
90 bool valid;
91};
92
82extern u32 pnv_fastsleep_workaround_at_entry[];
83extern u32 pnv_fastsleep_workaround_at_exit[];
84
85extern u64 pnv_first_deep_stop_state;
86
87unsigned long pnv_cpu_offline(unsigned int cpu);
88int validate_psscr_val_mask(u64 *psscr_val, u64 *psscr_mask, u32 flags);
89static inline void report_invalid_psscr_val(u64 psscr_val, int err)

--- 16 unchanged lines hidden ---
93extern u32 pnv_fastsleep_workaround_at_entry[];
94extern u32 pnv_fastsleep_workaround_at_exit[];
95
96extern u64 pnv_first_deep_stop_state;
97
98unsigned long pnv_cpu_offline(unsigned int cpu);
99int validate_psscr_val_mask(u64 *psscr_val, u64 *psscr_mask, u32 flags);
100static inline void report_invalid_psscr_val(u64 psscr_val, int err)

--- 16 unchanged lines hidden ---