All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Lezcano <daniel.lezcano@linaro.org>
To: Kevin Hilman <khilman@ti.com>
Cc: tony@atomide.com, linux-omap@vger.kernel.org,
	linaro-dev@lists.linaro.org,
	linux-arm-kernel@lists.infradead.org, patches@linaro.org
Subject: Re: [PATCH 02/17][V2] ARM: OMAP4: cpuidle - Declare the states with the driver declaration
Date: Tue, 24 Apr 2012 00:11:46 +0200	[thread overview]
Message-ID: <4F95D3A2.9010201@linaro.org> (raw)
In-Reply-To: <878vhml6ku.fsf@ti.com>

On 04/23/2012 07:08 PM, Kevin Hilman wrote:
> Daniel Lezcano<daniel.lezcano@linaro.org>  writes:
>
>> On 04/19/2012 03:58 PM, Daniel Lezcano wrote:
>>> On 04/10/2012 12:37 AM, Kevin Hilman wrote:
>>>> Daniel Lezcano<daniel.lezcano@linaro.org>   writes:
>>>>
>>>>> The cpuidle API allows to declare statically the states in the driver
>>>>> structure. Let's use it.
>>>>> We do no longer need the fill_cstate function called at runtime and
>>>>> by the way adding more instructions at boot time.
>>>>>
>>>>> Signed-off-by: Daniel Lezcano<daniel.lezcano@linaro.org>
>>>>> Reviewed-by: Jean Pihet<j-pihet@ti.com>
>>>>> Reviewed-by: Santosh Shilimkar<santosh.shilimkar@ti.com>
>>>>> ---
>>>>>    arch/arm/mach-omap2/cpuidle44xx.c |   57
>>>>> +++++++++++++++++++++---------------
>>>>>    1 files changed, 33 insertions(+), 24 deletions(-)
>>>>>
>>>>> diff --git a/arch/arm/mach-omap2/cpuidle44xx.c
>>>>> b/arch/arm/mach-omap2/cpuidle44xx.c
>>>>> index ee0bc50..6d86b59 100644
>>>>> --- a/arch/arm/mach-omap2/cpuidle44xx.c
>>>>> +++ b/arch/arm/mach-omap2/cpuidle44xx.c
>>>>> @@ -132,21 +132,39 @@ struct cpuidle_driver omap4_idle_driver = {
>>>>>        .name                = "omap4_idle",
>>>>>        .owner                = THIS_MODULE,
>>>>>        .en_core_tk_irqen        = 1,
>>>>> +    .states = {
>>>>> +        {
>>>>> +            /* C1 - CPU0 ON + CPU1 ON + MPU ON */
>>>>> +            .exit_latency = 2 + 2,
>>>>> +            .target_residency = 5,
>>>>> +            .flags = CPUIDLE_FLAG_TIME_VALID,
>>>>> +            .enter = omap4_enter_idle,
>>>>> +            .name = "C1",
>>>>> +            .desc = "MPUSS ON"
>>>>> +        },
>>>>> +        {
>>>>> +                        /* C2 - CPU0 OFF + CPU1 OFF + MPU CSWR */
>>>>> +            .exit_latency = 328 + 440,
>>>>> +            .target_residency = 960,
>>>>> +            .flags = CPUIDLE_FLAG_TIME_VALID,
>>>>> +            .enter = omap4_enter_idle,
>>>>> +            .name = "C2",
>>>>> +            .desc = "MPUSS CSWR",
>>>>> +        },
>>>>> +        {
>>>>> +            /* C3 - CPU0 OFF + CPU1 OFF + MPU OSWR */
>>>>> +            .exit_latency = 460 + 518,
>>>>> +            .target_residency = 1100,
>>>>> +            .flags = CPUIDLE_FLAG_TIME_VALID,
>>>>> +            .enter = omap4_enter_idle,
>>>>> +            .name = "C3",
>>>>> +            .desc = "MPUSS OSWR",
>>>>> +        },
>>>>> +    },
>>>>> +    .state_count = OMAP4_NUM_STATES,
>>>>
>>>> I think you can drop OMAP4_NUM_STATES here, and just use:
>>>>
>>>>      .state_count = ARRAY_SIZE(omap4_idle_driver.states),
>>>>
>>>> Then drop OMAP4_NUM_STATES all together in patch 3.
>>>
>>> Ok.
>>
>> I said 'ok' but it is not :)
>>
>> omap4_idle_driver.states has a fixed length which is CPUIDLE_STATE_MAX (8).
>> We need to define it manually as 3 for now.
>
> I don't see the connection between the two.
>
> Why can't you use ARRAY_SIZE(), and just have an error check later in
> the init to see if state_count>  max.


