mx6s_csi_irq_handler RX fifo overflow i.MX8M

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

mx6s_csi_irq_handler RX fifo overflow i.MX8M

1,383 次查看
t_spil
Contributor III

Hi,

We got a custom board with a Variscite DART-MX8M SOM attached to it. On our custom board there is a camera sensor streaming RAW12 Mipi data at 980 mbps. We verified the image stream with the test pattern and the sensor streams fine. We're on linux kernel 4.14.78, variscite's branch.

But, after some time (anywhere from a few minutes to a couple of hours) streaming from the sensor, the function mx6s_csi_irq_handler reports RX fifo overflow and keeps pumping this same message out continuously. At this point we're not able to receive any more image data.

This problem persists, turning the stream on and off again doesn't change anything. Even removing all the relevant kernel modules (mx6s_capture, mxc_mipi_csi2_yav and our own custom sensor driver) and loading them back in doesn't change anything. The only thing that works is powering the board on and off. 

At first I thought it might be a thermal issue, due to the fact that it is hard to reproduce, but we've had RX fifo overflow happen at cpu temperatures as low as 40 degrees 

What could be causing this issue? How could we remedy it? If we can't remedy it, is there any way to reset the CSI bridge to get out of this error state without having to powercycle our board?

Thanks,

Twan

Edit:

Added file to output from dmesg, keep in mind that I changed the dev_warn on the RX fifo overflow bug to dev_err_once, such that it doesn't flood all other messages.

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

1,148 次查看
igorpadykov
NXP Employee
NXP Employee

Hi Twan

since L4.14.78 many improvements were added, so recommended to try

latest nxp kernels, for example one can look at

mx6s_capture.c\capture\mxc\platform\media\drivers - linux-imx - i.MX Linux kernel 

Another reason for such error may be that CSI data format was configured wrongly.

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

0 项奖励

1,148 次查看
t_spil
Contributor III

Hi Igor,

I tried upgrading to linux 4.19.35, but haven't been able to boot our board with that yet. Looking at the source code between 4.14.78 and 4.19.35 there doesn't seem to be any (major) changes made to the mx6s_capture and mxc_mipi_csi2_yav source files, so I doubt upgrading linux would have any effect. 

I got to a point where I've been able to reliably get the rx fifo overflow. I get it to occur when chromium starts up and receives and displays the image data. Lowering the data rate to 300 mbps makes sure the rx fifo overflow doesn't occur, so it's likely some kind of memory bandwidth or memory contention issue (The variscite SOM has LPDDR4-3200 memory). 

We still would like to be able to stream at higher frame rates than 300 mbps allows, so how could we resolve the RX fifo overflow without power cycling our board?

Thanks,

Twan

0 项奖励

1,148 次查看
igorpadykov
NXP Employee
NXP Employee

Hi Twan

this is third party board and issue may be posted on vendor support forum

Variscite Wiki 

Best regards
igor

0 项奖励