[2/4] drm/v3d: Rename the fence signaled from IRQs to "irq_fence".
diff mbox series

Message ID 20190313235211.28995-2-eric@anholt.net
State New
Headers show
Series
  • [1/4] drm/v3d: Add a note about OOM vs FRDONE, which may be racing on v3.3.
Related show

Commit Message

Eric Anholt March 13, 2019, 11:52 p.m. UTC
We have another thing called the "done fence" that tracks when the
scheduler considers the job done, and having the shared name was
confusing.

Signed-off-by: Eric Anholt <eric@anholt.net>
---
 drivers/gpu/drm/v3d/v3d_drv.h   |  4 ++--
 drivers/gpu/drm/v3d/v3d_gem.c   |  6 +++---
 drivers/gpu/drm/v3d/v3d_irq.c   |  6 +++---
 drivers/gpu/drm/v3d/v3d_sched.c | 12 ++++++------
 4 files changed, 14 insertions(+), 14 deletions(-)

Comments

Dave Emett March 14, 2019, 11:23 a.m. UTC | #1
On Wed, 13 Mar 2019 at 23:52, Eric Anholt <eric@anholt.net> wrote:
>
> We have another thing called the "done fence" that tracks when the
> scheduler considers the job done, and having the shared name was
> confusing.
>
> Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Dave Emett <david.emett@broadcom.com>

