From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Date: Mon, 26 Mar 2012 13:24:50 +0000 (-0300)
Subject: [media] omap3isp: preview: Optimize parameters setup for the common case
X-Git-Tag: firefly_0821_release~3680^2~275^2~2373
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=f22926e06e1ab7aa5f5c532afa4591f3d9baf59c;p=firefly-linux-kernel-4.4.55.git

[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>
---

diff --git a/drivers/media/video/omap3isp/isppreview.c b/drivers/media/video/omap3isp/isppreview.c
index cf5014f2302d..04c96899f005 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];