2019-08-09 17:50:30 +00:00
|
|
|
From 64f7c33da2df2c9b7d92652142bfe7ac5602b99e Mon Sep 17 00:00:00 2001
|
2019-07-09 18:32:28 +00:00
|
|
|
From: Eric Anholt <eric@anholt.net>
|
|
|
|
Date: Thu, 27 Dec 2018 14:04:44 -0800
|
2019-08-09 17:50:30 +00:00
|
|
|
Subject: [PATCH 585/773] drm/v3d: Rename the fence signaled from IRQs to
|
2019-07-09 18:32:28 +00:00
|
|
|
"irq_fence".
|
|
|
|
|
|
|
|
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(-)
|
|
|
|
|
|
|
|
--- a/drivers/gpu/drm/v3d/v3d_drv.h
|
|
|
|
+++ b/drivers/gpu/drm/v3d/v3d_drv.h
|
|
|
|
@@ -182,7 +182,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;
|
|
|
|
@@ -229,7 +229,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;
|
|
|
|
|
|
|
|
--- a/drivers/gpu/drm/v3d/v3d_gem.c
|
|
|
|
+++ b/drivers/gpu/drm/v3d/v3d_gem.c
|
|
|
|
@@ -381,8 +381,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);
|
|
|
|
@@ -411,7 +411,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])
|
|
|
|
--- a/drivers/gpu/drm/v3d/v3d_irq.c
|
|
|
|
+++ b/drivers/gpu/drm/v3d/v3d_irq.c
|
|
|
|
@@ -93,7 +93,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);
|
|
|
|
@@ -102,7 +102,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);
|
|
|
|
@@ -138,7 +138,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);
|
|
|
|
--- a/drivers/gpu/drm/v3d/v3d_sched.c
|
|
|
|
+++ b/drivers/gpu/drm/v3d/v3d_sched.c
|
|
|
|
@@ -152,9 +152,9 @@ static struct dma_fence *v3d_job_run(str
|
|
|
|
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);
|
|
|
|
@@ -195,9 +195,9 @@ v3d_tfu_job_run(struct drm_sched_job *sc
|
|
|
|
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);
|
|
|
|
|