Freescale P2020 CPU stuck when PCIe MSI enabled

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

Freescale P2020 CPU stuck when PCIe MSI enabled

614 Views
jung-nanhung
Contributor I

The P2020 CPU is running in SMP mode based on Linux 2.6.35  Kernel. The PCIe is  configured   x2 , 256 bytes payload  and relaxing ordering for our PCIe deice. It is good when MSI is disabled. But CPU will stuck after running  for a while if MSI is enabled. It is like a spin_lock  in the "fsl_msi_cascade " function according to debug info. Below Linux  configuration is enabled.

CONFIG_IRQ_PER_CPU=y

CONFIG_IRQ_ALL_CPUS=y

CONFIG_PCI_MSI=y

Labels (1)
0 Kudos
2 Replies

285 Views
scottwood
NXP Employee
NXP Employee

This may or may not be related to your problem, but CONFIG_IRQ_ALL_CPUS is inappropriate for the Freescale MPIC, and you're using a kernel that is too old to realize that.

In general, I highly recommend trying with a current kernel.  There have been significant changes to the MSI code since 2.6.35, including changing the flow so that fsl_msi_cascade() no longer tries to acquire desc->lock.

0 Kudos

285 Views
jung-nanhung
Contributor I

Hi Scott,

I got an errata from chip vendor . PCIe MSI   can not  be enabled  on this PCI device because of some problems. This device can  use INTx only. Yes, I  had checked current Linux Kernel  about MSI. It just like your description.

Thanks,

JN

0 Kudos