public inbox for linux-arm-kernel@lists.infradead.org
 help / color / mirror / Atom feed
* ARM64 PCIe legacy interrupts
@ 2015-10-01 12:29 bharat kumar gogada
  2015-10-05  5:45 ` Pratyush Anand
  0 siblings, 1 reply; 4+ messages in thread
From: bharat kumar gogada @ 2015-10-01 12:29 UTC (permalink / raw)
  To: linux-arm-kernel

Hi, in ARM32 bit pci_fixup_irqs is being used to support legacy interrupts,
in ARM64 how legacy interrupts are being handled

^ permalink raw reply	[flat|nested] 4+ messages in thread

* ARM64 PCIe legacy interrupts
  2015-10-01 12:29 ARM64 PCIe legacy interrupts bharat kumar gogada
@ 2015-10-05  5:45 ` Pratyush Anand
  2015-10-06 10:17   ` bharat kumar gogada
  0 siblings, 1 reply; 4+ messages in thread
From: Pratyush Anand @ 2015-10-05  5:45 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Oct 1, 2015 at 5:59 PM, bharat kumar gogada <bharatku@xilinx.com> wrote:
> Hi, in ARM32 bit pci_fixup_irqs is being used to support legacy interrupts,
> in ARM64 how legacy interrupts are being handled

See, arch/arm64/kernel/pci.c:pcibios_add_devices()

^ permalink raw reply	[flat|nested] 4+ messages in thread

* ARM64 PCIe legacy interrupts
  2015-10-05  5:45 ` Pratyush Anand
@ 2015-10-06 10:17   ` bharat kumar gogada
  2015-10-06 10:30     ` Arnd Bergmann
  0 siblings, 1 reply; 4+ messages in thread
From: bharat kumar gogada @ 2015-10-06 10:17 UTC (permalink / raw)
  To: linux-arm-kernel

Pratyush Anand <pratyush.anand <at> gmail.com> writes:

> 
> On Thu, Oct 1, 2015 at 5:59 PM, bharat kumar gogada <bharatku <at>
xilinx.com> wrote:
> > Hi, in ARM32 bit pci_fixup_irqs is being used to support legacy interrupts,
> > in ARM64 how legacy interrupts are being handled
> 
> See, arch/arm64/kernel/pci.c:pcibios_add_devices()
> 

Thanks.

I have a confusion in handling legacy interrupts in driver, I'm seeing that
for legacy handling there is separate node being created. Ex: for
pcie-xilinx.c the following node is being used

pcie_intc: interrupt-controller {
                        interrupt-controller;
                        #address-cells = <0>;
                        #interrupt-cells = <1>;
                };

Why do we need a separate child node for legacy handling and why is the
address cells parameter assigned zero value

^ permalink raw reply	[flat|nested] 4+ messages in thread

* ARM64 PCIe legacy interrupts
  2015-10-06 10:17   ` bharat kumar gogada
@ 2015-10-06 10:30     ` Arnd Bergmann
  0 siblings, 0 replies; 4+ messages in thread
From: Arnd Bergmann @ 2015-10-06 10:30 UTC (permalink / raw)
  To: linux-arm-kernel

On Tuesday 06 October 2015 10:17:11 bharat kumar gogada wrote:
> I have a confusion in handling legacy interrupts in driver, I'm seeing that
> for legacy handling there is separate node being created. Ex: for
> pcie-xilinx.c the following node is being used
> 
> pcie_intc: interrupt-controller {
>                         interrupt-controller;
>                         #address-cells = <0>;
>                         #interrupt-cells = <1>;
>                 };
> 
> Why do we need a separate child node for legacy handling

This is a special case where the interrupt lines are not simply
passed through to the parent interrupt controller but require
an Ack in a separate register.

Most sane implementations only need an interrupt-map property
that documents how the legacy interrupts are wired to the GIC.

> and why is the address cells parameter assigned zero value

It means that the interrupt can be identified by the interrupt
number itself and does not need to be identified by an address
as well. This is true for almost all interrupt controllers.

	Arnd

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2015-10-06 10:30 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-10-01 12:29 ARM64 PCIe legacy interrupts bharat kumar gogada
2015-10-05  5:45 ` Pratyush Anand
2015-10-06 10:17   ` bharat kumar gogada
2015-10-06 10:30     ` Arnd Bergmann

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox