From: Jisheng Zhang <jszhang@marvell.com>
To: Sudeep Holla <sudeep.holla@arm.com>
Cc: Mark Rutland <mark.rutland@arm.com>,
Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>,
Prashanth Prakash <pprakash@codeaurora.org>,
Al Stone <al.stone@linaro.org>,
"Rafael J. Wysocki" <rjw@rjwysocki.net>,
linux-kernel@vger.kernel.org, linux-acpi@vger.kernel.org,
Ashwin Chaugule <ashwin.chaugule@linaro.org>,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v4 4/5] arm64: add support for ACPI Low Power Idle(LPI)
Date: Wed, 20 Apr 2016 18:39:58 +0800 [thread overview]
Message-ID: <20160420183958.648980db@xhacker> (raw)
In-Reply-To: <1461069013-13292-5-git-send-email-sudeep.holla@arm.com>
Dear Sudeep,
On Tue, 19 Apr 2016 13:30:12 +0100 Sudeep Holla wrote:
> This patch adds appropriate callbacks to support ACPI Low Power Idle
> (LPI) on ARM64.
>
> It also selects ARCH_SUPPORTS_ACPI_PROCESSOR_LPI if ACPI is enabled
> on ARM64.
>
> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
> Cc: Mark Rutland <mark.rutland@arm.com>
> Cc: linux-arm-kernel@lists.infradead.org
> Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
> ---
> arch/arm64/Kconfig | 1 +
> arch/arm64/kernel/acpi.c | 34 ++++++++++++++++++++++++++++++++++
> drivers/firmware/psci.c | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
> 3 files changed, 83 insertions(+)
>
> diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
> index 4f436220384f..e7536540387d 100644
> --- a/arch/arm64/Kconfig
> +++ b/arch/arm64/Kconfig
> @@ -10,6 +10,7 @@ config ARM64
> select ARCH_HAS_SG_CHAIN
> select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
> select ARCH_USE_CMPXCHG_LOCKREF
> + select ARCH_SUPPORTS_ACPI_PROCESSOR_LPI if ACPI
> select ARCH_SUPPORTS_ATOMIC_RMW
> select ARCH_WANT_OPTIONAL_GPIOLIB
> select ARCH_WANT_COMPAT_IPC_PARSE_VERSION
> diff --git a/arch/arm64/kernel/acpi.c b/arch/arm64/kernel/acpi.c
> index d1ce8e2f98b9..3c05ad5957be 100644
> --- a/arch/arm64/kernel/acpi.c
> +++ b/arch/arm64/kernel/acpi.c
> @@ -18,6 +18,7 @@
> #include <linux/acpi.h>
> #include <linux/bootmem.h>
> #include <linux/cpumask.h>
> +#include <linux/cpu_pm.h>
> #include <linux/init.h>
> #include <linux/irq.h>
> #include <linux/irqdomain.h>
> @@ -25,9 +26,11 @@
> #include <linux/of_fdt.h>
> #include <linux/smp.h>
>
> +#include <asm/cpuidle.h>
> #include <asm/cputype.h>
> #include <asm/cpu_ops.h>
> #include <asm/smp_plat.h>
> +#include <acpi/processor.h>
It's better to keep headers alphabetic sorted
>
> #ifdef CONFIG_ACPI_APEI
> # include <linux/efi.h>
> @@ -211,6 +214,37 @@ void __init acpi_boot_table_init(void)
> }
> }
>
> +int acpi_processor_ffh_lpi_probe(unsigned int cpu)
> +{
> + return arm_cpuidle_init(cpu);
> +}
> +
> +struct acpi_processor_lpi *lpi;
> +int acpi_processor_ffh_lpi_enter(struct acpi_processor_lpi *lpi, int idx)
> +{
> + int ret;
> +
> + if (!idx) {
> + cpu_do_idle();
> + return idx;
> + }
> +
> + /* TODO cpu_pm_{enter,exit} can be done in generic code ? */
> + ret = cpu_pm_enter();
> + if (!ret) {
> + /*
> + * Pass idle state index to cpu_suspend which in turn will
> + * call the CPU ops suspend protocol with idle index as a
> + * parameter.
> + */
> + ret = arm_cpuidle_suspend(idx);
> +
> + cpu_pm_exit();
> + }
> +
> + return ret ? -1 : idx;
> +}
> +
> #ifdef CONFIG_ACPI_APEI
> pgprot_t arch_apei_get_mem_attribute(phys_addr_t addr)
> {
> diff --git a/drivers/firmware/psci.c b/drivers/firmware/psci.c
> index af6c5c839568..70cf2a500d4b 100644
> --- a/drivers/firmware/psci.c
> +++ b/drivers/firmware/psci.c
> @@ -24,6 +24,7 @@
> #include <linux/reboot.h>
> #include <linux/slab.h>
> #include <linux/suspend.h>
> +#include <linux/acpi.h>
same here
>
> #include <uapi/linux/psci.h>
>
> @@ -32,6 +33,7 @@
> #include <asm/system_misc.h>
> #include <asm/smp_plat.h>
> #include <asm/suspend.h>
> +#include <acpi/processor.h>
ditto
>
> /*
> * While a 64-bit OS can make calls with SMC32 calling conventions, for some
> @@ -316,8 +318,54 @@ static int psci_dt_cpu_init_idle(unsigned int cpu)
> return ret;
> }
>
> +static int __maybe_unused psci_acpi_cpu_init_idle(unsigned int cpu)
> +{
> + int i, count;
> + u32 *psci_states;
> + struct acpi_processor *pr;
> + struct acpi_processor_lpi *lpi;
> +
> + pr = per_cpu(processors, cpu);
> + if (unlikely(!pr || !pr->flags.has_lpi))
> + return -EINVAL;
> +
> + /*
> + * If the PSCI cpu_suspend function hook has not been initialized
> + * idle states must not be enabled, so bail out
> + */
> + if (!psci_ops.cpu_suspend)
> + return -EOPNOTSUPP;
> +
> + count = pr->power.count - 1;
> + if (!count)
> + return -ENODEV;
> +
> + psci_states = kcalloc(count, sizeof(*psci_states), GFP_KERNEL);
> + if (!psci_states)
> + return -ENOMEM;
> +
> + for (i = 0; i < count; i++) {
> + u32 state;
> +
> + lpi = &pr->power.lpi_states[i + 1];
> + state = lpi->address & 0xFFFFFFFF;
> + if (!psci_power_state_is_valid(state)) {
> + pr_warn("Invalid PSCI power state %#x\n", state);
> + kfree(psci_states);
> + return -EINVAL;
> + }
> + psci_states[i] = state;
> + }
> + /* Idle states parsed correctly, initialize per-cpu pointer */
> + per_cpu(psci_power_state, cpu) = psci_states;
> + return 0;
> +}
> +
> int psci_cpu_init_idle(unsigned int cpu)
> {
> + if (!acpi_disabled)
> + return psci_acpi_cpu_init_idle(cpu);
> +
> return psci_dt_cpu_init_idle(cpu);
> }
>
WARNING: multiple messages have this Message-ID (diff)
From: jszhang@marvell.com (Jisheng Zhang)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v4 4/5] arm64: add support for ACPI Low Power Idle(LPI)
Date: Wed, 20 Apr 2016 18:39:58 +0800 [thread overview]
Message-ID: <20160420183958.648980db@xhacker> (raw)
In-Reply-To: <1461069013-13292-5-git-send-email-sudeep.holla@arm.com>
Dear Sudeep,
On Tue, 19 Apr 2016 13:30:12 +0100 Sudeep Holla wrote:
> This patch adds appropriate callbacks to support ACPI Low Power Idle
> (LPI) on ARM64.
>
> It also selects ARCH_SUPPORTS_ACPI_PROCESSOR_LPI if ACPI is enabled
> on ARM64.
>
> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
> Cc: Mark Rutland <mark.rutland@arm.com>
> Cc: linux-arm-kernel at lists.infradead.org
> Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
> ---
> arch/arm64/Kconfig | 1 +
> arch/arm64/kernel/acpi.c | 34 ++++++++++++++++++++++++++++++++++
> drivers/firmware/psci.c | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
> 3 files changed, 83 insertions(+)
>
> diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
> index 4f436220384f..e7536540387d 100644
> --- a/arch/arm64/Kconfig
> +++ b/arch/arm64/Kconfig
> @@ -10,6 +10,7 @@ config ARM64
> select ARCH_HAS_SG_CHAIN
> select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
> select ARCH_USE_CMPXCHG_LOCKREF
> + select ARCH_SUPPORTS_ACPI_PROCESSOR_LPI if ACPI
> select ARCH_SUPPORTS_ATOMIC_RMW
> select ARCH_WANT_OPTIONAL_GPIOLIB
> select ARCH_WANT_COMPAT_IPC_PARSE_VERSION
> diff --git a/arch/arm64/kernel/acpi.c b/arch/arm64/kernel/acpi.c
> index d1ce8e2f98b9..3c05ad5957be 100644
> --- a/arch/arm64/kernel/acpi.c
> +++ b/arch/arm64/kernel/acpi.c
> @@ -18,6 +18,7 @@
> #include <linux/acpi.h>
> #include <linux/bootmem.h>
> #include <linux/cpumask.h>
> +#include <linux/cpu_pm.h>
> #include <linux/init.h>
> #include <linux/irq.h>
> #include <linux/irqdomain.h>
> @@ -25,9 +26,11 @@
> #include <linux/of_fdt.h>
> #include <linux/smp.h>
>
> +#include <asm/cpuidle.h>
> #include <asm/cputype.h>
> #include <asm/cpu_ops.h>
> #include <asm/smp_plat.h>
> +#include <acpi/processor.h>
It's better to keep headers alphabetic sorted
>
> #ifdef CONFIG_ACPI_APEI
> # include <linux/efi.h>
> @@ -211,6 +214,37 @@ void __init acpi_boot_table_init(void)
> }
> }
>
> +int acpi_processor_ffh_lpi_probe(unsigned int cpu)
> +{
> + return arm_cpuidle_init(cpu);
> +}
> +
> +struct acpi_processor_lpi *lpi;
> +int acpi_processor_ffh_lpi_enter(struct acpi_processor_lpi *lpi, int idx)
> +{
> + int ret;
> +
> + if (!idx) {
> + cpu_do_idle();
> + return idx;
> + }
> +
> + /* TODO cpu_pm_{enter,exit} can be done in generic code ? */
> + ret = cpu_pm_enter();
> + if (!ret) {
> + /*
> + * Pass idle state index to cpu_suspend which in turn will
> + * call the CPU ops suspend protocol with idle index as a
> + * parameter.
> + */
> + ret = arm_cpuidle_suspend(idx);
> +
> + cpu_pm_exit();
> + }
> +
> + return ret ? -1 : idx;
> +}
> +
> #ifdef CONFIG_ACPI_APEI
> pgprot_t arch_apei_get_mem_attribute(phys_addr_t addr)
> {
> diff --git a/drivers/firmware/psci.c b/drivers/firmware/psci.c
> index af6c5c839568..70cf2a500d4b 100644
> --- a/drivers/firmware/psci.c
> +++ b/drivers/firmware/psci.c
> @@ -24,6 +24,7 @@
> #include <linux/reboot.h>
> #include <linux/slab.h>
> #include <linux/suspend.h>
> +#include <linux/acpi.h>
same here
>
> #include <uapi/linux/psci.h>
>
> @@ -32,6 +33,7 @@
> #include <asm/system_misc.h>
> #include <asm/smp_plat.h>
> #include <asm/suspend.h>
> +#include <acpi/processor.h>
ditto
>
> /*
> * While a 64-bit OS can make calls with SMC32 calling conventions, for some
> @@ -316,8 +318,54 @@ static int psci_dt_cpu_init_idle(unsigned int cpu)
> return ret;
> }
>
> +static int __maybe_unused psci_acpi_cpu_init_idle(unsigned int cpu)
> +{
> + int i, count;
> + u32 *psci_states;
> + struct acpi_processor *pr;
> + struct acpi_processor_lpi *lpi;
> +
> + pr = per_cpu(processors, cpu);
> + if (unlikely(!pr || !pr->flags.has_lpi))
> + return -EINVAL;
> +
> + /*
> + * If the PSCI cpu_suspend function hook has not been initialized
> + * idle states must not be enabled, so bail out
> + */
> + if (!psci_ops.cpu_suspend)
> + return -EOPNOTSUPP;
> +
> + count = pr->power.count - 1;
> + if (!count)
> + return -ENODEV;
> +
> + psci_states = kcalloc(count, sizeof(*psci_states), GFP_KERNEL);
> + if (!psci_states)
> + return -ENOMEM;
> +
> + for (i = 0; i < count; i++) {
> + u32 state;
> +
> + lpi = &pr->power.lpi_states[i + 1];
> + state = lpi->address & 0xFFFFFFFF;
> + if (!psci_power_state_is_valid(state)) {
> + pr_warn("Invalid PSCI power state %#x\n", state);
> + kfree(psci_states);
> + return -EINVAL;
> + }
> + psci_states[i] = state;
> + }
> + /* Idle states parsed correctly, initialize per-cpu pointer */
> + per_cpu(psci_power_state, cpu) = psci_states;
> + return 0;
> +}
> +
> int psci_cpu_init_idle(unsigned int cpu)
> {
> + if (!acpi_disabled)
> + return psci_acpi_cpu_init_idle(cpu);
> +
> return psci_dt_cpu_init_idle(cpu);
> }
>
WARNING: multiple messages have this Message-ID (diff)
From: Jisheng Zhang <jszhang@marvell.com>
To: Sudeep Holla <sudeep.holla@arm.com>
Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>,
<linux-acpi@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
<linux-arm-kernel@lists.infradead.org>,
Mark Rutland <mark.rutland@arm.com>,
Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>,
Al Stone <al.stone@linaro.org>,
"Prashanth Prakash" <pprakash@codeaurora.org>,
Ashwin Chaugule <ashwin.chaugule@linaro.org>
Subject: Re: [PATCH v4 4/5] arm64: add support for ACPI Low Power Idle(LPI)
Date: Wed, 20 Apr 2016 18:39:58 +0800 [thread overview]
Message-ID: <20160420183958.648980db@xhacker> (raw)
In-Reply-To: <1461069013-13292-5-git-send-email-sudeep.holla@arm.com>
Dear Sudeep,
On Tue, 19 Apr 2016 13:30:12 +0100 Sudeep Holla wrote:
> This patch adds appropriate callbacks to support ACPI Low Power Idle
> (LPI) on ARM64.
>
> It also selects ARCH_SUPPORTS_ACPI_PROCESSOR_LPI if ACPI is enabled
> on ARM64.
>
> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
> Cc: Mark Rutland <mark.rutland@arm.com>
> Cc: linux-arm-kernel@lists.infradead.org
> Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
> ---
> arch/arm64/Kconfig | 1 +
> arch/arm64/kernel/acpi.c | 34 ++++++++++++++++++++++++++++++++++
> drivers/firmware/psci.c | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
> 3 files changed, 83 insertions(+)
>
> diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
> index 4f436220384f..e7536540387d 100644
> --- a/arch/arm64/Kconfig
> +++ b/arch/arm64/Kconfig
> @@ -10,6 +10,7 @@ config ARM64
> select ARCH_HAS_SG_CHAIN
> select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
> select ARCH_USE_CMPXCHG_LOCKREF
> + select ARCH_SUPPORTS_ACPI_PROCESSOR_LPI if ACPI
> select ARCH_SUPPORTS_ATOMIC_RMW
> select ARCH_WANT_OPTIONAL_GPIOLIB
> select ARCH_WANT_COMPAT_IPC_PARSE_VERSION
> diff --git a/arch/arm64/kernel/acpi.c b/arch/arm64/kernel/acpi.c
> index d1ce8e2f98b9..3c05ad5957be 100644
> --- a/arch/arm64/kernel/acpi.c
> +++ b/arch/arm64/kernel/acpi.c
> @@ -18,6 +18,7 @@
> #include <linux/acpi.h>
> #include <linux/bootmem.h>
> #include <linux/cpumask.h>
> +#include <linux/cpu_pm.h>
> #include <linux/init.h>
> #include <linux/irq.h>
> #include <linux/irqdomain.h>
> @@ -25,9 +26,11 @@
> #include <linux/of_fdt.h>
> #include <linux/smp.h>
>
> +#include <asm/cpuidle.h>
> #include <asm/cputype.h>
> #include <asm/cpu_ops.h>
> #include <asm/smp_plat.h>
> +#include <acpi/processor.h>
It's better to keep headers alphabetic sorted
>
> #ifdef CONFIG_ACPI_APEI
> # include <linux/efi.h>
> @@ -211,6 +214,37 @@ void __init acpi_boot_table_init(void)
> }
> }
>
> +int acpi_processor_ffh_lpi_probe(unsigned int cpu)
> +{
> + return arm_cpuidle_init(cpu);
> +}
> +
> +struct acpi_processor_lpi *lpi;
> +int acpi_processor_ffh_lpi_enter(struct acpi_processor_lpi *lpi, int idx)
> +{
> + int ret;
> +
> + if (!idx) {
> + cpu_do_idle();
> + return idx;
> + }
> +
> + /* TODO cpu_pm_{enter,exit} can be done in generic code ? */
> + ret = cpu_pm_enter();
> + if (!ret) {
> + /*
> + * Pass idle state index to cpu_suspend which in turn will
> + * call the CPU ops suspend protocol with idle index as a
> + * parameter.
> + */
> + ret = arm_cpuidle_suspend(idx);
> +
> + cpu_pm_exit();
> + }
> +
> + return ret ? -1 : idx;
> +}
> +
> #ifdef CONFIG_ACPI_APEI
> pgprot_t arch_apei_get_mem_attribute(phys_addr_t addr)
> {
> diff --git a/drivers/firmware/psci.c b/drivers/firmware/psci.c
> index af6c5c839568..70cf2a500d4b 100644
> --- a/drivers/firmware/psci.c
> +++ b/drivers/firmware/psci.c
> @@ -24,6 +24,7 @@
> #include <linux/reboot.h>
> #include <linux/slab.h>
> #include <linux/suspend.h>
> +#include <linux/acpi.h>
same here
>
> #include <uapi/linux/psci.h>
>
> @@ -32,6 +33,7 @@
> #include <asm/system_misc.h>
> #include <asm/smp_plat.h>
> #include <asm/suspend.h>
> +#include <acpi/processor.h>
ditto
>
> /*
> * While a 64-bit OS can make calls with SMC32 calling conventions, for some
> @@ -316,8 +318,54 @@ static int psci_dt_cpu_init_idle(unsigned int cpu)
> return ret;
> }
>
> +static int __maybe_unused psci_acpi_cpu_init_idle(unsigned int cpu)
> +{
> + int i, count;
> + u32 *psci_states;
> + struct acpi_processor *pr;
> + struct acpi_processor_lpi *lpi;
> +
> + pr = per_cpu(processors, cpu);
> + if (unlikely(!pr || !pr->flags.has_lpi))
> + return -EINVAL;
> +
> + /*
> + * If the PSCI cpu_suspend function hook has not been initialized
> + * idle states must not be enabled, so bail out
> + */
> + if (!psci_ops.cpu_suspend)
> + return -EOPNOTSUPP;
> +
> + count = pr->power.count - 1;
> + if (!count)
> + return -ENODEV;
> +
> + psci_states = kcalloc(count, sizeof(*psci_states), GFP_KERNEL);
> + if (!psci_states)
> + return -ENOMEM;
> +
> + for (i = 0; i < count; i++) {
> + u32 state;
> +
> + lpi = &pr->power.lpi_states[i + 1];
> + state = lpi->address & 0xFFFFFFFF;
> + if (!psci_power_state_is_valid(state)) {
> + pr_warn("Invalid PSCI power state %#x\n", state);
> + kfree(psci_states);
> + return -EINVAL;
> + }
> + psci_states[i] = state;
> + }
> + /* Idle states parsed correctly, initialize per-cpu pointer */
> + per_cpu(psci_power_state, cpu) = psci_states;
> + return 0;
> +}
> +
> int psci_cpu_init_idle(unsigned int cpu)
> {
> + if (!acpi_disabled)
> + return psci_acpi_cpu_init_idle(cpu);
> +
> return psci_dt_cpu_init_idle(cpu);
> }
>
next prev parent reply other threads:[~2016-04-20 10:39 UTC|newest]
Thread overview: 64+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-19 12:30 [PATCH v4 0/5] ACPI / processor_idle: Add ACPI v6.0 LPI support Sudeep Holla
2016-04-19 12:30 ` Sudeep Holla
2016-04-19 12:30 ` [PATCH v4 1/5] ACPI / processor_idle: introduce ARCH_SUPPORTS_ACPI_PROCESSOR_CSTATE Sudeep Holla
2016-04-19 12:30 ` Sudeep Holla
2016-04-19 12:30 ` Sudeep Holla
2016-04-19 12:49 ` kbuild test robot
2016-04-19 12:49 ` kbuild test robot
2016-04-19 12:49 ` kbuild test robot
2016-04-19 12:49 ` kbuild test robot
2016-04-19 13:00 ` Sudeep Holla
2016-04-19 13:00 ` Sudeep Holla
2016-04-19 13:00 ` Sudeep Holla
2016-04-20 9:56 ` Vikas Sajjan
2016-04-20 9:57 ` Vikas Sajjan
2016-04-20 9:56 ` Vikas Sajjan
2016-04-20 10:09 ` Sudeep Holla
2016-04-20 10:09 ` Sudeep Holla
2016-04-20 10:09 ` Sudeep Holla
2016-05-09 23:59 ` Rafael J. Wysocki
2016-05-10 0:02 ` Rafael J. Wysocki
2016-05-10 0:02 ` Rafael J. Wysocki
2016-05-11 15:07 ` Sudeep Holla
2016-05-11 15:07 ` Sudeep Holla
2016-05-11 15:07 ` Sudeep Holla
2016-04-19 12:30 ` [PATCH v4 2/5] ACPI / processor_idle: Add support for Low Power Idle(LPI) states Sudeep Holla
2016-04-19 12:30 ` Sudeep Holla
2016-05-10 0:04 ` Rafael J. Wysocki
2016-05-10 0:04 ` Rafael J. Wysocki
2016-05-11 0:03 ` Rafael J. Wysocki
2016-05-11 0:03 ` Rafael J. Wysocki
2016-05-11 15:06 ` Sudeep Holla
2016-05-11 15:06 ` Sudeep Holla
2016-05-11 20:45 ` Rafael J. Wysocki
2016-05-11 20:45 ` Rafael J. Wysocki
2016-04-19 12:30 ` [PATCH v4 3/5] drivers: psci: refactor psci_cpu_init_idle in preparation for ACPI LPI support Sudeep Holla
2016-04-19 12:30 ` Sudeep Holla
2016-06-09 13:24 ` Lorenzo Pieralisi
2016-06-09 13:24 ` Lorenzo Pieralisi
2016-06-09 14:26 ` Sudeep Holla
2016-06-09 14:26 ` Sudeep Holla
2016-04-19 12:30 ` [PATCH v4 4/5] arm64: add support for ACPI Low Power Idle(LPI) Sudeep Holla
2016-04-19 12:30 ` Sudeep Holla
2016-04-19 13:59 ` kbuild test robot
2016-04-19 13:59 ` kbuild test robot
2016-04-19 13:59 ` kbuild test robot
2016-04-19 15:42 ` Sudeep Holla
2016-04-19 15:42 ` Sudeep Holla
2016-04-20 9:59 ` Vikas Sajjan
2016-04-20 9:59 ` Vikas Sajjan
2016-04-20 10:20 ` Sudeep Holla
2016-04-20 10:20 ` Sudeep Holla
2016-04-20 10:39 ` Jisheng Zhang [this message]
2016-04-20 10:39 ` Jisheng Zhang
2016-04-20 10:39 ` Jisheng Zhang
2016-04-26 15:51 ` Prakash, Prashanth
2016-04-26 15:51 ` Prakash, Prashanth
2016-04-26 16:01 ` Sudeep Holla
2016-04-26 16:01 ` Sudeep Holla
2016-05-11 0:07 ` Rafael J. Wysocki
2016-05-11 0:07 ` Rafael J. Wysocki
2016-05-11 15:06 ` Sudeep Holla
2016-05-11 15:06 ` Sudeep Holla
2016-04-19 12:30 ` [PATCH v4 5/5] ACPI : enable ACPI_PROCESSOR_IDLE on ARM64 Sudeep Holla
2016-04-19 12:30 ` Sudeep Holla
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160420183958.648980db@xhacker \
--to=jszhang@marvell.com \
--cc=al.stone@linaro.org \
--cc=ashwin.chaugule@linaro.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lorenzo.pieralisi@arm.com \
--cc=mark.rutland@arm.com \
--cc=pprakash@codeaurora.org \
--cc=rjw@rjwysocki.net \
--cc=sudeep.holla@arm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.