> ---
>  drivers/gpu/drm/v3d/v3d_drv.h   |  4 ++--
>  drivers/gpu/drm/v3d/v3d_gem.c   |  6 +++---
>  drivers/gpu/drm/v3d/v3d_irq.c   |  6 +++---
>  drivers/gpu/drm/v3d/v3d_sched.c | 12 ++++++------
>  4 files changed, 14 insertions(+), 14 deletions(-)
>
> diff --git a/drivers/gpu/drm/v3d/v3d_drv.h b/drivers/gpu/drm/v3d/v3d_drv.h
> index a128cd5ee6ea..284ced85ff02 100644
> --- a/drivers/gpu/drm/v3d/v3d_drv.h
> +++ b/drivers/gpu/drm/v3d/v3d_drv.h
> @@ -169,7 +169,7 @@ struct v3d_job {
>         struct dma_fence *in_fence;
>
>         /* v3d fence to be signaled by IRQ handler when the job is complete. */
> -       struct dma_fence *done_fence;
> +       struct dma_fence *irq_fence;
>
>         /* GPU virtual addresses of the start/end of the CL job. */
>         u32 start, end;
> @@ -216,7 +216,7 @@ struct v3d_tfu_job {
>         struct dma_fence *in_fence;
>
>         /* v3d fence to be signaled by IRQ handler when the job is complete. */
> -       struct dma_fence *done_fence;
> +       struct dma_fence *irq_fence;
>
>         struct v3d_dev *v3d;
>
> diff --git a/drivers/gpu/drm/v3d/v3d_gem.c b/drivers/gpu/drm/v3d/v3d_gem.c
> index 8ebbc544c61e..b06bed0835c9 100644
> --- a/drivers/gpu/drm/v3d/v3d_gem.c
> +++ b/drivers/gpu/drm/v3d/v3d_gem.c
> @@ -339,8 +339,8 @@ v3d_exec_cleanup(struct kref *ref)
>         dma_fence_put(exec->bin.in_fence);
>         dma_fence_put(exec->render.in_fence);
>
> -       dma_fence_put(exec->bin.done_fence);
> -       dma_fence_put(exec->render.done_fence);
> +       dma_fence_put(exec->bin.irq_fence);
> +       dma_fence_put(exec->render.irq_fence);
>
>         dma_fence_put(exec->bin_done_fence);
>         dma_fence_put(exec->render_done_fence);
> @@ -373,7 +373,7 @@ v3d_tfu_job_cleanup(struct kref *ref)
>         unsigned int i;
>
>         dma_fence_put(job->in_fence);
> -       dma_fence_put(job->done_fence);
> +       dma_fence_put(job->irq_fence);
>
>         for (i = 0; i < ARRAY_SIZE(job->bo); i++) {
>                 if (job->bo[i])
> diff --git a/drivers/gpu/drm/v3d/v3d_irq.c b/drivers/gpu/drm/v3d/v3d_irq.c
> index a09442ec7297..044062607577 100644
> --- a/drivers/gpu/drm/v3d/v3d_irq.c
> +++ b/drivers/gpu/drm/v3d/v3d_irq.c
> @@ -96,7 +96,7 @@ v3d_irq(int irq, void *arg)
>
>         if (intsts & V3D_INT_FLDONE) {
>                 struct v3d_fence *fence =
> -                       to_v3d_fence(v3d->bin_job->bin.done_fence);
> +                       to_v3d_fence(v3d->bin_job->bin.irq_fence);
>
>                 trace_v3d_bcl_irq(&v3d->drm, fence->seqno);
>                 dma_fence_signal(&fence->base);
> @@ -105,7 +105,7 @@ v3d_irq(int irq, void *arg)
>
>         if (intsts & V3D_INT_FRDONE) {
>                 struct v3d_fence *fence =
> -                       to_v3d_fence(v3d->render_job->render.done_fence);
> +                       to_v3d_fence(v3d->render_job->render.irq_fence);
>
>                 trace_v3d_rcl_irq(&v3d->drm, fence->seqno);
>                 dma_fence_signal(&fence->base);
> @@ -141,7 +141,7 @@ v3d_hub_irq(int irq, void *arg)
>
>         if (intsts & V3D_HUB_INT_TFUC) {
>                 struct v3d_fence *fence =
> -                       to_v3d_fence(v3d->tfu_job->done_fence);
> +                       to_v3d_fence(v3d->tfu_job->irq_fence);
>
>                 trace_v3d_tfu_irq(&v3d->drm, fence->seqno);
>                 dma_fence_signal(&fence->base);
> diff --git a/drivers/gpu/drm/v3d/v3d_sched.c b/drivers/gpu/drm/v3d/v3d_sched.c
> index d0c68b7c8b41..e740f3b99aa5 100644
> --- a/drivers/gpu/drm/v3d/v3d_sched.c
> +++ b/drivers/gpu/drm/v3d/v3d_sched.c
> @@ -156,9 +156,9 @@ static struct dma_fence *v3d_job_run(struct drm_sched_job *sched_job)
>         if (IS_ERR(fence))
>                 return NULL;
>
> -       if (job->done_fence)
> -               dma_fence_put(job->done_fence);
> -       job->done_fence = dma_fence_get(fence);
> +       if (job->irq_fence)
> +               dma_fence_put(job->irq_fence);
> +       job->irq_fence = dma_fence_get(fence);
>
>         trace_v3d_submit_cl(dev, q == V3D_RENDER, to_v3d_fence(fence)->seqno,
>                             job->start, job->end);
> @@ -199,9 +199,9 @@ v3d_tfu_job_run(struct drm_sched_job *sched_job)
>                 return NULL;
>
>         v3d->tfu_job = job;
> -       if (job->done_fence)
> -               dma_fence_put(job->done_fence);
> -       job->done_fence = dma_fence_get(fence);
> +       if (job->irq_fence)
> +               dma_fence_put(job->irq_fence);
> +       job->irq_fence = dma_fence_get(fence);
>
>         trace_v3d_submit_tfu(dev, to_v3d_fence(fence)->seqno);
>
> --
> 2.20.1
>

Patch
diff mbox series

diff --git a/drivers/gpu/drm/v3d/v3d_drv.h b/drivers/gpu/drm/v3d/v3d_drv.h
index a128cd5ee6ea..284ced85ff02 100644
--- a/drivers/gpu/drm/v3d/v3d_drv.h
+++ b/drivers/gpu/drm/v3d/v3d_drv.h
@@ -169,7 +169,7 @@  struct v3d_job {
 	struct dma_fence *in_fence;
 
 	/* v3d fence to be signaled by IRQ handler when the job is complete. */
-	struct dma_fence *done_fence;
+	struct dma_fence *irq_fence;
 
 	/* GPU virtual addresses of the start/end of the CL job. */
 	u32 start, end;
@@ -216,7 +216,7 @@  struct v3d_tfu_job {
 	struct dma_fence *in_fence;
 
 	/* v3d fence to be signaled by IRQ handler when the job is complete. */
-	struct dma_fence *done_fence;
+	struct dma_fence *irq_fence;
 
 	struct v3d_dev *v3d;
 
diff --git a/drivers/gpu/drm/v3d/v3d_gem.c b/drivers/gpu/drm/v3d/v3d_gem.c
index 8ebbc544c61e..b06bed0835c9 100644
--- a/drivers/gpu/drm/v3d/v3d_gem.c
+++ b/drivers/gpu/drm/v3d/v3d_gem.c
@@ -339,8 +339,8 @@  v3d_exec_cleanup(struct kref *ref)
 	dma_fence_put(exec->bin.in_fence);
 	dma_fence_put(exec->render.in_fence);
 
-	dma_fence_put(exec->bin.done_fence);
-	dma_fence_put(exec->render.done_fence);
+	dma_fence_put(exec->bin.irq_fence);
+	dma_fence_put(exec->render.irq_fence);
 
 	dma_fence_put(exec->bin_done_fence);
 	dma_fence_put(exec->render_done_fence);
@@ -373,7 +373,7 @@  v3d_tfu_job_cleanup(struct kref *ref)
 	unsigned int i;
 
 	dma_fence_put(job->in_fence);
-	dma_fence_put(job->done_fence);
+	dma_fence_put(job->irq_fence);
 
 	for (i = 0; i < ARRAY_SIZE(job->bo); i++) {
 		if (job->bo[i])
diff --git a/drivers/gpu/drm/v3d/v3d_irq.c b/drivers/gpu/drm/v3d/v3d_irq.c
index a09442ec7297..044062607577 100644
--- a/drivers/gpu/drm/v3d/v3d_irq.c
+++ b/drivers/gpu/drm/v3d/v3d_irq.c
@@ -96,7 +96,7 @@  v3d_irq(int irq, void *arg)
 
 	if (intsts & V3D_INT_FLDONE) {
 		struct v3d_fence *fence =
-			to_v3d_fence(v3d->bin_job->bin.done_fence);
+			to_v3d_fence(v3d->bin_job->bin.irq_fence);
 
 		trace_v3d_bcl_irq(&v3d->drm, fence->seqno);
 		dma_fence_signal(&fence->base);
@@ -105,7 +105,7 @@  v3d_irq(int irq, void *arg)
 
 	if (intsts & V3D_INT_FRDONE) {
 		struct v3d_fence *fence =
-			to_v3d_fence(v3d->render_job->render.done_fence);
+			to_v3d_fence(v3d->render_job->render.irq_fence);
 
 		trace_v3d_rcl_irq(&v3d->drm, fence->seqno);
 		dma_fence_signal(&fence->base);
@@ -141,7 +141,7 @@  v3d_hub_irq(int irq, void *arg)
 
 	if (intsts & V3D_HUB_INT_TFUC) {
 		struct v3d_fence *fence =
-			to_v3d_fence(v3d->tfu_job->done_fence);
+			to_v3d_fence(v3d->tfu_job->irq_fence);
 
 		trace_v3d_tfu_irq(&v3d->drm, fence->seqno);
 		dma_fence_signal(&fence->base);
diff --git a/drivers/gpu/drm/v3d/v3d_sched.c b/drivers/gpu/drm/v3d/v3d_sched.c
index d0c68b7c8b41..e740f3b99aa5 100644
--- a/drivers/gpu/drm/v3d/v3d_sched.c
+++ b/drivers/gpu/drm/v3d/v3d_sched.c
@@ -156,9 +156,9 @@  static struct dma_fence *v3d_job_run(struct drm_sched_job *sched_job)
 	if (IS_ERR(fence))
 		return NULL;
 
-	if (job->done_fence)
-		dma_fence_put(job->done_fence);
-	job->done_fence = dma_fence_get(fence);
+	if (job->irq_fence)
+		dma_fence_put(job->irq_fence);
+	job->irq_fence = dma_fence_get(fence);
 
 	trace_v3d_submit_cl(dev, q == V3D_RENDER, to_v3d_fence(fence)->seqno,
 			    job->start, job->end);
@@ -199,9 +199,9 @@  v3d_tfu_job_run(struct drm_sched_job *sched_job)
 		return NULL;
 
 	v3d->tfu_job = job;
-	if (job->done_fence)
-		dma_fence_put(job->done_fence);
-	job->done_fence = dma_fence_get(fence);
+	if (job->irq_fence)
+		dma_fence_put(job->irq_fence);
+	job->irq_fence = dma_fence_get(fence);
 
 	trace_v3d_submit_tfu(dev, to_v3d_fence(fence)->seqno);