Re: [PATCH v2 2/3] s5p-g2d: Remove unrequired wait in .job_abort

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 18/06/18 06:38, Ezequiel Garcia wrote:
> 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.

Sylwester, can you review this?

Thanks!

	Hans

> 
> Cc: Kyungmin Park <kyungmin.park@xxxxxxxxxxx>
> Cc: Kamil Debski <kamil@xxxxxxxxx>
> Cc: Andrzej Hajda <a.hajda@xxxxxxxxxxx>
> Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxx>
> ---
>  drivers/media/platform/s5p-g2d/g2d.c | 11 -----------
>  drivers/media/platform/s5p-g2d/g2d.h |  1 -
>  2 files changed, 12 deletions(-)
> 
> diff --git a/drivers/media/platform/s5p-g2d/g2d.c b/drivers/media/platform/s5p-g2d/g2d.c
> index 66aa8cf1d048..e98708883413 100644
> --- a/drivers/media/platform/s5p-g2d/g2d.c
> +++ b/drivers/media/platform/s5p-g2d/g2d.c
> @@ -483,15 +483,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)
> @@ -563,7 +554,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;
>  }
>  
> @@ -633,7 +623,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);
>  
> diff --git a/drivers/media/platform/s5p-g2d/g2d.h b/drivers/media/platform/s5p-g2d/g2d.h
> index dd812b557e87..9ffb458a1b93 100644
> --- a/drivers/media/platform/s5p-g2d/g2d.h
> +++ b/drivers/media/platform/s5p-g2d/g2d.h
> @@ -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 {
> 




[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux