Thread (16 messages) 16 messages, 3 authors, 2021-09-23

Re: [PATCH v2 2/3] PCI: j721e: Add PCI legacy interrupt support for J721E

From: Kishon Vijay Abraham I <hidden>
Date: 2021-08-11 12:07:45
Also in: linux-devicetree, linux-omap, linux-pci, lkml

Hi Marc,

On 10/08/21 6:03 pm, Marc Zyngier wrote:
On Mon, 09 Aug 2021 15:58:38 +0100,
Kishon Vijay Abraham I [off-list ref] wrote:
quoted
Hi Marc,

On 09/08/21 3:09 pm, Marc Zyngier wrote:
quoted
On Mon, 09 Aug 2021 05:50:10 +0100,
Kishon Vijay Abraham I [off-list ref] wrote:
quoted
Hi Marc,

On 04/08/21 8:43 pm, Marc Zyngier wrote:
quoted
On Wed, 04 Aug 2021 14:29:11 +0100,
Kishon Vijay Abraham I [off-list ref] wrote:
quoted
Add PCI legacy interrupt support for J721E. J721E has a single HW
interrupt line for all the four legacy interrupts INTA/INTB/INTC/INTD.
The HW interrupt line connected to GIC is a pulse interrupt whereas
the legacy interrupts by definition is level interrupt. In order to
provide level interrupt functionality to edge interrupt line, PCIe
in J721E has provided IRQ_EOI register.

However due to Errata ID #i2094 ([1]), EOI feature is not enabled in HW
and only a single pulse interrupt will be generated for every
ASSERT_INTx/DEASSERT_INTx.
So my earlier remark stands. If you get a single edge, how do you
handle a level that is still high after having handled the interrupt
on hardware that has this bug?
Right, this hardware (J721E) has a bug but was fixed in J7200 (Patch 3/3
handles that).
But how do you make it work with J721E? Is it even worth supporting if
(as I expect) it is unreliable?
I've seen at-least the NVMe devices triggers the interrupts again and
the data transfer completes. But I agree, this is unreliable.
Then I don't think you should add INTx support for this system. It is
bound to be a support burden, and will reflect badly on the whole
platform. Focusing on J7200 is probably the best thing to do.
Okay, will drop this patch from the series and have INTx support only
for J7200.

Thanks
Kishon

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help