Thread (44 messages) 44 messages, 6 authors, 2007-02-28

Re: [PATCH] powerpc: document new interrupt-array property

From: Segher Boessenkool <hidden>
Date: 2007-02-23 00:07:32

quoted
Option #3 -- define new, logical interrupt nexus to do
the mapping.
There's no point to option 3 as given.  If we're going to use an
interrupt nexus, and rely on the fact that the physical versus
interrupt tree addressing mismatch doesn't matter in this case, then
we might as well put the interrupt nexus into the node itself,
i.e. option 1.
That can give problems if there are interrupts in one
of the descendants of the node.  It's also just nasty,
don't you agree?
The only point to 3 would be if we make the MAL a
child of its interrupt nexus, thereby ensuring that the address forms
match.
No, you cannot do that.  There is no extra device
there in reality so it shouldn't be in the device tree
either.  Also, it just doesn't work.
Something like:

malint-nexus {
	#interrupt-cells = <1>;
	ranges;
	interrupt-map = <0 0 0 &UIC0 a 4
		.... >;
	interrupt-map-mask = <ffffffff 0 0>;
If you have a "ranges" property you need a
"#address-cells" and a "#size-cells" property
too -- it just doesn't make any sense otherwise.

You don't want this nexus node to be anywhere inside
the "normal" device tree -- it doesn't sit there in
hardware, it shouldn't sit there in the device tree,
that will only cause problems.
Note the empty ranges property (passthrough).
There is nothing to pass anything through though,
this node shouldn't be here.
That's kind of
irrelevant here, since MAL is DCR controlled,
Yeah, so MAL should have the DCR reg in its "reg"
property.  It needs *something* there -- what if
you had two MALs?
but would matter if we
had a similar situation with a device that had MMIO registers (and
therefore a "reg" property).
Sorry, I'm going to shout: "reg" HAS NOTHING TO DO
WITH MMIO.
For MAL, since it has no "reg", we set
the interrupt-map-mask to ignore the unit address.
So you're saying your "#address-cells" is not 0, but
you have no "reg" property?  Congratulations, you
built yourself a wildcard package.


Segher
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help