Maybe I misunderstood but you say:

.state_count = ARRAY_SIZE(omap4_idle_driver.states),

As in the cpuidle structure, the state array is CPUIDLE_STATE_MAX, 
ARRAY_SIZE will always return 8, not the number of the initialized states.

Anyway, I modified the patchset to use ARRAY_SIZE on the omap4_idle_data 
array, so we have:

.state_count = ARRAY_SIZE(omap4_idle_data),

   -- 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

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

WARNING: multiple messages have this Message-ID (diff)
From: daniel.lezcano@linaro.org (Daniel Lezcano)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 02/17][V2] ARM: OMAP4: cpuidle - Declare the states with the driver declaration
Date: Tue, 24 Apr 2012 00:11:46 +0200	[thread overview]
Message-ID: <4F95D3A2.9010201@linaro.org> (raw)
In-Reply-To: <878vhml6ku.fsf@ti.com>

On 04/23/2012 07:08 PM, Kevin Hilman wrote:
> Daniel Lezcano<daniel.lezcano@linaro.org>  writes:
>
>> On 04/19/2012 03:58 PM, Daniel Lezcano wrote:
>>> On 04/10/2012 12:37 AM, Kevin Hilman wrote:
>>>> Daniel Lezcano<daniel.lezcano@linaro.org>   writes:
>>>>
>>>>> The cpuidle API allows to declare statically the states in the driver
>>>>> structure. Let's use it.
>>>>> We do no longer need the fill_cstate function called at runtime and
>>>>> by the way adding more instructions at boot time.
>>>>>
>>>>> Signed-off-by: Daniel Lezcano<daniel.lezcano@linaro.org>
>>>>> Reviewed-by: Jean Pihet<j-pihet@ti.com>
>>>>> Reviewed-by: Santosh Shilimkar<santosh.shilimkar@ti.com>
>>>>> ---
>>>>>    arch/arm/mach-omap2/cpuidle44xx.c |   57
>>>>> +++++++++++++++++++++---------------
>>>>>    1 files changed, 33 insertions(+), 24 deletions(-)
>>>>>
>>>>> diff --git a/arch/arm/mach-omap2/cpuidle44xx.c
>>>>> b/arch/arm/mach-omap2/cpuidle44xx.c
>>>>> index ee0bc50..6d86b59 100644
>>>>> --- a/arch/arm/mach-omap2/cpuidle44xx.c
>>>>> +++ b/arch/arm/mach-omap2/cpuidle44xx.c
>>>>> @@ -132,21 +132,39 @@ struct cpuidle_driver omap4_idle_driver = {
>>>>>        .name                = "omap4_idle",
>>>>>        .owner                = THIS_MODULE,
>>>>>        .en_core_tk_irqen        = 1,
>>>>> +    .states = {
>>>>> +        {
>>>>> +            /* C1 - CPU0 ON + CPU1 ON + MPU ON */
>>>>> +            .exit_latency = 2 + 2,
>>>>> +            .target_residency = 5,
>>>>> +            .flags = CPUIDLE_FLAG_TIME_VALID,
>>>>> +            .enter = omap4_enter_idle,
>>>>> +            .name = "C1",
>>>>> +            .desc = "MPUSS ON"
>>>>> +        },
>>>>> +        {
>>>>> +                        /* C2 - CPU0 OFF + CPU1 OFF + MPU CSWR */
>>>>> +            .exit_latency = 328 + 440,
>>>>> +            .target_residency = 960,
>>>>> +            .flags = CPUIDLE_FLAG_TIME_VALID,
>>>>> +            .enter = omap4_enter_idle,
>>>>> +            .name = "C2",
>>>>> +            .desc = "MPUSS CSWR",
>>>>> +        },
>>>>> +        {
>>>>> +            /* C3 - CPU0 OFF + CPU1 OFF + MPU OSWR */
>>>>> +            .exit_latency = 460 + 518,
>>>>> +            .target_residency = 1100,
>>>>> +            .flags = CPUIDLE_FLAG_TIME_VALID,
>>>>> +            .enter = omap4_enter_idle,
>>>>> +            .name = "C3",
>>>>> +            .desc = "MPUSS OSWR",
>>>>> +        },
>>>>> +    },
>>>>> +    .state_count = OMAP4_NUM_STATES,
>>>>
>>>> I think you can drop OMAP4_NUM_STATES here, and just use:
>>>>
>>>>      .state_count = ARRAY_SIZE(omap4_idle_driver.states),
>>>>
>>>> Then drop OMAP4_NUM_STATES all together in patch 3.
>>>
>>> Ok.
>>
>> I said 'ok' but it is not :)
>>
>> omap4_idle_driver.states has a fixed length which is CPUIDLE_STATE_MAX (8).
>> We need to define it manually as 3 for now.
>
> I don't see the connection between the two.
>
> Why can't you use ARRAY_SIZE(), and just have an error check later in
> the init to see if state_count>  max.


