[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[RFC PATCH 0/1] Add interrupts property to interrupt aggregators/routers



The interrupt aggregator in TI K3 devices currently uses a
custom vendor property "ti,interrupt-ranges" [1] to specify the interrupt
source to parent mapping. As per interrupt controller bindings [2],
it is mandatory for Nodes that describe devices which generate
interrupts to contain an "interrupts" property, an "interrupts-extended"
property, or both.

Without this, standard DT parsing code cannot identify the mapping, 
for example while booting these platforms with Xen hypervisor, we see
that the interrupts are not injected to the guest Linux since the mapping
is missing, and Xen expects standard properties to specify the mapping[3],
while adding the interrupts fixes the issue, for some platforms the list of
interrupts can be so large with more than 192 entries[4], moreover in some
systems (like TI K3 platforms), system designers can change the mappings
according to system needs and a long list of repeating entries is error prone
and difficult to maintain.

Are there any existing solution to solve this problem of maintaining long list
of identical interrupt properties (mostly continuous) other than adding 
individual
entries one by one?

It looks like such general solutions will help multiple platforms, TI platforms
use ti,interrupt-ranges[1], Socionext platforms make use of 
socionext,interrupt-ranges[5]
and multiple other platforms which maintain long list of interrupts in DT[6] 
can benefit
from such general implementation. If there are no existing solution is it okay 
to add new
support for a general property, my proposal is for sometihing similar to 
interrupt-template
and interrupt-ranges as described in [7].

1- 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm64/boot/dts/ti/k3-am62a-main.dtsi#n111
2- 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
3- 
https://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=xen/common/device-tree/device-tree.c#l1135
4- 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm64/boot/dts/ti/k3-j784s4-main.dtsi#n1346
5- 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm64/boot/dts/socionext/uniphier-ld11.dtsi#n228
6- 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm64/boot/dts/nvidia/tegra234.dtsi#n126
7- 
https://android.googlesource.com/kernel/common/+/android-trusty-4.4/Documentation/devicetree/bindings/trusty/trusty-irq.txt#10

Thanks and Regards,
Vaishnav

Vaishnav Achath (1):
  arm64: dts: ti: k3-am62p-main: Add interrupts property for DMSS INTA

 arch/arm64/boot/dts/ti/k3-am62p-main.dtsi | 35 +++++++++++++++++++++++
 1 file changed, 35 insertions(+)

-- 
2.34.1




 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.