Thread (21 messages) 21 messages, 6 authors, 2016-03-30

[PATCH] i.MX6 PCIe: Fix imx6_pcie_deassert_core_reset() polarity

From: Marc Zyngier <hidden>
Date: 2016-03-29 17:56:46
Also in: linux-pci, lkml

Possibly related (same subject, not in this thread)

On 29/03/16 16:24, Arnd Bergmann wrote:
On Tuesday 29 March 2016 08:10:08 Tim Harvey wrote:
quoted
Arnd,

Right, on the IMX the MSI interrupt is GIC-120 which is also the
legacy INTD and I do see that if I happen to put a radio in a slot
where due to swizzling its pin1 becomes INTD (GIC-120) the interrupt
does fire and the device works. Any other slot using GIC-123 (INTA),
GIC-122 (INTB), or GIC-121 (INTC) never fires so its very possible
that something in the designware core is masking out the legacy irqs.
Interesting. I was actually expecting the opposite here, having the
IRQs only work if they are not IntD. 

quoted
I typically advise our users to 'not' enable MSI because
architecturally you can spread 4 distinct legacy irq's across CPU's
better than a single shared irq.
That is a very good point, I never understood why we want to enable
MSI support on any PCI host bridge that just forwards all MSIs
to a single IRQ line. Originally MSI was meant as a performance
feature, but there is nothing in this setup that makes things go
faster, and several things that make it go slower.
Feature-ticking exercise.

"We support MSI", never mind if that negating the benefits of the
mechanism and ending up with disastrous impacts on interrupt affinity,
and a set of open questions regarding the effect of the MSI as a DMA fence.

/me stops ranting for the day...

	M.
-- 
Jazz is not dead. It just smells funny...
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help