2014-06-21 02:04:43

by Jason Cooper

[permalink] [raw]
Subject: Re: [PATCH v4] openrisc: irq: use irqchip framework

On Thu, May 29, 2014 at 11:28:08PM +0300, Stefan Kristiansson wrote:
> On Tue, May 27, 2014 at 08:47:36AM +0200, Jonas Bonn wrote:
> > On 05/26/2014 10:52 PM, Geert Uytterhoeven wrote:
> > > CC devicetree for the bindings
> > >
> > > On Mon, May 26, 2014 at 10:31 PM, Stefan Kristiansson
> > > <[email protected]> wrote:
> > >> +++ b/Documentation/devicetree/bindings/interrupt-controller/opencores,or1k-pic.txt
> > >> @@ -0,0 +1,23 @@
> > >> +OpenRISC 1000 Programmable Interrupt Controller
> > >> +
> > >> +Required properties:
> > >> +
> > >> +- compatible : should be "opencores,or1k-pic-level" for variants with
> > >> + level triggered interrupt lines, "opencores,or1k-pic-edge" for variants with
> > >> + edge triggered interrupt lines or "opencores,or1200-pic" for machines
> > >> + with the non-spec compliant or1200 type implementation.
> > >> +
> > >> + "opencores,or1k-pic" is also provided as an alias to "opencores,or1200-pic",
> > >> + but this is only for backwards compatibility.
> >
> > I still think this identifier needs to be versioned. Use the same
> > version number as we have on the cpu identifier since the OR1200 PIC
> > hasn't changed since then; i.e. opencores,or1200-pic-rtlsvnXYZ.
> >
>
> I can change that if you *really* insist on it...
> But I don't understand the purpose of the versioning here,
> there will never be any other or1200-pic version than the one that currently
> exists, so IMO "or1200" should be enough versioning information.

I'm horribly unfamiliar with openrisc, but compatible strings are
compatible strings. ;-)

Is the *actual* IP block called or1200-pic? Or is it, eg or1235-pic, and
you're using or1200-pic as a generic catch-all?

Please use the specific IP name without wildcards. That compatible
string will then be used on that IP and future IP that is compatible
with the original IP. Once an incompatible change is introduced, then
we'll create a new compatible string, say or1300-pic, or or1237-pic.

When in doubt, be specific. I don't think the '-rtlsvnXYZ' should be
necessary, though.

thx,

Jason.


2014-06-21 07:14:05

by Stefan Kristiansson

[permalink] [raw]
Subject: Re: [PATCH v4] openrisc: irq: use irqchip framework

On Fri, Jun 20, 2014 at 10:04:30PM -0400, Jason Cooper wrote:
> On Thu, May 29, 2014 at 11:28:08PM +0300, Stefan Kristiansson wrote:
> > But I don't understand the purpose of the versioning here,
> > there will never be any other or1200-pic version than the one that currently
> > exists, so IMO "or1200" should be enough versioning information.
>
> I'm horribly unfamiliar with openrisc, but compatible strings are
> compatible strings. ;-)
>
> Is the *actual* IP block called or1200-pic? Or is it, eg or1235-pic, and
> you're using or1200-pic as a generic catch-all?
>

No, the or1200-pic is a part of the or1200 cpu that is one
(there are several others) implementation of the OpenRISC 1000 architecture.
The quirk here is that the OpenRISC 1000 architecture specification specifies
how a PIC should be implemented, but or1200 doesn't follow that to 100%.
Thus, it need a bit of special care.

The implementations that follow the specification can use the
or1k-pic-level and or1k-pic-edge variants.

> Please use the specific IP name without wildcards. That compatible
> string will then be used on that IP and future IP that is compatible
> with the original IP. Once an incompatible change is introduced, then
> we'll create a new compatible string, say or1300-pic, or or1237-pic.
>

The point I tried to make above was that if a change would be
made to the pic implementation in or1200, it should be a change to conform
to the specification.

> When in doubt, be specific. I don't think the '-rtlsvnXYZ' should be
> necessary, though.
>

I agree, and I think 'or1200-pic' is specific enough in this case.

Stefan