public inbox for linux-media@vger.kernel.org
 help / color / mirror / Atom feed
From: Julien BERAUD <julien.beraud@parrot.com>
To: jean-philippe francois <jp.francois@cynove.com>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
	Sakari Ailus <sakari.ailus@iki.fi>,
	linux-media <linux-media@vger.kernel.org>
Subject: Re: Lockup on second streamon with omap3-isp
Date: Fri, 14 Dec 2012 15:18:29 +0100	[thread overview]
Message-ID: <50CB3535.2080400@parrot.com> (raw)
In-Reply-To: <CAGGh5h23vLD=L1D2PHwQD8XeT8edypcSx=kbf7aATQUCfQ14zg@mail.gmail.com>

Hi Jean-Philippe,

I have had exactly the same problem and the following workaround has 
caused no regression on our board yet.
I can't explain exactly why it works and I think that it is internal to 
the isp.

In function ccdc_set_stream, don't disable the ccdc_subclk when stopping 
capture:

                 ret = ccdc_disable(ccdc);
                 if (ccdc->output & CCDC_OUTPUT_MEMORY)
                         omap3isp_sbl_disable(isp, 
OMAP3_ISP_SBL_CCDC_WRITE);
-               omap3isp_subclk_disable(isp, OMAP3_ISP_SUBCLK_CCDC);
+               //omap3isp_subclk_disable(isp, OMAP3_ISP_SUBCLK_CCDC);

I know that it is still a workaround but I hope that maybe it will help 
someone to understand the real cause of this issue.

Best Regards,
Julien BERAUD

Le 13/12/2012 15:14, jean-philippe francois a écrit :
> Hi,
>
> I have news on the "IRQ storm on second streamon" problem.
> Reminder :
> Given a perfectly fine HSYNC / VSYNC / PIXELCLOK configuration, the
> omap3-isp (at least until 3.4) will go into an interrupt storm when
> streamon is called for the second time, unless you are able to stop
> the sensor when not streaming. I have reproduced this on three
> different board, with three different sensor.
>
> On board 1, the problem disappeared by itself (in fact not by itself,
> see below) and the board is not in my possession anymore.
> On board 2, I implemented a working s_stream operation in the subdev
> driver, so the problem was solved because the sensor would effectively
> stop streaming when told to, keeping the ISP + CCDC happy
> On board 3, I can't stop the streaming, or I did not figure out how to
> make it stop  yet.
>
> I tried to disable the HS_VS_IRQ, but it did not help, so I came back
> looking at the code of board 1, which was running fine with a 3.4
> kernel. And I discovered the problem doesn't happen if I break the
> pipeline between two consecutive streamon.
>
> In other word if I do the following :
>
> media-ctl -l '16:0->5:0[1], 5:1->6:0[1]'
> media-ctl -f '16:0 [SBGGR8 2560x800 (0, 0)/2560x800]'
> yavta ....
> yavta ...       <--------- board locks up, soft lockup is fired
>
> But if I do this instead :
>
> media-ctl -l '16:0->5:0[0], 5:1->6:0[0]'
> media-ctl -l '16:0->5:0[1], 5:1->6:0[1]'
> media-ctl -f '16:0 [SBGGR8 2560x800 (0, 0)/2560x800]'
> yavta ....
> media-ctl -l '16:0->5:0[0], 5:1->6:0[0]'
> media-ctl -l '16:0->5:0[1], 5:1->6:0[1]'
> media-ctl -f '16:0 [SBGGR8 2560x800 (0, 0)/2560x800]'
> yavta ...       <--------- image are acquired, board doesn't lock up anymore
>
> It would be interesting to go from this workaround to the elimination of
> the root cause. What can I do / test next to stop this bug from hapenning ?
>
> Regards,
> Jean-Philippe François
> --
> To unsubscribe from this list: send the line "unsubscribe linux-media" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html


  reply	other threads:[~2012-12-14 14:18 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-03-06 17:08 Lockup on second streamon with omap3-isp jean-philippe francois
2012-03-07 14:24 ` jean-philippe francois
2012-03-08 17:22   ` Sakari Ailus
2012-03-08 23:28     ` Laurent Pinchart
2012-03-09  7:30       ` jean-philippe francois
2012-03-09 10:42         ` Laurent Pinchart
2012-03-09 12:54           ` Michael Jones
2012-03-09 12:58             ` Laurent Pinchart
2012-03-09 15:55           ` jean-philippe francois
2012-12-13 14:14             ` jean-philippe francois
2012-12-14 14:18               ` Julien BERAUD [this message]
2012-12-17  9:32                 ` Laurent Pinchart
2012-12-17 15:41                   ` jean-philippe francois
2012-12-17 16:09                     ` Laurent Pinchart
2012-12-18 10:13                   ` Julien BERAUD

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=50CB3535.2080400@parrot.com \
    --to=julien.beraud@parrot.com \
    --cc=jp.francois@cynove.com \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-media@vger.kernel.org \
    --cc=sakari.ailus@iki.fi \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox