From: daniel.lezcano@linaro.org (Daniel Lezcano)
To: linux-arm-kernel@lists.infradead.org
Subject: Enable arm_global_timer for Zynq brakes boot
Date: Mon, 12 Aug 2013 19:02:39 +0200 [thread overview]
Message-ID: <5209152F.5020307@linaro.org> (raw)
In-Reply-To: <9b07d8a3-b650-4147-b952-9bcfc1172c51@VA3EHSMHS025.ehs.local>
On 08/12/2013 06:53 PM, S?ren Brinkmann wrote:
> On Mon, Aug 12, 2013 at 06:49:17PM +0200, Daniel Lezcano wrote:
>> On 08/12/2013 06:32 PM, S?ren Brinkmann wrote:
>>> On Mon, Aug 12, 2013 at 09:20:19AM -0700, Stephen Boyd wrote:
>>>> On 08/12/13 09:03, S?ren Brinkmann wrote:
>>>>> On Fri, Aug 09, 2013 at 10:27:57AM -0700, Stephen Boyd wrote:
>>>>>> On 08/09, Daniel Lezcano wrote:
>>>>>>> yes, but at least the broadcast mechanism should send an IPI to cpu0 to
>>>>>>> wake it up, no ? As Stephen stated this kind of configuration should has
>>>>>>> never been tested before so the tick broadcast code is not handling this
>>>>>>> case properly IMHO.
>>>>>>>
>>>>>> If you have a per-cpu tick device that isn't suffering from
>>>>>> FEAT_C3_STOP why wouldn't you use that for the tick versus a
>>>>>> per-cpu tick device that has FEAT_C3_STOP? It sounds like there
>>>>>> is a bug in the preference logic or you should boost the rating
>>>>>> of the arm global timer above the twd. Does this patch help? It
>>>>>> should make the arm global timer the tick device and whatever the
>>>>>> cadence timer you have into the broadcast device.
>>>>> I finally got to test your patch. Unfortunately, it makes the system
>>>>> hang even earlier:
>>>>
>>>> Sorry it had a bug depending on the registration order. Can you try this
>>>> one (tabs are probably spaces, sorry)? I will go read through this
>>>> thread to see if we already covered the registration order.
>>>
>>> That did it! Booted straight into the system.
>>
>> Good news :)
>>
>>> The broadcast device is
>>> the TTC instead of GT, now.
>>>
>>> Tick Device: mode: 1
>>> Broadcast device
>>> Clock Event Device: ttc_clockevent
>>> max_delta_ns: 1207932479
>>> min_delta_ns: 18432
>>> mult: 233015
>>> shift: 32
>>> mode: 1
>>> next_event: 9223372036854775807 nsecs
>>> set_next_event: ttc_set_next_event
>>> set_mode: ttc_set_mode
>>> event_handler: tick_handle_oneshot_broadcast
>>> retries: 0
>>>
>>> tick_broadcast_mask: 00000000
>>> tick_broadcast_oneshot_mask: 00000000
>>
>> At the first glance, the timer broadcast usage is not set, right ? Can
>> you try with the cpuidle flag even if it is not needed ?
>
> It's actually present. I have a clean 3.11-rc3 and the only changes are
> my patch to enable the GT and Stephen's fix.
> The cpuidle stats show both idle states being used.
Ah, right. The tick_broadcast_mask is not set because the arm global
timer has not the CLOCK_EVT_FEAT_C3STOP feature flag set.
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
WARNING: multiple messages have this Message-ID (diff)
From: Daniel Lezcano <daniel.lezcano@linaro.org>
To: "Sören Brinkmann" <soren.brinkmann@xilinx.com>
Cc: Stephen Boyd <sboyd@codeaurora.org>,
srinivas.kandagatla@st.com, Russell King <linux@arm.linux.org.uk>,
Michal Simek <michal.simek@xilinx.com>,
linux-kernel@vger.kernel.org,
Stuart Menefy <stuart.menefy@st.com>,
John Stultz <john.stultz@linaro.org>,
Thomas Gleixner <tglx@linutronix.de>,
linux-arm-kernel@lists.infradead.org
Subject: Re: Enable arm_global_timer for Zynq brakes boot
Date: Mon, 12 Aug 2013 19:02:39 +0200 [thread overview]
Message-ID: <5209152F.5020307@linaro.org> (raw)
In-Reply-To: <9b07d8a3-b650-4147-b952-9bcfc1172c51@VA3EHSMHS025.ehs.local>
On 08/12/2013 06:53 PM, Sören Brinkmann wrote:
> On Mon, Aug 12, 2013 at 06:49:17PM +0200, Daniel Lezcano wrote:
>> On 08/12/2013 06:32 PM, Sören Brinkmann wrote:
>>> On Mon, Aug 12, 2013 at 09:20:19AM -0700, Stephen Boyd wrote:
>>>> On 08/12/13 09:03, Sören Brinkmann wrote:
>>>>> On Fri, Aug 09, 2013 at 10:27:57AM -0700, Stephen Boyd wrote:
>>>>>> On 08/09, Daniel Lezcano wrote:
>>>>>>> yes, but at least the broadcast mechanism should send an IPI to cpu0 to
>>>>>>> wake it up, no ? As Stephen stated this kind of configuration should has
>>>>>>> never been tested before so the tick broadcast code is not handling this
>>>>>>> case properly IMHO.
>>>>>>>
>>>>>> If you have a per-cpu tick device that isn't suffering from
>>>>>> FEAT_C3_STOP why wouldn't you use that for the tick versus a
>>>>>> per-cpu tick device that has FEAT_C3_STOP? It sounds like there
>>>>>> is a bug in the preference logic or you should boost the rating
>>>>>> of the arm global timer above the twd. Does this patch help? It
>>>>>> should make the arm global timer the tick device and whatever the
>>>>>> cadence timer you have into the broadcast device.
>>>>> I finally got to test your patch. Unfortunately, it makes the system
>>>>> hang even earlier:
>>>>
>>>> Sorry it had a bug depending on the registration order. Can you try this
>>>> one (tabs are probably spaces, sorry)? I will go read through this
>>>> thread to see if we already covered the registration order.
>>>
>>> That did it! Booted straight into the system.
>>
>> Good news :)
>>
>>> The broadcast device is
>>> the TTC instead of GT, now.
>>>
>>> Tick Device: mode: 1
>>> Broadcast device
>>> Clock Event Device: ttc_clockevent
>>> max_delta_ns: 1207932479
>>> min_delta_ns: 18432
>>> mult: 233015
>>> shift: 32
>>> mode: 1
>>> next_event: 9223372036854775807 nsecs
>>> set_next_event: ttc_set_next_event
>>> set_mode: ttc_set_mode
>>> event_handler: tick_handle_oneshot_broadcast
>>> retries: 0
>>>
>>> tick_broadcast_mask: 00000000
>>> tick_broadcast_oneshot_mask: 00000000
>>
>> At the first glance, the timer broadcast usage is not set, right ? Can
>> you try with the cpuidle flag even if it is not needed ?
>
> It's actually present. I have a clean 3.11-rc3 and the only changes are
> my patch to enable the GT and Stephen's fix.
> The cpuidle stats show both idle states being used.
Ah, right. The tick_broadcast_mask is not set because the arm global
timer has not the CLOCK_EVT_FEAT_C3STOP feature flag set.
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-08-12 17:02 UTC|newest]
Thread overview: 142+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20130717210417.GP13667@xsjandreislx>
[not found] ` <51E72DCA.9070500@codeaurora.org>
[not found] ` <f5b76049-7e5b-4dd0-9863-19cfd1d599b9@TX2EHSMHS006.ehs.local>
[not found] ` <51E7435B.3060605@codeaurora.org>
[not found] ` <ff4d40be-7177-4a55-ab2f-dff11fa18642@DB9EHSMHS009.ehs.local>
[not found] ` <51ED8DF2.60600@codeaurora.org>
[not found] ` <20130722201348.GI453@xsjandreislx>
2013-07-22 22:41 ` Enable arm_global_timer for Zynq brakes boot Sören Brinkmann
2013-07-22 22:41 ` Sören Brinkmann
2013-07-29 12:51 ` Daniel Lezcano
2013-07-29 12:51 ` Daniel Lezcano
2013-07-29 15:58 ` Sören Brinkmann
2013-07-29 15:58 ` Sören Brinkmann
2013-07-30 0:03 ` Sören Brinkmann
2013-07-30 0:03 ` Sören Brinkmann
2013-07-30 8:47 ` Daniel Lezcano
2013-07-30 8:47 ` Daniel Lezcano
2013-07-30 22:14 ` Sören Brinkmann
2013-07-30 22:14 ` Sören Brinkmann
2013-07-30 22:23 ` Sören Brinkmann
2013-07-30 22:23 ` Sören Brinkmann
2013-07-30 22:34 ` Sören Brinkmann
2013-07-30 22:34 ` Sören Brinkmann
2013-07-31 7:27 ` Daniel Lezcano
2013-07-31 7:27 ` Daniel Lezcano
2013-07-31 16:26 ` Sören Brinkmann
2013-07-31 16:26 ` Sören Brinkmann
2013-07-31 9:34 ` Daniel Lezcano
2013-07-31 9:34 ` Daniel Lezcano
2013-07-31 16:43 ` Sören Brinkmann
2013-07-31 16:43 ` Sören Brinkmann
2013-07-31 20:49 ` Daniel Lezcano
2013-07-31 20:49 ` Daniel Lezcano
2013-07-31 20:58 ` Sören Brinkmann
2013-07-31 20:58 ` Sören Brinkmann
2013-07-31 21:08 ` Daniel Lezcano
2013-07-31 21:08 ` Daniel Lezcano
2013-07-31 22:18 ` Sören Brinkmann
2013-07-31 22:18 ` Sören Brinkmann
2013-07-31 23:01 ` Daniel Lezcano
2013-07-31 23:01 ` Daniel Lezcano
2013-07-31 23:38 ` Sören Brinkmann
2013-07-31 23:38 ` Sören Brinkmann
2013-08-01 17:29 ` Daniel Lezcano
2013-08-01 17:29 ` Daniel Lezcano
2013-08-01 17:43 ` Sören Brinkmann
2013-08-01 17:43 ` Sören Brinkmann
2013-08-01 17:48 ` Daniel Lezcano
2013-08-01 17:48 ` Daniel Lezcano
2013-08-06 1:28 ` Sören Brinkmann
2013-08-06 1:28 ` Sören Brinkmann
2013-08-06 8:46 ` Daniel Lezcano
2013-08-06 8:46 ` Daniel Lezcano
2013-08-06 9:18 ` Michal Simek
2013-08-06 9:18 ` Michal Simek
2013-08-06 12:30 ` Daniel Lezcano
2013-08-06 12:30 ` Daniel Lezcano
2013-08-06 12:41 ` Michal Simek
2013-08-06 12:41 ` Michal Simek
2013-08-06 13:08 ` Daniel Lezcano
2013-08-06 13:08 ` Daniel Lezcano
2013-08-06 13:18 ` Michal Simek
2013-08-06 13:18 ` Michal Simek
2013-08-06 16:09 ` Daniel Lezcano
2013-08-06 16:09 ` Daniel Lezcano
2013-08-06 16:13 ` Sören Brinkmann
2013-08-06 16:13 ` Sören Brinkmann
2013-08-06 16:25 ` Sören Brinkmann
2013-08-06 16:25 ` Sören Brinkmann
2013-08-06 16:18 ` Sören Brinkmann
2013-08-06 16:18 ` Sören Brinkmann
2013-08-08 17:11 ` Sören Brinkmann
2013-08-08 17:11 ` Sören Brinkmann
2013-08-08 17:16 ` Mark Rutland
2013-08-08 17:16 ` Mark Rutland
2013-08-08 17:22 ` Stephen Boyd
2013-08-08 17:22 ` Stephen Boyd
2013-08-09 10:58 ` Mark Rutland
2013-08-09 10:58 ` Mark Rutland
2013-08-08 17:22 ` Sören Brinkmann
2013-08-08 17:22 ` Sören Brinkmann
2013-08-09 10:32 ` Srinivas KANDAGATLA
2013-08-09 10:32 ` Srinivas KANDAGATLA
2013-08-09 14:19 ` Daniel Lezcano
2013-08-09 14:19 ` Daniel Lezcano
2013-08-09 17:27 ` Stephen Boyd
2013-08-09 17:27 ` Stephen Boyd
2013-08-09 17:48 ` Sören Brinkmann
2013-08-09 17:48 ` Sören Brinkmann
2013-08-09 18:45 ` Stephen Boyd
2013-08-09 18:45 ` Stephen Boyd
2013-08-12 10:53 ` Daniel Lezcano
2013-08-12 10:53 ` Daniel Lezcano
2013-08-12 16:23 ` Stephen Boyd
2013-08-12 16:23 ` Stephen Boyd
2013-08-12 16:53 ` Daniel Lezcano
2013-08-12 16:53 ` Daniel Lezcano
2013-08-12 16:03 ` Sören Brinkmann
2013-08-12 16:03 ` Sören Brinkmann
2013-08-12 16:08 ` Daniel Lezcano
2013-08-12 16:08 ` Daniel Lezcano
2013-08-12 16:17 ` Sören Brinkmann
2013-08-12 16:17 ` Sören Brinkmann
2013-08-12 16:20 ` Stephen Boyd
2013-08-12 16:20 ` Stephen Boyd
2013-08-12 16:24 ` Sören Brinkmann
2013-08-12 16:24 ` Sören Brinkmann
2013-08-12 16:40 ` Stephen Boyd
2013-08-12 16:40 ` Stephen Boyd
2013-08-12 16:43 ` Sören Brinkmann
2013-08-12 16:43 ` Sören Brinkmann
2013-08-12 16:32 ` Sören Brinkmann
2013-08-12 16:32 ` Sören Brinkmann
2013-08-12 16:49 ` Daniel Lezcano
2013-08-12 16:49 ` Daniel Lezcano
2013-08-12 16:53 ` Sören Brinkmann
2013-08-12 16:53 ` Sören Brinkmann
2013-08-12 17:02 ` Daniel Lezcano [this message]
2013-08-12 17:02 ` Daniel Lezcano
2013-08-16 17:28 ` Sören Brinkmann
2013-08-16 17:28 ` Sören Brinkmann
2013-08-19 23:00 ` Stephen Boyd
2013-08-19 23:00 ` Stephen Boyd
2013-08-19 23:30 ` Sören Brinkmann
2013-08-19 23:30 ` Sören Brinkmann
2013-08-20 0:57 ` Stephen Boyd
2013-08-20 0:57 ` Stephen Boyd
2013-08-20 15:13 ` Daniel Lezcano
2013-08-20 15:13 ` Daniel Lezcano
2013-08-22 17:06 ` [PATCH 1/2] tick: broadcast: Deny per-cpu clockevents from being broadcast sources Stephen Boyd
2013-08-22 17:06 ` Stephen Boyd
2013-08-22 17:06 ` [PATCH 2/2] clockevents: Prefer clockevents that don't suffer from FEAT_C3_STOP Stephen Boyd
2013-08-22 17:06 ` Stephen Boyd
2013-08-22 17:33 ` Santosh Shilimkar
2013-08-22 17:33 ` Santosh Shilimkar
2013-08-22 17:40 ` Stephen Boyd
2013-08-22 17:40 ` Stephen Boyd
2013-08-22 17:48 ` Santosh Shilimkar
2013-08-22 17:48 ` Santosh Shilimkar
2013-08-22 18:31 ` Stephen Boyd
2013-08-22 18:31 ` Stephen Boyd
2013-08-22 21:06 ` Santosh Shilimkar
2013-08-22 21:06 ` Santosh Shilimkar
2013-08-22 23:38 ` [PATCH 1/2] tick: broadcast: Deny per-cpu clockevents from being broadcast sources Sören Brinkmann
2013-08-22 23:38 ` Sören Brinkmann
2013-09-05 16:53 ` Sören Brinkmann
2013-09-05 16:53 ` Sören Brinkmann
2013-08-09 16:03 ` Enable arm_global_timer for Zynq brakes boot Sören Brinkmann
2013-08-09 16:03 ` Sören Brinkmann
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=5209152F.5020307@linaro.org \
--to=daniel.lezcano@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
/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.