mxc_sdc_fb mxc_sdc_fb.0: timeout when waiting for flip irq

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

mxc_sdc_fb mxc_sdc_fb.0: timeout when waiting for flip irq

2,690 Views
pengchuantang
Contributor I

Dear freescale,

We used imx6d for our production. We have one camera through the analog signal input(cvbs) to video decoder(tw8834), and then output bt656 data to ipu.

We do pressure test for camera,  we kept switching in the main interface and reverse interface for one night. There is a great chance can't get reverse image,

and reverse interface is black.

Log is as follows:

[10:39:49]root@b1021h:/ # [ 1700.285412] imx-ipuv3 imx-ipuv3.1: IPU Warning - IPU_INT_STAT_5 = 0x00800000

[10:39:49][ 1700.285444] imx-ipuv3 imx-ipuv3.1: IPU Warning - IPU_INT_STAT_10 = 0x00080000

[10:39:50][ 1700.639441] [saf7741_asp_loudness_boost_put] ---> gain = 0

[10:39:50][ 1701.048954] mxc_sdc_fb mxc_sdc_fb.0: timeout when waiting for flip irq

[10:39:51][ 1701.569095] mxc_sdc_fb mxc_sdc_fb.0: timeout when waiting for flip irq

[10:39:51][ 1702.088923] mxc_sdc_fb mxc_sdc_fb.0: timeout when waiting for flip irq

[10:39:52][ 1702.608919] mxc_sdc_fb mxc_sdc_fb.0: timeout when waiting for flip irq

[10:39:52][ 1703.129132] mxc_sdc_fb mxc_sdc_fb.0: timeout when waiting for flip irq

[10:39:53][ 1703.648922] mxc_sdc_fb mxc_sdc_fb.0: timeout when waiting for flip irq

[10:39:53][ 1704.169146] mxc_sdc_fb mxc_sdc_fb.0: timeout when waiting for flip irq

[10:39:54][ 1704.688911] mxc_sdc_fb mxc_sdc_fb.0: timeout when waiting for flip irq

[10:39:54][ 1705.209130] mxc_sdc_fb mxc_sdc_fb.0: timeout when waiting for flip irq

[10:39:55][ 1705.728902] mxc_sdc_fb mxc_sdc_fb.0: timeout when waiting for flip irq

[10:39:55][ 1706.238869] mxc_sdc_fb mxc_sdc_fb.0: timeout when waiting for flip irq

please help!

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

1,032 Views
pengchuantang
Contributor I

Dear freescale,

I add some logs for ipu_err_irq_handler function. when IPU_INT_STAT_5 and IPU_INT_STAT_10 are error at the same time.

The ipu will be crashed

[  302.333807] mxc_sdc_fb mxc_sdc_fb.0: timeout when waiting for flip irq

[  302.420299] imx-ipuv3 imx-ipuv3.1: [tpc]IPU Warning - IPU_INT_STAT_5 = 0x00800000

[  302.420326] imx-ipuv3 imx-ipuv3.1: [tpc]IPU Warning - IPU_INT_CTRL_5 = 0x00800000

[  302.420350] imx-ipuv3 imx-ipuv3.1: [tpc]IPU Warning - IPU_INT_STAT_5 = 0x00800000

[  302.420374] imx-ipuv3 imx-ipuv3.1: [tpc]IPU Warning - IPU_INT_STAT_6 = 0x00000000

[  302.420396] imx-ipuv3 imx-ipuv3.1: [tpc]IPU Warning - IPU_INT_CTRL_6 = 0x00000000

[  302.420420] imx-ipuv3 imx-ipuv3.1: [tpc]IPU Warning - IPU_INT_STAT_9 = 0x00000000

[  302.420442] imx-ipuv3 imx-ipuv3.1: [tpc]IPU Warning - IPU_INT_CTRL_9 = 0x00000000

[  302.420465] imx-ipuv3 imx-ipuv3.1: [tpc]IPU Warning - IPU_INT_STAT_10 = 0x00080000

