From f22926e06e1ab7aa5f5c532afa4591f3d9baf59c Mon Sep 17 00:00:00 2001
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Date: Mon, 26 Mar 2012 10:24:50 -0300
Subject: [PATCH] [media] omap3isp: preview: Optimize parameters setup for the
 common case

If no parameter needs to be modified, make preview_config() and
preview_setup_hw() return immediately. This speeds up interrupt handling
in the common case.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Sakari Ailus <sakari.ailus@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
---
 drivers/media/video/omap3isp/isppreview.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/media/video/omap3isp/isppreview.c b/drivers/media/video/omap3isp/isppreview.c
index cf5014f2302d1..04c96899f005d 100644
--- a/drivers/media/video/omap3isp/isppreview.c
+++ b/drivers/media/video/omap3isp/isppreview.c
@@ -889,6 +889,9 @@ static int preview_config(struct isp_prev_device *prev,
 	struct preview_update *attr;
 	int i, bit, rval = 0;
 
+	if (cfg->update == 0)
+		return 0;
+
 	params = &prev->params;
 
 	if (prev->state != ISP_PIPELINE_STREAM_STOPPED) {
@@ -944,6 +947,9 @@ static void preview_setup_hw(struct isp_prev_device *prev)
 	int i, bit;
 	void *param_ptr;
 
+	if (prev->update == 0)
+		return;
+
 	for (i = 0; i < ARRAY_SIZE(update_attrs); i++) {
 		attr = &update_attrs[i];
 
-- 
2.30.2