aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/omap3isp
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2012-03-26 09:24:50 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2012-05-08 12:52:33 -0400
commitf22926e06e1ab7aa5f5c532afa4591f3d9baf59c (patch)
tree4d736ec9974a4921fae70279b8888351a82265b0 /drivers/media/video/omap3isp
parent213cf90b9ad07d40c1e7aa5781907695107fe188 (diff)
[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>
Diffstat (limited to 'drivers/media/video/omap3isp')
-rw-r--r--drivers/media/video/omap3isp/isppreview.c6
1 files changed, 6 insertions, 0 deletions
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,
889 struct preview_update *attr; 889 struct preview_update *attr;
890 int i, bit, rval = 0; 890 int i, bit, rval = 0;
891 891
892 if (cfg->update == 0)
893 return 0;
894
892 params = &prev->params; 895 params = &prev->params;
893 896
894 if (prev->state != ISP_PIPELINE_STREAM_STOPPED) { 897 if (prev->state != ISP_PIPELINE_STREAM_STOPPED) {
@@ -944,6 +947,9 @@ static void preview_setup_hw(struct isp_prev_device *prev)
944 int i, bit; 947 int i, bit;
945 void *param_ptr; 948 void *param_ptr;
946 949
950 if (prev->update == 0)
951 return;
952
947 for (i = 0; i < ARRAY_SIZE(update_attrs); i++) { 953 for (i = 0; i < ARRAY_SIZE(update_attrs); i++) {
948 attr = &update_attrs[i]; 954 attr = &update_attrs[i];
949 955