imx6q bsp driver(ipu_common.c)

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

imx6q bsp driver(ipu_common.c)

4,517 Views
datoudatoudatou
Contributor I

hi all,

     because i'm encounterd some question with ldb display ,it will indiciate that some error as follow sometimes.

<3>mxc_sdc_fb mxc_sdc_fb.0: timeout when waiting for flip irq

<3>mxc_sdc_fb mxc_sdc_fb.0: MXCFB_WAIT_FOR_VSYNC: timeout 0

<3>mxc_sdc_fb mxc_sdc_fb.0: MXCFB_WAIT_FOR_VSYNC: timeout 0

.....

.....

    

     or

E/FslHwcomposer( 2370): FBIO_WAITFORVSYNC error: Timer expired

mxc_sdc_fb mxc_sdc_fb.0: MXCFB_WAIT_FOR_VSYNC: timeout 0

E/FslHwcomposer( 2370): FBIO_WAITFORVSYNC error: Timer expired

mxc_sdc_fb mxc_sdc_fb.0: MXCFB_WAIT_FOR_VSYNC: timeout 0

     and then the screen can't display anything.

     so i check the source code with relative driver.the kernel wll pop these msgs because that something is not "completed",why? because the correspond handler isn't be invoked? the sync irq of per-IPU will invoke all handler if they require, so in ipu-common.c:

     in function ipu_sync_irq_handler() and ipu_err_irq_handler(), all of them will attempt to acquire the same spin_lock, i have a question about this.

     if the CPU0(assume) enter the sync irq isr, it obtain the spin_lock, and then some errors of IPU block happen(the sync irq ise not release the spin lock yet), the system maybe select CPU0 to hanlde this irq, now the ipu_err_irq_handler want to acquire the same spin_lock that ipu_sync_irq_handler holded, is this possible?(if possible(CPU0 unuseful?), use spin_lock_irqsave / spin_lock_irqresotre instead of spin_lock/spin_unlock will avoid this issue, right?)

     thank you for your reply!!!!

Tags (3)
0 Kudos
7 Replies

1,677 Views
igorpadykov
NXP Employee
NXP Employee

Hi datoudatou

such random errors may be caused by IPU fifo underrun

mentioned below

What does imx-ipuv3 imx-ipuv3.0: IPU Warning - IPU_INT_STAT_10 mean?

Just for testing one can decrease IPU bus load: frame rate, resolution

and check if this helps.

Best regards

chip

0 Kudos

1,677 Views
xiaojunye
Contributor I

Hi,

我也会偶尔遇到同样的问题:

mxc_sdc_fb mxc_sdc_fb.0: timeout when waiting for flip irq

mxc_sdc_fb mxc_sdc_fb.0: MXCFB_WAIT_FOR_VSYNC: timeout 0

mxc_sdc_fb mxc_sdc_fb.0: MXCFB_WAIT_FOR_VSYNC: timeout 0

屏幕是黑屏。

我的内核版本为3.0.35。

你的问题解决了没?

如果解决了能否提供你的方法呢?将不胜感激。

0 Kudos

1,677 Views
Wlodek_D_
Senior Contributor II

Hello,

Thank you for your post, however please consider moving it to the right community place (e.g. i.MX Community ) to get it visible for active members.

For details please see general advice Where to post a Discussion?

Thank you for using Freescale Community. 

0 Kudos

1,677 Views
moseeneview
Contributor II

hey, datoudatou|:

i get the same issue with u. have u fixed it ?

issue detail as below.

imx6q mxc_sdc_fb timeout when waiting for flip irq

0 Kudos

1,677 Views
datoudatoudatou
Contributor I

     i use spin_lock_irqsave/spin_lock_irqresotre instead of spin_lock/spin_unlock in function ipu_sync_irq_handler & ipu_err_irq_handler(ipu_common.c),now it's testing,not sure whether it's fixed this issue because it's hard to reappear.you can test this in your platform if it's happend with 10~20% rate.

0 Kudos

1,677 Views
moseeneview
Contributor II

hey, datoudatou. thanks for your guide. I'll tell u my result after making

more test in my platform.

If u found out this issue again, plz let me know.

On Tue, Apr 22, 2014 at 11:47 AM, datoudatou datoudatou <

0 Kudos

1,677 Views
moseeneview
Contributor II

hey, datoudatou.  i also get this issue    when using spin_lock_irqsave/spin_lock_irqresotre.

0 Kudos