linux-omap.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Adam Wozniak <awozniak@irobot.com>
To: linux-omap@vger.kernel.org
Subject: need help debugging ISP problem
Date: Mon, 5 Nov 2012 16:02:08 -0800	[thread overview]
Message-ID: <50985380.8000706@irobot.com> (raw)

I'm working with a custom board based on an Overo WaterStorm com. The 
processor is a DM3730.  The kernel is 2.6.32 based.

I'm trying to stress test the camera ISP by rapidly opening and closing 
the video device with ( while true; do gst-launch v4l2src 
device=/dev/video0 ! video/x-raw-yuv,width=320,height=240 ! 
ffmpegcolorspace ! pngenc snapshot=true ! fakesink; done )

After many iterations, I will see the kernel spit out:

[ 2502.802795] Unhandled fault: external abort on non-linefetch (0x1028) 
at 0xfa0bce04
[ 2502.810516] Internal error: : 1028 [#1]
[ ... ]
[ 2502.846893] PC is at isp_reg_readl+0x18/0x20
[ 2502.851196] LR is at isp_reg_readl+0x10/0x20
[ ... ]
[ 2503.296447] [<c02954a0>] (isp_reg_readl+0x18/0x20) from [<c02954f8>] 
(isp_reg_and_or+0x1c/0x38)
[ 2503.305206] [<c02954f8>] (isp_reg_and_or+0x1c/0x38) from [<c029bad0>] 
(isppreview_config_cfa+0x38/0x90)
[ 2503.314666] [<c029bad0>] (isppreview_config_cfa+0x38/0x90) from 
[<c029bc5c>] (isppreview_config_datapath+0x134/0x330)
[ 2503.325347] [<c029bc5c>] (isppreview_config_datapath+0x134/0x330) 
from [<c029be68>] (isppreview_s_pipeline+0x10/0xd0)
[ 2503.336029] [<c029be68>] (isppreview_s_pipeline+0x10/0xd0) from 
[<c0296e98>] (isp_s_pipeline+0x1d8/0x280)
[ 2503.345672] [<c0296e98>] (isp_s_pipeline+0x1d8/0x280) from 
[<bf036b98>] (cammux_streamon+0x218/0xa28 [cammux])
[ ... ]


The register we're trying to access here is the ISP PRV_PCR.  If I try 
to add debug code to read ISP_CTRL right before the fault, the ISP_CTRL 
access faults in the same way (i.e. the whole ISP is borked, not just 
the previewer).

At first I thought the clocks were being disabled somehow, but tracking 
them seems to indicate that's not the case.  Adding an early return in 
arch/arm/mach/omap2/clock.c omap2_dflt_clk_disable() (i.e. to disable 
disabling of clocks) does NOT help.

What else might I be missing?  What is necessary to be able to read the 
ISP registers?

--Adam


             reply	other threads:[~2012-11-06  0:02 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-06  0:02 Adam Wozniak [this message]
2012-11-27 16:52 ` need help debugging ISP problem Laurent Pinchart

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=50985380.8000706@irobot.com \
    --to=awozniak@irobot.com \
    --cc=linux-omap@vger.kernel.org \
    /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;
as well as URLs for NNTP newsgroup(s).