From: Daniel Lezcano <daniel.lezcano@linaro.org>
To: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>, rjw@rjwysocki.net
Cc: linux-samsung-soc@vger.kernel.org, linux-pm@vger.kernel.org,
linux-kernel@vger.kernel.org, kyungmin.park@samsung.com,
Kukjin Kim <kgene.kim@samsung.com>,
linuxppc-dev@lists.ozlabs.org, lenb@kernel.org
Subject: Re: [PATCH v2 1/9] ARM: EXYNOS: cpuidle: fix AFTR mode check
Date: Fri, 20 Dec 2013 22:16:12 +0100 [thread overview]
Message-ID: <52B4B39C.2010202@linaro.org> (raw)
In-Reply-To: <1387565251-7051-2-git-send-email-b.zolnierkie@samsung.com>
On 12/20/2013 07:47 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>
> Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
> Cc: Kukjin Kim <kgene.kim@samsung.com>
> ---
> 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 da65b03..f57cb91 100644
> --- a/arch/arm/mach-exynos/cpuidle.c
> +++ b/arch/arm/mach-exynos/cpuidle.c
> @@ -172,8 +172,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)
> @@ -235,10 +235,6 @@ static int exynos_cpuidle_probe(struct platform_device *pdev)
> 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) {
> dev_err(&pdev->dev, "failed to register cpuidle device\n");
>
Hi Bartlomiej,
thanks for this cleanup. May be you can also add another patch to switch
to the generic cpuidle_register function ?
Thanks
-- Daniel
--
<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-12-20 21:16 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-12-20 18:47 [PATCH v2 0/9] cpuidle: rework device state count handling Bartlomiej Zolnierkiewicz
2013-12-20 18:47 ` [PATCH v2 1/9] ARM: EXYNOS: cpuidle: fix AFTR mode check Bartlomiej Zolnierkiewicz
2013-12-20 20:47 ` Kukjin Kim
2013-12-20 21:16 ` Daniel Lezcano [this message]
2013-12-20 18:47 ` [PATCH v2 2/9] POWERPC: pseries: cpuidle: remove superfluous dev->state_count initialization Bartlomiej Zolnierkiewicz
2014-01-02 5:41 ` Deepthi Dharwar
2013-12-20 18:47 ` [PATCH v2 3/9] POWERPC: pseries: cpuidle: use the common cpuidle_[un]register() routines Bartlomiej Zolnierkiewicz
2014-01-02 5:42 ` Deepthi Dharwar
2013-12-20 18:47 ` [PATCH v2 4/9] ACPI / cpuidle: fix max idle state handling with hotplug CPU support Bartlomiej Zolnierkiewicz
2013-12-20 18:47 ` [PATCH v2 5/9] ACPI / cpuidle: remove dev->state_count setting Bartlomiej Zolnierkiewicz
2013-12-20 18:47 ` [PATCH v2 6/9] intel_idle: do C1E promotion disable quirk for hotplugged CPUs Bartlomiej Zolnierkiewicz
2013-12-20 21:52 ` Daniel Lezcano
2013-12-20 18:47 ` [PATCH v2 7/9] intel_idle: remove superfluous dev->state_count initialization Bartlomiej Zolnierkiewicz
2013-12-20 21:48 ` Daniel Lezcano
2013-12-20 18:47 ` [PATCH v2 8/9] intel_idle: use the common cpuidle_[un]register() routines Bartlomiej Zolnierkiewicz
2013-12-20 21:42 ` Daniel Lezcano
2013-12-20 18:47 ` [PATCH v2 9/9] cpuidle: remove state_count field from struct cpuidle_device Bartlomiej Zolnierkiewicz
2013-12-20 21:27 ` Daniel Lezcano
2014-01-06 12:12 ` [PATCH v2 0/9] cpuidle: rework device state count handling Rafael J. Wysocki
2014-01-11 0:37 ` Rafael J. Wysocki
2014-01-13 21:20 ` Rafael J. Wysocki
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=52B4B39C.2010202@linaro.org \
--to=daniel.lezcano@linaro.org \
--cc=b.zolnierkie@samsung.com \
--cc=kgene.kim@samsung.com \
--cc=kyungmin.park@samsung.com \
--cc=lenb@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=rjw@rjwysocki.net \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).