From: Daniel Lezcano <daniel.lezcano@linaro.org>
To: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Cc: rjw@sisk.pl, linux-pm@vger.kernel.org, kyungmin.park@samsung.com,
Kukjin Kim <kgene.kim@samsung.com>
Subject: Re: [PATCH 1/9] ARM: EXYNOS: cpuidle: fix AFTR mode check
Date: Thu, 26 Sep 2013 12:42:26 +0200 [thread overview]
Message-ID: <52440F92.7070101@linaro.org> (raw)
In-Reply-To: <1377008627-32691-2-git-send-email-b.zolnierkie@samsung.com>
On 08/20/2013 04:23 PM, Bartlomiej Zolnierkiewicz wrote:
> The EXYNOS cpuidle driver code assumes that cpuidle core will handle
> dev->state_count smaller than drv->state_count but currently this is
> untrue (dev->state_count is used only for handling cpuidle state sysfs
> entries and drv->state_count is used for all other cases) and will not
> be fixed in the future as dev->state_count is planned to be removed.
>
> Fix the issue by checking for the max supported idle state in AFTR
> state's ->enter handler (exynos4_enter_lowpower()) and entering AFTR
> mode only when cores other than CPU0 are offline.
>
> Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
> Cc: Kukjin Kim <kgene.kim@samsung.com>
Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
> ---
> arch/arm/mach-exynos/cpuidle.c | 8 ++------
> 1 file changed, 2 insertions(+), 6 deletions(-)
>
> diff --git a/arch/arm/mach-exynos/cpuidle.c b/arch/arm/mach-exynos/cpuidle.c
> index 225ee84..bb8c4e0 100644
> --- a/arch/arm/mach-exynos/cpuidle.c
> +++ b/arch/arm/mach-exynos/cpuidle.c
> @@ -150,8 +150,8 @@ static int exynos4_enter_lowpower(struct cpuidle_device *dev,
> {
> int new_index = index;
>
> - /* This mode only can be entered when other core's are offline */
> - if (num_online_cpus() > 1)
> + /* AFTR can only be entered when cores other than CPU0 are offline */
> + if (num_online_cpus() > 1 || dev->cpu != 0)
> new_index = drv->safe_state_index;
>
> if (new_index == 0)
> @@ -210,10 +210,6 @@ static int __init exynos4_init_cpuidle(void)
> device = &per_cpu(exynos4_cpuidle_device, cpu_id);
> device->cpu = cpu_id;
>
> - /* Support IDLE only */
> - if (cpu_id != 0)
> - device->state_count = 1;
> -
> ret = cpuidle_register_device(device);
> if (ret) {
> printk(KERN_ERR "CPUidle register device failed\n");
>
--
<http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs
Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog
next prev parent reply other threads:[~2013-09-26 10:42 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-08-20 14:23 [PATCH 0/9] cpuidle: rework device state count handling Bartlomiej Zolnierkiewicz
2013-08-20 14:23 ` [PATCH 1/9] ARM: EXYNOS: cpuidle: fix AFTR mode check Bartlomiej Zolnierkiewicz
2013-09-26 10:42 ` Daniel Lezcano [this message]
2013-08-20 14:23 ` [PATCH 2/9] POWERPC: pseries: cpuidle: remove superfluous dev->state_count initialization Bartlomiej Zolnierkiewicz
2013-09-26 10:45 ` Daniel Lezcano
2013-08-20 14:23 ` [PATCH 3/9] POWERPC: pseries: cpuidle: use the common cpuidle_[un]register() routines Bartlomiej Zolnierkiewicz
2013-09-26 10:47 ` Daniel Lezcano
2013-08-20 14:23 ` [PATCH 4/9] ACPI / cpuidle: fix max idle state handling with hotplug CPU support Bartlomiej Zolnierkiewicz
2013-08-20 14:23 ` [PATCH 5/9] ACPI / cpuidle: remove dev->state_count setting Bartlomiej Zolnierkiewicz
2013-08-20 14:23 ` [PATCH 6/9] intel_idle: do C1E promotion disable quirk for hotplugged CPUs Bartlomiej Zolnierkiewicz
2013-08-20 14:23 ` [PATCH 7/9] intel_idle: remove superfluous dev->state_count initialization Bartlomiej Zolnierkiewicz
2013-08-20 14:23 ` [PATCH 8/9] intel_idle: use the common cpuidle_[un]register() routines Bartlomiej Zolnierkiewicz
2013-08-20 14:23 ` [PATCH 9/9] cpuidle: remove state_count field from struct cpuidle_device Bartlomiej Zolnierkiewicz
2013-09-23 16:05 ` [PATCH 0/9] cpuidle: rework device state count handling Bartlomiej Zolnierkiewicz
2013-09-26 10:40 ` Daniel Lezcano
2013-09-27 1:04 ` Rafael J. Wysocki
2013-11-04 14:28 ` Bartlomiej Zolnierkiewicz
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=52440F92.7070101@linaro.org \
--to=daniel.lezcano@linaro.org \
--cc=b.zolnierkie@samsung.com \
--cc=kgene.kim@samsung.com \
--cc=kyungmin.park@samsung.com \
--cc=linux-pm@vger.kernel.org \
--cc=rjw@sisk.pl \
/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.