mirror of
https://github.com/edk2-porting/linux-next.git
synced 2025-01-04 11:43:54 +08:00
8b32bc0325
When the PWRficient cpus are entered into powersavings states, the astate is automatically dropped down to 0. While we still restore it when we come out of idle, it can still cause some weird effects with respect to performance (especially since it takes a while to ramp up to higher astates). So, to avoid this, don't enter power savings when the cpufreq driver (or user) has set higher astates than 0. The restore is still required, since there's a chance the astate has been raised from the other cpu while the idling one was asleep. Signed-off-by: Olof Johansson <olof@lixom.net>
34 lines
809 B
C
34 lines
809 B
C
#ifndef _PASEMI_PASEMI_H
|
|
#define _PASEMI_PASEMI_H
|
|
|
|
extern unsigned long pas_get_boot_time(void);
|
|
extern void pas_pci_init(void);
|
|
extern void __devinit pas_pci_irq_fixup(struct pci_dev *dev);
|
|
extern void __devinit pas_pci_dma_dev_setup(struct pci_dev *dev);
|
|
|
|
extern void __iomem *pasemi_pci_getcfgaddr(struct pci_dev *dev, int offset);
|
|
|
|
extern void __init alloc_iobmap_l2(void);
|
|
|
|
/* Power savings modes, implemented in asm */
|
|
extern void idle_spin(void);
|
|
extern void idle_doze(void);
|
|
|
|
/* Restore astate to last set */
|
|
#ifdef CONFIG_PPC_PASEMI_CPUFREQ
|
|
extern int check_astate(void);
|
|
extern void restore_astate(int cpu);
|
|
#else
|
|
static inline int check_astate(void)
|
|
{
|
|
/* Always return >0 so we never power save */
|
|
return 1;
|
|
}
|
|
static inline void restore_astate(int cpu)
|
|
{
|
|
}
|
|
#endif
|
|
|
|
|
|
#endif /* _PASEMI_PASEMI_H */
|