powerpc/xive: improve debugging macros
authorCédric Le Goater <clg@kaod.org>
Wed, 30 Aug 2017 19:46:17 +0000 (21:46 +0200)
committerMichael Ellerman <mpe@ellerman.id.au>
Sat, 2 Sep 2017 11:02:38 +0000 (21:02 +1000)
Having the CPU identifier in the debug logs is helpful when tracking
issues. Also add some more logging and fix a compile issue in
xive_do_source_eoi().

Signed-off-by: Cédric Le Goater <clg@kaod.org>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/sysdev/xive/common.c

index 7014ca6da4f63ed346d083ee577c9a6003b6cca0..f387318678b97abdfa8e57fe46eade5a707e566d 100644 (file)
@@ -40,7 +40,8 @@
 #undef DEBUG_ALL
 
 #ifdef DEBUG_ALL
-#define DBG_VERBOSE(fmt...)    pr_devel(fmt)
+#define DBG_VERBOSE(fmt, ...)  pr_devel("cpu %d - " fmt, \
+                                        smp_processor_id(), ## __VA_ARGS__)
 #else
 #define DBG_VERBOSE(fmt...)    do { } while(0)
 #endif
@@ -344,7 +345,7 @@ void xive_do_source_eoi(u32 hw_irq, struct xive_irq_data *xd)
                        xive_esb_read(xd, XIVE_ESB_LOAD_EOI);
                else {
                        eoi_val = xive_esb_read(xd, XIVE_ESB_SET_PQ_00);
-                       DBG_VERBOSE("eoi_val=%x\n", offset, eoi_val);
+                       DBG_VERBOSE("eoi_val=%x\n", eoi_val);
 
                        /* Re-trigger if needed */
                        if ((eoi_val & XIVE_ESB_VAL_Q) && xd->trig_mmio)
@@ -1008,6 +1009,9 @@ static void xive_ipi_eoi(struct irq_data *d)
 {
        struct xive_cpu *xc = __this_cpu_read(xive_cpu);
 
+       DBG_VERBOSE("IPI eoi: irq=%d [0x%lx] (HW IRQ 0x%x) pending=%02x\n",
+                   d->irq, irqd_to_hwirq(d), xc->hw_ipi, xc->pending_prio);
+
        /* Handle possible race with unplug and drop stale IPIs */
        if (!xc)
                return;