Pcie legacy interrupt

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Pcie legacy interrupt

2,815 Views
getsoubl
Contributor I

Hello,

We are workin using a freescale board, that has a powerpc procesor. We have connected a c6657 TI DSP at PICE express slot. We have a confict with the interrupt that is driven by PCI , because is used by other peripheral. It is impossible to change the design  to driven the second peripheral to an other interrupt.

We try to set  an other legacy interrupt in DSP side but the registers are read only . All the legacy interrupts use the same IRQ number. Is any function thast we can use to set another legacy interrupt in the of power pc?

We use the 3.12.13 kernel.

Best regards

George

Labels (1)
Tags (1)
0 Kudos
2 Replies

1,709 Views
getsoubl
Contributor I

Hello,

In addtion to my previous post,

I went throught the PCI interface, I read that the irq number is related to PCI_ITERRUPT_PIN registe or PCI_INTERRUPT_LINE

But the PCI_INTERRUPT line is set according hot to the PCI_INTERRUPT_PIN is routed for tis PCI slot.

How can the interrupt be driven in a different line?

What means that PCI_INTERRUPT_LINE is read only by the device?

Could you please give me an example

Thank you

George

0 Kudos

1,709 Views
bpe
NXP Employee
NXP Employee

PCI legacy interrupts are hardwired to the SoC interrupt controller interrupt request lines. There is no way to change the assignment. This, however, shouldn't be a problem in your case because Linux kernel does support interrupt sharing. The requirements for shared interrupts to work are: (a) a hardware provision to determine which of the peripherals that share the line is requesting  service; (b) properly written drivers. See this discussion:

http://stackoverflow.com/questions/14371513/for-a-shared-interrupt-line-how-do-i-find-which-interrup...

PCI_ITERRUPT_PIN and PCI_INTERRUPT_LINE are standard PCI configuration header registers, they are explained in Section 12.1.10 of this document:

12.1. The PCI Interface

A peripheral driver should never alter PCI_INTERRUPT_LINE because it reflects how a PCI interrupt is connected to the

interrupt controller, which is not changeable, see above.


Have a great day,
Platon

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos