]> git.baikalelectronics.ru Git - kernel.git/commitdiff
powerpc/xive: Use XIVE domain under xmon and debugfs
authorCédric Le Goater <clg@kaod.org>
Thu, 1 Jul 2021 13:27:49 +0000 (15:27 +0200)
committerMichael Ellerman <mpe@ellerman.id.au>
Tue, 10 Aug 2021 13:15:01 +0000 (23:15 +1000)
The default domain of the PCI/MSIs is not the XIVE domain anymore. To
list the IRQ mappings under XMON and debugfs, query the IRQ data from
the low level XIVE domain.

Signed-off-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20210701132750.1475580-32-clg@kaod.org
arch/powerpc/sysdev/xive/common.c

index 107f442d3411fb95c23547e982fbfa51bf2acead..d0deaebbfeeb66612f81ef985c90a0a28347c365 100644 (file)
@@ -312,11 +312,10 @@ void xmon_xive_get_irq_all(void)
        struct irq_desc *desc;
 
        for_each_irq_desc(i, desc) {
-               struct irq_data *d = irq_desc_get_irq_data(desc);
-               unsigned int hwirq = (unsigned int)irqd_to_hwirq(d);
+               struct irq_data *d = irq_domain_get_irq_data(xive_irq_domain, i);
 
-               if (d->domain == xive_irq_domain)
-                       xmon_xive_get_irq_config(hwirq, d);
+               if (d)
+                       xmon_xive_get_irq_config(irqd_to_hwirq(d), d);
        }
 }
 
@@ -1757,9 +1756,9 @@ static int xive_core_debug_show(struct seq_file *m, void *private)
                xive_debug_show_cpu(m, cpu);
 
        for_each_irq_desc(i, desc) {
-               struct irq_data *d = irq_desc_get_irq_data(desc);
+               struct irq_data *d = irq_domain_get_irq_data(xive_irq_domain, i);
 
-               if (d->domain == xive_irq_domain)
+               if (d)
                        xive_debug_show_irq(m, d);
        }
        return 0;