All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mark Rutland <mark.rutland@arm.com>
To: Kukjin Kim <kgene.kim@samsung.com>
Cc: "linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	"linux-samsung-soc@vger.kernel.org"
	<linux-samsung-soc@vger.kernel.org>,
	'Thomas Abraham' <thomas.ab@samsung.com>,
	"devicetree-discuss@lists.ozlabs.org"
	<devicetree-discuss@lists.ozlabs.org>,
	Grant Likely <grant.likely@secretlab.ca>,
	"rob.herring@calxeda.com" <rob.herring@calxeda.com>,
	'Tony Lindgren' <tony@atomide.com>
Subject: Re: [PATCH] ARM: dts: specify all the per-cpu interrupts of arch timer for exynos5440
Date: Wed, 23 Jan 2013 10:36:14 +0000	[thread overview]
Message-ID: <20130123103614.GD32237@e106331-lin.cambridge.arm.com> (raw)
In-Reply-To: <063f01cdf8ec$926cda30$b7468e90$@samsung.com>

On Tue, Jan 22, 2013 at 10:05:18PM +0000, Kukjin Kim wrote:
> Mark Rutland wrote:
> >
> + devicetree-discuss, Grant Likely, Rob Herring and Tony Lindgren
>  
> > On Tue, Jan 22, 2013 at 01:41:27AM +0000, Kukjin Kim wrote:
> > > From: Thomas Abraham <thomas.ab@samsung.com>
> > >
> > > Need to be changed requirements in the 'cpus' node for exynos5440
> > > to specify all the per-cpu interrupts of arch timer.
> > 
> > The node(s) for the arch timer should not be in the cpus/cpu@N nodes.
> > Instead, there should be one node (in the root of the tree).
> > 
> Well, I don't think so. As per my understanding, the local timers are
> attached to every ARM cores (cpus) and it generates certain interrupt to the
> GIC. So the correct representation for this in device tree is to include the
> interrupts in the cpu nodes in dts file. Your comments  refer to a
> limitation in the Linux kernel implementation of the arch_timer and it
> should not result in representing the hardware details incorrectly in the
> dts file.

I disagree. The "correct representation" is whatever the devicetree binding
documentation describes. It does not describe placing timer nodes in the cpu
nodes.

> 
> > If this works currently it's only because the driver picks up one of the
> nodes,
> > and luckily it's the same as the others. This is not guaranteed to work in
> > future, and will likely break.
> > 
> It is up to the Linux kernel implementation of arch_timer to handle the
> hardware details in dts file accordingly.

The binding specification does not specify that there should be multiple timer
nodes, nor does it specify that they should be under cpu nodes. The timers,
being a banked resource, can be described with one node.

It is not up to the Linux kernel to handle undocumented variations of bindings.

> 
> > >
> > > Signed-off-by: Thomas Abraham <thomas.ab@samsung.com>
> > > Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
> > > ---
> > >  arch/arm/boot/dts/exynos5440.dtsi |   20 ++++++++++++++++----
> > >  1 file changed, 16 insertions(+), 4 deletions(-)
> > >
> > > diff --git a/arch/arm/boot/dts/exynos5440.dtsi
> > b/arch/arm/boot/dts/exynos5440.dtsi
> > > index 5406689..c5bd8ed 100644
> > > --- a/arch/arm/boot/dts/exynos5440.dtsi
> > > +++ b/arch/arm/boot/dts/exynos5440.dtsi
> > > @@ -28,7 +28,10 @@
> > >  			compatible = "arm,cortex-a15";
> > >  			timer {
> > >  				compatible = "arm,armv7-timer";
> > > -				interrupts = <1 13 0xf08>;
> > > +				interrupts = <1 13 0xf08>,
> > > +					     <1 14 0xf08>,
> > > +					     <1 11 0xf08>,
> > > +					     <1 10 0xf08>;
> > 
> > Also, this interrupts list is updated differently to all the other nodes.
> Typo?
> > 
> Hmm, I think this should be fine. If any concerns, please let me know in
> detail.

Sorry, I misread the diff. Your patch in fact corrects them to be consistent
where they weren't previously.

> 
> [...]
> 
> Thanks.
> 
> - Kukjin
> 
> 

Thanks,
Mark.

WARNING: multiple messages have this Message-ID
From: mark.rutland@arm.com (Mark Rutland)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] ARM: dts: specify all the per-cpu interrupts of arch timer for exynos5440
Date: Wed, 23 Jan 2013 10:36:14 +0000	[thread overview]
Message-ID: <20130123103614.GD32237@e106331-lin.cambridge.arm.com> (raw)
In-Reply-To: <063f01cdf8ec$926cda30$b7468e90$@samsung.com>

