summaryrefslogtreecommitdiff
path: root/drivers/mxc
diff options
context:
space:
mode:
authorJason Chen <b02280@freescale.com>2011-11-15 17:33:15 +0800
committerJason Liu <r64343@freescale.com>2012-01-09 21:06:38 +0800
commit45dd12014ea05141d8b2750538346b8fd222906c (patch)
tree070d49b177d5d2c951affbba82917d0d0b4d0fa7 /drivers/mxc
parent23eb90b704a088cd41e14c3e3d37dcf1f04b50f0 (diff)
ENGR00162208 ipuv3 device: fix jitter issue of split mode
if play video with split mode, there is chance to see jitter of split stripe. fix it by correct sync method of split mode kthreads. Signed-off-by: Jason Chen <b02280@freescale.com>
Diffstat (limited to 'drivers/mxc')
-rw-r--r--drivers/mxc/ipu3/ipu_device.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/mxc/ipu3/ipu_device.c b/drivers/mxc/ipu3/ipu_device.c
index b6b07216c1d1..0f68441fc83b 100644
--- a/drivers/mxc/ipu3/ipu_device.c
+++ b/drivers/mxc/ipu3/ipu_device.c
@@ -940,8 +940,9 @@ static int split_task_thread(void *data)
t->ret = ipu_queue_sp_task(t);
- while (!kthread_should_stop())
- wait_event_interruptible(t->waitq, t->could_finish);
+ t->could_finish = true;
+
+ wake_up_interruptible(&t->waitq);
return 0;
}
@@ -1174,8 +1175,7 @@ static int queue_split_task(struct ipu_task_entry *t)
return ret;
} else {
for (i = 0; i < size; i++) {
- sp_task[i].could_finish = true;
- wake_up_interruptible(&sp_task[i].waitq);
+ wait_event_interruptible(sp_task[i].waitq, sp_task[i].could_finish);
kthread_stop(sp_task[i].thread);
if (sp_task[i].ret < 0) {
ret = sp_task[i].ret;