All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eugeniy.Paltsev@synopsys.com (Eugeniy Paltsev)
To: linux-snps-arc@lists.infradead.org
Subject: [PATCH 3/3 v6] ARC: hsdk: initial port for HSDK board
Date: Thu, 29 Jun 2017 16:39:45 +0000	[thread overview]
Message-ID: <1498754384.2378.10.camel@synopsys.com> (raw)
In-Reply-To: <20170628225005.5ume54d67vtvp5fi@rob-hp-laptop>

On Wed, 2017-06-28@17:50 -0500, Rob Herring wrote:
> > > > +???????????????????????#clock-cells = <0>;
> > > > +???????????????????????compatible = "fixed-clock";
> > > > +???????????????????????clock-frequency = <1000000000>;
> > > > +???????????????};
> > > > +
> > > > +???????????????core_intc: archs-intc at cpu {
> > > 
> > > cpu is not a valid unit-address. How are these interrupt
> > > controllers addressed?
> > 
> > We have per-core INTC so each core communicates to its own INTC and
> > there's no way
> > for any core to talk with INTC of another core.
> > 
> > But then we have the next level INTC which is IDU (Interrupt
> > Distribution Unit)
> > which dispatches "common" IRQs to different upstream per-core INTC,
> > see below its node.?
> 
> Okay, I'd just do "cpu-interrupt-controller" for the node name then.?
> There doesn't seem to be an easy way to use just "interrupt-
> controller"?
> since you have 2 nodes at the same level and no unit-address (i.e. a?
> reg property).
> 

To be more clarify, what is better way do describe such hardware in
device tree?

-------------????-------------??
| cpu core 0|????| cpu core 1|??
-------------????-------------??
| interrupt |????| interrupt |??
| controller|????| controller|??
|?????0?????|????|?????1?????|??
-------------????-------------??
??????^????????????????^
??????|????????????????|
?????????????-----------
??????|??????|
----------------
|???interrupt??|
| distribution |
|?????unit?????|
----------------
??????^
??????|
??????|<--other devices interrupt lines

We can't just create a node for each core interrupt controller because
we wouldn't able to specify which one is parent for interrupt
distribution unit:

------------>>>-------------
cpus {
????cpu at 0 { intc at 0 };
????cpu at 1 { intc at 1 };
};

interrupt-distribution-unit {
????interrupt-parent = ????
};
------------>>>-------------

Should we simply create one core interrupt controller node for all cpus
(instead of one per each cpu core), or where is a better option?

-- 
?Eugeniy Paltsev

WARNING: multiple messages have this Message-ID (diff)
From: Eugeniy Paltsev <Eugeniy.Paltsev-HKixBCOQz3hWk0Htik3J/w@public.gmane.org>
To: "robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org"
	<robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
Cc: "linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	"Vineet.Gupta1-HKixBCOQz3hWk0Htik3J/w@public.gmane.org"
	<Vineet.Gupta1-HKixBCOQz3hWk0Htik3J/w@public.gmane.org>,
	"Eugeniy.Paltsev-HKixBCOQz3hWk0Htik3J/w@public.gmane.org"
	<Eugeniy.Paltsev-HKixBCOQz3hWk0Htik3J/w@public.gmane.org>,
	"Alexey.Brodkin-HKixBCOQz3hWk0Htik3J/w@public.gmane.org"
	<Alexey.Brodkin-HKixBCOQz3hWk0Htik3J/w@public.gmane.org>,
	"linux-snps-arc-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org"
	<linux-snps-arc-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org>,
	"devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: [PATCH 3/3 v6] ARC: hsdk: initial port for HSDK board
Date: Thu, 29 Jun 2017 16:39:45 +0000	[thread overview]
Message-ID: <1498754384.2378.10.camel@synopsys.com> (raw)
In-Reply-To: <20170628225005.5ume54d67vtvp5fi@rob-hp-laptop>

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="utf-8", Size: 2516 bytes --]

On Wed, 2017-06-28 at 17:50 -0500, Rob Herring wrote:
> > > > +                       #clock-cells = <0>;
> > > > +                       compatible = "fixed-clock";
> > > > +                       clock-frequency = <1000000000>;
> > > > +               };
> > > > +
> > > > +               core_intc: archs-intc@cpu {
> > > 
> > > cpu is not a valid unit-address. How are these interrupt
> > > controllers addressed?
> > 
> > We have per-core INTC so each core communicates to its own INTC and
> > there's no way
> > for any core to talk with INTC of another core.
> > 
> > But then we have the next level INTC which is IDU (Interrupt
> > Distribution Unit)
> > which dispatches "common" IRQs to different upstream per-core INTC,
> > see below its node. 
> 
> Okay, I'd just do "cpu-interrupt-controller" for the node name then. 
> There doesn't seem to be an easy way to use just "interrupt-
> controller" 
> since you have 2 nodes at the same level and no unit-address (i.e. a 
> reg property).
> 

To be more clarify, what is better way do describe such hardware in
device tree?

-------------    -------------  
| cpu core 0|    | cpu core 1|  
-------------    -------------  
| interrupt |    | interrupt |  
| controller|    | controller|  
|     0     |    |     1     |  
-------------    -------------  
      ^                ^
      |                |
             -----------
      |      |
----------------
|   interrupt  |
| distribution |
|     unit     |
----------------
      ^
      |
      |<--other devices interrupt lines

We can't just create a node for each core interrupt controller because
we wouldn't able to specify which one is parent for interrupt
distribution unit:

------------>>>-------------
cpus {
    cpu@0 { intc@0 };
    cpu@1 { intc@1 };
};

interrupt-distribution-unit {
    interrupt-parent = ????
};
------------>>>-------------

Should we simply create one core interrupt controller node for all cpus
(instead of one per each cpu core), or where is a better option?

-- 
 Eugeniy PaltsevN‹§²æìr¸›yúèšØb²X¬¶Ç§vØ^–)Þº{.nÇ+‰·zøœzÚÞz)í…æèw*\x1fjg¬±¨\x1e¶‰šŽŠÝ¢j.ïÛ°\½½MŽúgjÌæa×\x02››–' ™©Þ¢¸\f¢·¦j:+v‰¨ŠwèjØm¶Ÿÿ¾\a«‘êçzZ+ƒùšŽŠÝ¢j"ú!¶i

WARNING: multiple messages have this Message-ID (diff)
From: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
To: "robh@kernel.org" <robh@kernel.org>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"Vineet.Gupta1@synopsys.com" <Vineet.Gupta1@synopsys.com>,
	"Eugeniy.Paltsev@synopsys.com" <Eugeniy.Paltsev@synopsys.com>,
	"Alexey.Brodkin@synopsys.com" <Alexey.Brodkin@synopsys.com>,
	"linux-snps-arc@lists.infradead.org" 
	<linux-snps-arc@lists.infradead.org>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>
Subject: Re: [PATCH 3/3 v6] ARC: hsdk: initial port for HSDK board
Date: Thu, 29 Jun 2017 16:39:45 +0000	[thread overview]
Message-ID: <1498754384.2378.10.camel@synopsys.com> (raw)
In-Reply-To: <20170628225005.5ume54d67vtvp5fi@rob-hp-laptop>

