From be4966b9b1503c8649fcf7c5e1289f587bab8af2 Mon Sep 17 00:00:00 2001 From: Jason Chen Date: Tue, 15 Nov 2011 17:33:15 +0800 Subject: [PATCH] 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 --- drivers/mxc/ipu3/ipu_device.c | 8 ++++---- 1 file 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; -- 2.39.5