Message ID | 1377689766-17642-13-git-send-email-lorenzo.pieralisi@arm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Wed, Aug 28, 2013 at 12:36:04PM +0100, Lorenzo Pieralisi wrote: > To enable the suspend infrastructure for the ARM64 kernel the > corresponding Kconfig and Makefile entries must be updated. > > This patch adds a menu entry for power management options and > entries to enable newly added suspend/resume implementation. > > Makefile changes add appropriate entries to include corresponding > files in the kernel image. > > Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> > --- > arch/arm64/Kconfig | 12 ++++++++++++ > arch/arm64/kernel/Makefile | 1 + > 2 files changed, 13 insertions(+) > > diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig > index 5855519..827d95e 100644 > --- a/arch/arm64/Kconfig > +++ b/arch/arm64/Kconfig > @@ -272,6 +272,18 @@ config SYSVIPC_COMPAT > > endmenu > > +menu "Power management options" > + > +source "kernel/power/Kconfig" > + > +config ARCH_SUSPEND_POSSIBLE > + def_bool y > + > +config ARM_CPU_SUSPEND > + def_bool y I think we should call this ARM64_CPU_SUSPEND. The cpuidle drivers need to be modified anyway since things like set_cr(), scu_power_mode() etc. no longer apply. If a driver supports both, that's great, it can select both ARM and ARM64. Longer term, I would like a generic cpuidle driver for PSCI with DT bindings for describing the sleep states, target residency (not sure how this would look like yet).
On Fri, Aug 30, 2013 at 06:32:30PM +0100, Catalin Marinas wrote: > On Wed, Aug 28, 2013 at 12:36:04PM +0100, Lorenzo Pieralisi wrote: > > To enable the suspend infrastructure for the ARM64 kernel the > > corresponding Kconfig and Makefile entries must be updated. > > > > This patch adds a menu entry for power management options and > > entries to enable newly added suspend/resume implementation. > > > > Makefile changes add appropriate entries to include corresponding > > files in the kernel image. > > > > Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> > > --- > > arch/arm64/Kconfig | 12 ++++++++++++ > > arch/arm64/kernel/Makefile | 1 + > > 2 files changed, 13 insertions(+) > > > > diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig > > index 5855519..827d95e 100644 > > --- a/arch/arm64/Kconfig > > +++ b/arch/arm64/Kconfig > > @@ -272,6 +272,18 @@ config SYSVIPC_COMPAT > > > > endmenu > > > > +menu "Power management options" > > + > > +source "kernel/power/Kconfig" > > + > > +config ARCH_SUSPEND_POSSIBLE > > + def_bool y > > + > > +config ARM_CPU_SUSPEND > > + def_bool y > > I think we should call this ARM64_CPU_SUSPEND. The cpuidle drivers need > to be modified anyway since things like set_cr(), scu_power_mode() etc. > no longer apply. If a driver supports both, that's great, it can select > both ARM and ARM64. I think you are right, ARM and ARM64 implementations cannot simply cohexist, given assembly dependency in the first place. > Longer term, I would like a generic cpuidle driver for PSCI with DT > bindings for describing the sleep states, target residency (not sure how > this would look like yet). Yes, that's planned but independent of this set, which is more related to core functions on top of which idle and S2R drivers can be implemented. True, we have to keep the code users (CPUidle and S2R) in mind while designing the interface, to cater for all requirements (eg CPU idle C-state parameter for PSCI). Thanks a lot, Lorenzo
diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig index 5855519..827d95e 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig @@ -272,6 +272,18 @@ config SYSVIPC_COMPAT endmenu +menu "Power management options" + +source "kernel/power/Kconfig" + +config ARCH_SUSPEND_POSSIBLE + def_bool y + +config ARM_CPU_SUSPEND + def_bool y + +endmenu + source "net/Kconfig" source "drivers/Kconfig" diff --git a/arch/arm64/kernel/Makefile b/arch/arm64/kernel/Makefile index 7b4b564..ad63448 100644 --- a/arch/arm64/kernel/Makefile +++ b/arch/arm64/kernel/Makefile @@ -18,6 +18,7 @@ arm64-obj-$(CONFIG_SMP) += smp.o smp_spin_table.o smp_psci.o arm64-obj-$(CONFIG_HW_PERF_EVENTS) += perf_event.o arm64-obj-$(CONFIG_HAVE_HW_BREAKPOINT)+= hw_breakpoint.o arm64-obj-$(CONFIG_EARLY_PRINTK) += early_printk.o +arm64-obj-$(CONFIG_ARM_CPU_SUSPEND) += sleep.o suspend.o obj-y += $(arm64-obj-y) vdso/ obj-m += $(arm64-obj-m)
To enable the suspend infrastructure for the ARM64 kernel the corresponding Kconfig and Makefile entries must be updated. This patch adds a menu entry for power management options and entries to enable newly added suspend/resume implementation. Makefile changes add appropriate entries to include corresponding files in the kernel image. Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> --- arch/arm64/Kconfig | 12 ++++++++++++ arch/arm64/kernel/Makefile | 1 + 2 files changed, 13 insertions(+)