On Wed, 2017-06-28 at 17:50 -0500, Rob Herring wrote:
> > > > +                       #clock-cells = <0>;
> > > > +                       compatible = "fixed-clock";
> > > > +                       clock-frequency = <1000000000>;
> > > > +               };
> > > > +
> > > > +               core_intc: archs-intc@cpu {
> > > 
> > > cpu is not a valid unit-address. How are these interrupt
> > > controllers addressed?
> > 
> > We have per-core INTC so each core communicates to its own INTC and
> > there's no way
> > for any core to talk with INTC of another core.
> > 
> > But then we have the next level INTC which is IDU (Interrupt
> > Distribution Unit)
> > which dispatches "common" IRQs to different upstream per-core INTC,
> > see below its node. 
> 
> Okay, I'd just do "cpu-interrupt-controller" for the node name then. 
> There doesn't seem to be an easy way to use just "interrupt-
> controller" 
> since you have 2 nodes at the same level and no unit-address (i.e. a 
> reg property).
> 

To be more clarify, what is better way do describe such hardware in
device tree?

-------------    -------------  
| cpu core 0|    | cpu core 1|  
-------------    -------------  
| interrupt |    | interrupt |  
| controller|    | controller|  
|     0     |    |     1     |  
-------------    -------------  
      ^                ^
      |                |
             -----------
      |      |
----------------
|   interrupt  |
| distribution |
|     unit     |
----------------
      ^
      |
      |<--other devices interrupt lines

We can't just create a node for each core interrupt controller because
we wouldn't able to specify which one is parent for interrupt
distribution unit:

------------>>>-------------
cpus {
    cpu@0 { intc@0 };
    cpu@1 { intc@1 };
};

interrupt-distribution-unit {
    interrupt-parent = ????
};
------------>>>-------------

Should we simply create one core interrupt controller node for all cpus
(instead of one per each cpu core), or where is a better option?

-- 
 Eugeniy Paltsev

  reply	other threads:[~2017-06-29 16:39 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-26 15:11 [PATCH 0/3 v6] hsdk: initial port for HSDK board Eugeniy Paltsev
2017-06-26 15:11 ` Eugeniy Paltsev
2017-06-26 15:11 ` Eugeniy Paltsev
2017-06-26 15:11 ` [PATCH 1/3 v6] ARC: Set IO-coherency aperture base to LINUX_LINK_BASE Eugeniy Paltsev
2017-06-26 15:11   ` Eugeniy Paltsev
2017-06-26 15:11   ` Eugeniy Paltsev
2017-06-26 15:11 ` [PATCH 2/3 v6] ARC: Decouple linux kernel memory address and link address Eugeniy Paltsev
2017-06-26 15:11   ` Eugeniy Paltsev
2017-06-26 15:11   ` Eugeniy Paltsev
2017-06-26 15:11 ` [PATCH 3/3 v6] ARC: hsdk: initial port for HSDK board Eugeniy Paltsev
2017-06-26 15:11   ` Eugeniy Paltsev
2017-06-26 15:11   ` Eugeniy Paltsev
2017-06-26 15:51   ` Rob Herring
2017-06-26 15:51     ` Rob Herring
2017-06-26 15:51     ` Rob Herring
2017-06-26 16:25     ` Alexey Brodkin
2017-06-26 16:25       ` Alexey Brodkin
2017-06-27  4:25       ` stdout-path (was Re: [PATCH 3/3 v6] ARC: hsdk: initial port for HSDK board) Vineet Gupta
2017-06-27  4:25         ` Vineet Gupta
2017-06-27  4:25         ` Vineet Gupta
2017-06-28 22:50       ` [PATCH 3/3 v6] ARC: hsdk: initial port for HSDK board Rob Herring
2017-06-28 22:50         ` Rob Herring
2017-06-28 22:50         ` Rob Herring
2017-06-29 16:39         ` Eugeniy Paltsev [this message]
2017-06-29 16:39           ` Eugeniy Paltsev
2017-06-29 16:39           ` Eugeniy Paltsev
2017-06-29  7:27   ` Vineet Gupta
2017-06-29  7:27     ` Vineet Gupta
2017-06-29  7:27     ` Vineet Gupta

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=1498754384.2378.10.camel@synopsys.com \
    --to=eugeniy.paltsev@synopsys.com \
    --cc=linux-snps-arc@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.