Freescale P2020 CPU stuck when PCIe MSI enabled

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

Freescale P2020 CPU stuck when PCIe MSI enabled

1,711 次查看
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

标签 (1)
0 项奖励
回复
2 回复数

1,382 次查看
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 项奖励
回复

1,382 次查看
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 项奖励
回复