Maybe I misunderstood but you say:

.state_count = ARRAY_SIZE(omap4_idle_driver.states),

As in the cpuidle structure, the state array is CPUIDLE_STATE_MAX, 
ARRAY_SIZE will always return 8, not the number of the initialized states.

Anyway, I modified the patchset to use ARRAY_SIZE on the omap4_idle_data 
array, so we have:

.state_count = ARRAY_SIZE(omap4_idle_data),

   -- 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

  reply	other threads:[~2012-04-23 22:11 UTC|newest]

Thread overview: 66+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-04 20:12 [PATCH 00/17][V2] ARM: OMAP3/4 : cpuidle34xx and cpuidle44xx cleanups Daniel Lezcano
2012-04-04 20:12 ` Daniel Lezcano
2012-04-04 20:12 ` [PATCH 01/17][V2] ARM: OMAP4: cpuidle - Remove unused valid field Daniel Lezcano
2012-04-04 20:12   ` Daniel Lezcano
     [not found] ` <1333570371-1389-1-git-send-email-daniel.lezcano-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2012-04-04 20:12   ` [PATCH 02/17][V2] ARM: OMAP4: cpuidle - Declare the states with the driver declaration Daniel Lezcano
2012-04-04 20:12     ` Daniel Lezcano
     [not found]     ` <1333570371-1389-3-git-send-email-daniel.lezcano-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2012-04-09 22:37       ` Kevin Hilman
2012-04-09 22:37         ` Kevin Hilman
2012-04-19 13:58         ` Daniel Lezcano
2012-04-19 13:58           ` Daniel Lezcano
2012-04-23 14:06           ` Daniel Lezcano
2012-04-23 14:06             ` Daniel Lezcano
2012-04-23 17:08             ` Kevin Hilman
2012-04-23 17:08               ` Kevin Hilman
2012-04-23 22:11               ` Daniel Lezcano [this message]
2012-04-23 22:11                 ` Daniel Lezcano
2012-04-24  0:27                 ` Kevin Hilman
2012-04-24  0:27                   ` Kevin Hilman
2012-04-04 20:12   ` [PATCH 03/17][V2] ARM: OMAP4: cpuidle - Remove the cpuidle_params_table table Daniel Lezcano
2012-04-04 20:12     ` Daniel Lezcano
2012-04-04 20:12   ` [PATCH 04/17][V2] ARM: OMAP4: cpuidle - fix static omap4_idle_data declaration Daniel Lezcano
2012-04-04 20:12     ` Daniel Lezcano
2012-04-09 22:38     ` Kevin Hilman
2012-04-09 22:38       ` Kevin Hilman
2012-04-04 20:12   ` [PATCH 05/17][V2] ARM: OMAP4: cpuidle - Initialize omap4_idle_data at compile time Daniel Lezcano
2012-04-04 20:12     ` Daniel Lezcano
2012-04-04 20:12   ` [PATCH 06/17][V2] ARM: OMAP4: cpuidle - use the omap4_idle_data variable directly Daniel Lezcano
2012-04-04 20:12     ` Daniel Lezcano
     [not found]     ` <1333570371-1389-7-git-send-email-daniel.lezcano-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2012-04-09 22:56       ` Kevin Hilman
2012-04-09 22:56         ` Kevin Hilman
2012-04-19 14:49         ` Daniel Lezcano
2012-04-19 14:49           ` Daniel Lezcano
2012-04-04 20:12   ` [PATCH 07/17][V2] ARM: OMAP4: cpuidle - remove omap4_idle_data initialization at boot time Daniel Lezcano
2012-04-04 20:12     ` Daniel Lezcano
     [not found]     ` <1333570371-1389-8-git-send-email-daniel.lezcano-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2012-04-09 22:40       ` Kevin Hilman