On Tue, Jan 22, 2013 at 10:05:18PM +0000, Kukjin Kim wrote:
> Mark Rutland wrote:
> >
> + devicetree-discuss, Grant Likely, Rob Herring and Tony Lindgren
>  
> > On Tue, Jan 22, 2013 at 01:41:27AM +0000, Kukjin Kim wrote:
> > > From: Thomas Abraham <thomas.ab@samsung.com>
> > >
> > > Need to be changed requirements in the 'cpus' node for exynos5440
> > > to specify all the per-cpu interrupts of arch timer.
> > 
> > The node(s) for the arch timer should not be in the cpus/cpu at N nodes.
> > Instead, there should be one node (in the root of the tree).
> > 
> Well, I don't think so. As per my understanding, the local timers are
> attached to every ARM cores (cpus) and it generates certain interrupt to the
> GIC. So the correct representation for this in device tree is to include the
> interrupts in the cpu nodes in dts file. Your comments  refer to a
> limitation in the Linux kernel implementation of the arch_timer and it
> should not result in representing the hardware details incorrectly in the
> dts file.

I disagree. The "correct representation" is whatever the devicetree binding
documentation describes. It does not describe placing timer nodes in the cpu
nodes.

> 
> > If this works currently it's only because the driver picks up one of the
> nodes,
> > and luckily it's the same as the others. This is not guaranteed to work in
> > future, and will likely break.
> > 
> It is up to the Linux kernel implementation of arch_timer to handle the
> hardware details in dts file accordingly.

The binding specification does not specify that there should be multiple timer
nodes, nor does it specify that they should be under cpu nodes. The timers,
being a banked resource, can be described with one node.

It is not up to the Linux kernel to handle undocumented variations of bindings.

> 
> > >
> > > Signed-off-by: Thomas Abraham <thomas.ab@samsung.com>
> > > Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
> > > ---
> > >  arch/arm/boot/dts/exynos5440.dtsi |   20 ++++++++++++++++----
> > >  1 file changed, 16 insertions(+), 4 deletions(-)
> > >
> > > diff --git a/arch/arm/boot/dts/exynos5440.dtsi
> > b/arch/arm/boot/dts/exynos5440.dtsi
> > > index 5406689..c5bd8ed 100644
> > > --- a/arch/arm/boot/dts/exynos5440.dtsi
> > > +++ b/arch/arm/boot/dts/exynos5440.dtsi
> > > @@ -28,7 +28,10 @@
> > >  			compatible = "arm,cortex-a15";
> > >  			timer {
> > >  				compatible = "arm,armv7-timer";
> > > -				interrupts = <1 13 0xf08>;
> > > +				interrupts = <1 13 0xf08>,
> > > +					     <1 14 0xf08>,
> > > +					     <1 11 0xf08>,
> > > +					     <1 10 0xf08>;
> > 
> > Also, this interrupts list is updated differently to all the other nodes.
> Typo?
> > 
> Hmm, I think this should be fine. If any concerns, please let me know in
> detail.

Sorry, I misread the diff. Your patch in fact corrects them to be consistent
where they weren't previously.

> 
> [...]
> 
> Thanks.
> 
> - Kukjin
> 
> 

Thanks,
Mark.

  reply	other threads:[~2013-01-23 10:36 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-01-22  1:41 [PATCH] ARM: dts: specify all the per-cpu interrupts of arch timer for exynos5440 Kukjin Kim
2013-01-22  1:41 ` Kukjin Kim
2013-01-22 10:15 ` Mark Rutland
2013-01-22 10:15   ` Mark Rutland
2013-01-22 22:05   ` Kukjin Kim
2013-01-22 22:05     ` Kukjin Kim
2013-01-23 10:36     ` Mark Rutland [this message]
2013-01-23 10:36       ` Mark Rutland
2013-01-23 10:55       ` Santosh Shilimkar
2013-01-23 10:55         ` Santosh Shilimkar
     [not found]         ` <50FFC1B0.8000601-l0cyMroinI0@public.gmane.org>
2013-01-24 12:42           ` Benoit Cousson
2013-01-24 12:42             ` Benoit Cousson
     [not found]             ` <51012C4B.5080300-l0cyMroinI0@public.gmane.org>
2013-01-24 12:53               ` Santosh Shilimkar
2013-01-24 12:53                 ` Santosh Shilimkar
2013-01-24 13:16             ` Marc Zyngier
2013-01-24 13:16               ` Marc Zyngier
2013-01-30  7:20               ` Santosh Shilimkar
2013-01-30  7:20                 ` Santosh Shilimkar
2013-02-04 22:25                 ` kgene
2013-02-04 22:25                   ` kgene at kernel.org
2013-01-23 13:55       ` Rob Herring
2013-01-23 13:55         ` Rob Herring

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=20130123103614.GD32237@e106331-lin.cambridge.arm.com \
    --to=mark.rutland@arm.com \
    --cc=devicetree-discuss@lists.ozlabs.org \
    --cc=grant.likely@secretlab.ca \
    --cc=kgene.kim@samsung.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-samsung-soc@vger.kernel.org \
    --cc=rob.herring@calxeda.com \
    --cc=thomas.ab@samsung.com \
    --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.