From: "Sören Brinkmann" <soren.brinkmann@xilinx.com>
To: Stephen Boyd <sboyd@codeaurora.org>
Cc: Daniel Lezcano <daniel.lezcano@linaro.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 09:32:49 -0700 [thread overview]
Message-ID: <d36fc2db-1189-4c6a-9bc4-0ac2e29eaa1b@AM1EHSMHS009.ehs.local> (raw)
In-Reply-To: <52090B43.9090000@codeaurora.org>
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. 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
Tick Device: mode: 1
Per CPU device: 0
Clock Event Device: arm_global_timer
max_delta_ns: 12884902005
min_delta_ns: 1000
mult: 715827876
shift: 31
mode: 3
next_event: 24216749370 nsecs
set_next_event: gt_clockevent_set_next_event
set_mode: gt_clockevent_set_mode
event_handler: hrtimer_interrupt
retries: 0
Tick Device: mode: 1
Per CPU device: 1
Clock Event Device: arm_global_timer
max_delta_ns: 12884902005
min_delta_ns: 1000
mult: 715827876
shift: 31
mode: 3
next_event: 24220000000 nsecs
set_next_event: gt_clockevent_set_next_event
set_mode: gt_clockevent_set_mode
event_handler: hrtimer_interrupt
retries: 0
# cat /proc/interrupts
CPU0 CPU1
27: 1668 1640 GIC 27 gt
29: 0 0 GIC 29 twd
43: 0 0 GIC 43 ttc_clockevent
82: 536 0 GIC 82 xuartps
IPI0: 0 0 CPU wakeup interrupts
IPI1: 0 0 Timer broadcast interrupts
IPI2: 1264 1322 Rescheduling interrupts
IPI3: 0 0 Function call interrupts
IPI4: 24 70 Single function call interrupts
IPI5: 0 0 CPU stop interrupts
Err: 0
Thanks,
Sören
WARNING: multiple messages have this Message-ID (diff)
From: soren.brinkmann@xilinx.com (Sören Brinkmann)
To: linux-arm-kernel@lists.infradead.org
Subject: Enable arm_global_timer for Zynq brakes boot
Date: Mon, 12 Aug 2013 09:32:49 -0700 [thread overview]
Message-ID: <d36fc2db-1189-4c6a-9bc4-0ac2e29eaa1b@AM1EHSMHS009.ehs.local> (raw)
In-Reply-To: <52090B43.9090000@codeaurora.org>
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. 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
Tick Device: mode: 1
Per CPU device: 0
Clock Event Device: arm_global_timer
max_delta_ns: 12884902005
min_delta_ns: 1000
mult: 715827876
shift: 31
mode: 3
next_event: 24216749370 nsecs
set_next_event: gt_clockevent_set_next_event
set_mode: gt_clockevent_set_mode
event_handler: hrtimer_interrupt
retries: 0
Tick Device: mode: 1
Per CPU device: 1
Clock Event Device: arm_global_timer
max_delta_ns: 12884902005
min_delta_ns: 1000
mult: 715827876
shift: 31
mode: 3
next_event: 24220000000 nsecs
set_next_event: gt_clockevent_set_next_event
set_mode: gt_clockevent_set_mode
event_handler: hrtimer_interrupt
retries: 0
# cat /proc/interrupts
CPU0 CPU1
27: 1668 1640 GIC 27 gt
29: 0 0 GIC 29 twd
43: 0 0 GIC 43 ttc_clockevent
82: 536 0 GIC 82 xuartps
IPI0: 0 0 CPU wakeup interrupts
IPI1: 0 0 Timer broadcast interrupts
IPI2: 1264 1322 Rescheduling interrupts
IPI3: 0 0 Function call interrupts
IPI4: 24 70 Single function call interrupts
IPI5: 0 0 CPU stop interrupts
Err: 0
Thanks,
S?ren
next prev parent reply other threads:[~2013-08-12 16:48 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 [this message]
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
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=d36fc2db-1189-4c6a-9bc4-0ac2e29eaa1b@AM1EHSMHS009.ehs.local \
--to=soren.brinkmann@xilinx.com \
--cc=daniel.lezcano@linaro.org \
--cc=john.stultz@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=michal.simek@xilinx.com \
--cc=sboyd@codeaurora.org \
--cc=srinivas.kandagatla@st.com \
--cc=stuart.menefy@st.com \
--cc=tglx@linutronix.de \
/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.