mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-30 18:47:06 +00:00
c2308a7e4a
Also removes reverted patches. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
118 lines
3.6 KiB
Diff
118 lines
3.6 KiB
Diff
From 0d00e0340c1aa9ce36bdff46f927916fe4903cee Mon Sep 17 00:00:00 2001
|
|
From: Eric Anholt <eric@anholt.net>
|
|
Date: Thu, 27 Dec 2018 14:04:44 -0800
|
|
Subject: [PATCH] drm/v3d: Rename the fence signaled from IRQs to
|
|
"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);
|
|
|