瀏覽代碼

media: s5p-g2d: 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>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Ezequiel Garcia 7 年之前
父節點
當前提交
774f1c9127
共有 2 個文件被更改,包括 0 次插入12 次删除
  1. 0 11
      drivers/media/platform/s5p-g2d/g2d.c
  2. 0 1
      drivers/media/platform/s5p-g2d/g2d.h

+ 0 - 11
drivers/media/platform/s5p-g2d/g2d.c

@@ -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)
 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)
 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);
 	v4l2_m2m_job_finish(dev->m2m_dev, ctx->fh.m2m_ctx);
 
 
 	dev->curr = NULL;
 	dev->curr = NULL;
-	wake_up(&dev->irq_queue);
 	return IRQ_HANDLED;
 	return IRQ_HANDLED;
 }
 }
 
 
@@ -635,7 +625,6 @@ static int g2d_probe(struct platform_device *pdev)
 	spin_lock_init(&dev->ctrl_lock);
 	spin_lock_init(&dev->ctrl_lock);
 	mutex_init(&dev->mutex);
 	mutex_init(&dev->mutex);
 	atomic_set(&dev->num_inst, 0);
 	atomic_set(&dev->num_inst, 0);
-	init_waitqueue_head(&dev->irq_queue);
 
 
 	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 
 

+ 0 - 1
drivers/media/platform/s5p-g2d/g2d.h

@@ -31,7 +31,6 @@ struct g2d_dev {
 	struct g2d_ctx		*curr;
 	struct g2d_ctx		*curr;
 	struct g2d_variant	*variant;
 	struct g2d_variant	*variant;
 	int irq;
 	int irq;
-	wait_queue_head_t	irq_queue;
 };
 };
 
 
 struct g2d_frame {
 struct g2d_frame {