• Petr Štetiar's avatar
    MIPS: perf: ath79: Fix perfcount IRQ assignment · a1e8783d
    Petr Štetiar authored
    Currently it's not possible to use perf on ath79 due to genirq flags
    mismatch happening on static virtual IRQ 13 which is used for
    performance counters hardware IRQ 5.
    
    On TP-Link Archer C7v5:
    
               CPU0
      2:          0      MIPS   2  ath9k
      4:        318      MIPS   4  19000000.eth
      7:      55034      MIPS   7  timer
      8:       1236      MISC   3  ttyS0
     12:          0      INTC   1  ehci_hcd:usb1
     13:          0  gpio-ath79   2  keys
     14:          0  gpio-ath79   5  keys
     15:         31  AR724X PCI    1  ath10k_pci
    
     $ perf top
     genirq: Flags mismatch irq 13. 00014c83 (mips_perf_pmu) vs. 00002003 (keys)
    
    On TP-Link Archer C7v4:
    
             CPU0
      4:          0      MIPS   4  19000000.eth
      5:       7135      MIPS   5  1a000000.eth
      7:      98379      MIPS   7  timer
      8:         30      MISC   3  ttyS0
     12:      90028      INTC   0  ath9k
     13:       5520      INTC   1  ehci_hcd:usb1
     14:       4623      INTC   2  ehci_hcd:usb2
     15:      32844  AR724X PCI    1  ath10k_pci
     16:          0  gpio-ath79  16  keys
     23:          0  gpio-ath79  23  keys
    
     $ perf top
     genirq: Flags mismatch irq 13. 00014c80 (mips_perf_pmu) vs. 00000080 (ehci_hcd:usb1)
    
    This problem is happening, because currently statically assigned virtual
    IRQ 13 for performance counters is not claimed during the initialization
    of MIPS PMU during the bootup, so the IRQ subsystem doesn't know, that
    this interrupt isn't available for further use.
    
    So this patch fixes the issue by simply booking hardware IRQ 5 for MIPS PMU.
    Tested-by: default avatarKevin 'ldir' Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
    Signed-off-by: default avatarPetr Štetiar <ynezz@true.cz>
    Acked-by: default avatarJohn Crispin <john@phrozen.org>
    Acked-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
    Signed-off-by: default avatarPaul Burton <paul.burton@mips.com>
    Cc: linux-mips@vger.kernel.org
    Cc: Ralf Baechle <ralf@linux-mips.org>
    Cc: James Hogan <jhogan@kernel.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Jason Cooper <jason@lakedaemon.net>
    a1e8783d
irq-ath79-misc.c 5.14 KB