summaryrefslogtreecommitdiff
path: root/drivers/media/video/omap3isp/isp.h
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2011-03-01 13:43:07 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2011-04-17 07:44:02 -0300
commit994d5375a246c6585d2a6751d568cc86e89aef34 (patch)
tree79708fd709ce5c304b0bfc7d2beaf755d9b02778 /drivers/media/video/omap3isp/isp.h
parentb5feda91c1c3510f54720dd8f086653af230a0e1 (diff)
[media] omap3isp: isp: Reset the ISP when the pipeline can't be stopped
When a failure to stop a module in the pipeline is detected, the only way to recover is to reset the ISP. However, as other users can be using a different pipeline with other modules, the ISP can't be reset synchronously with the error detection. Mark the ISP as needing a reset when a failure to stop a pipeline is detected, and reset the ISP when the last user releases the last reference to the ISP. Modify the omap3isp_pipeline_set_stream() function to record the new ISP pipeline state only when no error occurs, except when stopping the pipeline in which case the pipeline is still marked as stopped. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/omap3isp/isp.h')
-rw-r--r--drivers/media/video/omap3isp/isp.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/media/video/omap3isp/isp.h b/drivers/media/video/omap3isp/isp.h
index cf5214e95a92..5f87645565b8 100644
--- a/drivers/media/video/omap3isp/isp.h
+++ b/drivers/media/video/omap3isp/isp.h
@@ -262,6 +262,7 @@ struct isp_device {
/* ISP Obj */
spinlock_t stat_lock; /* common lock for statistic drivers */
struct mutex isp_mutex; /* For handling ref_count field */
+ bool needs_reset;
int has_context;
int ref_count;
unsigned int autoidle;