summaryrefslogtreecommitdiffstats
path: root/drivers/media/platform/rcar_jpu.c
diff options
context:
space:
mode:
authorEzequiel Garcia <ezequiel@collabora.com>2018-06-18 00:38:50 -0400
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>2018-07-24 17:41:27 -0400
commit7a0167fb68e3c9ec2386f8abb326a4643ee8ef42 (patch)
treea2633835aeb7b59da9028f778242efae88855035 /drivers/media/platform/rcar_jpu.c
parentefe1958ec41baba26e47a271b992b2bb524af61e (diff)
downloadlinux-stable-7a0167fb68e3c9ec2386f8abb326a4643ee8ef42.tar.gz
linux-stable-7a0167fb68e3c9ec2386f8abb326a4643ee8ef42.tar.bz2
linux-stable-7a0167fb68e3c9ec2386f8abb326a4643ee8ef42.zip
media: rcar_jpu: Remove unrequired wait in .job_abort
As per the documentation, job_abort is not required to wait until the current job finishes. It is redundant to do so, as the core will perform the wait operation. Remove the wait infrastructure completely. Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com> Acked-by: Mikhail Ulyanov <mikhail.ulyanov@cogentembedded.com> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Diffstat (limited to 'drivers/media/platform/rcar_jpu.c')
-rw-r--r--drivers/media/platform/rcar_jpu.c11
1 files changed, 0 insertions, 11 deletions
diff --git a/drivers/media/platform/rcar_jpu.c b/drivers/media/platform/rcar_jpu.c
index 690631747c5e..90d40b2d6259 100644
--- a/drivers/media/platform/rcar_jpu.c
+++ b/drivers/media/platform/rcar_jpu.c
@@ -198,7 +198,6 @@
* @vfd_decoder: video device node for decoder mem2mem mode
* @m2m_dev: v4l2 mem2mem device data
* @curr: pointer to current context
- * @irq_queue: interrupt handler waitqueue
* @regs: JPEG IP registers mapping
* @irq: JPEG IP irq
* @clk: JPEG IP clock
@@ -213,7 +212,6 @@ struct jpu {
struct video_device vfd_decoder;
struct v4l2_m2m_dev *m2m_dev;
struct jpu_ctx *curr;
- wait_queue_head_t irq_queue;
void __iomem *regs;
unsigned int irq;
@@ -1496,11 +1494,6 @@ static void jpu_device_run(void *priv)
static void jpu_job_abort(void *priv)
{
- struct jpu_ctx *ctx = priv;
-
- if (!wait_event_timeout(ctx->jpu->irq_queue, !ctx->jpu->curr,
- msecs_to_jiffies(JPU_JOB_TIMEOUT)))
- jpu_cleanup(ctx, true);
}
static const struct v4l2_m2m_ops jpu_m2m_ops = {
@@ -1586,9 +1579,6 @@ static irqreturn_t jpu_irq_handler(int irq, void *dev_id)
v4l2_m2m_job_finish(jpu->m2m_dev, curr_ctx->fh.m2m_ctx);
- /* ...wakeup abort routine if needed */
- wake_up(&jpu->irq_queue);
-
return IRQ_HANDLED;
handled:
@@ -1622,7 +1612,6 @@ static int jpu_probe(struct platform_device *pdev)
if (!jpu)
return -ENOMEM;
- init_waitqueue_head(&jpu->irq_queue);
mutex_init(&jpu->mutex);
spin_lock_init(&jpu->lock);
jpu->dev = &pdev->dev;