]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
media: s5p-g2d: Remove unrequired wait in .job_abort
authorEzequiel Garcia <ezequiel@collabora.com>
Mon, 18 Jun 2018 04:38:51 +0000 (00:38 -0400)
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>
Tue, 24 Jul 2018 21:43:15 +0000 (17:43 -0400)
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>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
drivers/media/platform/s5p-g2d/g2d.c
drivers/media/platform/s5p-g2d/g2d.h

index 6b1c23463009a42296f4a3caa3b5ddcb3d437822..ee7322b33666f6fe4d59459187871354b2d2a017 100644 (file)
@@ -485,15 +485,6 @@ static int vidioc_s_crop(struct file *file, void *prv, const struct v4l2_crop *c
 
 static void job_abort(void *prv)
 {
-       struct g2d_ctx *ctx = prv;
-       struct g2d_dev *dev = ctx->dev;
-
-       if (dev->curr == NULL) /* No job currently running */
-               return;
-
-       wait_event_timeout(dev->irq_queue,
-                          dev->curr == NULL,
-                          msecs_to_jiffies(G2D_TIMEOUT));
 }
 
 static void device_run(void *prv)
@@ -565,7 +556,6 @@ static irqreturn_t g2d_isr(int irq, void *prv)
        v4l2_m2m_job_finish(dev->m2m_dev, ctx->fh.m2m_ctx);
 
        dev->curr = NULL;
-       wake_up(&dev->irq_queue);
        return IRQ_HANDLED;
 }
 
@@ -635,7 +625,6 @@ static int g2d_probe(struct platform_device *pdev)
        spin_lock_init(&dev->ctrl_lock);
        mutex_init(&dev->mutex);
        atomic_set(&dev->num_inst, 0);
-       init_waitqueue_head(&dev->irq_queue);
 
        res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 
index dd812b557e872c2f35acc789e02898645acd22cc..9ffb458a1b931023485e898bcb69e4680fb24b06 100644 (file)
@@ -31,7 +31,6 @@ struct g2d_dev {
        struct g2d_ctx          *curr;
        struct g2d_variant      *variant;
        int irq;
-       wait_queue_head_t       irq_queue;
 };
 
 struct g2d_frame {