lkml.org 
[lkml]   [2021]   [Sep]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: [PATCH v3 02/10] of/irq: Allow matching of an interrupt-map local to an interrupt controller
On Mon, Sep 13, 2021 at 1:26 PM Marc Zyngier <maz@kernel.org> wrote:
>
> of_irq_parse_raw() has a baked assumption that if a node has an
> interrupt-controller property, it cannot possibly also have an
> interrupt-map property (the latter being ignored).
>
> This seems to be an odd behaviour, and there are no reason why

s/are/is/

> we should avoid supporting this use case. This is specially
> useful when a PCI root port acts as an interrupt controller for
> PCI endpoints, such as this:
>
> pcie0: pcie@690000000 {
> [...]
> port00: pci@0,0 {
> device_type = "pci";
> [...]
> #address-cells = <3>;
>
> interrupt-controller;
> #interrupt-cells = <1>;
>
> interrupt-map-mask = <0 0 0 7>;
> interrupt-map = <0 0 0 1 &port00 0 0 0 0>,
> <0 0 0 2 &port00 0 0 0 1>,
> <0 0 0 3 &port00 0 0 0 2>,
> <0 0 0 4 &port00 0 0 0 3>;
> };
> };
>
> Handle it by detecting that we have an interrupt-map early in the
> parsing, and special case the situation where the phandle in the
> interrupt map refers to the current node (which is the interesting
> case here).
>
> Signed-off-by: Marc Zyngier <maz@kernel.org>
> ---
> drivers/of/irq.c | 17 ++++++++++++-----
> 1 file changed, 12 insertions(+), 5 deletions(-)

Reviewed-by: Rob Herring <robh@kernel.org>

\
 
 \ /
  Last update: 2021-09-13 23:14    [W:0.180 / U:0.352 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site