2012-04-09 22:40         ` Kevin Hilman
2012-04-04 20:12   ` [PATCH 08/17][V2] ARM: OMAP3: cpuidle - remove rx51 cpuidle parameters table Daniel Lezcano
2012-04-04 20:12     ` Daniel Lezcano
2012-04-04 20:12   ` [PATCH 09/17][V2] ARM: OMAP3: define cpuidle statically Daniel Lezcano
2012-04-04 20:12     ` Daniel Lezcano
2012-04-04 20:12   ` [PATCH 10/17][V2] ARM: OMAP3: cpuidle - remove the 'valid' field Daniel Lezcano
2012-04-04 20:12     ` Daniel Lezcano
2012-04-09 23:13     ` Kevin Hilman
2012-04-09 23:13       ` Kevin Hilman
2012-04-19 14:02       ` Daniel Lezcano
2012-04-19 14:02         ` Daniel Lezcano
2012-04-04 20:12   ` [PATCH 11/17][V2] ARM: OMAP3: cpuidle - remove cpuidle_params_table Daniel Lezcano
2012-04-04 20:12     ` Daniel Lezcano
2012-04-09 23:12     ` Kevin Hilman
2012-04-09 23:12       ` Kevin Hilman
2012-04-04 20:12   ` [PATCH 14/17][V2] ARM: OMAP3 : cpuidle - simplify next_valid_state Daniel Lezcano
2012-04-04 20:12     ` Daniel Lezcano
2012-04-04 20:12 ` [PATCH 12/17][V2] ARM: OMAP3: define statically the omap3_idle_data Daniel Lezcano
2012-04-04 20:12   ` Daniel Lezcano
2012-04-04 20:12 ` [PATCH 13/17][V2] ARM: OMAP3: cpuidle - use omap3_idle_data directly Daniel Lezcano
2012-04-04 20:12   ` Daniel Lezcano
2012-04-04 20:12 ` [PATCH 15/17][V2] ARM: OMAP3: set omap3_idle_data as static Daniel Lezcano
2012-04-04 20:12   ` Daniel Lezcano
2012-04-04 20:12 ` [PATCH 16/17][V2] ARM: OMAP3/4: consolidate cpuidle Makefile Daniel Lezcano
2012-04-04 20:12   ` Daniel Lezcano
2012-04-04 20:12 ` [PATCH 17/17][V2] ARM: OMAP3: cpuidle - set global variables static Daniel Lezcano
2012-04-04 20:12   ` Daniel Lezcano
2012-04-09 23:23 ` [PATCH 00/17][V2] ARM: OMAP3/4 : cpuidle34xx and cpuidle44xx cleanups Kevin Hilman
2012-04-09 23:23   ` Kevin Hilman
2012-04-19 14:03   ` Daniel Lezcano
2012-04-19 14:03     ` Daniel Lezcano

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=4F95D3A2.9010201@linaro.org \
    --to=daniel.lezcano@linaro.org \
    --cc=khilman@ti.com \
    --cc=linaro-dev@lists.linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=patches@linaro.org \
    --cc=tony@atomide.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.