Re: iMX6 PCIe MSI issues

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

 



On Mon, 2018-11-26 at 13:24 -0600, Robert Hancock wrote:
> 
> > Also, I think the new irq domain stuff in 4.17 breaks irq accounting to
> > the GIC chain interrupt (152) to the dwc msi domain.  It'll always show
> > as zero in /proc/interrupts.  But I've mostly been working in 4.16 so
> > I'm not sure about the precise interaction of irq domains and
> > /proc/interrupts yet.
> 
> I'm not actually seeing the MSI interrupt showing up in /proc/interrupts
> at all in 4.19. From adding some debug output into the dwc PCIe code, it
> appears it's using Linux IRQ 24 as the chaining interrupt, but there's
> no entry in /proc/interrupts for either Linux IRQ 24 or GIC vector 152.
> Not sure if there is supposed to be or not. It does appear that the
> vector isn't masked in the GIC in any case, however, and when I force
> the interrupt into the GIC pending register, things seem to happen
> properly after that.

In 4.16, the MSI chaining interrupt does show up in /proc/interrupts
and does increment.  Also shows up as trace events too.

In 4.17, it no longer appears in /proc/interrupts.  Finding the Linux
irq number is non-obvious, as you've seen.  It will show up in
/sys/kernel/irq and /sys/kernel/debug/irq/irqs, but the count is always
zero.  IMHO, not an improvement.

So if you're using that count in /sys to determine that the GIC irq
never fired, then it's not conclusive.  It always reads zero.

But the same problem 2014 would obviously predate the 4.17 kernel.




[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux