* [PATCH 1/2] drm/etnaviv: etnaviv_fence: Put base class first
@ 2026-10-28 10:31 Philipp Stanner
2026-10-28 10:31 ` [PATCH 2/2] drm/etnaviv: Remove deprecated fence_ops->release() Philipp Stanner
2026-10-28 10:34 ` [PATCH 1/2] drm/etnaviv: etnaviv_fence: Put base class first Christian König
0 siblings, 2 replies; 3+ messages in thread
From: Philipp Stanner @ 2026-10-28 10:31 UTC (permalink / raw)
To: Lucas Stach, Russell King, Christian Gmeiner, David Airlie,
Simona Vetter, Sumit Semwal, Christian König
Cc: etnaviv, dri-devel, linux-kernel, linux-media, Philipp Stanner
struct etnaviv_fence contains a struct dma_fence, which is its base
class. The base class should always be the first member of a class.
This allows for removing a deprecated callback in a subsequent patch.
Make struct dma_fence base the first member of struct etnaviv_fence.
Signed-off-by: Philipp Stanner <phasta@kernel.org>
---
drivers/gpu/drm/etnaviv/etnaviv_gpu.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gpu.c b/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
index 5c23182f4d33..e51a310c8d70 100644
--- a/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
+++ b/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
@@ -1148,8 +1148,8 @@ int etnaviv_gpu_debugfs(struct etnaviv_gpu *gpu, struct seq_file *m)
/* fence object management */
struct etnaviv_fence {
- struct etnaviv_gpu *gpu;
struct dma_fence base;
+ struct etnaviv_gpu *gpu;
};
static inline struct etnaviv_fence *to_etnaviv_fence(struct dma_fence *fence)
base-commit: 731ba09867520c047c7de53f92e384808e0b638e
--
2.56.0
^ permalink raw reply [flat|nested] 3+ messages in thread* [PATCH 2/2] drm/etnaviv: Remove deprecated fence_ops->release()
2026-10-28 10:31 [PATCH 1/2] drm/etnaviv: etnaviv_fence: Put base class first Philipp Stanner
@ 2026-10-28 10:31 ` Philipp Stanner
2026-10-28 10:34 ` [PATCH 1/2] drm/etnaviv: etnaviv_fence: Put base class first Christian König
1 sibling, 0 replies; 3+ messages in thread
From: Philipp Stanner @ 2026-10-28 10:31 UTC (permalink / raw)
To: Lucas Stach, Russell King, Christian Gmeiner, David Airlie,
Simona Vetter, Sumit Semwal, Christian König
Cc: etnaviv, dri-devel, linux-kernel, linux-media, Philipp Stanner
The dma_fence->ops->release() callback is deprecated because it prevents
drivers from unloading. All etnaviv does in its implementation is invoke
a kfree_rcu() on the fence.
The fence backend by now also frees fences with kfree_rcu() if
ops->release() is not implemented.
Remove the deprecated callback.
Signed-off-by: Philipp Stanner <phasta@kernel.org>
---
Just compile-tested.
---
drivers/gpu/drm/etnaviv/etnaviv_gpu.c | 8 --------
1 file changed, 8 deletions(-)
diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gpu.c b/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
index e51a310c8d70..e75dab5e407d 100644
--- a/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
+++ b/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
@@ -1176,18 +1176,10 @@ static bool etnaviv_fence_signaled(struct dma_fence *fence)
return (s32)(f->gpu->completed_fence - f->base.seqno) >= 0;
}
-static void etnaviv_fence_release(struct dma_fence *fence)
-{
- struct etnaviv_fence *f = to_etnaviv_fence(fence);
-
- kfree_rcu(f, base.rcu);
-}
-
static const struct dma_fence_ops etnaviv_fence_ops = {
.get_driver_name = etnaviv_fence_get_driver_name,
.get_timeline_name = etnaviv_fence_get_timeline_name,
.signaled = etnaviv_fence_signaled,
- .release = etnaviv_fence_release,
};
static struct dma_fence *etnaviv_gpu_fence_alloc(struct etnaviv_gpu *gpu)
--
2.56.0
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [PATCH 1/2] drm/etnaviv: etnaviv_fence: Put base class first
2026-10-28 10:31 [PATCH 1/2] drm/etnaviv: etnaviv_fence: Put base class first Philipp Stanner
2026-10-28 10:31 ` [PATCH 2/2] drm/etnaviv: Remove deprecated fence_ops->release() Philipp Stanner
@ 2026-10-28 10:34 ` Christian König
1 sibling, 0 replies; 3+ messages in thread
From: Christian König @ 2026-10-28 10:34 UTC (permalink / raw)
To: Philipp Stanner, Lucas Stach, Russell King, Christian Gmeiner,
David Airlie, Simona Vetter, Sumit Semwal
Cc: etnaviv, dri-devel, linux-kernel, linux-media
On 10/28/26 11:31, Philipp Stanner wrote:
> struct etnaviv_fence contains a struct dma_fence, which is its base
> class. The base class should always be the first member of a class.
>
> This allows for removing a deprecated callback in a subsequent patch.
>
> Make struct dma_fence base the first member of struct etnaviv_fence.
>
> Signed-off-by: Philipp Stanner <phasta@kernel.org>
Reviewed-by: Christian König <christian.koenig@amd.com> for both patches.
> ---
> drivers/gpu/drm/etnaviv/etnaviv_gpu.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gpu.c b/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
> index 5c23182f4d33..e51a310c8d70 100644
> --- a/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
> +++ b/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
> @@ -1148,8 +1148,8 @@ int etnaviv_gpu_debugfs(struct etnaviv_gpu *gpu, struct seq_file *m)
>
> /* fence object management */
> struct etnaviv_fence {
> - struct etnaviv_gpu *gpu;
> struct dma_fence base;
> + struct etnaviv_gpu *gpu;
> };
>
> static inline struct etnaviv_fence *to_etnaviv_fence(struct dma_fence *fence)
>
> base-commit: 731ba09867520c047c7de53f92e384808e0b638e
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-10-28 10:34 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-10-28 10:31 [PATCH 1/2] drm/etnaviv: etnaviv_fence: Put base class first Philipp Stanner
2026-10-28 10:31 ` [PATCH 2/2] drm/etnaviv: Remove deprecated fence_ops->release() Philipp Stanner
2026-10-28 10:34 ` [PATCH 1/2] drm/etnaviv: etnaviv_fence: Put base class first Christian König
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®