[  302.420491] imx-ipuv3 imx-ipuv3.1: [tpc]IPU Warning - IPU_INT_CTRL_10 = 0x00000000

[  302.420521] imx-ipuv3 imx-ipuv3.1: [tpc]IPU Warning - IPU_INT_STAT_5 = 0x00000000

[  302.420543] imx-ipuv3 imx-ipuv3.1: [tpc]IPU Warning - IPU_INT_CTRL_5 = 0x00000000

[  302.420565] imx-ipuv3 imx-ipuv3.1: [tpc]IPU Warning - IPU_INT_STAT_6 = 0x00000000

[  302.420586] imx-ipuv3 imx-ipuv3.1: [tpc]IPU Warning - IPU_INT_CTRL_6 = 0x00000000

[  302.420607] imx-ipuv3 imx-ipuv3.1: [tpc]IPU Warning - IPU_INT_STAT_9 = 0x00000000

[  302.420629] imx-ipuv3 imx-ipuv3.1: [tpc]IPU Warning - IPU_INT_CTRL_9 = 0x00000000

[  302.420651] imx-ipuv3 imx-ipuv3.1: [tpc]IPU Warning - IPU_INT_STAT_10 = 0x00080000

[  302.420672] imx-ipuv3 imx-ipuv3.1: [tpc]IPU Warning - IPU_INT_CTRL_10 = 0x00080000

[  302.420695] imx-ipuv3 imx-ipuv3.1: [tpc]IPU Warning - IPU_INT_STAT_10 = 0x00080000

[  302.556267] imx-esai imx-esai.0: Resetting ESAI!

[  303.303790] mxc_sdc_fb mxc_sdc_fb.0: timeout when waiting for flip irq

[  303.823795] mxc_sdc_fb mxc_sdc_fb.0: timeout when waiting for flip irq

0 Kudos

1,032 Views
igorpadykov
NXP Employee
NXP Employee

Hi pengchuan

on Freescale BSP, the LVDS panel will be enabled in Uboot, then in kernel,

some IPU re-initialization code will be skipped, but on your board, if you had used

other dispay device, or you had used other IPU DI port, this setting will get the flip irq error.

You should make sure the IPU plat_data->bypass_reset should be false in ipu_common.c,

function ipu_probe(). If bypass_reset is true, the IPU will not be fully initialized.

Some more references:

https://community.freescale.com/thread/322574

Best regards

igor

-----------------------------------------------------------------------------------------------------------------------

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

-----------------------------------------------------------------------------------------------------------------------

0 Kudos

1,032 Views
pengchuantang
Contributor I

Dear igorpadykov,

Attached is our camera ioctl function, could you please help to check it?

0 Kudos

1,032 Views
pengchuantang
Contributor I

Dear igorpadykov,

I have check the value of bypass_reset is false, this is our camera fmt as follow:

------------------------------------------------------------------------------------------------

{
        struct v4l2_format overlay_fmt;
        overlay_fmt.type = V4L2_BUF_TYPE_VIDEO_OVERLAY;
         if(cameraType == CAMERA_TYPE_NORMAL)
         {
            overlay_fmt.fmt.win.w.left = 360;
            overlay_fmt.fmt.win.w.top = 10;
         }
         else
         {
            overlay_fmt.fmt.win.w.left = 180;
            overlay_fmt.fmt.win.w.top = 0;
         }
        overlay_fmt.fmt.win.w.width = fbinfo.xres;//800;
        overlay_fmt.fmt.win.w.height = fbinfo.yres;//480;
        if (ioctl(v4l2_fp, VIDIOC_S_FMT, &overlay_fmt) < 0) {
            ALOGE("%s:%d  VIDIOC_S_fmt failed\n", __FUNCTION__,__LINE__);
            ALOGE("w is %d,h is %d.\n ",overlay_fmt.fmt.win.w.width,overlay_fmt.fmt.win.w.height);
            goto CLOSE;
        }
    }

--------------------------------------------------------------------------------------------------

If we set  left and top to "180" and "0", all is ok. But if we set left and top to "360" and "10", it will report IPU Warning.

0 Kudos