From: Daniel Lezcano <daniel.lezcano@linaro.org>
To: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Cc: Kukjin Kim <kgene.kim@samsung.com>,
"Rafael J. Wysocki" <rjw@sisk.pl>,
Tomasz Figa <t.figa@samsung.com>,
Amit Daniel Kachhap <amit.daniel@samsung.com>,
linux-samsung-soc@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, linux-pm@vger.kernel.org
Subject: Re: [PATCH 2/2] ARM: EXYNOS: add cpuidle-exynos.max_states kernel parameter
Date: Mon, 02 Sep 2013 17:52:15 +0200 [thread overview]
Message-ID: <5224B42F.3090500@linaro.org> (raw)
In-Reply-To: <3870129.vNtjevCIAF@amdc1032>
On 09/02/2013 04:43 PM, Bartlomiej Zolnierkiewicz wrote:
> On Monday, September 02, 2013 04:24:23 PM Daniel Lezcano wrote:
>> On 09/02/2013 03:48 PM, Bartlomiej Zolnierkiewicz wrote:
>>> On Monday, September 02, 2013 03:18:51 PM Daniel Lezcano wrote:
>>>> On 09/02/2013 11:41 AM, Bartlomiej Zolnierkiewicz wrote:
>>>>> On Monday, September 02, 2013 10:54:17 AM Daniel Lezcano wrote:
>>>>>> On 08/30/2013 12:21 PM, Bartlomiej Zolnierkiewicz wrote:
>>>>>>> Add "cpuidle-exynos.max_states=" parameter to allow user to specify
>>>>>>> the maximum of allowed CPU idle states for ARM EXYNOS cpuidle driver.
>>>>>>>
>>>>>>> This change is needed because C1 state (AFTR mode) is often not able
>>>>>>> to work properly due to incompatibility with some bootloader versions.
>>>>>>>
>>>>>>> Usage examples:
>>>>>>>
>>>>>>> "cpuidle-exynos.max_states=1" disables C1 state (AFTR mode).
>>>>>>>
>>>>>>> "cpuidle-exynos.max_states=0" disables the driver completely.
>>>>>>>
>>>>>>> Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
>>>>>>> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
>>>>>>> Cc: Tomasz Figa <t.figa@samsung.com>
>>>>>>> Cc: Amit Daniel Kachhap <amit.daniel@samsung.com>
>>>>>>
>>>>>> There is a max_cstate option for acpi and intel idle. There is also the
>>>>>> cpuidle.off=1 option. As the semantic is the same, I think adding a
>>>>>> common cpuidle option usable for all the drivers is better.
>>>>>
>>>>> I thought about making the option common for all cpuidle drivers first
>>>>> but due to support for multiple cpuidle drivers on one machine (i.e.
>>>>> big.LITTLE), per-driver option looked like a better approach.
>>>>>
>>>>> Should I make the option common and not worry about multiple drivers on
>>>>> one machine support?
>>>>
>>>> Mmh, that's a good point.
>>>>
>>>> I am not in favor of multiple options spread across the different
>>>> drivers. Furthermore the max_cstate is used in the intel platform to
>>>> 'discover' what states the firmware supports which is not the case of
>>>> the cpuidle ARM drivers (except new PSCI based). This option does not
>>>> really fits well here.
>>>>
>>>> There is the kernel parameter 'cpuidle.off', so disabling the driver is ok.
>>>>
>>>> You converted the cpuidle driver to a platform driver. Isn't possible to
>>>> pass information in the platform data field at boot time to tell AFTR is
>>>> not supported and then act on the 'disabled' field of this state ?
>>>
>>> It might be possible but I don't know where the source of this data would
>>> be, platform specific kernel parameter? It sounds just like moving the code
>>> around and adding superfluous platform->driver code because the similar
>>> kernel parameter to disable just AFTR can be added in cpuidle-exynos driver
>>> as well.
>>
>> It is to prevent to add a new kernel parameter (with the documentation)
>> for a single driver which has a bogus idle state. If that could be
>> handled internally that would be cleaner.
>
> If I believed that it could be handled internally I wouldn't be trying to
> add a kernel parameter to handle it.. Would I? ;)
>
>> Can you shortly describe what happens with the bootloader and AFTR ?
>
> AFTR just doesn't work with the custom U-Boot version that we are using
> (attempts to go into AFTR mode result in lockup) and using the upstream
> version of U-Boot is not an option since it doesn't support the hardware
> that we are using AFAIK. I also don't know exactly why it doesn't work
> (I just suspect that it reuses INFORM registers for some other purposes).
You want to add a kernel option as a work around for a bug in U-Boot ?
IMO, you should drop the hot potato to the u-boot guys :)
>> I guess you are not interested in cpuidle.off=1 because you want cpuidle
>> statistics for WFI, right ?
>
> Right. :)
--
<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
WARNING: multiple messages have this Message-ID (diff)
From: daniel.lezcano@linaro.org (Daniel Lezcano)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 2/2] ARM: EXYNOS: add cpuidle-exynos.max_states kernel parameter
Date: Mon, 02 Sep 2013 17:52:15 +0200 [thread overview]
Message-ID: <5224B42F.3090500@linaro.org> (raw)
In-Reply-To: <3870129.vNtjevCIAF@amdc1032>
On 09/02/2013 04:43 PM, Bartlomiej Zolnierkiewicz wrote:
> On Monday, September 02, 2013 04:24:23 PM Daniel Lezcano wrote:
>> On 09/02/2013 03:48 PM, Bartlomiej Zolnierkiewicz wrote:
>>> On Monday, September 02, 2013 03:18:51 PM Daniel Lezcano wrote:
>>>> On 09/02/2013 11:41 AM, Bartlomiej Zolnierkiewicz wrote:
>>>>> On Monday, September 02, 2013 10:54:17 AM Daniel Lezcano wrote:
>>>>>> On 08/30/2013 12:21 PM, Bartlomiej Zolnierkiewicz wrote:
>>>>>>> Add "cpuidle-exynos.max_states=" parameter to allow user to specify
>>>>>>> the maximum of allowed CPU idle states for ARM EXYNOS cpuidle driver.
>>>>>>>
>>>>>>> This change is needed because C1 state (AFTR mode) is often not able
>>>>>>> to work properly due to incompatibility with some bootloader versions.
>>>>>>>
>>>>>>> Usage examples:
>>>>>>>
>>>>>>> "cpuidle-exynos.max_states=1" disables C1 state (AFTR mode).
>>>>>>>
>>>>>>> "cpuidle-exynos.max_states=0" disables the driver completely.
>>>>>>>
>>>>>>> Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
>>>>>>> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
>>>>>>> Cc: Tomasz Figa <t.figa@samsung.com>
>>>>>>> Cc: Amit Daniel Kachhap <amit.daniel@samsung.com>
>>>>>>
>>>>>> There is a max_cstate option for acpi and intel idle. There is also the
>>>>>> cpuidle.off=1 option. As the semantic is the same, I think adding a
>>>>>> common cpuidle option usable for all the drivers is better.
>>>>>
>>>>> I thought about making the option common for all cpuidle drivers first
>>>>> but due to support for multiple cpuidle drivers on one machine (i.e.
>>>>> big.LITTLE), per-driver option looked like a better approach.
>>>>>
>>>>> Should I make the option common and not worry about multiple drivers on
>>>>> one machine support?
>>>>
>>>> Mmh, that's a good point.
>>>>
>>>> I am not in favor of multiple options spread across the different
>>>> drivers. Furthermore the max_cstate is used in the intel platform to
>>>> 'discover' what states the firmware supports which is not the case of
>>>> the cpuidle ARM drivers (except new PSCI based). This option does not
>>>> really fits well here.
>>>>
>>>> There is the kernel parameter 'cpuidle.off', so disabling the driver is ok.
>>>>
>>>> You converted the cpuidle driver to a platform driver. Isn't possible to
>>>> pass information in the platform data field at boot time to tell AFTR is
>>>> not supported and then act on the 'disabled' field of this state ?
>>>
>>> It might be possible but I don't know where the source of this data would
>>> be, platform specific kernel parameter? It sounds just like moving the code
>>> around and adding superfluous platform->driver code because the similar
>>> kernel parameter to disable just AFTR can be added in cpuidle-exynos driver
>>> as well.
>>
>> It is to prevent to add a new kernel parameter (with the documentation)
>> for a single driver which has a bogus idle state. If that could be
>> handled internally that would be cleaner.
>
> If I believed that it could be handled internally I wouldn't be trying to
> add a kernel parameter to handle it.. Would I? ;)
>
>> Can you shortly describe what happens with the bootloader and AFTR ?
>
> AFTR just doesn't work with the custom U-Boot version that we are using
> (attempts to go into AFTR mode result in lockup) and using the upstream
> version of U-Boot is not an option since it doesn't support the hardware
> that we are using AFAIK. I also don't know exactly why it doesn't work
> (I just suspect that it reuses INFORM registers for some other purposes).
You want to add a kernel option as a work around for a bug in U-Boot ?
IMO, you should drop the hot potato to the u-boot guys :)
>> I guess you are not interested in cpuidle.off=1 because you want cpuidle
>> statistics for WFI, right ?
>
> Right. :)
--
<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-02 15:52 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-08-30 10:21 [PATCH 2/2] ARM: EXYNOS: add cpuidle-exynos.max_states kernel parameter Bartlomiej Zolnierkiewicz
2013-08-30 10:21 ` Bartlomiej Zolnierkiewicz
2013-09-02 8:54 ` Daniel Lezcano
2013-09-02 8:54 ` Daniel Lezcano
2013-09-02 9:41 ` Bartlomiej Zolnierkiewicz
2013-09-02 9:41 ` Bartlomiej Zolnierkiewicz
2013-09-02 13:18 ` Daniel Lezcano
2013-09-02 13:18 ` Daniel Lezcano
2013-09-02 13:48 ` Bartlomiej Zolnierkiewicz
2013-09-02 13:48 ` Bartlomiej Zolnierkiewicz
2013-09-02 14:24 ` Daniel Lezcano
2013-09-02 14:24 ` Daniel Lezcano
2013-09-02 14:43 ` Bartlomiej Zolnierkiewicz
2013-09-02 14:43 ` Bartlomiej Zolnierkiewicz
2013-09-02 15:52 ` Daniel Lezcano [this message]
2013-09-02 15:52 ` Daniel Lezcano
2013-09-02 16:13 ` Bartlomiej Zolnierkiewicz
2013-09-02 16:13 ` 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=5224B42F.3090500@linaro.org \
--to=daniel.lezcano@linaro.org \
--cc=amit.daniel@samsung.com \
--cc=b.zolnierkie@samsung.com \
--cc=kgene.kim@samsung.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-pm@vger.kernel.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=rjw@sisk.pl \
--cc=t.figa@samsung.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.