From: Michael Jones <michael.jones@matrix-vision.de>
To: Bastian Hecht <hechtb@googlemail.com>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
Sakari Ailus <sakari.ailus@maxwell.research.nokia.com>,
Linux Media Mailing List <linux-media@vger.kernel.org>
Subject: Re: OMAP3530 ISP irqs disabled
Date: Fri, 05 Nov 2010 15:25:40 +0100 [thread overview]
Message-ID: <4CD413E4.20401@matrix-vision.de> (raw)
In-Reply-To: <AANLkTi=drc6qQeYx_RHOAuQHZ=h6wy6m9fhHsatAjoQU@mail.gmail.com>
Hi Bastian (Laurent, and Sakari),
>
> I want to clarify this:
>
> I try to read images with yafta.
> I read in 4 images with 5MP size (no skipping). All 4 images contain only zeros.
> I repeat the process some times and keep checking the data. After -
> let's say the 6th time - the images contain exactly the data I expect.
> WHEN they are read they are good. I just don't want to read 20 black
> images before 1 image is transferred right.
>
> -Bastian
>
I'm on to your problem, having reproduced it myself. I suspect that you're actually only getting one frame: your very first buffer. You don't touch it, and neither does the CCDC after you requeue it, and after you've cycled through all your other buffers, you get back the non-zero frame. If you clear the "good" frame in your application once, you won't get any more non-zero frames afterwards. Or if you request more buffers, you'll have fewer non-zero frames. That's the behavior I observe.
The CCDC is getting disabled by the VD1 interrupt:
ispccdc_vd1_isr()->__ispccdc_handle_stopping()->__ispccdc_enable(ccdc, 0)
To test this theory I tried disabling the VD1 interrupt, but it didn't solve the problem. In fact, I was still getting VD1 interrupts even though I had disabled them. Has anybody else observed that VD1 cannot be disabled?
I also found it strange that the CCDC seemed to continue to generate interrupts when it's disabled.
Here's my suggestion for a fix, hopefully Laurent or Sakari can comment on it:
--- a/drivers/media/video/isp/ispccdc.c
+++ b/drivers/media/video/isp/ispccdc.c
@@ -1477,7 +1477,7 @@ static void ispccdc_vd1_isr(struct isp_ccdc_device *ccdc)
spin_lock_irqsave(&ccdc->lsc.req_lock, flags);
/* We are about to stop CCDC and/without LSC */
- if ((ccdc->output & CCDC_OUTPUT_MEMORY) ||
+ if ((ccdc->output & CCDC_OUTPUT_MEMORY) &&
(ccdc->state == ISP_PIPELINE_STREAM_SINGLESHOT))
ccdc->stopping = CCDC_STOP_REQUEST;
--
Michael Jones
MATRIX VISION GmbH, Talstrasse 16, DE-71570 Oppenweiler
Registergericht: Amtsgericht Stuttgart, HRB 271090
Geschaeftsfuehrer: Gerhard Thullner, Werner Armingeon, Uwe Furtner
next prev parent reply other threads:[~2010-11-05 14:25 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-11-03 9:42 OMAP3530 ISP irqs disabled Bastian Hecht
2010-11-03 12:47 ` Bastian Hecht
2010-11-03 12:58 ` Michael Jones
2010-11-03 13:26 ` Bastian Hecht
2010-11-04 3:30 ` Laurent Pinchart
2010-11-03 13:20 ` Sakari Ailus
2010-11-03 13:38 ` Bastian Hecht
2010-11-04 3:34 ` Laurent Pinchart
2010-11-04 8:34 ` Bastian Hecht
2010-11-04 12:53 ` Bastian Hecht
2010-11-05 10:45 ` Bastian Hecht
2010-11-05 11:09 ` Bastian Hecht
2010-11-05 14:25 ` Michael Jones [this message]
2010-11-05 15:18 ` Bastian Hecht
2010-11-07 4:54 ` Sakari Ailus
2010-11-07 9:11 ` Bastian Hecht
2010-11-08 3:15 ` Laurent Pinchart
2010-11-08 12:26 ` Michael Jones
2010-11-09 23:10 ` Laurent Pinchart
2010-11-08 10:06 ` Michael Jones
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=4CD413E4.20401@matrix-vision.de \
--to=michael.jones@matrix-vision.de \
--cc=hechtb@googlemail.com \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-media@vger.kernel.org \
--cc=sakari.ailus@maxwell.research.nokia.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.